KCD France

Reflections on Kubernetes Community Day France 2023

Scale
Daniel Maher
9 min read

If you’ve spent more than five minutes with anybody from Scaleway, you know how much we’re into Kubernetes—so when we found out that France’s first-ever Kubernetes Community Days was being planned, we knew we had to be there! KCD France 2023 was held on 7 March and a bunch of the Scaleway team were there as speakers, sponsors, and active participants in this vibrant and dynamic community. Now, after a few weeks of contemplation and digestion, I’d like to share some of our thoughts, reflections, and observations on what was an early contender for top local tech event of the year.

The event was held at the fabulous Centre Pompidou, a world-renowned contemporary art museum in the heart of Paris. This made for a unique atmosphere and some interesting challenges in terms of space and organisation. Notably, there wasn’t a single theatre space large enough to accommodate all of the nearly one thousand attendees during the plenary sessions, so instead, three different theatre spaces were used. These rooms were named “Bleu”, “Blanc”, and “Rouge” after the colours of the French flag, which was the first indication that this was a proudly Made in France event. The plenary itself was split into three parts, with each part being presented live and simulcast to big screens in the other two rooms.

Starting at the start

KCD was the place to be! For somebody who is always curious, like me, this was a great opportunity to broaden my understanding of Kubernetes.
Robert JOSEPH, IT System Engineer

So what did we learn that morning? Hana Khelifa, Content Marketing Lead here at Scaleway, had some great insights to share:

The day started strongly right from the opening keynote, as moderated by the wonderful Jérôme Petazzoni. The first speaker was Solomon Hykes, who presented their new DevOps platform called Dagger—what it is, how it works, and that they want it to be as revolutionary as Docker.

So what is Dagger? If you believe the marketing material, it aspires to be a “devops operating system”. The idea is straightforward: a programmable CI/CD engine that runs pipelines in standard OCI containers. Notably, it uses GraphQL to build and parse directed acyclic graphs, or “DAGs”, which was a word that Solomon said a lot. In fact, the concept is so fundamental to the platform that they literally named their product after it. 😆 Hana continues…

Did you know that the National Education system of France uses Scaleway infrastructure? And Kubernetes too. This is especially important during the annual baccalaureate period when they need to deal with the equivalent of a millions pages of tests, texts, and treatises per day! Auto-scaling is the obvious killer feature here, but they also benefit from having year-round reliability to run not only their applications, but their MongoDB and PostgreSQL databases as well. It was a pleasant surprise to see how on-point they are in this area.

After that interesting presentation, I had an opportunity to get on stage myself! Instead of a standard-issue sponsor pitch, I thought I’d do something a little different—something more entertaining! And what better way to get the audience talking than to drive right at the most pressing issue of our era: how do you pronounce kubectl? (The answers may surprise you. 😉)

Following that, Hana and I both attended Alexandre Mechain’s talk on Observability, and why it costs so much:

I liked this talk about Observability because there was concrete advice on how to make it less expensive:

  • Don’t pay to collect the data
  • Don’t ship any data that you don’t really need
  • The open source telemetry ecosystem is very mature now
  • Optimise how your data is stored; for example, SSDs vs block storage vs cold storage
  • Don’t store every info-level log message—you only need errors and warnings. The rest can be turned into metrics

To that I’ll add that protocols, projects, platforms, and tools such as StatsD, Open Telemetry, Prometheus, Logstash, and so forth are powerful and well-understood by our industry. Rolling your own solution isn’t always the way to go, but whether you choose to lock into a vendor or not, Alexandre’s advice is sound.

Let’s all go the lobby

KCD was a high-quality event. It was a good place to meet the French Kubernetes community, talk to people with very different use-cases, and exchange with other Kubernetes service providers.
Alexandre GESTAT, Product Marketing Manager

After a great morning of presentations it was time to hit the floor and visit with all of the great sponsors, without whom the conference would never have been possible! I’ll let Thibault Genaitay, our Kubernetes Product Manager, fill you in on some of his highlights.

The stands were organised into two groups, with the French and European companies towards the front, and the other sponsors towards the back. Another sign that we were at KCD France, specifically! It was good to see international companies though, with representation from the likes of JFrog, Lacework, and Palo Alto Networks. Thinking more locally, I was glad to see ENIX, as well as our partner in crime, WeScale.

We have more in common with WeScale than just the name. They helped us build our inaugural Scaleway Certification course, and we do all sorts of things like webinars and other activities with them as well.

More talks!

I met plenty of people with strong skills and a high-level knowledge of Kubernetes.
Louis PORTAY, DevOps Engineer

After lunch it was back to more talks! Thibault resumes…

