I want to start off with this common support conversation between an Ops professional and Dev professional. Often it’s an easy game to put the fault on other guy right. End of the day we are working for a common objective that is to make enterprises and customer successful.
Now the big question is what is DevOps?
This is the buzz word that you hear from lot of big players in the industry as of today. And it means lot of different things to different people. So what is Dev ops, according to me it’s all about 3P’s People, Process and Products. So according to me Dev Ops is the entire process of taking an product idea from inception phase till deployment to production and continue to improve the application by monitoring and in terms of maintenance and updates till the entire life cycle of the product. The set of processes, methods and systems for communication, collaboration and integration between departments for Development, Operations and QA is often referred as DevOps.
Microsoft is a key player in the DevOps space Our tools enable teams regardless of the technology they use or the platform they target. This is not something new in Microsoft world we have been doing this from ages, but to show you what is our Dev Ops story see the picture below
I have only put some of the Processes, People involved and the Products(Tools) used in the DevOps story. Again this is pretty much same story for other Platforms as well. We have end to end story for heterogeneous ecosystem as well.
These are some of the List of Azure DevOps Practices that I personally love in this Microsoft Cloud space which makes enterprises and teams productive and efficient.
- Infrastructure as Code (IaC): Infrastructure as Code is a set of techniques and practices which help IT Pros remove the burden associated with the day to day build and management of modular infrastructure. It allows IT Pros to build and maintain their modern server environment in a way that is similar to how software developers build and maintain application code. For Azure we have Azure Resource Manager allows you to provision your applications using a declarative template. In a single template, you can deploy multiple services along with their dependencies. You use the same template to repeatedly deploy your application during every stage of the application lifecycle. Find out more here https://azure.microsoft.com/en-in/documentation/articles/resource-group-authoring-templates/
- Continuous Integration and Deployment: You can configure your Visual Studio Online team projects to automatically build and deploy to Azure web apps or cloud services. VSO automatically deploys the binaries after doing a build to Azure after every code check-in. The package build process described in this article is equivalent to the Package command in Visual Studio, and the publishing steps are equivalent to the Publish command in Visual Studio. Find out more here https://azure.microsoft.com/en-in/documentation/articles/cloud-services-continuous-delivery-use-vso/
- Release Management: Visual Studio Release Management is a great solution for automating multi-stage deployment and managing the release process. Create managed continuous deployment pipelines to release quickly, easily, and often. With Release Management we can pretty much automate our release process and we can have predefined approval workflows. Deploy on-premises and to the cloud, Extend and customize as required. Find out more https://msdn.microsoft.com/en-us/library/dn217874(v=vs.140).aspx
- App Performance Monitoring: Detect issues, solve problems and continuously improve your applications. Quickly diagnose any problems in your live application. Understand what your users do with it. Configuration is very easy matter of adding JS code and a webconfig entry, and you'll see results within minutes in the portal with all the details. App insights helps enterprises for faster Detection of issues & Remediation. Find out more at https://azure.microsoft.com/en-in/documentation/articles/app-insights-start-monitoring-app-health-usage/
- Load Testing & Auto-Scale: We can find performance problems in our app to improve deployment quality and to make sure our app is always up or available to cater to the business needs. Make sure your app can handle traffic for your next launch or marketing campaign. Start running cloud-based load tests in almost no time with Visual Studio Online. For more information on Load test check this link https://www.visualstudio.com/get-started/test/load-test-your-app-vs#LoadTestVSIDE
- This list can grow more and more but I want to highlight top 5, let me know your top DevOps practices