“Dat doen ze op z’n Hollands, overigens: heel direct en open. Dat komt de samenwerking alleen maar ten goede.”
Joost Wasser

CloudNativePG is an innovative solution that simplifies the management of PostgreSQL databases, even in complex cloud environments. In this article, we explore what CloudNativePG is and how it helps businesses automatically scale, secure, and manage their data—all with the help of modern technologies like Kubernetes. Whether you’re a technical expert or simply curious about how data is managed in the cloud today, we present the information in an accessible and understandable way. Read on to discover how CloudNativePG is shaping the future of database management.
CloudNativePG is a revolutionary open-source operator that manages PostgreSQL in a natural and automated way within a Kubernetes environment. It simplifies the lives of both developers and administrators by automating the deployment, management, and scalability of PostgreSQL clusters. With CloudNativePG, we can leverage the flexibility and resilience of Kubernetes, making it easy to scale database clusters, achieve high availability, and perform seamless upgrades—all without compromising the power and reliability of PostgreSQL. It’s not just another tool, but an integral part of modern, cloud-native architecture that enables us to build and manage robust and efficient data solutions.
We have the longest experience with CloudNativePG. As an early adopter of CloudNativePG, OptimaData was the first partner of EDB (the original developer of CNPG, CloudNativePG) to carry out a proof of concept and implementation in a large-scale production environment for one of our clients. During the go-live phase, CloudNativePG was made available as open-source software.
How did it all come about? Let’s start at the beginning: what is containerization, what are the frameworks Docker and Kubernetes, and what is the added value of PostgreSQL Kubernetes Operators, and specifically, CloudNativePG.
“Dat doen ze op z’n Hollands, overigens: heel direct en open. Dat komt de samenwerking alleen maar ten goede.”
A container is a logical packaging mechanism that separates applications from the environment in which they run. All the code, configurations, and dependencies are packaged as a single unit, allowing the application to run quickly and reliably without relying on the surrounding environment—be it on-premise, public or private cloud, or even bare-metal.
Because you can run multiple containers directly on the operating system, the setup is much simpler than that of a virtual machine. Thanks to container orchestration platforms like Kubernetes, clusters of containers are automatically launched and their lifecycle managed. This makes it significantly easier to deploy containers on a large scale. Without such platforms, containerization would not have taken off as it has.
Containerization supports microservices and CI/CD pipelines across multiple environments, such as Dev, Test, and Prod. It maximizes security and enables automatic scalability. Containers are the (multi-)cloud, making it easier to streamline software updates and even eliminate the need for traditional virtualization (VMWare, KVM, RHEV, etc.). Thanks to containerization, we can treat databases as interchangeable components and minimize the impact of downtime.
An in-depth article about the how, why, and when of databases in containers. What is containerization, what does it do, and how does it help us? The role of Docker and Kubernetes, and the comparison with virtualization, are all explored. It’s a different (CloudNative) mindset. Software-defined containerized databases are currently often the missing link for fast DevOps cycles. When containerized databases are sufficiently embraced, seamless collaboration between development and operations will emerge.
Would you like to discuss databases in relation to cloud technology, containerization, Kubernetes, or specifically CloudNativePG with us? Don’t hesitate to contact us without any obligation!
Docker is a groundbreaking technology that transforms the way we manage databases by packaging them into containers. This means that a database, along with all its dependencies, is placed in a compact, portable container. As a result, the database runs consistently, whether it’s executed on your local computer, in the cloud, or in a data center.
Kubernetes is an advanced system for managing and scaling containerized applications, including databases. It automates the deployment, management, and coordination of containers, ensuring that applications—and their underlying databases—run reliably and efficiently, regardless of the environment.
A three-part blog series about PostgreSQL in Docker. With step-by-step instructions on how to set it up and deploy it. Do you want to run PostgreSQL in a Docker container and benefit from the advantages of an isolated, consistent, and easy-to-manage environment? In this series, we explain step by step how to install and configure PostgreSQL on Docker.
A two-part blog series on How to Postgres on Kubernetes. Do you want to run PostgreSQL on Kubernetes and benefit from the advantages of a scalable and flexible cloud-native environment? In this article, we guide you step by step through the process of setting up and managing a PostgreSQL database within a Kubernetes cluster. We cover the basics—from creating the right configuration to managing the database in a dynamic environment.
Kubernetes Operators are specifically designed to manage and automate complex applications—such as databases—within a Kubernetes cluster. Here are a few reasons why they are so valuable:
Operators encode operational knowledge and automate routine tasks such as updates, backups, scaling, and recovery after failures. This reduces manual intervention and minimizes the risk of human error.
Traditional Kubernetes resources are often geared towards stateless applications. Operators ensure the efficient and reliable operation of stateful applications, like PostgreSQL, by automating specific management tasks.
By applying repeatable procedures and best practices, operators provide a consistent and stable environment, regardless of the complexity of the application.
Operators help automatically scale applications based on demand, allowing the infrastructure to dynamically respond to changing requirements.
In short, Kubernetes Operators take over much of the heavy operational work, allowing teams to focus on innovation and improving their applications instead of routine management tasks.
How do you choose the right Kubernetes Operator to manage PostgreSQL databases in a Kubernetes environment? Do you go with Zalando’s Postgres Kubernetes Operator, the Crunchy Data Operator, or CloudNativePG? In this blog, we discuss this question and explore the challenges of running databases in Kubernetes.
Would you like to know how to seamlessly deploy PostgreSQL on Kubernetes with CloudNativePG? In this blog, we show you how to set up a reliable and scalable Postgres cluster with minimal effort. Whether you’re new to Kubernetes or already experienced, this guide provides clear steps and practical tips for a successful implementation. Read on and discover how CloudNativePG simplifies and optimizes your Postgres clusters!
At the beginning of 2022, OptimaData was already one of the early adopters of CloudNativePG. In a specific customer case, we implemented CloudNativePG in production in collaboration with EDB. As a result, the customer case discussion below was included in the KubeCon Conference in Valencia that year.
You can watch the entire session on CloudNativePG below. It starts with an introduction to the Postgres Kubernetes Operator, followed by an in-depth explanation of the open source project, an interview with Martijn (starting at 25:55), and then the demo.
OptimaData startte met een Database QuickScan, configureerde het MariaDB Galera Cluster en begeleidde de migratie. Ze bieden daarnaast 24/7 stand-by-ondersteuning. Rader: “We hadden zelf al een opzet, maar OptimaData adviseerde vanuit hun ervaring andere proxies die beter bij onze situatie pasten. Het resultaat spreekt voor zich: we hebben nu een stabiele en betrouwbare omgeving die ons zelden in de steek laat. Als er toch een verstoring is, zoals toevallig vorige week, staat OptimaData direct klaar.”