Image for post
Image for post
Be careful of the debris

The appeal behind using Kubernetes is that you abstract the details of where your applications run and leave it in k8s’s hands. It’ll schedule containers following some given constraints, and restart them if they crash.

However, a Kubernetes cluster is not a perfect abstraction. That is especially visible as an operator. Even if you use a managed solution like AWS EKS, you still have to perform some maintenance yourself.

As an operator, I want this maintenance to happen regularly, to avoid stagnation and prevent failure. As a developer, I avoid unwanted interruptions for my applications. A Pod Disruption Budget (PDB)…


Image for post
Image for post

Team topologies is a book about software delivery that doesn’t mention technology. Rather, it’s about how to organize teams.

It’s almost impossible to work in the software industry and not hear regularly about Conway’s law (It’s not actually a law). It turns out that the way an organization is set up will influence the software architecture that it produces. Everybody is mindlessly using microservices regardless of fit. But if I’m allowed to quote myself:

All the fancy technology in the world won’t fix an organizational problem.

That’s pretty much the point of this book. Fast flow is easier to achieve…


Image for post
Image for post
The ingress police is watching

It seems hard to believe, but I had never written about Kubernetes before. It feels impossible to hold a conversation about technology for more than five minutes without coming to the topic of k8s. Let’s fix that. I have to publish a couple of articles centered around Kubernetes to catch up.

If you operate a Kubernetes cluster with any significant usage, chances are you’re using an Ingress Controller. It just seems the thing to do. I’ve had a thing for Traefik for a while. However, the path of least resistance is to use the NGINX Ingress Controller. …


Image for post
Image for post

If I say monitoring, the first thing that comes to mind is Prometheus. And its trusty sidekick, Grafana. Is it software engineering if you’re not continuously checking some dashboards? However, we don’t want to expose those dashboards on the public internet. That would be bad! In this post, I’m showing how to set up authentication for Grafana. I’m using Auth0 as an identity provider.

I wrote some time ago about setting up Auth0 with Terraform. Auth0 is an excellent product and a convenient way to set up authentication and authorization without handling the gory details. …


Image for post
Image for post

Prometheus is a complex beast. I’ve been using it at work for the past year, and I always felt that I could barely understand what was going on. Picking up this book is a great way to start filling those gaps. Roughly, there are the following sections:

  • Application Monitoring
  • Infrastructure Monitoring
  • PromQL
  • Alerting
  • Deployment

Whether you are monitoring applications or infrastructure, the core components are the same. Instrumenting the code or using exporters, and then publishing metrics that Prometheus will scrape, with a few labels to sprinkle on top.

There are plenty of components that need to be deployed to…


Image for post
Image for post

I wrote about Network Load Balancers recently. You get a lot of mileage out of NLB’s, but sometimes you do need Layer 7 features.

One alternative is keeping the NLB and putting a reverse proxy like Traefik behind it. However, a simpler approach can be replacing both with another offering from AWS, the Application Load Balancer (ALB). In this post, I’ll show how to provision ALBs with help of the old trusty Terraform.

Setting up an Application Load Balancer

There are three main components to consider: The load balancer, the listeners, and the target groups. I wrote in detail about this in my previous article, so…


Image for post
Image for post

Netflix is a scrappy startup doing some video stuff. Maybe you’ve heard of them. They are famous for their extensive use of microservices, chaos engineering, and family-friendly shows like Narcos.

Anyway! There is a book out talking about their corporate culture in all of its glory. You know how many companies have tribes and squads and all those words popularized by Spotify and think they are totally agile? Then, it turns out that they’re actually not, and regardless, Spotify doesn’t even follow that model anymore. Thanks to books like this, we’ve got a whole new set of cargo culting opportunities.


How to manage and organize your article drafts to get the most out of your writing

Image for post
Image for post
Photo by Pixabay and Sourced from Pexels.com

After talking about creating technical stories and how to get them into an iteration, the technical backlog remains. We have done most of the work by now, so what’s left is essentially bookkeeping. It’s nevertheless an important topic. If you made it this far, you’re likely willing to spend a fair amount of effort handling technical stories. It’s only fair to give them a proper home.

The technical backlog is the place to put all the stories that we’ve been carefully writing and refining…


Image for post
Image for post

Are you using some form of load balancing in your application? Don’t answer. It’s a rhetorical question. You bet I am, you scream defiantly. How else am I going to ensure that traffic is evenly distributed?

Load Balancers come in all shapes and sizes. In the past, it used to be a concern for the operations folks. As an application developer, you could spend years without having to think about them. That’s not always the case in the cloud. Luckily, AWS makes it easy for us to create such resources. More so if you use Infrastructure as Code (which I’m…


Image for post
Image for post

Do you wake up in the morning and tell yourself, “man, I would love to work on some legacy code today”? I guess you don’t. We need to talk if you do.

But anyway, whether you like it or not, you probably will work on legacy code more often than you’d like to. That’s where this book comes in. If you have read Refactoring, the structure will ring familiar. A collection of patterns to handle different aspects of working in a legacy system. …

Mario Fernández

I develop software for a living. Then I go home and I continue reading about software, because I just cannot get enough. Nowadays I work for ThoughtWorks.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store