Cloud Native Diary #1

The start of a new blog series. Every week, I'll share my journey working with application development, platform engineering, and cloud native.

Cloud Native Diary #1
The first printed copies of "Cloud Native Spring in Action"

Here we are again. Over the years, I've tried many times to start blogging regularly, but all attempts fail. Will this time be any different? Well, I really hope so!

Inspired by my friend Mauricio Salatino and his Knative OSS Weekly, I decided to start a new series called Cloud Native Diary. Every week, I'll share my journey working with application development, platform engineering, and cloud native technologies.

"Cloud Native Spring in Action" is now available in print

This week I got a fantastic surprise: I received the first printed copies of my book!

I've been working on "Cloud Native Spring in Action" for two years and a half. I can't really describe the feeling of finally holding a printed copy in my hand. So far, I've been used to looking at it on a screen. But now it suddenly became real. I really wrote a book!

I want to thank everybody who supported me in this journey: thank you! The book is currently available on the publisher's website both in printed and digital formats. All the source code is available on GitHub.

🍃
Until December 15th, you can use this code here to get 45% off my book (valid for any format): pbvitale.

In the next few days, it will become available also on all major online bookstores like Amazon and BookDepository.

Carvel: Kubernetes Native Package Management

Carvel is a powerful suite of composable tools to improve the way we work with Kubernetes. One of the tools is kapp-controller, which offers a Kubernetes native package management solution.

In the last few months, I've been working a lot with Carvel to package, configure and compose different capabilities useful to build cloud native platforms. I want to thank Soumik Majumder, one of the Carvel maintainers, for the continuous help and support I got while experimenting with the Carvel package authoring experience and working on aspects like testing, maintenance, release and supply chain security.

This week, I suggested a new feature to add automatic namespace creation when adding a new Carvel package repository to a cluster. I also submitted my first pull request to the kapp-controller project with a small improvement to make the kctrl CLI documentation more descriptive. I liked that the pull request was the number 1000 on the project. Carvel has been recently accepted as a CNCF Sandbox project, and I can't wait to see its future development and adoption!

Paving the path to production with Cartographer

During the week, I've been trying out the new features in the latest release of Cartographer, a framework to build paved and secure paths to production on Kubernetes. One of the powerful concepts built into Cartographer is the idea that platforms should be application-aware rather than having platform-aware applications.

The Cartographer Conventions component offers a way to define cross-cutting concerns applied to Kubernetes workloads by understanding the developer's intent. For example, let's consider a Spring Boot application. As a developer, I focus on the business logic. When I push my code changes, Cartographer Conventions will determine that it's a Spring Boot workload and will configure it automatically with production-ready features like graceful shutdown, liveness and readiness probes, and management endpoints.

The sample project demonstrating the conventions for Spring Boot had a bug affecting the graceful shutdown feature, so I've submitted a pull request to fix it.

The challenges of defining cloud native platforms

There's a recurring challenge in our industry: naming things. However, after finding a name for some new concept, we run into an even harder challenge: agreeing on a common definition. If you ask a group of engineers to define terms like continuous integration, DevOps, or cloud native, you'll likely get many different answers. That's the consequence of what Martin Fowler calls semantic diffusion.

At the moment, the spotlight is on platform engineering and cloud native platforms. What is a platform? That's one of the questions the CNCF Platforms Working Group is trying to answer while identifying key attributes, capabilities, and stakeholders.

This week I joined the discussion and participated in my first meeting with the Platforms WG. It was a very inspiring and productive conversation from which I got new perspectives and exciting inputs that triggered new ideas. I can't wait to contribute further! You can follow the work by joining the #wg-platforms channel in the CNCF Slack.

Let's deploy straight to production

My friends Whitney Lee and Mauricio Salatino were the guests on the latest episode of the Ship It! podcast, where they talked about their experience presenting the best keynote at KubeCon+CloudNativeCon NA 2022: What a RUSH! Let’s Deploy Straight to Production!

They really rocked the keynote stage of KubeCon! If you're interested in platform engineering, I recommend watching their presentation. I can guarantee that it will be fun, insightful, and entertaining!