Amazon Web Services
AWS is the world's leading cloud platform with 200+ services. Understanding core compute, storage, networking, and database services enables building scalable, reliable, and cost-effective systems.
Contents 3 Sections
1Core Services Reference
Compute | Service | Use case | |---|---| | EC2 | Virtual machines full OS control | | ECS | Docker containers (task-based) | | EKS | Managed Kubernetes | | Lambda | Serverless functions (up to 15 min) | | Fargate | Serverless containers (no cluster mgmt) | | App Runner | Simple container deployment |
Storage | Service | Use case | |---|---| | S3 | Object storage files, backups, static sites | | EBS | Block storage for EC2 (like a hard drive) | | EFS | Shared NFS file system (multiple EC2) | | Glacier | Long-term archival (cheap, slow retrieval) |
Database | Service | Use case | |---|---| | RDS | Managed PostgreSQL, MySQL, SQL Server, Oracle | | Aurora | AWS-optimized MySQL/PostgreSQL, 5x faster | | DynamoDB | Serverless NoSQL key-value/document | | ElastiCache | Managed Redis or Memcached | | Redshift | Petabyte-scale data warehouse |
Networking | Service | Use case | |---|---| | VPC | Isolated virtual network | | Route 53 | DNS and health routing | | CloudFront | Global CDN | | ALB/NLB | Load balancing (Layer 7 / Layer 4) | | API Gateway | Managed API proxy with auth and throttling |
2Well-Architected Framework
5 Pillars of AWS Well-Architected:
- Operational Excellence automate, make small reversible changes, anticipate failures
- Security least privilege IAM, encryption at rest/transit, VPC isolation, CloudTrail audit
- Reliability multi-AZ, auto-scaling, circuit breakers, health checks
- Performance right instance types, caching (CloudFront, ElastiCache), async patterns
- Cost Optimization right-sizing, reserved instances, Spot instances, auto-scaling
- IAM Best Practices:
``
- Never use root account for daily operations
- Create roles, not users for services
- Enable MFA on all human accounts
- Use IAM roles for EC2/Lambda (no hardcoded keys)
- Audit with IAM Access Analyzer
json
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/*"
}
``
3AWS Lambda & Serverless Patterns
# Lambda best practicesimport json import boto3 import os from typing import Any import logging
logger = logging.getLogger() logger.setLevel(logging.INFO)
# Initialize clients OUTSIDE handler (warm container reuse) dynamodb = boto3.resource('dynamodb') table = dynamodb.Table(os.environ['TABLE_NAME']) ssm = boto3.client('ssm')
# Cache SSM parameter (avoid fetching on every invocation) _cached_config = None
def get_config(): global _cached_config if _cached_config is None: response = ssm.get_parameter( Name='/myapp/config', WithDecryption=True ) _cached_config = json.loads(response['Parameter']['Value']) return _cached_config
def handler(event: dict, context: Any) -> dict: logger.info("Event: %s", json.dumps(event, default=str))
try: # API Gateway proxy event if 'httpMethod' in event: return handle_api_event(event)
# SQS batch event if 'Records' in event and event['Records'][0].get('eventSource') == 'aws:sqs': return handle_sqs_batch(event['Records'])
# EventBridge scheduled event if 'source' in event: return handle_scheduled_event(event)
except Exception as e: logger.error("Unhandled error: %s", e, exc_info=True) raise # re-raise for Lambda retry / DLQ
def handle_sqs_batch(records: list) -> dict: failures = [] for record in records: try: body = json.loads(record['body']) process_message(body) except Exception as e: logger.error("Failed to process %s: %s", record['messageId'], e) failures.append({"itemIdentifier": record['messageId']})
# Partial batch response only retry failed messages return {"batchItemFailures": failures} ```
Explore the Full Portfolio
This is the complete portfolio of Sufi Khan Sulaiman, a technology leader specialising in B2B commerce and digital automation. Start from the Home page for the overview, then move through two decades of career experience across FLIR Systems, Lorex Technology, and 1c Platform, and the full catalogue of project case studies spanning headless commerce migrations, AI recommendation engines, and multi-channel fulfilment systems.
The skills and certifications page maps the technical and leadership capabilities behind the work, while the articles and the knowledge base break down the thinking into actionable frameworks. For hands-on learning, the tutorials and applications sections cover practical builds from front-end fundamentals to full-stack web apps.
For consulting engagement, the expertise page outlines service offerings, the ecommerce hub covers platform architecture and automation strategy, and the ecommerce guide (PDF) is a downloadable 55-page field manual. When you are ready to talk, the contact page is the direct line.