BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

Why Cloud Native Isn't Just For The Cloud

Forbes Technology Council
POST WRITTEN BY
Murli Thirumale

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 as in 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.

There’s no reason these benefits should be limited to the public cloud. Many businesses have already built private clouds that leverage virtualization, providing benefits enjoyed by public cloud providers like AWS. Building a cloud-native environment simply extends this concept by, as my colleague wrote recently, adding the layers of the stack that support container and microservice functionality. These include a container management layer such as Kubernetes or Mesosphere DC/OS, and a container runtime such as Docker. (Full disclosure: AWS, Docker and Mesosphere are Portworx partners.)

Two other important standards from CNCF provide flexibility for networking and storage. This is important because it allows a containerized app to use any of the existing storage resources in your data center, so long as you have a software layer to manage that allocation. In fact, we're involved firsthand in the Container Storage Interface (CSI) project, because we don't think users should be locked into using one specific tool or company, even ours. CSI provides users this choice.

But cloud native is about more than technology. This new stack also enables the automated DevOps model that is transforming how new apps are being built and deployed. Cloud native gives engineers far more flexibility and control over the infrastructure they use, enabling faster workflows and deployment processes. The CNCF study found that 42% of software releases are now automated, which further accelerates release times and frees engineers to perform more valuable work.

So why would an enterprise want to build an on-premise cloud-native environment? There are multiple reasons. You may have highly sensitive data or IP that you’re unwilling to entrust to a public cloud provider, but still want the faster deployment times that cloud native brings. Or you may have extra capacity in an existing data center that you want to fully utilize -- if you’ve already paid for the on-premise capacity, there’s no sense paying a third party for the same thing.

Another important reason is that cloud native better supports any digital transformation initiative. CIOs are under immense pressure to take advantage of emerging technologies such as machine learning and big data analytics to create new business opportunities. To support these efforts, the enterprise IT stack of yesterday, anchored by Windows, VMware, HP, Oracle and EMC, is being replaced by a modern stack of mostly open-source, pluggable components that allow enterprises to build, ship and run apps faster and with higher quality. This is the cloud-native stack, and it should play a role throughout your digital transformation, both in the cloud and in your on-premise data center.

Forbes Technology Council is an invitation-only community for world-class CIOs, CTOs and technology executives. Do I qualify?