Tuesday 18 April 2017

Devops series-article-01-Sample devops flow that demonstrates CI/CD

Hi Folks,
In this article, I would like to present a simple Devops flow . Basically, Devops works on two concepts, Continuous Integration and Continuous deployment. In a nutshell, Continuous integration is integrating different tools and services in the in the environment on the fly and deployment  refers to building, checking, deploying and running the build in the environment.

Continuous Integration and Continuous deployment Flow:

1.       Let’s start from the scratch. Let’s have dvcs(distributed version control system) where different teams commits the code check in.  Once the code is checked in, A Jenkins job starts and clone the code
2.       Once the code is cloned, we need to build it using a build tool. Popular and legacy build tools are ANT and Maven. For suppose, using ANT, we need to generate build file(build.xml) that generates archive files like .war file. To achieve this task Continuous integration server(e.g: Jenkins ) has the plugin, ANT
3.       Now, after the war file is ready, Continuous integration server(e.g: Jenkins ) integrates profiling tool like SonarQube and starts the profiling job. Profiling checks for code leakages, best practices etc.
4.       After profiling, Continuous integration server(e.g: Jenkins )  start the job for  environment provisioning . To achieve this, we need to add configuration management and environment provisioning tools(AWS Cloud, Chef server, Docker) plugins in Continuous integration server(e.g: Jenkins )  .
5.       Now, Continuous integration server (e.g: Jenkins ) starts the job for environment provisioning. Minimum steps to achieve at this stage are Spin up virtual machines, Install OS level services, Install application level services, Install web/application server
6.       Once the environment is ready,  Continuous deployment server(e.g: Jenkins) starts the job that installs application on web/application server which demonstrates application fully up and running on given environment. 

Above diagram demonstrates a sample CI/CD flow. Note that I have not added the add-on services like Continuous monitoring(e.g: Nagios), email notification service at different levels.  As a series of articles I will keep on improving above flow and  include other services.

1 comment:

  1. Well, The Information Provided By Your Blog is Useful for me and Other DevOps Candidates.Many thanks for taking the time to put this together. Great stuff

    Best Regards,
    CourseIng - DevOps Training in Hyderabad

    ReplyDelete

Please share your thought here