Infrastructure
64 articles
If You Want Managed Certificates for an Internal LB's HTTPS, the Domain Must Live in Public DNS
Why a Cloud DNS private zone cannot use managed certificates when securing internal VPC traffic with HTTPS, and the practical compromise of a public domain backed by a private IP.
Linux Load Average Explained: How to Read and Diagnose Performance Issues
A practical explanation of what Load Average means on Linux, the metric you often see in commands like top and uptime. Since it represents processes waiting to run and indicates how congested a system is, the article covers how to read its three values, how to diagnose high load, and how it differs from CPU utilization.
Created a Local Environment for Experimenting with PostgreSQL and PgCat
Set up a local PostgreSQL and PgCat connection pooler environment with Prometheus, Grafana monitoring, and Locust load testing to observe the performance impact of connection pooling.
Capacity Planning - Maximizing Resources through Site Analysis, Forecasting, and Placement
A review of Capacity Planning. Though an older book, it teaches the fundamentals of capacity planning. While it assumes on-premises, much of its thinking on analyzing, forecasting, and placing site resources still transfers to the cloud.
Kubernetes Components Explained: Pods, Nodes, and the Control Plane
Understand the core Kubernetes components—pods, nodes, API server, scheduler, etcd, and kubelet—and how they work together to run containerized workloads.
NGINX Buffer Directives Explained: Optimizing Proxy Performance
Notes taken while researching buffer sizes in NGINX. It looks at reverse-proxy buffer directives such as proxy_buffering, proxy_buffer_size, and large_client_header_buffers, and how tuning them affects performance.
Provisioning Contact Points and Policies in Grafana
Provision Grafana contact points and alerting policies via YAML configuration files for automated Slack notifications.
Differences Between Pull and Push Approaches in Monitoring Systems
An overview of the differences between the pull and push approaches in monitoring systems. It organizes how each architecture works, their respective advantages and disadvantages, and the representative tools associated with each.
What is a Service Mesh? How Istio and Linkerd Work Explained
Learn what a service mesh is, how the sidecar proxy pattern works, and what problems Istio and Linkerd solve for service communication inside a Kubernetes cluster.
Running k3s with multipass
A note on using multipass, a lightweight VM manager, while attempting to migrate a personal docker-compose application to Kubernetes (k3s). Although I ultimately didn't complete the migration, it covers how to run k3s on multipass and use it for personal development.
Took the Google Cloud Certified Associate Cloud Engineer Exam
After passing the Google Cloud Certified Associate Cloud Engineer exam, I looked back on how I studied for it, both for a possible retake and for future exams. Based on my background as a software engineer with some GCP experience, it summarizes the study methods I used and my impressions of the exam.
Container Technology Explained: How Docker and OCI Containers Work
Learn how container technology works—namespaces, cgroups, OCI standards—and why containers have become essential for modern application deployment.
Cache Write Methods
Learn the three cache write methods: Write-Through (sync writes to cache and memory), Write-Back (write to cache first, flush later), and Write-Around (bypass cache, write direct to memory).
Forward Proxy vs Reverse Proxy vs API Gateway: A Clear Comparison
Understand the differences between forward proxies, reverse proxies, and API gateways. Learn what each one does and which is right for your network architecture.
Notes on GCP
Miscellaneous notes taken while studying for the Google Cloud Certified Associate Cloud Engineer exam.
Encountering 'the input device is not a TTY' When Running Docker Command with Cron
Fix the input device is not a TTY error when running docker exec via cron. The cause is the -it flags: cron has no TTY, so remove -t and -i and use plain docker exec.
Obtaining SSL Certificates from Let's Encrypt Using DNS-01 with Lego
Obtain Let's Encrypt SSL certificates efficiently using DNS-01 challenge method with Lego client tool and Conoha API provider integration.
Building a Monitoring Platform with Containers
Build a container-based monitoring platform using EFK stack and Prometheus for logs, metrics, visualization, and alerting.
Implementing Datadog APM in ECS on Fargate Environment
Implement Datadog APM on ECS Fargate for PHP applications with distributed tracing and performance monitoring configuration.
Introduction to AWS Container Design and Construction [Practical]
A review of a practical introduction to AWS container design and construction. It clearly and carefully explains AWS container services, structured around real-world container operations, making it a good primer for engineers about to design and build container environments on AWS.