Friday 21 April 2017

Devops series-article-02-Change is the basic nature of Universe. What makes Devops so special?

Yes. Change is the basic nature of universe. As we are, from infant to adult and old... . Universe changes continuously to never ending time. Our systems, practices, knowledge changes from time to time. If you can see, much things are automated on mobile from last 17-20 years.
        Around year 2000, a mobile phone can be used for very regular purposes. But, today, using the same mobile phone we can hand the universe. Think ? . How many things included in to it automatically for many of day to day activities. In the same way, our software cycles, systems and practices automated time to time.
       The age old story is, many people used to work for each activity in an environment. One needs to depend on other. For example, there should be at least one resource in the team to place new build in the test environment. There is another resource who can run basic test scripts on the build. So on... . A software life cycle includes many phases, coding , building, testing, performance analyzing, running, so on. "What if we automate most of the phases activities using tools available ?". There comes the Devops. It is all about integrating available tools either open source or commercial to automate the build activities that improves reliability, efficiency and also saves lot of time and money to the organization.
       Devops automates an organization's purpose using its tool set that makes so many things move on their own. It doesn't mean that there is no human intervention but it does mean that "a message carrying Dove once.........., is replaced by the mobile signal that carries information today. YES. "Change is the basic nature of Universe" .

                                                                                                               Signing off,
                                                                                                               Raju Shikha,

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.