cd ~/home

Field Notes

Build logs from real infrastructure projects — the decisions, the mistakes, and the metrics that came out the other side.

Building a Production-Ready Disaster Recovery Platform on AWS

When I set out to build a disaster recovery solution, I wanted something beyond the traditional backup-and-restore approach: a platform that could automatically fail over between AWS regions in 15 minutes or less — a 90% improvement over the hours or days a manual recovery typically takes.

The architecture centers on Terraform, which provisions identical environments in us-east-1 and us-west-2. That consistency is what eliminates configuration drift and guarantees applications behave the same in both regions. Cross-region replication — RDS read replicas for databases, S3 Cross-Region Replication for object storage — achieves a Recovery Point Objective of under 5 minutes for critical data.

Technical implementation

  • Python orchestration with Boto3 automating the entire failover sequence
  • Kubernetes state backup and restore with Velero
  • Automated DNS switching via Route53 health checks
  • Scheduled chaos testing with AWS Fault Injection Simulator (FIS)

The most valuable lesson: automated testing is what keeps a DR plan alive. Without regular validation, recovery plans rot. Running failure drills with FIS on a schedule means the whole recovery path is exercised without manual effort — so there's real evidence, not hope, that the system works when it matters. The project cut potential recovery time by 90% and turned a critical-but-rarely-used process into a reliable, maintainable system.

Modernizing Legacy Applications: A Hybrid Cloud Migration Journey

Migrating legacy applications to the cloud is hardest when you're dealing with monolithic architectures and tight downtime requirements. This project moved a three-tier application to AWS while holding 99.5% uptime through the cutover window. The key was a phased approach that balanced risk against progress.

I began by containerizing the application components with Docker, decoupling the app from its underlying infrastructure — that modernization step alone cut operational overhead by 60% by replacing manual server management with container orchestration. The database moved via AWS Database Migration Service with continuous replication, keeping data loss near zero during the transition, and a GitHub Actions pipeline handled deployments into the new environment.

Migration strategy

  • Source and target environments both defined in Terraform
  • Refactoring toward cloud-native patterns — stateless design, external configuration
  • A validation suite comparing pre- and post-migration performance
  • Automated rollback procedures for every migration phase

The validation framework turned out to be the most insightful piece. Comparing performance, data integrity, and cost before and after made the ROI undeniable: the migration — originally estimated at three months — finished in two weeks thanks to automation, and operating costs dropped 40% through right-sizing and managed services like RDS and EKS. Successful migrations aren't just about moving infrastructure; they transform how applications are built, deployed, and maintained.

Security & Self-Hosting: Building a Private Password Manager with Vaultwarden

In an era of constant breach headlines, I decided to take control of my password management by self-hosting Vaultwarden, an open-source, Bitwarden-compatible password manager. The project doubled as hands-on practice in security hardening, certificate management, and automated backups — all while solving a real need.

Vaultwarden runs on an AWS EC2 instance via Docker Compose, which keeps the setup reproducible. Security came first: automated SSL certificates from Let's Encrypt, database encryption at rest, and strict firewall rules exposing only the ports that must be open. Daily backups land in an encrypted, versioned S3 bucket with a 30-day retention policy.

Security & operations

  • Automated certificate renewal with Certbot and cron
  • Database encryption and scheduled integrity checks
  • Encrypted daily backups with 30-day retention
  • CloudWatch monitoring for availability and disk usage
  • Multi-factor authentication enforced for every account

What started as a convenience project became a lesson in security operations: certificate lifecycle management, backup strategy, and monitoring for a security-critical service. Total monthly cost is under $2 — comparable to commercial services, but with full control over data sovereignty and security policy. With the right tools and practices, individuals and small teams can run enterprise-grade security for critical services without enterprise budgets.