Umair Mufti is the product manager for Portworx Data Services at Portworx by Pure Storage.…
May 11, 2022
Accelerate data services deployment on Kubernetes using Portworx Data Services
Today, Portworx is announcing the general availability of Portworx Data Services (PDS)—the industry’s first Database-as-a-Service platform for Kubernetes. Over the past six months, Portworx has worked with many early-access customers to build a SaaS platform that allows organizations to deploy production-grade data services on Kubernetes clusters across hybrid cloud environments. PDS fully automates Day 0 deployment and simplifies Day 2 operations for data services, including things like StorageClass configuration, dynamic provisioning of persistent volumes, best-practice deployment of highly available data services, integrated scheduled or ad-hoc application-level backups, scale up and scale-out operations, monitoring and alerting using data service metrics, etc.
This is significant, as each data service has a different set of requirements and design considerations when it comes to deployment and ongoing management, whether that is in a production environment or a test/dev or staging environment. Instead of spending time learning how to deploy individual data services on Kubernetes or how to operate individual data services on Kubernetes, customers can now completely offload all of that to PDS and just use a simple UI-based workflow to provision data services on-demand on their Kubernetes clusters. According to a 2021 survey, developers spend less than 15% of their time every week on writing application code, a figure that underscores a significant opportunity cost. With PDS, Portworx can help organizations reduce the amount of time operators and developers spend setting up data services manually, giving them more time for higher-value work.
With PDS reaching general availability, customers can simply navigate to PDS portal and start deploying the following data services on Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Red Hat OpenShift, or vanilla Kubernetes clusters:
- Apache Cassandra
- Apache Kafka
- Apache Zookeeper
In this blog, we will walk through a simple workflow that allows a developer to deploy a Postgres instance on a Kubernetes cluster.
- Log into the PDS control plane using your email address/password, or sign in using your GitHub or Gmail credentials.
- Select the Account, Tenant, and Project for your application.
- Once you select your project, you will be redirected to the PDS Control plane dashboard, which is a single pane that gives you a view of all the different data services you have running across multiple Kubernetes clusters. You can also deploy additional data services from this dashboard to any Kubernetes cluster that is registered to your project by your PDS / Platform administrator. We will cover how platform administrators can add Kubernetes clusters to the PDS portal in a follow-up blog.
- Select the Data Service that you want to deploy. For this blog, we will choose PostgreSQL.
- In the Deploy PostgreSQL widget, enter a name for your PostgreSQL instance.
- Select the target Kubernetes cluster and select the namespace on the cluster where you want to install PostgreSQL.
- You have the option to select the Automatically provision external load balancer box to allow PDS to deploy load balancer instances for PostgreSQL, making it easier to connect.
- Select an Application Template and Resource Template from the individual dropdown boxes. The application template allows you to configure data service specific runtime parameters. The resource template allows you to select the size of your PostgreSQL deployment.
- Enter the number of pods you want to deploy for your PostgreSQL instance. For high availability, select more than one pod.
- Select the Storage Option that works for your deployment. You can choose from the Portworx-defined default option or a storage option that is pre-created by your PDS / platform administrator.
- Select whether you want to enable backups for your PostgreSQL instance. For production workloads, we highly recommend enabling backups.
- Once you have selected all these things, hit Deploy.
- At this point, PDS Control Plane communicates with the PDS Operators running on your target Kubernetes cluster to deploy a StorageClass and then deploy PostgreSQL in the namespace you have chosen.
- Once the deployment is successful, you can use the PDS Dashboard to find your PostgreSQL instance and look at the health of the pods, get resource utilization and metrics, monitor your scheduled backup jobs, create new backups, scale your PostgreSQL deployment, and, last but not the least, find connection details for your PostgreSQL database that you can use for your application.
This is how easy it is to deploy any data service on any target Kubernetes cluster supported by Portworx Data Service. In this blog, we covered a simple developer workflow to deploy a PostgreSQL instance. In future blogs, we will cover additional use cases, such as these:
- Monitoring and scaling data services
- Switching our persona to a platform admin and reviewing application and resource templates and/or storage options and going over how you can customize those for your developers
Until then, watch the following demonstration that walks you through the PostgreSQL deployment on an Amazon EKS cluster using Portworx Data Services.