#Infrastructure

446 posts

RHEL Basics #6: Filesystem Basics — XFS, mount, /etc/fstab
10 min read

RHEL Basics #6: Filesystem Basics — XFS, mount, /etc/fstab

RHEL 9's default filesystem XFS and how it differs from ext4, viewing disks with lsblk / df / du, the full cycle of partitioning a new disk, formatting with mkfs.xfs, mounting it, registering permanently in /etc/fstab via UUID, and managing swap.

AWS Basics #3: Cost Management — Billing Alerts, Cost Explorer, Free Tier
10 min read

AWS Basics #3: Cost Management — Billing Alerts, Cost Explorer, Free Tier

The limits of the Free Tier, setting up AWS Budgets / billing alerts, analyzing the bill with Cost Explorer, and a tag strategy that holds up in production — the guardrail that prevents first-bill shock.

Docker Intermediate #1: Multi-stage Builds and Image Slimming
8 min read

Docker Intermediate #1: Multi-stage Builds and Image Slimming

Splitting build dependencies from runtime dependencies inside a single Dockerfile. Multi-stage patterns for Go, Node, and Python, all the way to distroless and scratch — the workflow that takes images from gigabytes down to tens of megabytes.

RHEL Basics #5: Users / Groups / Permissions — UID/GID, sudo, ACL
12 min read

RHEL Basics #5: Users / Groups / Permissions — UID/GID, sudo, ACL

The shape of /etc/passwd and /etc/shadow, the useradd / usermod / groupadd family, what rwx means and chmod's two notations, ACL (getfacl / setfacl) when finer-grained control is needed, and least-privilege sudo — all in one post.

AWS Basics #2: IAM — Users, Groups, Roles, Policies
11 min read

AWS Basics #2: IAM — Users, Groups, Roles, Policies

The four elements of IAM — Users, Groups, Roles, Policies. JSON policy syntax, the essence of AssumeRole, and permission design patterns that hold up in production.

Docker Basics #6: .dockerignore and the Build Context — Using the Cache Well
8 min read

Docker Basics #6: .dockerignore and the Build Context — Using the Cache Well

The most common reason builds get slow or images get bloated is mishandling the build context. What it is, how to trim it with .dockerignore, and how to find where the layer cache breaks so you can order your instructions well. Wrap-up for Docker Basics.

RHEL Basics #4: Intro to systemd — Services, Targets, journalctl
11 min read

RHEL Basics #4: Intro to systemd — Services, Targets, journalctl

systemd is RHEL's PID 1. Starting and stopping services with systemctl, enabling auto-start on boot, selecting the system's mode via targets, writing your first .service unit by hand, and reading every log in one place with journalctl.

AWS Basics #1: Account, Region, and Availability Zone
11 min read

AWS Basics #1: Account, Region, and Availability Zone

Where the cloud and AWS sit, the account and root user, regions and Availability Zones (AZ) around the world, and the difference between global and regional services — the map you need before putting anything on AWS.

Docker Basics #5: Registries — Docker Hub, GHCR, push/pull
7 min read

Docker Basics #5: Registries — Docker Hub, GHCR, push/pull

To use an image you built on a different machine, you push it to a registry. The structure of an image name, logging into Docker Hub and GHCR, the tag/push/pull flow, and pinning images precisely with digests.

RHEL Basics #3: dnf and Package Management — repo, modules, AppStream
12 min read

RHEL Basics #3: dnf and Package Management — repo, modules, AppStream

Package management on RHEL is unified under one command: dnf. From everyday commands like install / remove / search / info / history, to why BaseOS and AppStream are split apart, to picking a specific version of a package via modules, to safely attaching external repos like EPEL — all in one post.

Docker Basics #4: Volumes and Networks — Data and Communication
9 min read

Docker Basics #4: Volumes and Networks — Data and Communication

Keeping data alive after a container dies, and getting containers to talk to each other by name. The difference between bind mount and named volume, the bridge / host / none network modes, and -p port mapping — all in one place.

RHEL Basics #2: Setup — Installing RHEL 9, Subscription Manager, First Login
13 min read

RHEL Basics #2: Setup — Installing RHEL 9, Subscription Manager, First Login

Grab the RHEL 9 ISO via Developer Subscription, build a VM in UTM or VirtualBox, walk through the Anaconda installer, register with subscription-manager, and clean up the small post-install items (hostname / time / dnf update / sudo user) — all in one pass.