02/02: Cloud Native Application Architecture Pillars
The Cloud Native Application Architecture is the leading mainstream application architecture to stay relevant for 2020 & beyond. The key business drivers for Cloud Native Application Architecture are:
- Speed of Deployability of Everchanging Users Needs and Industry Innovation
- Economical Application Experimentation and Operations & Maintenance
- Ability to Utilize Best of Breed Technology, Platform and Framework and Adopt Next One Leading in Industry
- Micro Services - Services based application design pattern that creates end to end loosely coupled services also known as micro services to build an application. Each micro service is expected to bind by the service contract of the function it delivers at agreed performance and availability. Micro Service Owner is empowered to pick the best of breed technology, platform and framework suited for delivery of the function. Each service maintains its own independent software release cycle and run time environment for end to end autonomy. The end to end Autonomy is the key to receive true benefits of the Micro Services and may require Enterprise Architecture changes not just implementing an application utilizing fine grain services.
- Serverless & Containers First - Lightweight run time environment and/or compute resources are mission critical for successful Micro Services based Application Design and Delivery. It is cost prohibitive to live with traditional run time environments that can deliver micro services autonomy. One must think Serverless & Containers first or have business justification to pick compute deployment model otherwise as a leading practice. Enables portable deployments that are not tide to an operating system and server platform.
- Everything as Code - In other words, plug-in automation everywhere just not for software release. Mutable deployments are critical for an efficient cloud native application architecture. Package everything as code in one package for infrastructure, application run time, application deployment, testing, user acceptance, security & compliance, and monitoring to deploy and scale application services at the cloud speed economically.
- DevOps and Continuous Integration & Continuous Delivery (CI/CD) - DevOps is all about bringing end to end software release cycle under single leadership at the first line manager and automation to deliver the software to end users. This may require changes to Organization Structure and Enterprise Architecture. It is a leading practice to create CI/CD pipeline for each micro service of an application to provide Micro Services Autonomy. The first line manager now got the ownership and team with skills that can design, build, deliver and support the application service at the cloud speed.
- Application Programming Interface (API) Economy - Expose organization's digital services and assets through API in a controlled way for ease of integration between partners and applications, minimize duplication and develop & deliver new capability at the cloud speed.
- Artificial Intelligence for IT Operations (AIOps) - Use the team human resources to perform high value services then spending cycles for typical mundane task that could be automated to maintain and support your application operations. Send logs and events into a system that can analyze, learn and identify issues reactively, proactively and predictively, and has the ability to perform the resolution for the mundane repeatable tasks by augmenting intelligence to your team supporting application operations.
Disclaimer
The thoughts expressed in the blog are those of the author and do not represent necessarily the official policy or position of any other agency, organization, employer, or company. Assumptions made in the study are not reflective of the point of view(s) of any entity other than the author. Since we are critically thinking human beings, the point of view(s) is always subject to change, revision and rethinking at any time. While reasonable efforts have been made to obtain accurate information, the author makes no warranty, expressed or implied as to its accuracy.
The thoughts expressed in the blog are those of the author and do not represent necessarily the official policy or position of any other agency, organization, employer, or company. Assumptions made in the study are not reflective of the point of view(s) of any entity other than the author. Since we are critically thinking human beings, the point of view(s) is always subject to change, revision and rethinking at any time. While reasonable efforts have been made to obtain accurate information, the author makes no warranty, expressed or implied as to its accuracy.