Standing Up For Continuous Delivery
In a good blog post posted by my old time friend Steve Burton last week, he calls all “The real Continuous Delivery (CD) vendors to please stand up”.
Yes! We’re standing up and putting all fingers on both hands up too. Steve does a great job educating the crowd on the differences between Continuous Integration (CI) and CD emphasizing how they are not the same, I agree. He then goes on to talk about Application Release Orchestration (ARO) and how it is also not the same thing as CD, and again, I completely agree. However, in that passage, Steve makes the mistake of assuming that because many incumbent vendors have been in the market for years, it inevitably means that we don’t understand these differences, nor practice CI/CD internally or, indeed, provide real CD solutions – WRONG!! We absolutly do provide a SaaS-based, CD solution which is available at https://cddirector.io. Continuous Delivery Director (CDD) was absolutely founded, designed, and architected around the birth of Continuous Delivery, Cloud, and DevOps. And as a btw – we too, use Jenkins internally for CI and know the difference.
Right, so now that we’ve cleared up the misunderstanding of where the market is, I think this is a great opportunity to talk about some of the fundamentals of Continous Delivery in the real world and help each other and our community make progress toward that ultimate goal of true digital transformation, agility, and quality for all.
It’s not all Kubernetes and Serverless
Unless we are all willing to stop using our bank accounts, buy flight tickets, book hotel rooms and so forth we need to reckon with the reality that more than 90% of the critical business applications in the world, managed by enterprises, still run on-prem and some utilize some older technology stacks and we need to support these also. Please do not get me wrong here., Our CD solution works marvelously well with all cloud and container providers (that’s the easy stuff) and at the same time supports some more complex enterprise technology stacks. Our experience and solutions in ARO plug right into this and are designed to support an enterprise end-to-end along the modernization journey.
It is absolutely not just about deployment to production either
In his blog, Steve says “(CD) is about delivering those artifacts to production in a safe, quick, repeatable way.” That’s kind’ the 90’s view from our perspective. Continuous Delivery is about the ability to deliver results to users and business. In this day and age, every development cycle starts with “user stories” which are documented in the organization ALM platform (think Atlassian Jira, Microsoft Team Foundation Server, etc…) those get broken up into development work items then to code bits, and finally to deployment artifacts. A big part of practicing CD is actually the ability to track these across the lifecycle and move them quickly to production. This way the business impact of a successful, slow or failed delivery (deployment, test, etc…) can be visible and handled swiftly. Testing is a huge part of the CD pipeline and automation of the testing stages (in development using CI, in integration and move to production using CD solutions) is crucial but does not meet the challenge of optimizing the test cycles to run the minimum most effective test that can either reject or approve the promotion of something is also crucial.
In fact, there are a lot more topics that are part of a modern CD solution. Think about balancing quality and speed, constructing dependant pipelines, monitoring and optimizing pipelines, optimizing test cycles to reduce them, optimizing post-deployment steps and more.
You can hear more about many of these in greater detail on this webcast we recently aired on Continuous Delivery 2.0.