/images/avatar-new.png

IT Guy Journals

Structured Logging in Python

In modern DevOps workflows, observability plays an important role. Operating distributed systems often depends on telemetry data, including metrics, traces, and logs. Logs are frequently a detailed source of information during troubleshooting. Traditional unstructured log messages, written as free-form text, can make it difficult to extract useful information automatically.

Structured logging organizes log data into a consistent, machine-readable format. For a primer on telemetry systems and observability fundamentals, see the blog post Introduction to Telemetry Systems.

Introduction to Telemetry Systems: The Backbone of Observability

Modern software systems are complex, distributed, and constantly evolving. Whether you’re deploying microservices in Kubernetes or managing legacy systems in the cloud, one truth holds: you need visibility. That’s where telemetry systems come in. They provide the data and structure needed to observe, understand, and operate IT systems with confidence.

In this post, we’ll explore the fundamentals of telemetry systems, how they work, the types of data they handle, and why they’re indispensable for achieving observability.

Building a Portable FastAPI Backend for AWS Lambda and ECS Using Terraform

In the previous post, we explored how to deploy a FastAPI application on AWS Lambda using an ASGI adapter. This is a great option for early-stage projects: it requires zero infrastructure management, supports rapid iteration, and scales automatically.

But as your application matures, Lambda’s trade-offs can become limiting:

  • Cost scaling with consistent traffic
  • Compute/memory coupling and lack of vertical scaling
  • Package size limits and cold starts

That’s why many teams adopt a container-based workflow that can run on both Lambda (via container images) and ECS Fargate. With a little planning, you can build once and deploy to either platform with minimal friction.

Setting Up a Synology NAS for Your Homelab: The Complete Guide

When building or expanding a homelab, setting up a Synology NAS is one of several strong options for managing local storage, backups, and remote access. It’s a flexible platform that offers many features typically found in enterprise storage solutions, but in a form factor and price point that’s accessible to home users.

If you’re considering moving more of your important files, services, or backups off of third-party cloud providers and into a system you control, a NAS can be a great fit. (You can read more about why I personally chose Synology here.

Cloud Storage Is Getting Expensive — Here’s Why I Switched to Synology NAS

These days, everything lives in the cloud — photos, videos, documents, backups. And for a while, it felt like cloud storage was the perfect solution: easy to access, always backed up, and simple to share with others.

But if you’re like me and deal with a lot of files — especially big ones like videos or high-res photos — you’ve probably hit the same wall I did: cloud storage gets really expensive, really fast.

Building Backend APIs with FastAPI on AWS Lambda

One of the trade-offs of working in the cloud is the risk of vendor lock-in. While cloud platforms offer powerful tools and scalability, they can also tie you into their ecosystem, making it harder to pivot or migrate down the road.

When it comes to building backend APIs in Python, you have a few great frameworks at your disposal—Django, FastAPI, and Flask—each with its own level of complexity and opinionation. Django is feature-rich and great for full-stack apps, Flask is minimal and flexible, but FastAPI stands out as a modern, async-first framework that makes it incredibly easy to build fast, clean, and production-ready APIs.