There is a term that has been floating around the internet in the past year or so which illustrates a profound change in how we need to think about applications and how they are released.
That word is “Appification”.
Think about how you use apps on your smartphone. App updates don’t come on regular release schedules; they come when they are needed. The driver could be a fix for something that is broken or it could be in response to having fewer downloads of an app and pushing out new functionality that has been kept back, just waiting to go until App sales needed a boost.
This process is wonderfully convenient for both the vendor and users. Updates come frequently and we accept the updates without hesitation, as the changes are usually incremental and therefore, considered safe and not worth further consideration.
How does Appification relate to enterprise applications? For better or worse, as a society we want instant gratification. We don’t want to wait. And the way apps are delivered has proven to us that software can be delivered easily in incremental amounts. Customers are no longer willing to accept hosted solutions that are delivered at a set schedule of weeks or months. Missing the release train is no longer an option. Customers want hosted applications to be updated in the same manner as Apps on their smartphones.
At Serena we think of Continuous Delivery as a superset of Continuous Integration (CI), Continuous Testing (CT) and Continuous Deployment. Changes that are automatically propagated to all environments, except for production environments, are referred to as Continuous Deployment. The diagram below illustrates an example of Continuous Deployment. Deployments are approved automatically if success criteria are met for DEV, TEST and INTEG. To deliver code to UAT, STAGING or PROD, manual approvals and scheduling is required.
In order to achieve what we refer to as Continuous Delivery, simply remove the manual approval or scheduling and have successful changes propagate all the way through to production automatically, assuming all release criteria are met for each stage.
This is why the terms Continuous Delivery and Continuous Deployment are used interchangeably. The only real difference between the two is where you decide to put on the brakes for automated delivery to an environment.
Embracing the impact of Appification and applying it to your enterprise applications will give you a competitive advantage over your competition, enabling you to release value to your customers faster.
Join us for the next DevOps Drive-In webcast on March 19 at 8:00 a.m. PST. Glenn O’Donnell of Forrester Research will talk about 5 Simple Change and Release Management improvements that you can make. Why wait years for improvements when you can have them now?
|Jonathan Thorpe is Product Marketing Manager for all things DevOps and Continuous Delivery at Serena Software. Previously Jonathan worked as a Systems Analyst at Electric Cloud, specializing in DevOps-related solutions. Jonathan holds a degree in Computing Systems from Nottingham Trent University.|