Latest Posts

Mirrord Magic: Write Code Locally, See It Remotely!

Imagine this scenario.

There is a frontend application that talks to a backend which uses a database.

I am working on the code of that backend application.

I neither have nor care about the code of the frontend app and I do not have the database running locally. All I want is to write the code of that backend application and see the outcome of my work, either directly or through the frontend (the one that I am not running) and I want that local code to be connected to the database (which I am also not running).

Full article »


Stop Using Docker and Local Kubernetes for Dev Environments! (feat. Okteto)

You are developing something. Everybody is, no matter whether that something is a user-facing application, infrastructure, or anything else.

While developing, you are trying to set up a development environment, probably locally since that’s where your code is. You are likely trying to do all that using Docker or a local Kubernetes cluster like KinD.

If that’s what you’re doing, I’m here to tell you that you’re doing it wrong.

Full article »


Remote Environments with Dev Containers and Devpod: Are They Worth It?

Today we are going to explore running remote ephemeral development environments. We are going to see (potentially) the best solution you should (probably) NOT use. If that sounds confusing, you’re not alone.

We’ll explore the Development Containers spec as well as Devpod as an implementation of that spec. Together, they provide a way to run ephemeral development environments.

There is a hidden reason for going through those. I have serious doubts about the story behind remote environments, at least in a specific form, and I want to discuss what we really want them for. But, to do that, we need to go through a few practical examples to be on the same page before I go off the beaten path and start questioning it all.

Buckle up. You’re in for a ride that starts with some important questions that turn into excitement and finish… Well… I do not yet know how it will finish.

Full article »


Crossplane v2: Simplified Compositions, Namespace-Scoped Resources, and More!

Crossplane v2 is here with some very cool features that I want to go through.

We’ll see the changes to Crossplane Composition schemas, a shift to Namespace-scoped resources, direct composition of any resources without the need to rely only on Crossplane Managed resources, new API versions, removal of deprecated features, and more.

Full article »


Debunking Myths and Simplifying Compositions with Crossplane v2

Crossplane is too complicated!” “Crossplane is only for infrastructure! I need something else for applications.”

I hear those and other similar statement very often so I decided to clarify a few things and, hopefully, eliminate some missconceptions.

To be more precise, today I want to debunk one missconception about Crossplane and, at the same time, show how Crossplane addressed one semi-legitimate complaint in the recent v2 release.

So, debunk one missconception and show one improvement with both of those being intertwined.

Full article »


KubeVela & OAM: The Resurrection of Simplified App Management?

Imagine that you are building an Internal Developer Platform.

What would be a good user experience if, for example, one would like to deploy and manage a backend application without spending five years trying to understand all the details about Kubernetes?

Full article »


Why Most Kubernetes Dashboards Are Failing You (and What Is The Future)

Most Kubernetes dashboards got it wrong. Most did not understand the limitations of Kubernetes API and, as a result, act as glorified file explorers rather than tools that help us find what we’re looking for, especially when dealing with large scale.

Today we are going to explore the mistakes Kubernetes dashboards are making and try to figure out how they might be able to get onto the right path, even though that might require some drastic changes in their design.

By the end of today’s story you should see what we need to navigate, search, debug, and do whatever we might need to do in Kubernetes clusters. We’ll feel like we are using Google Search rather than navigating through Kubernetes resources in a similar way we are traversing files and directories.

Full article »