First stop: a talk about GitOps by Madou Coulibaly of Gitlab, wherein we compared the lifecycle of an application within the DevOps framework to that of infrastructure—within the GitOps framework. So what is GitOps? It starts with codification, which involves concepts such as Infrastructure-as-Code, configuration policies, and so forth. The next layer is collaboration, where stakeholders use git tooling to review and manage changes (i.e. pull requests, etc). Then there’s automation, where those changes are deployed and via pre-built pipelines using CI/CD principles.

According to Madou, when it comes to actually implementing GitOps in practice, there are two major strategies: pushing and pulling.

In a push-based model, the pipeline sends (pushes) the changes to the target. In a pull-based model, an agent analyses the desired state, compares it to the current state, and then synchronises the target.

Next up was a deep dive into database operators, as presented by Alexandre Buisine and David Donchez of Enix—in full pirate regalia! The talk was peppered with delightful Age of Sail-themed references and they had a large audience on the replay screen in the vendor hall. Thibault notes that, “everybody is still asking the same question: should we be running databases in Kubernetes?”

When we’re talking about databases in Kubernetes, we’re also talking about operators. These are extensions that make use of custom resources to manage applications and their components. The potential for operators is basically unlimited, and while they do (or at least should) follow accepted Kubernetes design principles, the reality is that they’re software components like any other—and that means things like feature completeness, behaviour management, and life-cycle maintenance are very real concerns. Database operators are not exempt, and the duo from Enix presented their criteria for analysing whether a given operator is ready for production or not. Thibault continues…

  • The first thing is the documentation: if the docs are hard to find, or aren’t exhaustive, then the operator can be dismissed immediately.
  • Next up, how does it run? Is there an interface—graphical, or as a plugin for kubectl?
  • What about permission management? Can this be handled programmatically, or does it need to be declared manually?
  • What happens when something inevitably goes wrong and you need to do a hot swap of the primary database? What does the high availability story look like?
  • Observability is a major concern. Does the operator have Prometheus integration, for example? And if so, what custom metrics and other data can be obtained? Can this data be accessed from native tooling, or do you need a separate platform?
  • What if the problem requires a rollback, or restoring from a backup? Where are the backups stored? How are they made—for example, point-in-time recovery versus deltas—and what is the retention period? Is an in-place recovery even possible?
  • Finally, how are upgrades handled?

That last point is super important. Database upgrades tie basically every previous point together, and if all of those other criteria aren’t satisfied, the necessary act of upgrading can become a dangerous proposition. Happily, there are some good quality operators out there, including StackGres and CloudNativePG—so definitely give those a look, especially if Postgres is your jam. 👍

The hits keep on coming!

KCD was a dream opportunity to meet the community. I gained a deeper understanding of the entire Kubernetes eco-system. As a bonus, talking to real users gave me some great inspiration on how we can make our own open source tooling more useful!
Leïla Marabese, DevOps Engineer

Our very own Louis Portay took the stage during the afternoon with a talk entitled “VPC in k8s: not as simple as it appears”. As the name would suggest, this was all about the interesting technical challenges and triumphs necessary to implement the concept of a Virtual Private Cloud within the context of a managed Kubernetes, and at the scale of a cloud provider.

Louis walked the audience through both the theory and the practice of implementing private networks, and didn’t shy away from technical details. I was interested to learn about how network-layer details can be gathered and transmitted via the Cloud Controller Manager, which is a control plane component designed specifically for public cloud infrastructure. The talk was well-received by the audience—kudos, Louis! 😁

Last, but certainly not least, was a surprisingly rich presentation by Daniel Benisty and Laurent Nocus from a French governmental organisation called Pôle Emploi. This entity has been using Kubernetes in production and at scale for the past five years, primarily to deliver an internal platform for their developers to deploy on. Thibault provides some highlights:

The numbers are impressive: 20,000 pods, 3,000 developers and technologists, 58,000 employees interacting with it daily, and roughly 470 million visits last year. They have a sprawling, diverse infrastructure that is managed entirely on-premise in three different locations.

I really appreciated how open, honest, and humble these speakers were. They weren’t afraid to share their failures with us, which is a rare and fantastic treat that allows us all to learn from each other.

Final thoughts

Let’s loop back to Hana for some closing remarks:

The day went by quickly—which was a good thing. The quality of the presentations was very high, and it was inspiring to be in such a prestigious museum, surrounded by art and creativity! The attendees and volunteer staff were all friendly, and everybody was passionate about learning and exchanging ideas. I even had a chance to chat with the organisers. The event was nine months in the making, and completely volunteer owned and operated. That’s passion—and it showed.

In summary, KCD France 2023 was a prime example of how to run a sizeable community conference. We’re already looking forward to next year!

p.s. If you’re comfortable with the French language, you should definitely check out all the great sessions that have been posted on the KCD France YouTube channel.

Share on
Other articles about: