Technology / Contributed

Complex Stateful Apps and Multicloud Deployments, Now Even Easier on Kubernetes

1 May 2018 6:00am, by

Gou Rao, Portworx
Gou Rao, Portworx co-founder and CTO, was previously CTO of Dell’s Data Protection division and of Citrix Systems’ ASG; co-founder and CTO of Ocarina Networks and of Net6; and a key architect at Intel and Lockheed Martin. He holds computer science bachelor’s (Bangalore University) and master’s (University of Pennsylvania) degrees.

Portworx is really excited to announce PX-Enterprise 1.4, the most significant release of PX-Enterprise to date.  As the leader in cloud-native storage for Kubernetes, our customers have really been pushing the limits of what can be done with stateful containers. This release includes new features requested by some of the 15 Global Fortune 1000 companies that we are proud to serve.

Two of the features we are most excited about are application-consistent snapshots of a group of volumes, a feature we call 3DSnap™, and a brand new UI for PX-Enterprise focused on multicloud deployments. I’ll give you an overview of some of these new features below, but first I want to share a little about why these features are so important to our customers running stateful services in production.

It’s a Micro(service) World After All

Microservice architectures are driving the adoption of containers. A key tenet of microservice-based architectures is that each service should rely on its own database, not a centralized, monolithic database which in the past would have been provided by Oracle or RDS. That means that the number of databases deployed is skyrocketing as formerly monolithic applications are broken down into dozens of microservices. Additionally, the size of each database is skyrocketing as exponential user growth, the number of connected devices, resolution of sensors and other factors generate more data than software architects and operations pros have ever had to deal with.

Enter Kubernetes

The increase in the number of deployed services, and the criticality of those services — Portworx customers include GE Digital who store and process critical data coming off jet engines, and NIO, maker of self-driving cars who rely on sensor data to operate — has necessitated the emergence of scheduling software like Kubernetes and Mesosphere DC/OS capable of automating the operations of large-scale deployments. A result of this automation is that much more so than with traditional virtualization, many different apps can end up running on the same physical hardware. Physical hardware (bare metal servers) or hardware virtualization (VMs) no longer provide a sufficient level of resolution for operations management. We need to understand apps, not servers.

Multicloud for Availability, Multicloud for Leverage

While all this is going on, some high-profile enterprises have made clear recently that customers are not picking a single location to run all their apps. Dropbox famously migrated off of Amazon towards an on-premises environment, saving $75 million over 2 years in the process. But they are also continuing to use Amazon for some new applications. Likewise, Netflix, the AWS poster child, is experimenting with running some workloads on Google, even if the scope of that work is in question for now.

Multicloud workloads will be the standard operating procedure for a majority of enterprises in the next 5 years.  Why? First, because applications are the lifeblood of every modern enterprise. Enterprises can’t put all their eggs in a single cloud basket for availability and security reasons. They need the flexibility of the fast-paced hardware features that various cloud providers keep offering, GPUs, for example. They also need the cost flexibility of not being dependant on one provider. Second, enterprises need to maintain negotiating leverage with their cloud service partners. Being able to credibly bring apps in the cloud back on-prem, or from one cloud to another, significantly provides that leverage. The challenge, of course, is that this is easier said than done. And the cloud providers know it.

Application-Consistent Snapshots Come to Kubernetes

It’s against this backdrop that we just released PX-Enterprise 1.4, our most significant release of PX-Enterprise to date. The above mega-trends — microservices, Kubernetes and multicloud — create some new problems that are essential to overcome if enterprises are going to deploy their most important applications in containers. One of these problems is moving an application, including its data, between environments. One example of this is moving from AWS to Google, but other examples include moving from test to QA to prod environments, or maintaining a backup environment in a second region or availability zone.

The problem with all of these examples has always been data gravity. With cloud-native storage solutions like Portworx, the movement of single data volumes between container environments has been a solved problem. But more complex applications, like distributed databases, or even multinode Postgres, MySQL or WordPress deployments, have been challenging for customers because they involve making a copy of data across multiple machines at the same time, in a consistent way. Even small differences in when copies are taken can lead to data corruption.

PX-Enterprise 1.4 takes a huge step towards solving this problem by introducing application-aware snapshot logic, directly into Kubernetes. Starting with MySQL and PostgreSQL, with other databases coming soon, Portworx customers can take application-consistent snapshots of their entire, multinode applications, and move these snapshots to another data center, region or cloud where they can be redeployed as a separate environment with guaranteed application consistency. We call this feature 3DSnap, because unlike traditional snapshots which focus only on time and space (a particular server), 3DSnap includes an application dimension.

This third dimension is important because modern apps are distributed and don’t run on just one node. Instead, they run on many different servers, each of which has many different containers. Take what is often seen as a simplistic example: WordPress, in reality, it involves PHP, MySql, file storage, Nginx and more. You need a multicontainer, multinode and consistent data management solution in order to restore this “simple” app to a point in time.

How does this help address the problems outlined above? First, providing the ability to manage an entire application, no matter how many different servers it is running on, provides a powerful level of automation into Kubernetes for stateful applications. Second, because entire applications can be copied and run in multiple environments, it accelerates the enterprise journey to a multicloud world.

Multicloud Deployments Are Real. So Let’s Make It Easy!

Speaking of a multicloud world, Mesosphere DC/OS 1.11 recently announced support for multicloud clusters. Kubernetes is moving in this direction as well. With the ability to move entire applications, including their data, between environments, 3DSnap accelerates that future. But now a new problem emerges: I have multiple copies of my data in multiple locations. How do I manage that data? How do I secure it? How do I restore an application to a previous point in time? PX-Enterprise 1.4 also includes a couple of features designed to make this multicloud world easier.

First, we have redesigned our user interface from the ground up for multicloud clusters.  That could be multiple public cloud regions (e.g.., AWS East and West), hybrid cloud (on-premises and public cloud) or multipublic cloud (e.g., Azure and Google). Now a customer can view and manage their PX-Enterprise clusters easily from desktop, smartphone or tablet, including a bird’s-eye view of all of their clusters, no matter where they run. Other new features designed for power users include a cloud topology-aware node map showing which servers are in which data center, powerful search capabilities, a time-machine-like view of local snapshots and CloudSnap snapshots and volume configuration management.

Second, we’ve introduced a couple of security features designed to keep data secure. Px-Enterprise 1.4 enables data volume encryption at the container level, a requirement for many multitenant environments. Additionally, those keys can now be stored in Mesosphere DC/OS Vault so customers can store encryption keys in the Vault service built-in to DC/OS instead of spinning up a separate service.

Portworx is a sponsor of The New Stack.

A newsletter digest of the week’s most important stories & analyses.