Enterprises are going through a digital transformation and for years and years delivering software is being a bit of a challenge, we see a lot of friction and because of this, a lot of firms have tried to be agile but everybody has adopted to agile in a local fashion.
If you take a look at the total lifecycle of how an application goes from a developer’s machine all the way into a production server, and then to the end customer, that entire workflow is anything but Agile.
Since from many years, organizations have struggled to adopt Agile and become Agile.
DevOps is here to the rescue.
Systematic map on how to achieve DevOps success
You must always remember, zero-touch automation is the goal, that doesn’t mean that you have to be deploying straight to production but if you want to do it, you should be able to do it. It should be so easy that even an operation guy can do it with just a push of a button and not going SSH’ing bunch of servers.
DevOps is broken into 4 different blocks,
- Provisioning
- Build, CI and Packaging
- Testing
- Release and Deploy
Along with 4 stages, this has to go through all environments as shown in the image.
The goal here should be moving the automation in your organization as far to the right as possible.
The automation is built on these 4 core pillars,
- Job run-time: All your complete enterprise should be using a common image format, or a common image on which all your applications are getting built. This pillar is more of a making sure of packaging & what versions to be installed across the enterprise.
- State: Just running a particular task is not enough, you need to know what are all the other tasks are running, when was it last run, stable version, artifacts like IP addresses in automation, docker container tags etc all of these things should be systemically available.
- Visibility: You need to know how entire workflow is going on and not required to go to each thing to get the idea. You need to be able to see everything in a single pane. This helps visually get an overview of your application automation process & status.
- Operations: This is more of explaining how do you do deployments, how do you do scale etc
Also, if you are starting out your journey as a DevOps engineers, you should checkout the comprehensive guide to become a DevOps Engineer.