Umair Mufti is the product manager for Portworx Data Services at Portworx by Pure Storage.…
September 27, 2021
Portworx Data Services: A Cloud-Native Database-As-A-Service Platform
Today, Portworx is announcing Portworx Data Services (PDS), the industry’s first Database-as-a-Service platform for Kubernetes. With the click of a button, you can now deploy a managed, production-grade data service on Kubernetes from the industry’s broadest catalog of options for SQL, NoSQL, search, streaming, and more. PDS fully automates the deployment and Day-2 operations, including monitoring and alerting, backup and restore, autoscaling, encryption, multi-tenancy, high availability, and security. PDS is a SaaS offering that is hosted and managed by Portworx and will allow administrators to deploy data services to their target Kubernetes clusters. Portworx supports all major Kubernetes distributions and managed services from vendors like AWS, Azure, Google Cloud, Red Hat, VMware, and more.
Enterprises are increasingly picking Kubernetes as the platform of choice for modern applications. As a DevOps administrator or operator, you might have all the skills needed to deploy and run a production-grade Kubernetes cluster for your applications, but you might need help when it comes to deploying and managing data services on top of your Kubernetes clusters. Each data service has a different set of requirements and design considerations that might change the way you deploy and manage it in your production environments. These include security, scalability, reliability, operating complexity, observability, ease of use, performance, disaster recovery, and data protection. Multiply all of these by the number of different data services that your developers might be using to build applications, and you have a real challenge in front of you. Portworx Data Services provides a platform that allows you to solve these challenges and proceed with deploying any data service on your Kubernetes clusters. Portworx and PDS do all the heavy lifting for you and deploy data services on your Kubernetes clusters, using curated images that employ industry-standard best practices and ensuring optimal performance, reliability, and uptime for your applications.
Portworx Data Services consists of three main components:
PDS Control Plane: This is a SaaS-based service that is hosted and managed by Portworx. PDS enables authentication and authorization for users, and once logged in, Administrators will be able to add their target Kubernetes clusters to the PDS control plane using a PDS agent. PDS allows users to configure environments that can span one or more target clusters. So, if I have a “demo” namespace on three different target clusters, I can create a “demo” environment that groups those as a single logical entity. From the PDS control plane, you can deploy any data service that is listed in the catalog to one or all of the Kubernetes clusters that participate in an environment. You can configure things like the type and version of the data service, the number of nodes for the cluster, the name of the service and data service cluster, the size of the installation, and additional customization parameters.
You can select a Portworx curated image for the deployment and select “Create Database.” This is how easy it is to deploy any kind of data service on one or more of your target Kubernetes clusters. On the backend, PDS will create a new Portworx StorageClass for your data service and use our best practices to configure the io_profile, replication factor, io_priority, encryption, etc.
In addition to initial deployment, the PDS control plane also allows you to create incremental or full backup snapshots for your data services. These backups are managed by the PDS backup operator installed on the target cluster. So, even if you lose connectivity to your PDS control plane, your backup jobs will still be active. These backup jobs allow you to protect your application configuration and the Portworx persistent volume locally or store it in a remote S3-compatible backup repository, ensuring a unified deployment and data protection solution for all the different data services.
Kubernetes extensions—PDS Operators: The PDS control plane is the central orchestration layer for PDS. But the actual deployment and configuration of the data services is handled by the PDS Operators running locally on your target Kubernetes clusters. These PDS Operators (deployment and backup operators) get automatically deployed on your target Kubernetes cluster when you add the cluster to the PDS control plane. PDS Operators manage the deployment and backup of the data services on your target Kubernetes clusters. They also monitor requests from the control plane for new data service deployments, and upon receiving a request, they deploy the Portworx StorageClass and CustomResources for the data service. PDS Operators are responsible for reconciling the state of the application on your target Kubernetes cluster, so your data service always has the level of reliability, performance, and security that you configured. PDS Operators also collect metrics for your applications and present them to you for application observability. The PDS Backup Operator allows users to configure incremental or full snapshot-based backups, either on a schedule or ad hoc. The PDS operator can store these backup snapshots locally on the target cluster or copy them to a remote S3-compatible backup repository.
Databases: PDS allows users to deploy data services from a curated catalog of different types and versions of data services. The PDS Catalog will contain an ever-increasing list of data services available for you to deploy on your target clusters. These images are built, tested, and maintained by Portworx, which means that you get not just the application but also additional features, like:
- Bootstrapping a data service cluster
- Failure detection inside the data service
- Readiness and liveness probes for the data service
- Support for Portworx shared volumes for storing state
These images help alleviate administrative responsibilities to ensure smoother deployment and Day-2 operations for all the data services in the catalog. If you are reading this blog at launch, you should be able to register for the Early Access Program (EAP) and get access to the following data services using PDS:
This is a paradigm-changing announcement from Portworx, so if you are as excited as I am, register for the EAP here. You can also find a Portworx Data Services 101 lightboard video below to learn more about how the different PDS components work together.