Kubernetes: The Art of Zero-Downtime Deployments

Seamless deployments in Kubernetes can minimize application downtime by using advanced strategies such as Blue/Green and Canary deployments. Key techniques include rolling updates, label matching, and detailed pod management using the `spec.selector.matchLabels` field. By understanding built-in deployment strategies, configuring readiness probes, and implementing graceful shutdowns, you can ensure smooth transitions during updates. Advanced strategies provide…

Read More

How to Build Anything Extremely Quickly

Outline speedrunning involves creating a detailed outline of a project, breaking it down into smaller tasks recursively, completing them quickly without perfecting, and then refining the project once it’s done. This method, compared to the traditional ‘loading-bar’ style, can significantly speed up tasks like writing and programming by increasing momentum and reducing stress. The key…

Read More

Kubernetes Configuration in 2024

Helm and Kustomize remain the most popular Kubernetes configuration tools in 2024, integrated with various CI/CD tools and Infrastructure as Code (IaC) systems. Other notable tools include Kompose, cdk8s, Tanka, Kapitan, Ytt, and several others. The article reviews their popularity and integration within the Kubernetes ecosystem, addressing challenges such as complexity, YAML syntax issues, and…

Read More

Don’t query your PostgreSQL db anymore, prefer PostgREST

The post discusses the benefits of using PostgREST to replace traditional SQL queries in PostgreSQL databases. It outlines the process of setting up PostgREST, a standalone web server that converts PostgreSQL databases into RESTful APIs, simplifying database interactions. The author shares their experience migrating from MySQL to PostgreSQL and how PostgREST helped streamline their PHP…

Read More

GitOps: Argo CD vs Flux CD

GitOps combines Git and Operations to apply continuous deployment to cloud-native applications using Git as the single source of truth for infrastructure and applications. Benefits include consistency, traceability, security, faster recovery, and improved developer experience. Argo CD and Flux CD are popular tools for implementing GitOps, with step-by-step installation guides provided for both. Best practices…

Read More

Why I still self host my servers (and what I’ve recently learned)

The post discusses the author’s experience with self-hosting a range of services using a Proxmox cluster, Mikrotik networking equipment, and external VPS. The author values independence and the learning opportunities that self-hosting provides. He recounts troubleshooting various issues including power outages, redundant DNS, hardware failures, and VPS downtime. The author concludes that self-hosting improves your…

Read More

Using Docker Compose to Build Environments

Docker Compose is a powerful tool designed for managing applications that run in multiple Docker containers. It allows you to define your entire application stack in a single YAML file, including each microservice, its configuration, and how they interact. This makes it easy to quickly spin up complex applications for development, testing, and production environments….

Read More
latency

8 Strategies for Reducing Latency

High latency can render an application unusable, frustrating users and negatively impacting business outcomes. Developers need to understand low-latency strategies such as caching, using Content Delivery Networks (CDNs), load balancing, asynchronous processing, database indexing, data compression, pre-caching, and utilizing keep-alive connections to mitigate these issues and improve performance. Click here to read more

Read More
pulumi

Why Switch to Pulumi for Infrastructure as Code?

Pulumi is an open-source infrastructure as code (IaC) platform that allows you to manage and scale infrastructure using familiar programming languages. By enhancing productivity, enabling faster time to value, and embracing modern cloud practices like AI and microservices, Pulumi stands out from traditional tools. It supports advanced automation, AI integration, and robust security measures. Companies…

Read More
distributed-design

Most-Used Distributed System Design Patterns

Distributed system design patterns offer architectural solutions and best practices for developing distributed applications. This post discusses widely-used patterns like Ambassador for proxy tasks, Circuit Breaker to prevent cascading failures, CQRS for separating read and write databases, Event Sourcing for recording events, Sidecar for managing cross-cutting concerns, Leader Selection for electing a single node leader,…

Read More