#90DaysOfDevOps - Day 3

#90DaysOfDevOps - Day 3

DevOps Lifecycle

Just like every other tech career, like Product Design, Product Management, Project Management, etc, they all have their own idea on the process to which things are conceptualized and built to VMP, for potential clients or the real end-users. The DevOps lifecycle is a continuous software development process that employs DevOps best practices to plan, build, integrate, deploy, monitor, operate, and offer continuous feedback throughout the software’s lifecycle.

It is a strategy that will take stakeholders and their clients on the loop knowing exactly the phases to which the development and operations stages are:

  • Planning: This phase gives the business team of the organization, like the Product Managers, Marketing Managers and the other stakeholders who are involved in capturing the product ideas from the client to know exactly what needs to be done, and how it aligns with organizational goals, making it easy for the developers to map out a product description.

  • Code: Developers take lead in this phase, in a sprint, they decide what tool, language, framework and development environment to use. With this in place, all team members have a sense of each of their responsibilities that will help achieve the set goal.

  • Build: At this point, the DevOps engineer starts stepping into the picture by creating software build artifacts using tools like gradle and maven from the code the developers pushed to VCS. for it to be executable in an isolated environment for testing.

  • Testing: At this part, automated testing is conducted to validate the functionality and integrity of the code. Different types of testing (unit, integration, system, etc.) are performed. Automated testing helps identify and address issues early in the development process.

  • Deploy: Most deployment requires it to be automated, deployment processes are used to release the application to different environments (e.g., development, staging, production). Continuous Deployment (CD) automates the release process, reducing manual intervention. and terraform are one of the tools they use.

  • Operate (Monitor and Manage): There has to be some level of monitoring to ensure the code/software doesn't break somewhere.

  • Release and Deliver: Time to dish it out to the end users to use.

  • Monitor: This always shows there should be room for improvement, when cases of bugs are reported, such feedback should be sent to the development team, to fix it.