As the Enterprise Irregulars discuss in this blog the Cloud Native model is underpinned by early maturity model work, a journey that sees applications transform from a traditional to a fully Cloud-centric architecture:
I. Cloud Ready
A simple app that is Cloud ready by using basic Cloud services not its own file system.
II. Cloud Friendly
Begins to leverage platform more such as multi-zone High Availability and horizontal scalability, and is designed as a ‘Twelve Factor‘ app.
III. Cloud Resilient
Cloud agnostic, can work across multiple Clouds and can tolerate failure of underlying services.
IV. Cloud Native
A Microservice, API-driven architecture.
Cloud Native Competitive Advantage
Pivotal also reference the model in their presentation the Cloud Native Journey.
This sets the strategic context for the technologies, centred around the principle that the capabilities required for digital transformation can’t be bought, they must be developed in-house. As a consequence by 2020 75% of application development supporting digital business will be built not bought.
They describe a core enabling technology architecture of ‘Continuously Delivered Microservices’, showcasing example implementations such as the Spring Cloud Dataflow.
The principle business benefit is the ability to deliver new digital products, much faster than was previously possible.
Cloud Aware Application Maturity
The ODCA describes the same principles calling the evolution ‘Cloud Aware’, explained through a detailed reference model that is one part of their overall Cloud Maturity Model.
In their white paper ‘Architecting Cloud Aware Applications‘1, the authors describe a general framework for assessing the maturity of your applications against a scale of ‘Cloud Awareness’, as well as a set of characteristics defining this ability and how they can be achieved. (with accompanying webinar recording and Slideshare presentation).
Intel also provides a white paper how Maximizing Cloud Advantages through Cloud Aware Applications.
These describe a Level 0 starting point of simple virtualization, the point where most enterprise users are today on this journey. This then progresses through a process of de-coupling application software from the underlying hardware it operates across, and then for it to become increasingly autonomous in managing its own system needs, such as auto-scaling resources up and down in response to demand, like storage, bandwidth and compute.
The ODCA paper identifies a number of foundation decoupling steps, ultimately all intended to entirely abstract the application from the underlying infrastructure that it runs on:
- Network abstraction: Don’t hard-code IP addresses, use HTTPS.
- Separate application configuration data and store it in the Cloud, using technologies like Apache Zookeeper.
- REST, OAuth single sign-on and secure APIs: Be openly integrated with other Cloud applications, securely.
- Utilize auto-scaling: Make use of the Cloud providers ability to scale resources.
Enterprise Cloud Maturity
As highlighted the ODCA defined Cloud Aware Applications as one component part of an overall enterprise Cloud Maturity Model, a comprehensive framework for enterprise organizations to assess and plan their Cloud roadmaps.
This describes a journey from CMM Level 0:
- Legacy apps all on dedicated infrastructure
- No use of IaaS
- No ALM processes
- Business context is missing
..to a fully mature CMM Level 5 capability, featuring:
- Cloud Aware Applications deployed according to governed business requirements, across public, private and hybrid platforms
- Federated multi-cloud via open standards
- Automated deployment and management
Therefore we can see Cloud Aware Applications, the Cloud Native architecture, being the central enabling mechanism for a more dynamic and mature IT infrastructure that makes possible the enhanced software agility central to digital transformation and competitive advantage.