Cloud & DevOps
Official siteAWS
AWS — architecting resilient, cost-conscious infrastructure across EC2, S3, Lambda, RDS, and the managed services that run production at scale.
Overview
AWS is the cloud I reach for by default. My work covers the compute, storage, and database core — EC2 fleets, S3 object stores, Lambda event-driven functions, and RDS-managed PostgreSQL — wired together with IAM, VPC networking, and CloudWatch observability.
Good AWS architecture is about the unglamorous three: reliability, security, and cost. I design for failure with Auto Scaling and health checks, enforce least-privilege IAM and encrypted storage, and tune instance and storage types so spend tracks load instead of running hot.
Event-driven patterns with Lambda and SQS/SNS let services react without long-running servers, and the same discipline — immutable deployable artifacts, monitoring, and rollbacks — carries over from EC2 infrastructure to the serverless parts of the estate.
Compute is chosen by workload, not by habit. EC2 and Auto Scaling cover stateful, long-running services; Lambda covers short, event-driven work; and I pick between them with cost, latency, and operational simplicity in mind rather than a one-size default.
S3 is more than object storage — it is the backbone of backups, static hosting, data lakes, and event sources. I design bucket layout, lifecycle policies, versioning, and access controls so storage stays cheap, safe, and queryable as it grows.
The database core is managed where it can be. RDS PostgreSQL gives me backups, failover, and tuning without the operational load of self-hosting, and I scale reads and verticals deliberately instead of throwing instances at a cache problem.
Networking and identity are where security lives. I lay out VPCs, subnets, and security groups deliberately, and enforce least-privilege IAM with scoped roles — because the boundary and the permissions decide what a compromise can actually reach.
Observability makes the estate operable. CloudWatch metrics, structured logs, and alarms wired to real load turn infrastructure from guesswork into something a team can operate calmly under load.
Cost is engineered, not audited after the fact. Right-sizing, lifecycle policies, and reservation/spot where they fit keep spend tracking actual load — the discipline that stops a well-architected system from quietly outgrowing its budget.
How I Work With AWS
I choose compute by workload, not by habit. EC2 and Auto Scaling cover stateful, long-running services; Lambda covers short, event-driven work — decided on cost, latency, and simplicity.
Immutable, versioned artifacts move through the estate. The deployable is built once and promoted, and rollback is always a known, restorable step.
Designing for failure is the default. Auto Scaling with health checks, multi-AZ placement, and graceful degradation mean the architecture holds when a dependency fails.
IAM is least-privilege by construction. Scoped roles, no long-lived keys where they can be avoided, and a clear boundary decide what a compromise can actually reach.
Networking is laid out deliberately. VPCs, subnets, and security groups are structured up front, and nothing is left to default-open that should be closed.
S3 is architected with intent. Bucket layout, lifecycle policies, and access controls keep storage cheap, safe, and queryable as it grows.
RDS-managed PostgreSQL carries the core data. Backups, failover, and tuning are handled by the service while reads and verticals scale on real load.
Observability is wired to load. CloudWatch metrics, structured logs, and alarms tied to real signals keep the estate operable calmly under load.
Cost is engineered in. Right-sizing, lifecycle policies, and reservation/spot at the right spots keep spend tracking actual load instead of running hot.