written by Murli Thirumale
Murli Thirumale is Co-Founder and CEO of Portworx, a cloud-native storage company. He was previously Co-Founder and CEO of Ocarina Networks.
Michael Dell once said that “the cloud isn’t a place, it’s a way of doing IT.” He was right, and the same can be said of cloud native. It’s counterintuitive to think the most advanced model for deploying and scaling applications today can be applied in your own data center as well asin the public cloud, but it’s true — and enterprises need to grasp this, because if they don’t they will miss out on much of the value that cloud native has to offer.
Cloud native provides numerous benefits, which explains why production deployments have grown more than 200% since December, according to a new report from the Cloud Native Computing Foundation (CNCF). The chief benefits cited in the report are faster deployment times, improved scalability and portability between clouds, but I would add improved server and storage utilization to that list, too.
To understand how these benefits can be achieved within an enterprise data center, let’s start with what cloud native is. CNCF defines cloud native as “scalable applications” running in “modern dynamic environments” that use technologies such as containers, microservices, and declarative APIs. These allow engineers to make “high impact changes frequently and predictably with minimal toll.”
What does that all mean? Containers essentially package the information an application needs to run in its own self-contained bundle. That’s why applications can be deployed much more quickly: Once the code is wrapped in this bundle, it doesn’t need to be tested extensively on every type of server or operating system where it will run. This also explains why cloud-native applications can be scaled and migrated easily — you can copy an application to a new group of servers quickly, and it just runs.
Microservices refers to the idea of breaking an application into its constituent parts and is the opposite of a traditional “monolithic” application. A monolithic app, almost by definition, must be updated in its entirety to add new features — a big undertaking that takes months and creates ample room for errors. Microservices can be updated independently of the other parts of an application. Take an online shopping app, for example. A component that checks inventory before an order is placed can be its own microservice. If you need to update this part of the app, you can do so without changing the rest of the application. That makes it easier to iterate new functionality quickly, which helps win new customers.
continue reading at forbes.com