Utilizing Terraform and Terraform Cloud Modules for Multi-Region AWS Deployment

The code for this example can be found on bespinian’s GitHub Introduction When you begin your journey with Terraform, it’s common practice to start small, focusing on creating and managing resources within a single AWS region. This approach allows you to get an initial understanding of Terraform, it’s syntax, the plan => apply loop, state management, and in general grasp the fundamentals of infrastructure as code (IaC). As the complexity and the requirements on your infrastructure grow, you will begin to notice that multi-region deployment in AWS is essential for various reasons.

Vim's Missing Feature Isn't Really Missing

Since it’s near the end of 2023, I am sure everyone is quite busy with family and other festive obligations. I am going to keep this one short and introduce you to one Vim feature that, if you don’t use it already, will have you excited to get back to your beloved editor in 2024.

JMS to Kafka: The Galactic Transition Chronicles

A Long Time Ago in an IT Galaxy Far, Far Away… In an era marked by a seismic shift in technology, a team of Jedi developers, once guardians of legacy system strongholds, orchestrated a pivotal uprising. Their ingenuity turned the tide against the monolithic communication frameworks that had long dominated the galaxy’s data streams. The Legacy of JMS In the galaxy of data and messages, the first system, JMS (Jedi Messaging Service), had long governed interstellar communications.

Kurt's Cloud Journey

In this post, we would like to give you an overview of the key services every cloud infrastructure provider offers.

API Contract Definitions

When running one or multiple services, it is essential that they have reliable service contracts defining their exposed APIs. Those contracts mostly consist of declarative interface definitions, which strongly define and type the API exposed by the respective service. As such, it is crucial that the code making up the service exactly implements the interface and therefore fulfills its side of the contract. Regressions need to be detected and changes reflected in a well communicated update to the contract.


This blog post is the third part of a three-part series adapted from a GitOps webinar series which we co-produced together with our friends at VSHN. In this third part, we will show you how you can combine Git, which we introduced in part 1 with Infrastructure as Code, which we introduced in part 2. The combination of these two worlds will lead us to GitOps, where we will show you concepts and technologies which enable you to operate your infrastructure and applications entirely using Git repositories.

Observability in the Cloud

This blog post aims to explain how observability and monitoring should be distinguished, what the problems with “traditional” monitoring are when we deal with distributed cloud systems, and how observability can alleviate these problems. Finally, it roughly outlines how observability should be approached. Observability vs. Monitoring For detailed accounts of the difference between monitoring and observability, I recommend Cindy Sridharan’s book Distributed Systems Observability and Charity Major’s various blog posts on the topic (e.

Infrastructure as Code

This blog post is the second part of a three-part series adapted from a GitOps webinar series which we co-produced together with our friends at VSHN. In this second part, we will look into a topic that is crucial to any modern cloud-native environment to provide stability and parity across environments: Infrastructure as Code. We will delve into some interesting tools in that realm and compare different concepts and configurations around how to deploy and maintain infrastructure in a sane way.

Git - The Important Parts

This blog post is the first part of a three-part series adapted from a GitOps webinar series which we co-produced together with our friends at VSHN. In this first part, we will look at Git and what is important when using it in a team. The second part will be about Infrastructure as Code, a handy concept which helps to unify environments and be aware of the exact changes made to different parts of your infrastructure.

Kubernetes Cost Transparency

The cloud promises transparency into the cost of our applications and technical services. However, Kubernetes, even when managed by one of the big cloud service providers, usually gets charged as a black box, and is often used by dozens or hundreds of applications in your organization. This post outlines the necessary steps to approach cost transparency for your Kubernetes clusters from an organizational perspective, proposes a high level technical design to start with, and addresses some of the more common challenges and pitfalls.