In a world where the cloud computing model of service-based application, processing and storage delivery is increasingly becoming the norm, we find that a whole sub-category of terminology has also fermented upwards into our daily parlance.
Among the more pertinent pieces of technical phraseology you will come across today is the notion of Continuous Delivery (CD). But what is it and why does it matter?
Defining the Scope of CD
If we accept that Continuous Integration (CI) is the foundational build and test element of getting our applications running, then we need to move to deployment and delivery (which thankfully start with the same letter) in logical sequence after we commit to release a particular piece of software.
Continuous Delivery, then, is the art of application release, augmentation and update, in an unbroken and theoretically endless loop.
Automation plays a key part in this process in terms of automated deployment and testing, which should be a core precursor stage to delivery.
Why CD Works Well for Cloud
Continuous Delivery is so prevalent in cloud and online (service-based) application delivery because applications can be updated from the backend. These same applications can then be “continuously delivered” to the end user without the user actually being necessarily aware of any architectural changes.
This works well in online environments because (for example) popular online web application platforms with huge numbers of sub-applications and microservices might typically need to deploy new services anything from 10 to perhaps even 100 times a day.
Over and above the key stage of automated testing as mentioned above, what kinds of ‘touchpoints’ can automation efficiencies exert upon Continuous Delivery and how do they work?
Automation will act to bring workflow packing and deployment modelling to the fore so that these efficiencies can form a key part of the release process.
Automation will look after Line of Business (LoB) processes, applications and infrastructure as Continuous Delivery mechanisms need to operate – but, crucially, the nature of automating these elements is that this can happen at scale (and with complete visibility) at whatever the required level of complexity is for the architecture in hand.
Automation also comes in the shape of workload automation so that data throughput, processing prioritisation and file transfer controls can be orchestrated without system overloads that lead to downtime, crashes or security vulnerabilities.
What Happens Next?
As Continuous Delivery starts to become as much an accepted part of the technology lingua franca as the term ‘app’ itself, we are starting to see DevOps practitioners use more granular dashboard controls to assess application health, state and overall workload and measure user satisfaction as an extension of delivery.
A world with Continuous Delivery is, on paper at least, one with fewer errors, more engaged users and, at a higher level, one with better levels of compliance, governance and overall performance. Cloud computing has a wider impact on the rest of our technology architectures in many ways; Continuous Delivery is a large part of the change.