Devops is the process that we can implement on the code build, test, and deployment process.
Is it a new process in place? DevOps is not a new process As it is implemented as the process in the industry for almost 10 years.
in the earlier days, the process of code Constructions and deployment was something grey area where basically the people will concentrate only on the development of the product but later on sometime that particular grey area made the software industry to deliver the product in a slow manner.
so once the developer has built their code on their own machine, They perform unit testing only on the functional area or the module where code change happened.
Further, since the complete development happened on the developer machine, the development environment is always the vacant environment where you will not have a proper setup of infrastructure, configuration & no functional test data. Due to which almost all the time the developer bypass the development environment and directly deploy the code into the test environment. On the other hand, the configuration changes or the changes in respective of Infrastructure have always happened on the fly, Which means the issues that faced during the deployment on the test environment are fixed at the same time and will not be recorded as steps for future reference. The same Method of code deployment will be followed on UAT and even in the production environment.
There are some rare case scenarios also occurs where the infrastructure configuration is not uniform across the platform so every time whenever the code deployment happens the infrastructure team will be also on the floor to assist the deployment.This process of unstructured code deployment Cannot always happen frequently, so the end user has to wait for the new feature to be enabled in the system.
This is where DevOps process introduced To formalize the code build, testing, and deployment.
As I said earlier DevOps is the practice, The process will become practical when we follow 7 keys of DevOps,
- Configuration Management
- Release Management
- Continuous Integration
- Continuous Deployment
- Infrastructure as Code
- Test Automation
- Application Performance Monitoring
Further, when we follow these 7 practices, we will get into 7 habits of successful DevOps.
- Team Autonomy and Enterprise Alignment
- Rigorous Management of Technical Debt
- Focus on Flow of Customer Value
- Hypothesis-Driven Development
- Evidence Gathered in Production
- Live Site Culture
- Manage Infrastructure as a Flexible Resource
This Seven Habits of successful DevOps talked in https://devops.com/11626/
When we talk about DevOps, the next thought will get us to automation. though the Automation is key in DevOps, the purpose of automation is also needed and the purposes are Packaging the binaries, Continuous integration built, Publishing the packages, Automated testing, and continuous delivery.
The another Key concern of DevOps are compliance & security. The compliance and security are main concerns Moving to DevOps as the complete automated deployment pipeline makes compliance more predictable & straightforward and ensure more improved security.
In the upcoming article, I will write more about the journey through DevOps.