5 C's Of DevOps

In my previous blogs, i have provided handful information about DevOps Introduction and its implementation in the industry. Today, i am going to talk about the  5 C's of  DevOps. You must have heard about people talking about Continuous Integration, Continuous Deployment , Continuous Monitoring etc. We will talk about all such C's today to provide an elaborative approach to each.


Since these are not the "must have" model but yes, it helps you to provide a sophisticated model. It helps you to understand what needs to be done to make your process more lucrative for your software  powered organisation.
     
Let's discuss about these basic phases of DevOps in detail -:
1. Continuous Integration
As the name suggests, it means integrating the work done by multiple developers on a continuous basis. In this, developers check-in their code in a shared repository where each check-in is followed by an automated build that enables the team to detect bugs early.In case of any defects, they can easily roll back their last change instead of finding the error in the entire code base(this was what happen in the earlier days). This approach leads to significantly reduced defects and develop a cohesive software at a much faster pace.
  Now, Lets study the second phase of Devops Cycle - "Continuous Testing"
2. Continuous Testing
This process involves testing each automated build to ensure about its functionality so that no abrupt build will go to Production. This process ensures less issues in production as each build is
continuously tested at every phase. It helps to minimize the business risks associated with each software release . Hence, evaluating the quality at each stage during the software Development Life cycle. Now comes the third phase - "Continuous Delivery"
3. Continuous Delivery
It is a software development practice where code changes are automatically build, tested and released to production. It provides us the ability to get all the changes ( bug fixes, feature-related changes, configuration changes etc) and deploy into the production so that our software newer versions are available to the end users in a very short time . Now, you must be surprised if continuous Delivery is about building , testing each changes committed to repository and getting a fresh build. Then what is Continuous Integration all about?  Continuous Delivery is an extension of continuous Integration.

Continuous Integration lays stress on integrating each change (change brought by each developer) into the main repository so that there will be no issues whenever we integrate the entire code . This is done to ensure that there will be no Integration hell at the last moment. Earlier, developers integrate their code some couple of days prior to the release date which results in errors w.r.t to integration of code. To avoid such issues, Continuous Integration came into picture that ensures that code should get integrated often to avoid such problems at the last moment.
  On the other hand, Continuous Delivery ensures that small chunks of code should be compilable so that our end users will get newer versions of software in no time and that newer version should be error free. To ensure that it is error-free, each build is accompanied by automated tests as shown in the figure above. I hope now you are pretty clear about the difference between the two. Lets take a step ahead and read about fourth phase of Software Development Life cycle - Continuous Delivery.
4. Continuous Deployment
You must be surprised about the two similar terms - Continuous Deployment and Continuous Delivery. Let me give you a brief about the difference between the two.Continuous Deployment(CD) is the next logical step after Continuous Delivery. It is the process of deploying the code directly to Production as soon as it is developed without any manual intervention. However,Continuous Delivery process includes at least one manual step of approving and initiating a deploy to production. Therefore, we can conclude that Continuous Deployment is a step up from Continuous Delivery in which every change is deployed to production automatically
without explicit approval from Developers. Figure has been shown alongside to give the pictorial representation of the difference. To sum up, we can say that Continuous Deployment = Continuous Integration + Continuous Delivery + Fully Automated Deployment to Production.

Lets study about our last C of DevOps i.e. Continuous Monitoring.

5. Continuous Monitoring
As the name suggests, it is monitoring different stages of Software Development Life Cycle on a continuous basis. It is crucial to monitor the changes and address the errors/mistakes spontaneously whenever they happen. It enables us to take corrective measures if anything goes haywire. By monitoring our applications on a continuous basis, we can easily pave the path for any corrective measures that needs to be done.

I hope this article provides useful insights about the different C's of DevOps.


Comments

  1. Nice article to understand the basics of CI/CD Process..!!

    ReplyDelete
  2. Very good .....i like the way you have put information....very easy to understand to the person who havnt been to build n release background....keep up the good work!

    ReplyDelete
  3. Well descriptive and written nicely. Easy to understand. Keep it up!

    ReplyDelete
  4. Curious to know which is most preferred - CDelivery Or CDeployment ?
    However CDelivery is also putting code into production ( As you written) then what manual intervention we need in delivery ?

    ReplyDelete
    Replies
    1. Preference between CDelivery and CDeployment depends upon Business/Stakeholder decisions. As far as manual intervention is concerned, some approvals ( from concerned authorities) are needed to deploy the code to Production in case of CDelivery. However, the same is not applicable in case of CDeployment. I hope it answers your question. Please let me know in case of any other existing doubts.

      Delete
  5. Nice Post. I like your blog. Thanks for Sharing.
    DevOps Training in Noida

    ReplyDelete
  6. The best of the blogs You have mentioned here. DevOpS Online Training

    ReplyDelete
  7. Thank a lot for this post that was very interesting. Keep posting like those amazing posts, this is really awesome :)
    Looking for DevOps Training & Certification, visit on:
    DevOps Course

    ReplyDelete
  8. Nice post,

    We provide DevOps as a service to eliminate such frustrations by executing and monitoring its implementation. This cultural shift enables speed in development, deployment, and resolving of issues. Read more: https://www.altorumleren.com/services/devops/

    ReplyDelete
  9. Great information...Your post the very informative i have learned some information about your blog thank you for Sharing the great information...
    DevOps Online Training

    ReplyDelete
  10. Great information, thank you for sharing the valuable article.
    Best DevOps Services.

    ReplyDelete

Post a Comment

Popular posts from this blog

Implementation of DevOps

DevOps - an Introduction