Serving Enterprise Data Management for Production Container Environments at Scale
Containers have a role in enterprise data centers beyond their initial concentration in DevOps use cases. In order to support production workloads such as relational databases, the container environment must be stateful – that is, it must be able to persistently store data. As a result, organizations are looking to deploy new stateful container environments that require enterprise data management services. However, the application developers and owners that are driving the transition to production containers are not in charge of managing and protecting production data, a responsibility that still lies with IT operations.
The problem for IT operations teams is that legacy, infrastructure-centric data management approaches struggle to provide enterprise data services to containerized environments. One of the problems is that containerized environments are highly application specific, and most traditional infrastructure-centric tools were not designed to provide the level of granularity that containerized applications require. Containerized applications also change frequently – often being redeployed multiple times per day. This makes it difficult to script existing data management tools to fit the containerized application’s requirements.
To address this pain point, Kasten has adopted an application-centric (as opposed to infrastructure-centric) vantage point with its cloud and Kubernetes-native data management software, K10. Instead of only capturing data found in the storage volume itself, K10 also extracts all application stack components such as configuration and secret objects that reside within the container-as-a-service solution (e.g. Google Kubernetes engine or Amazon EKS) or the Kubernetes distribution (e.g. Pivotal Container Service, Red Hat OpenShift, Docker). The underlying infrastructure is effectively abstracted away. The result is:
- More seamless application mobility across public, on-premises and hybrid clouds.
- More consistent capture and treatment of data and applications across these environments.
- Strengthened and simplified coordination and control over data operations including migrations and governance services.
K10 specifically targets enterprise stateful applications. It can run on any physical or virtual infrastructure, on-premises or in the cloud, on which a Kubernetes cluster is deployed. K10 automates application discovery as well as workflows, scheduling and compliance monitoring. It works by hooking into the Kubernetes API (and, when needed, underlying block, file or object storage infrastructure) to orchestrate and to apply automation policies. Primary use cases include:
- Backup, including dynamic creation and application of application-specific policies for a variety of protection levels, and retention according to compliance requirements.
- Restore and disaster recovery, including the cloning of entire application stacks for in-place restores in a matter of minutes, according to Kasten.
- Data migration and application mobility, including the conversion of the application stack into an independent format, so it can then be exported and migrated from one cloud provider to another. According to Kasten, it applies data deduplication to minimize egress fees and to optimize network efficiency as much as possible, and like the restore/disaster recovery use case, this process takes only a few minutes for most applications.
Alongside K10, Kasten also provides an extensible open-source framework called Kanister. Kanister sits at the application level, and it is designed to provide more direct control for developers with deeper expertise of specific application requirements to automate data management functions. The user defines workflows that Kanister calls “blueprints,” which are executed on a policy-driven basis for more streamlined operations and management at scale. If they don’t want to start from scratch, users can access a community-developed repository of blueprints. According to Kasten, Kanister requires zero or minimal application changes because all orchestration is external and, if additional tools are required, the tools can be deployed in a sidecar container.
It is important for IT teams to be as removed as possible from the weeds of day-to-day infrastructure management, so they can spend more time focusing on meeting application requirements such as performance, availability, security and mobility. Data protection and mobility is what is bogging down IT teams most significantly as mission-critical production applications are deployed at scale in stateful containers.
Kasten focuses on meeting the data performance and storage needs of both IT operations and application development teams alike during the shift to stateful containers. This vision reflects the world that enterprises are living in as they try to adapt their IT infrastructure to facilitate the DevOps cultures required for business competitiveness. From an operational perspective, K10 provides greater visibility and at the same time far more simplified control over critical data governance services. Because it effectively abstracts these services from the underlying infrastructure, it helps to alleviate lock-in to specific storage infrastructures and vendors. It does not require any additional storage infrastructure purchases. Its application-centric approach enables finely-tuned automation policies for critical areas such as data retention, data protection and data recovery. At the same time, with Kanister, developers have the ability to drive workflows for their most complex applications.