DevOps & Azure DevOps20/01/2020
What’s Azure DevOps?
Formally known as Visual Studio Team Service, Azure DevOps is Microsoft response to a need for a platform regrouping most of the aspects used in an IT project:
- Managing work items (backlogs, powerful queries)
- Sprint management and retrospective
- Control your code with integration of GIT and TFVC
- Implement CI with build (countless tasks provided by a marketplace full of open source tasks)
- Implement CD with Azure Pipelines…
And that’s where the name of Azure DevOps might get you wrong, you can deploy on every platform from DevOps, not only on azure. You can use code from GitHub, integrate, build and release from Jenkins, integrate your Jira work items, and so on.
What about the principle itself?
One of the greatest challenges in the DevOps practice is to change how people work together, how the knowledge is shared.
With DevOps practice, Devs will have a better understanding of the infrastructure and the way the application is used; while Ops learn what the Devs integrate in it. With a better understanding on each side: security, robustness and availability will just come along.
We are familiar with the “There is an incident, find me who did that! Do a rollback and fix that for the next release”.
Where, the DevOps approach will go as “Ok, something happened, let’s find what it is, and push a fix to production ASAP”.
Blameless postmortems mean that people learn from their mistakes, investigate their origins and correct both the cause and the problem, not just the problem.
What about the people?
Lots of companies specialized in another field than IT, do not understand the benefit of such practice. They tend to think this one is too expensive and that reducing the development work is leading to a reduced number of problems.
To me, it has been proven that keeping things the way they are because they’ve always been this way is more expensive than to enhance the process. Yes, there might be more incidents in the first deployments, but you treat them one by one and they won’t occur again.
I truly believe that thinking out of the box and challenging our usual way of doing things are two assets to positive evolution and growth. With tools such as Azure DevOps and a good application of the DevOps principles, actions can be planned on a safer way and on a more regular basis. Moreover, Azure DevOps allows you to deliver more frequently to your user and to me it’s priceless. If you give it a thought: you can choose between a company delivering quarterly but it may be a lot of issues for each delivery, and a company delivering weekly with some issues on the first deliveries but running smoothly each time, what’s your choice? Mine is quickly done.