If you run Amazon OpenSearch Service in production, automated hourly snapshots sound like a good safety net. In reality, they have major operational catches: Backups sit in a hidden, AWS-managed bucket you cannot inspect or download. You cannot export them across accounts or regions for disaster recovery. You cannot retain them past 14 days for […]
Introduction If you’ve spent any time around cloud teams lately, you’ve probably heard someone mention Bedrock in a meeting and then watched half the room nod along without really knowing what it does. I was in that boat too, until I actually sat down and built something with it. Here’s the short version: AWS Bedrock […]
Elasticsearch Has 20,000 Shards: What Actually Happens When You Restart a Node? Introduction Restarting an Elasticsearch node sounds simple: That assumption changes when a cluster contains thousands of shards. In one production environment I worked with, the Elasticsearch cluster had approximately 20,000 shards. A node restart could trigger extensive shard recovery, allocation, disk I/O, network […]
Introduction: Static frontends and containerised backends increasingly need to communicate with each other without having the frontends’ S3 buckets or the backends’ services exposed to the public internet. A common configuration is a frontend hosted on S3 and a backend running on ECS behind an Application Load balancer (ALB). When both are locked down — […]
Logs, Metrics, and Traces: Making Sense of the Observability Buzzword The tech industry sometimes becomes fascinated by a fresh buzzword every so often, and at the moment it is observability that is having a dominant influence. If you spend a sufficient amount of time going through the way vendors market their products, you might come […]
Why a GKE Ingress can look fine in kubectl and still have no IP — and how that differs from EKS and ALB If you have used EKS, HTTP Ingress usually means an Application Load Balancer. Someone installs the AWS Load Balancer Controller, you set ingressClassName: alb, and AWS creates an ALB. Certificates often come […]
Kubernetes has the ability to offer a highly capable Horizontal Pod Autoscaler (HPA), which can be used to auto-scale the number of replicas according to the utilization of resources. In most instances, it is sufficient to consider only CPU and memory to perform this operation. Nevertheless, there might be instances when the resource utilization does […]
Introduction This blog provides step-by-step instructions to implement centralised AWS Backup across an AWS Organisation using Terraform. Backup policies are managed from a dedicated DevOps Tooling account using Delegated Administration. A CloudFormation StackSet automatically deploys the required IAM role and backup vault to all member accounts. Org-level backup policies are attached to the Production and […]
The Problem Every team eventually hits the same failure mode: a new build goes out, the application starts, and it immediately breaks because a required schema change wasn’t applied first. Maybe someone forgot to run the SQL script. Maybe it ran against the wrong environment. Maybe it ran after the app already tried to query […]