SDLC DevOps Model, Ideology And Phases

Introduction:

  • DevOps is a union of people, product, and process to enable the value of continuous delivery to end users.
  • DevOps is a new culture approach to manage a SDLC Project
  • DevOps is all about the people following a process enable by products to deliver value to end users
  • It follows continuous integration method unlike Agile which follows iteration method

History:

  • Devops concept was initiated by Patrick Debois, a software development consultant  in the year 2007.
  • Patrick was always bothered about the difference between the Dev and Ops work.  
  • He advocated for use cases of Automation, Cloud,  and work together models.

 Ideology of DevOps:

Continuous Development:

The first phase in devops is continuous development. It includes planning, outlining, and introducing new code. Once these objectives are finalized, you carry out the project from development. This includes activities like generating the required code of the project, and then putting it to the upcoming phase.

Continuous Testing:

The goal of the continuous testing is to speed up the code delivery to production. Testing is a process that involves the actual use of the application in the DevOps. The testing provides upcoming information about different aspects of the application, errors are again sent to the development process to improve the application.

Continuous Integration:

The continuous integration is a process that occurs after the development. It also involves the integration of code in the repository where configuration management tools are integrated with the test and development tools to track the status of the project. It also gets quick feedback between testing and development to be able to identify the issues and resolve various issues during the process. 

Continuous Deployment:

The continuous development automatically  releases the new or changed code into production, similar to continuous delivery. The use of various continuous deployment tools such as Docker and Kubernetes allows continuous deployment as they play a key role in maintaining code consistency across the different environments. 

Continuous Monitoring:

Continuous Monitoring involves ongoing monitoring of the operational code and the infrastructure supporting it. Changes or applications deployed in the production environment are continuously monitored to ensure the best performance of the application.  

Phases of devops:

Plan:

Production metrics objects and feedback

Requirements

Business metrics

Update release metrics

Release plan, timing, and business care

Security policy and requirement

Create:

Design of the software and configuration

Coding including code quality and performance 

Software build and build performance

Release candidate

Verify

Acceptance testing 

regression testing

Security and vulnerability analysis

Performance

Configuration testing 

Package:

approval/ pre-approvals

Package configuration

Triggered releases

Release staging and holding 

Release:

Release coordination

Deploying and promoting  applications

Fall-backs and recovery 

scheduled and timed release

Configure:

Infrastructure storage, database and network provisioning and configuring

application provisioning and configuring

Monitoring:

Performance of IT infrastructure

End-users response and experience 

Production metrics and statics  

Advantages of DevOps:

  • Speedy and better product delivery
  • It is open source 
  • Scalability and greater automation
  • High clarity into system outcomes
  • Stable operating environments
  • Better utilization of resources
  • High clarity into system outcomes  

Disadvantages of DevOps:

  • Lack of domain knowledge. This could be a problem if integration work will be involved in the automation.
  • Devops challenge on multiple fronts 
  • Complexity in messaging and front end 
  • Most container technologies still new
  • You have no control over the evolution of the products that your service depends
  • You don’t have access to the logs of some instances 

Conclusion:

DevOps is an excellent way of carrying out application development. It also improves the performance of an application and allows the end users to directly contribute the application, By sharing the feedback from the all phase. It is a method we will continue to see in the future as a top option for developing dynamic applications that constantly evolve to meet new challenges.

Add a Comment

Your email address will not be published. Required fields are marked *