Cloud-native applications and architectures giving putting your enterprise in bad weather?
Does the prospect of slapping someone get your attention, or is it the term cloud-native architectures?
I would hope it is the last, but if not stay tuned. Let's dig into why this terminology has become so clouded.
Sorry for the pun, but that is what it is, taking age-old problems and putting them into new exciting terminology.
Let's take a look at what cloud-native is and why I think you need to pay strict attention when someone is trying to sell you on this concept. It is not just a change in how your architecture is deployed, but also a change in how you might leverage the cloud you are given.
The issue here is that many different interpretations are given to this term, cloud-native. There are those that point out you can design applications to run in a cloud-agnostic way, leveraging the layers of abstraction delivered by a cloud platform to hide the underlying physical resources. The other extreme would be bypassing these abstraction layers and taking direct advantage of the aspects of a cloud platform by using their native interfaces.
When usage is how you are charged, then designing applications to be more efficient becomes the path everyone is seeking. There is a danger of locking yourself into a cloud platform when you start to seek out and leverage that platform's specific interfaces for performance reasons.
The Cloud Native Computing Foundation (CNCF) has been formed by a long list of cloud technology vendors. The foundation "...aims to advance the state-of-the-art for building cloud-native applications and services, allowing developers to take full advantage of existing and to-be-developed open source technologies. Cloud native refers to applications or services that are container-packaged, dynamically scheduled and micro services-oriented."
The cloud platform you have, or end up with, will be composed most likely of a myriad of physical resources and software solutions. There will be many who try to induce commitment on your part to their technology by preaching their cloud-native capabilities. The capabilities you are going to be looking for are open source, containerization, and micro-service application delivery.
With adherence to standards, Linux-based containers, portability from private to public clouds.
The platforms that deliver on these technologies are many, but without a solid commitment to standards and open code bases to ensure good citizenship in this community you will not retain the control you need. Control here is the ability to move your applications and workloads from one Cloud to another.
True cloud-native applications will be based on technologies with Linux based containerization, proven communities that take stewardship of standards, micro-service technologies and working to plan for mobility between Cloud providers.
Be sure to watch for the dusky deep voices promising to help you go faster for less while secretly plumbing your applications and architecture with proprietary lock-in. These are the ones who will make it impossible for you to get your applications cloud-native and highly portable.
Listen even closer to the ones pushing collaboration, standards, open source, and a helping hand in getting your cloud-native infrastructure aligned for true flexibility moving forward. These are the ones who are going to help you reach new heights.