8
SD Times
November 2017
www.sdtimes.com
Implementing the methodology can get daunting, but using this approach will lead to success through the creation of application and CI/CD pipelines BY SARAH LAHAV
Everyone seems to be talking about DevOps but, if you are new to it, it might all seem a little overwhelming. For an organization that doesn’t use DevOps today, the adoption of this three-step approach will promise a generally clean implementation.
STEP 1
Creating the Application Pipeline Regardless of the type of application, the pipeline looks very similar. The goal is to weave application releases into a new coordinated process that looks something like this: 1. The developer makes changes locally to their laptop/PC/Mac, and upon completion (including their testing etc.) issues a Pull Request. 2. Code-review kicks in now and the developer changes are reviewed, accepted, and a new release can be created. 3. Someone, or the system, runs a procedure to create a Release Artifact, which could be a Java JAR file, a Docker File, or any other kind of Unit of Deployment. 4. Someone, or the system, copies the artifact to the web or application servers and restarts the instances. 5. Database migrations/updates may be additionally applied, although the Sarah Lahav is the CEO of SysAid Technologies
database is often left outside of the application release process. This process evolves into an automated application-only continuous integration and continuous deployment (CI/CD) pipeline by using a toolset to automate the process as shown in Figure 1. However, be aware that this isn’t ideal (yet), because at this point the application alone is being released (injected) into existing environments. If the developer has altered the local environment as well as the application, but these local environment changes are not part of the release, then they’re not in version control. And, if they are not applied at the same time as the application, then the application will break. The solution is for application and infrastructure releases to be synced.
STEP 2
Creating the Infrastructure Pipeline Ideally, the infrastructure team has learned from the developer team’s DevOps and CI/CD pipeline journey and can expand and adapt it for the infrastructure (which increasingly is a public cloud). There are some differences with the infrastructure pipeline, specifically around units of deployment that are now the infrastructure layers in environments, the things that surround an application such as the DNS, load balancers, the virtual machines and/or