Deployment Pipeline

Every software and systems project has a deployment pipeline; taking code from a repository and making it available for its intended business objective. Deployment pipelines can be manual, automated, iterative, or combined with security practices, DevSecOps. Do you know where your projects are within the pendulum of options?

eSimplicity begins our deployment pipelines at the start of a project, parallel to application software development. Our pipeline objectives include building automation, testing verification, iterative deployments, and security verifications. However, most importantly, we build our pipelines to iteratively, regularly, and reliably push an entire application to our end users. For one of our projects, eSimplicity used our DevSecOps pipeline automation to go from project start to end-user availability within 90 days.

The SIMPLE Experience

Continuous integration and continuous delivery (CI/CD)

Using Agile practices means that our automated pipelines leverage the concept of iterative delivery (CD) practices. Yet, what good is it to have a rapid automated pipeline when your developers only check-in code once an iteration or every few weeks? When eSimplicity builds our DevOps pipelines, we combine iterative delivery with continuous integration (CI). Our CI practices emphasize frequent check-ins, testing, packaging, and build triggers. By combining these two practices we enhance the value of our deployment pipeline through agility, reliability and a reduction in time-to-market (TTM). In the end, CI/CD allows faster delivery of new capabilities to end-users; which is what eSimplicity is all about.

Reliability at your fingertips

Gone are the days where it takes hours if not days to deploy a new system or release. Using a highly automated pipeline gives us a significant advantage when it comes to making our projects available to end-users. eSimplicity’s automated pipelines frequently push applications configured according to specific environmental needs. When we mention automation, it’s not just deployment automation but automated verification of application and container settings followed by automated testing to confirm the pipeline push is accurate.

Deployment models

Another way eSimplicity leverages our automated pipelines is to utilize different deployment techniques. Our deployment pipelines use approaches needed for each project with custom project-specific components and tools. Canary Deployments roll out a release to a specific number or percentage of users/servers. This approach allows for end-user testing before completing the deployment across all users/servers. Whereas a Blue/Green Deployment approach reduces risk and downtime by creating a mirror copy your production environment (i.e. one Blue and one Green). Another technique, often preferred by our clients, uses Rolling Deployments. This approach eliminates an application outage by always keeping a minimum number of instances available to end-users. Additionally, this approach is often the most cost-effective. As part of each project, eSimplicity evaluates the business objectives to implement the right approach(es) to be used in our pipeline.