Day 3 of 90 days of DevOps
Day 3. well, well. This day was focused on the Real-life applications of DevOps. Where it is used? How it is used? Industry standards, norms and practices. I have to read a lot on this day, while I was reading I was recalling where it has happened before. Many of the things has happened before, I am lucky that I experience them. While I was intern at a start-up I saw heavy use of Agile, Kanban, GitHub, contributions and Operations so I can relate to everything easily that has been taught to me on day 3.
Life-cycle of DevOps application
The life-cycle of application when involving DevOps practices is divided into 5 parts D T I D M :-
- D : DEVELOPMENT
- T : TESTING
- I : INTEGRATION
- D : DEPLOYMENT
- M : MONITORING
Development
These are my understanding when I read the entire day 3 doc thoroughly.
- DevOps engineer means you as a DevOps engineer should have idea about a developer's job as well as an operation's job.
- Developer's job is understanding customer's requirement and transforming them into an application/features.
- Choose your IDE, choose your programming language and write the application.
- Maintain a Version Control, it can be Git, mercurial or other VCS.
Step 4 will help you when your application will transform from a prototype to MVP(Minimum Viable Product) to a much better and robust application with 10+ micro-services. I hope you know what Micro-services and monolithic applications means. If no then check out this video and come back. Warning!!!!! Avoid merge conflicts and merge hell at all cost!!!!!
Testing
Testing is an important part, yet many developers think that it's a job reserved for testers and QA team. It's not! it saves time when a developer does unit testing, integration testing and increases the code quality along with code coverage. Automating the testing phase saves the time. The QA will find it easier to find bugs.
Integration
INTEGRATION : Middle of DevOps lifecycle Practice which developer requires to commit changes more frequently. I can't really say much about this. well read the journey by yourself and get the idea. Day 3.
Deployment
The application is build and tested now it needs to be deployed. This area, this stage is where most of the hands-on happens and people find it more engaging. Things like Infrastructure as Code and Application Configuration Management is the key part of DevOps lifecycle happens in this stage. Containerization, Kubernetes and all those related buzzwords will come into play at this stage.
Monitoring
The application is monitored in this stage. The amount of users, space and resources it's consuming all the things along with the cost of cloud services required by the application. Everything is monitored. Tools like Prometheus and Nagios are use to visualize data and convert it into graphs for more understanding. By gaining information from the data and graphs the cloud service may get configured or dropped. Configuration of Infrastructure may also happen. FinOps this is the one interesting term I came across while reading this section. By the name itself I assumed it is related to Finance and devops but it's lot more in addition to that. Take a look by yourself. FinOps. FinOps! Item added to the inventory.
Finally, This was a theory oriented day. I read thoroughly every part. The good thing is I can imagine and relate most of the part as I have seen it in practice in real-life. FinOps is another new thing I got know actually is. I will re-search about it later. At the end I will say " Read, Try and Document."