DevOps has been an emerging trend in the software development world for the past several years. While the term may be relatively new, it is really a convergence of a number of practices that have been evolving for decades. DevOps is a revolutionary way to release software quickly and efficiently while maintaining a high level of security.
Continuous Delivery and DevOps
~DevOps is the union of people, process, and products to enable Continuous Delivery of value to the end users~
Looking at this definition, Continuous Delivery is an enabler for DevOps. DevOps focuses on organizations and bringing people together to Build and Run their software products. Continuous Delivery is a practice.
Continuous delivery and DevOps require you to fully automate the build and release process in a repeatable and reliable way. Continuous Delivery (CD) is a set of processes, tools, and techniques for the rapid, reliable, and continuous development and delivery of software on-demand.
Companies want to deliver their products as fast as possible. Quality should be higher. The move to production should be faster. Technical Debt should be lower. To be able to do this we need automation, we need a strategy, and we need pipelines.
Azure DevOps is the tool that enables you to move toward Continuously Delivery strategy and respond to rapid business growth while maintaining quality and high level of security.
What is the deployment stage?
A stage or deployment stage is a logical and independent entity that represents where you want to deploy a release generated from a release pipeline. Sometimes a stage is called an environment. For example Test or Production. But it does not necessarily reflect the lifecycle of a product. It can represent any physical or real stage that you need. For example, the deployment in a stage may be to a collection of servers, a cloud, or multiple clouds. In fact, you can even use a stage to represent shipping the software to an app store, or the manufacturing process of a boxed product, or a way to group a cohort of users for a specific version of an application.
Consideration for setting up stages
In most cases, organizations prefer the traditional approach when it comes to setting up the staging strategy. With the traditional method, you can think of setting up an environment for Dev, for Test, and Production. On many occasions, there is even an additional stage, Staging, or Acceptance.
Even when companies use a cloud strategy, they still apply the general sense of environment. When applications are deployed to a cloud instead of a server in a data center, you have the possibility to rethink your strategy around stages.
Depending on the needs of the organization and the DevOps teams, the number of stages and the purpose of stages vary. Some organizations stick to the D-T-A-P (Dev, Test, Acceptance, Production) where others deploy directly to production with temporary stages in between.
Everything you need to know about deployment stages in combination with Azure DevOps you can find on the Microsoft documentation here.
In this quick video demonstration, I will walk-through how to set up multiple deployment stages in Azure DevOps.
I hope this demonstration was useful to you.
Thank you for reading my blog.
If you have any questions or feedback, please leave a comment.