Virtualization Technology News and Information
Implementing the Foundations of a CD Platform

By Lee Faus, Field CTO,

When people write articles, it usually comes from a certain point of view.  This makes it very difficult to write about continuous delivery.  What I've learned is the C in continuous delivery means different things to different people.  If I wanted to target an application developer audience, the C would definitely stand for continuous.  As a front end developer, I want to see my new shiny component in the overall single page application I just completed.  As a back end developer, I want to see the data populated from the new API that I just completed.  It's a sense of accomplishment that I know my task is complete and I can move on to the next task. 

So now we have multiple code branches being merged with changes from different people and need to have a strategy in place for dealing with the impact of integrating everybody's changes.  This is the role of continuous integration and although integrating multiple changesets has become easier over the years with the introduction of tools like git and Jenkins, the task of deploying the integrated code has become more complex with the introduction of microservices and cloud.  This is where our SRE team comes in.  For SREs the C stands consistent.  When we build workflows on a repository by repository basis, it limits our ability for reuse and building common modules that we can use from project to project.  Think about building a Spring Boot API service that gets deployed to Kubernetes.  Your company probably has a set of standards and best practices.  Therefore, SREs want deployment templates that can be shared across project teams making troubleshooting deployments easier. 

SREs work closely with the operations or platform teams where the C stands for control.  Operations is looking for controlled releases allowing them to schedule their support teams because a change is usually more than just some source code.  A new database table needs to be created, some data migrations need to run to move data from the mainframe, a route needs to be modified for a load balancer because a new context has been created.  These tasks have a specific order they need to run in and automating these tasks is not always a possibility as they could run for hours or days. 

So many people stop there, but we have a final team that has responsibility across all of the environments, the security team.  For security teams the C stands for compliance.  Although automated compliance seems like an oxymoron, teams are reaping the benefits of reduced time to market and higher security postures when they are able to standardize on a set of compliance standards from day 1.  This allows teams to integrate security into their sprint processes allowing developers to see where their change sets could be rejected through immediate feedback and not waiting for a final security review the day before you push to production.

We have talked about our individual contributors and their roles in continuous delivery.  We need to include our management teams.  And not just our immediate managers, we are talking all of the way to the executive team.  Applications require money to build and run.  Executives think about these applications in two ways: revenue generating or cost saving.  It's a balancing act so when it comes to the C for them it either stands for customers or cost.  The best is when your delivery platform enables you to visually represent the cost it took to build against the revenue that was generated, sometimes called value stream mapping. 

The worst part is when you get pulled into the dreaded post mortem from an outage and nobody knows what happened.  There is no consistency to your deployments, there are no guard rails for teams to know early when their application might fail, and the management team forced operations to deploy the application in a timeline that was completely unreasonable.  The executive team is being asked for quotes from the Wall Street Journal, CNBC, Barron's and they want answers.  But many of us actually know that the real answer is to quote Col. Jessep from A Few Good Me, "You can't handle the truth!" 

As you can see, when you dig into the different parts of an application definition, it's dependencies, the infrastructure required, the process to promote the changes to production and the security implications all play a role in continuous delivery.  No matter what role you play, there is an opportunity for you to leave your mark, both good and bad.  There are many tools, standards, platforms and communities for you to leverage.  The best thing you can do is work with the respective teams above and gather requirements about how they would like their C implemented.  Do this incrementally, starting with your application developers.  When you try to build a single pipeline that encompasses every personas requirements, you are just building monolithic deployments for your microservices architecture.


To learn more about cloud native technology innovation, join us at KubeCon + CloudNativeCon Europe 2021 - Virtual, which will take place from May 4-7.


Lee Faus Field CTO, 

Lee Faus 

Lee has been in information technology for over 20 years. He has been a teacher, mentor, and consultant focused on information technology value through enterprise application integration and application modernization. His experiences span verticals including transportation, healthcare, financial services, telecommunications and insurance. Information technology should be an enabler to simplify business processes by automating tasks and enhancing decision support. He is an advocate of open source by contributing to projects at Apache, Eclipse, and Fedora. He currently works at working with customers to streamline their application delivery toolchain and mentors companies on git, CI, and CD best practices.

Published Monday, April 26, 2021 7:35 AM by David Marshall
Filed under: ,
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
<April 2021>