Skip to content

Commit 4c1f998

Browse files
committed
feat: CloudNativePG 2024
Signed-off-by: Gabriele Bartolini <[email protected]>
1 parent 5aee8f6 commit 4c1f998

File tree

5 files changed

+331
-0
lines changed

5 files changed

+331
-0
lines changed
384 KB
Loading
208 KB
Loading
250 KB
Loading
Lines changed: 331 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,331 @@
1+
---
2+
title: "CloudNativePG in 2024: Milestones, Innovations, and Reflections"
3+
date: 2024-12-29T12:27:41+01:00
4+
description: "A retrospective on CloudNativePG’s impactful 2024, celebrating achievements, community growth, and the evolving role of PostgreSQL in Kubernetes."
5+
tags: ["postgresql", "postgres", "kubernetes", "k8s", "cloudnativepg", "cnpg", "dok", "data on kubernetes", "CNCF", "Sandbox", "incubation", "databases", "VolumeGroupSnapshot", "extensions", "storage", "ecosystem", "edb"]
6+
cover: cover.jpg
7+
thumb: thumb.jpg
8+
draft: false
9+
---
10+
11+
_2024 was a transformative year for CloudNativePG, marked by significant
12+
contributions to the Kubernetes ecosystem, increased adoption, and a growing
13+
community. This article reflects on key milestones, including the integration
14+
of advanced Kubernetes features, conference highlights, and personal insights,
15+
while looking ahead to the opportunities awaiting PostgreSQL in the
16+
cloud-native era._
17+
18+
<!--more-->
19+
20+
---
21+
22+
When Kubernetes debuted a decade ago, I could never have predicted that it
23+
would become such an integral part of my professional journey. While I only
24+
began working with Kubernetes in August 2019, it quickly became clear to me
25+
that it was the future of running PostgreSQL. By the end of that year, we had
26+
our prototype operator, and, together with my fantastic team, we made a pivotal
27+
decision: I would never go back to using virtual machines to run PostgreSQL.
28+
That decision has shaped my work ever since.
29+
30+
Fast-forward to 2024, which marked my fifth year of running PostgreSQL on
31+
Kubernetes and a transformative period for CloudNativePG. Open-sourced in May
32+
2022, CloudNativePG has grown into one of the leading solutions for running
33+
PostgreSQL in Kubernetes. It stands out as the only operator governed by a
34+
vendor-neutral, openly governed community designed to be truly
35+
Kubernetes-native.
36+
37+
Let’s take a closer look at the milestones we achieved this year.
38+
39+
## Popularity
40+
41+
The rising popularity of CloudNativePG is best exemplified by the growing
42+
[number of stars on its GitHub repository](https://star-history.com/#cloudnative-pg/cloudnative-pg&zalando/postgres-operator&CrunchyData/postgres-operator&ongres/stackgres&percona/percona-postgresql-operator&reactive-tech/kubegres&Date)
43+
—a clear and transparent measure of community support.
44+
45+
This organic growth highlights the trust and enthusiasm of its users, achieved
46+
without reliance on artificial marketing boosts from either the CloudNativePG
47+
Community or EDB. As the primary creator and supporting organisation of
48+
CloudNativePG, EDB has played a pivotal role in its success. With a
49+
long-standing reputation as a leader in PostgreSQL development, EDB continues
50+
to drive innovation and collaboration within the broader open-source ecosystem,
51+
bridging the gap between Postgres and Kubernetes and ensuring the project's
52+
sustained growth and relevance.
53+
54+
A snapshot taken on January 10, 2024, shows that CloudNativePG was the third
55+
most popular PostgreSQL operator, with roughly 2.7k stars. At the time,
56+
Crunchy’s PGO had around 3.6k stars (900 more), and the Zalando operator led
57+
with nearly 3.8k stars (1.1k ahead).
58+
59+
![Star History of the major operators on Jan 2024](images/star-history-2024110.png)
60+
61+
However, significant milestones were reached later in the year. In July,
62+
CloudNativePG surpassed Crunchy’s PGO to claim the second spot, and by
63+
September, it overtook Zalando to become the most popular operator. Today,
64+
CloudNativePG has nearly 5k stars, outpacing Zalando with 4.4k and Crunchy’s
65+
PGO with 4k.
66+
67+
68+
![Star History of the major operators on Dec 2024](images/star-history-20241227.png)
69+
70+
In 2024 alone, CloudNativePG achieved an impressive milestone, gaining 2.3k
71+
stars on GitHub—an average of over six stars per day. This far outpaced its
72+
peers, with Zalando adding 700 stars (+1.6k total) and Crunchy gaining 400
73+
(+1.9k total). The remarkable momentum has captured widespread attention,
74+
including a colourful endorsement from Percona’s founder, Peter Zaitsev.
75+
Speaking at Data on Kubernetes Day during KubeCon North America in Salt Lake
76+
City last November, Zaitsev remarked:
77+
78+
> [CloudNativePG is kicking everybody’s a**e!](https://www.youtube.com/watch?v=6sZqbNwzZag&t=1288s&ab_channel=CNCF%5BCloudNativeComputingFoundation%5D)
79+
80+
## Releases
81+
82+
In 2024, we followed a robust release cadence, delivering updates across nine
83+
release windows:
84+
85+
- **February 2**: 1.22.1, 1.21.3, and 1.20.6
86+
- **March 14**: 1.22.2 and 1.21.4
87+
- **April 24**: [1.23.0 (minor release)](https://cloudnative-pg.io/releases/cloudnative-pg-1-23.0-released/), 1.22.3, and 1.21.5
88+
- **April 29**: 1.23.1
89+
- **June 12**: 1.23.2, 1.22.4, and 1.21.6
90+
- **July 29**: 1.23.3 and 1.22.5
91+
- **August 22**: [1.24.0 (minor release)](https://cloudnative-pg.io/releases/cloudnative-pg-1-24.0-released/) and 1.23.4
92+
- **October 16**: 1.24.1 and 1.23.5
93+
- **December 23**: [1.25.0 (minor release)](https://cloudnative-pg.io/releases/cloudnative-pg-1-25.0-released/), 1.24.2, and 1.23.6
94+
95+
With the release of version 1.23, we made a significant strategic decision to
96+
streamline our [support policy](https://cloudnative-pg.io/documentation/current/supported_releases/#support-policy).
97+
98+
As a community, we now only support the latest minor version of CloudNativePG
99+
and extend support for the second-last minor version for an additional three
100+
months. This change has dramatically simplified our codebase management,
101+
reducing the need for extensive backports and the complexity of automated test
102+
combinations in our continuous delivery pipelines.
103+
104+
Another pivotal improvement was the introduction of release candidates,
105+
prompted by a retrospective analysis of the misstep in version 1.23.0 — which
106+
required a swift 1.23.1 patch just five days later. The new release candidate
107+
process has allowed us to provide our user base with [preview versions](https://cloudnative-pg.io/documentation/current/preview_version/)
108+
of upcoming releases, such as 1.24 and 1.25, fostering better feedback and
109+
stability.
110+
111+
In 2023, CloudNativePG followed a similar pattern, delivering four minor
112+
releases (1.22, 1.21, 1.20, and 1.19) across eight release windows. Looking
113+
ahead to 2025, we aim to streamline this cadence further by targeting one minor
114+
release per quarter, ensuring a more predictable and consistent release
115+
schedule.
116+
117+
## Features
118+
119+
The three minor releases in 2024 brought several exciting new features and
120+
enhancements to CloudNativePG.
121+
122+
My favourite is the declarative support for distributed topologies of
123+
PostgreSQL databases across multiple Kubernetes clusters. This feature enables
124+
hybrid and multi-cloud deployments through native physical replication using
125+
Infrastructure as Code (IaC). I detail this in my blog article,
126+
[“Making the World My Single Point of Failure with PostgreSQL,”]({{< relref "../20240627-make-the-world-your-spof-with-postgresql-in-kubernetes/index.md" >}})
127+
and it can be easily explored using the
128+
[CNPG Playground]({{< relref "../20240920-cnpg-playground/index.md" >}}).
129+
130+
The second is the new API for synchronous replication control, which provides
131+
unprecedented opportunities to balance data durability and self-healing. It
132+
also enables complete configuration of PostgreSQL’s `synchronous_standby_names`
133+
option. For more details, check out
134+
[“CNPG Recipe 16 - Balancing Data Durability and Self-Healing with Synchronous Replication”syncrep]({{< relref "../20241226-data-durability/index.md" >}})
135+
and
136+
[“CNPG Recipe 13 - Configuring PostgreSQL Synchronous Replication.”]({{< relref "../20240910-syncrep/index.md" >}}).
137+
138+
The third is the first hooks implementation for [CNPG-I](https://github.com/cloudnative-pg/cnpg-i/),
139+
the CloudNativePG Interface. This framework enables third parties to extend the
140+
CloudNativePG operator through plugins, eliminating the need to modify the core
141+
codebase—similar to how Kubernetes and PostgreSQL operate.
142+
143+
Finally, we significantly enhanced support for native logical replication,
144+
making it easier than ever to migrate to CloudNativePG from any PostgreSQL 10+
145+
instance, including DBaaS solutions like RDS. CloudNativePG 1.25 introduces
146+
support for declarative logical replication subscriptions and publications.
147+
This technology also facilitates online major upgrades of PostgreSQL with
148+
near-zero cutover time. Read [“CNPG Recipe 15 - PostgreSQL Major Online Upgrades with Logical Replication”]({{< relref "../20241210-major-online-upgrades/index.md" >}})
149+
and
150+
[“CNPG Recipe 5 - How to Migrate Your PostgreSQL Database in Kubernetes with Near-Zero Downtime from Anywhere”]({{< relref "../20240327-zero-cutover-migrations/index.md" >}})
151+
for more information.
152+
153+
## Ecosystem Evolution
154+
155+
CloudNativePG is evolving around its main project, the CloudNativePG operator,
156+
into a comprehensive ecosystem for running PostgreSQL in Kubernetes. The
157+
recently introduced CNPG-I framework will amplify this transformation in the
158+
future.
159+
160+
In 2024, we made an important change to the project’s governance by introducing
161+
the concept of components and, most notably, component owners. While
162+
maintainers oversee the entire project, component owners are maintainers of
163+
specific sub-projects. Key components include container images, Helm charts,
164+
Grafana dashboards, OLM, and the website.
165+
166+
Two standout components introduced this year are:
167+
168+
- **[CNPG Playground](https://github.com/cloudnative-pg/cnpg-playground)**: A
169+
local learning environment designed to experiment with CloudNativePG,
170+
leveraging Docker and Kind to simplify onboarding and exploration.
171+
- **[Barman Cloud Plugin](https://github.com/cloudnative-pg/plugin-barman-cloud)
172+
for Backup and Recovery on Object Stores**: This marks our first plugin for
173+
the CNPG-I framework and is poised to eventually replace the in-core support
174+
for Barman Cloud, aligning with our modular vision.
175+
176+
## Kubernetes development
177+
178+
2024 marked a milestone year for our project as one of our developers made a
179+
significant contribution to Kubernetes:
180+
[Leonardo Cecchi](https://www.linkedin.com/in/leonardo-cecchi-54b0a396/),
181+
co-founder and maintainer of CloudNativePG, played a pivotal role as a
182+
[key contributor](https://github.com/kubernetes-csi/external-snapshotter/blob/v8.2.0/CHANGELOG/CHANGELOG-8.2.md)
183+
to the development of
184+
[VolumeGroupSnapshot support in Kubernetes 1.32](https://kubernetes.io/blog/2024/12/11/kubernetes-v1-32-release/#volume-group-snapshot).
185+
This feature lays a critical foundation for future backup and recovery
186+
operations for PostgreSQL databases using volume snapshotting within Kubernetes
187+
environments.
188+
189+
This achievement highlights the holistic approach our team at EDB takes in
190+
integrating Postgres and Kubernetes, combining technical innovation with
191+
community-driven collaboration.
192+
193+
## Conference Talks
194+
195+
This year, I was privileged to present at several significant events in the
196+
cloud-native and PostgreSQL communities.
197+
198+
### KubeCon & CloudNative Highlights
199+
200+
At KubeCon Europe in Paris (March), I delivered two sessions:
201+
202+
- **["From Zero to Hero: Scaling Postgres in Kubernetes Using the Power of CloudNativePG"](https://colocatedeventseu2024.sched.com/event/1YFha/from-zero-to-hero-scaling-postgres-in-kubernetes-using-the-power-of-cloudnativepg-gabriele-bartolini-edb)**
203+
at the [Data on Kubernetes](https://dok.community/) co-located event.
204+
- **["Scaling Heights: Mastering Postgres Database Vertical Scalability with Kubernetes Storage Magic"](https://kccnceu2024.sched.com/event/1YeM4/scaling-heights-mastering-postgres-database-vertical-scalability-with-kubernetes-storage-magic-gabriele-bartolini-edb-gari-singh-google)**,
205+
co-presented with the brilliant [Gari Singh from Google Cloud](https://www.linkedin.com/in/garisingh/).
206+
207+
In November, I travelled to Salt Lake City for KubeCon North America,
208+
participating in a panel discussion on
209+
[the future of DBaaS on Kubernetes](https://sched.co/1i7kL)
210+
alongside industry experts Melissa Logan (Constantia and [Data on Kubernetes Community - DoK](https://dok.community/)),
211+
Sergey Pronin (Percona), and Deepthi Sigireddi (PlanetScale).
212+
213+
Earlier that week, at Cloud Native Rejekts,
214+
[Leonardo Cecchi](https://www.linkedin.com/in/leonardo-cecchi-54b0a396/)
215+
and I co-presented
216+
["Maximising Microservice Databases with Kubernetes, Postgres, and CloudNativePG"](https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-na-salt-lake-city-2024/talk/38Z8MB/),
217+
which you can watch [here](https://www.youtube.com/watch?v=uBzl_stoxoc).
218+
219+
Capping off a busy November, I was honoured to speak at the **Kubernetes
220+
Community Days Denmark** in Copenhagen. My talk,
221+
["CloudNativePG: The Past, The Present, The Future"](https://kcddenmark.dk/schedule/),
222+
provided a comprehensive overview of the project's evolution and vision. You
223+
can watch the recording [here](https://www.youtube.com/watch?v=_R0dxSHlJoY&ab_channel=CloudNativeNordics).
224+
225+
### PostgreSQL Conferences
226+
227+
In addition to cloud-native events, I spoke at two PostgreSQL conferences:
228+
229+
- **Swiss PGDay 2024** in Rapperswil (June 28):
230+
["Unleashing the Power of PostgreSQL in Kubernetes"](https://www.pgday.ch/2024/#schedule).
231+
* **PostgreSQL Conference Europe 2024** in Athens (October 24):
232+
["Postgres: From Cloud to Hybrid and On-Prem Again"](https://www.postgresql.eu/events/pgconfeu2024/schedule/session/6056-postgres-from-cloud-to-hybrid-and-on-prem-again/).
233+
234+
Athens provided a particularly inspiring glimpse into the evolving perception
235+
of Kubernetes within the PostgreSQL community. Adam Wright’s session,
236+
["Demystifying Kubernetes for Postgres DBAs: A Guide to Operators"](https://www.postgresql.eu/events/pgconfeu2024/schedule/session/5584-demystifying-kubernetes-for-postgres-dbas-a-guide-to-operators/),
237+
drew a packed audience, demonstrating growing interest among Postgres
238+
professionals.
239+
240+
Another standout talk was David Pech’s
241+
["From VMs to Cloud-Native PostgreSQL in Kubernetes: A Case Study of Migrating a Medium-Sized Application"](https://www.postgresql.eu/events/pgconfeu2024/schedule/session/5829-from-vms-to-cloud-native-postgresql-in-kubernetes-a-case-study-of-migrating-a-medium-sized-application/).
242+
Despite being scheduled concurrently with Robert Haas’ session on incremental
243+
backups in PostgreSQL 17, Pech's talk highlighted practical insights into
244+
cloud-native adoption—a key theme resonating throughout the conference.
245+
246+
## Articles
247+
248+
On February 28, 2024, I launched my blog at [gabrielebartolini.it](http://gabrielebartolini.it),
249+
dedicated to running PostgreSQL on Kubernetes with CloudNativePG. The response
250+
surpassed my most optimistic expectations: in just 10 months, I published 25
251+
articles, attracting tens of thousands of visits, according to Google
252+
Analytics.
253+
254+
Here are some of the most popular posts:
255+
256+
1. **[CNPG Recipe 5 - How to migrate your PostgreSQL database in Kubernetes with ~0 downtime from anywhere]({{< relref "../20240327-zero-cutover-migrations/index.md" >}})**
257+
2. **[CNPG Recipe 1 - Setting up your local playground in minutes]({{< relref "../20240303-recipe-local-setup/index.md" >}})**
258+
3. **[Maximizing Microservice Databases with Kubernetes, Postgres, and CloudNativePG]({{< relref "../20240228-maximizing-microservice-databases-with-k8s-postgres-cloudnativepg/index.md" >}})**
259+
4. **[CNPG Recipe 4 - Connecting to Your PostgreSQL Cluster with pgAdmin4]({{< relref "../20240322-pgadmin4/index.md" >}})**
260+
5. **[Kubernetes Just Turned Ten: Where Does PostgreSQL Stand?]({{< relref "../20240625-kubernetes-just-turned-10-where-does-postgresql-stand/index.md" >}})**
261+
262+
I also want to spotlight an insightful article by Shaun Thomas, a former
263+
colleague at 2ndQuadrant and EDB, a friend and one of the foremost experts in
264+
PostgreSQL High Availability. In his piece,
265+
["Kubernetes Killed the High Availability Star"](https://bonesmoses.org/2024/pg-phriday-kubernetes-killed-the-high-availability-star/),
266+
Shaun draws on years of experience deploying enterprise-level PostgreSQL in
267+
bare metal and VM environments. He makes a compelling case for why Kubernetes
268+
is now the go-to platform for high-availability PostgreSQL deployments.
269+
270+
Shaun’s article perfectly aligns with my ideas in
271+
["The Urge for ‘T-Shaped’ Profiles to Smooth the Challenges of Running Postgres in Kubernetes"]({{< relref "../20240812-tshaped/index.md" >}}).
272+
In this post, I discuss the vast opportunities for PostgreSQL DBAs to adapt and
273+
thrive in the Kubernetes era. Thank you, Shaun, for reinforcing this message!
274+
275+
## Application to the CNCF Sandbox
276+
277+
In September, [CloudNativePG submitted its second application to the CNCF Sandbox](https://github.com/cncf/sandbox/issues/128),
278+
marking an exciting step forward for the project. We are optimistic that it
279+
will be accepted this time, setting the stage for CloudNativePG to become the
280+
first PostgreSQL database project to embark on the
281+
[CNCF graduation process](https://www.cncf.io/projects/).
282+
If the Sandbox application is approved in January, our next milestone will be
283+
achieving incubation status, further cementing CloudNativePG’s role as a
284+
foundational solution in the cloud-native database ecosystem and advancing the
285+
democratisation of PostgreSQL access.
286+
287+
## Reflections on 2024
288+
289+
On a personal note, 2024 has been a challenging year. In March, I faced the
290+
heartbreaking loss of my friend, mentor, and leader
291+
[Simon Riggs]({{< relref "../20240521-2ndquadrant-italy-16th-anniversary/index.md" >}}).
292+
Simon’s untimely passing left an unfillable void but also a lasting legacy for
293+
those of us who had the privilege of growing as PostgreSQL professionals and
294+
human beings under his guidance and example. His unwavering dedication to
295+
making PostgreSQL the best database in the world inspires me every day.
296+
297+
Simon was a staunch advocate for PostgreSQL extensions, and it feels fitting to
298+
mention ongoing efforts in this area. One such initiative is the
299+
``extension_control_path`` patch, being developed for PostgreSQL 18 by Peter
300+
Eisentraut. This improvement will provide a foundation for running immutable,
301+
self-contained container images of PostgreSQL extensions, enabling them to be
302+
loaded at runtime in CloudNativePG. While this effort will hopefully come to
303+
fruition in 2025, it represents an exciting step forward for extension
304+
management and flexibility. David Wheeler from Tembo recapped the status of
305+
this work in his blog post ["RFC: Extension Packaging & Lookup"](https://justatheory.com/2024/11/rfc-extension-packaging-lookup/).
306+
307+
## Looking Ahead
308+
309+
After reflecting on the measurable achievements of the past year, I want to
310+
conclude with a more personal perspective. Having been part of the PostgreSQL
311+
and Kubernetes ecosystem for quite some time, it’s clear to me that something
312+
extraordinary is happening around CloudNativePG. A vibrant, dynamic community
313+
is emerging, and the convergence of PostgreSQL and Kubernetes is opening
314+
unprecedented opportunities for both new and seasoned PostgreSQL users.
315+
316+
As we enter 2025, I’m optimistic about the future. CloudNativePG and the
317+
broader PostgreSQL-on-Kubernetes movement are poised for remarkable growth.
318+
Let’s keep building, innovating, and growing together. **Happy New Year!**
319+
320+
---
321+
322+
Stay tuned for the upcoming recipes! For the latest updates, consider
323+
subscribing to my [LinkedIn](https://www.linkedin.com/in/gbartolini/) and
324+
[Twitter](https://twitter.com/_GBartolini_) channels.
325+
326+
If you found this article informative, feel free to share it within your
327+
network on social media using the provided links below. Your support is
328+
immensely appreciated!
329+
330+
_Cover Picture: [“Herd Of Elephants in African Bush“](https://www.needpix.com/photo/163800/)._
331+
158 KB
Loading

0 commit comments

Comments
 (0)