← Library
Course · by Yash Tiwari

Site Reliability Engineering: Systems, cloud and reliability practice

The knowledge behind running reliable services: Linux and networking, AWS core services, SLOs, observability, incident management, release engineering, resilience, high availability, Kubernetes, infrastructure as code and common failure scenarios.

  1. 01

    Introduction

    What SRE is and the vocabulary it uses.

    0 / 3
    1. 1.1SRE, DevOps and operationsSoon
    2. 1.2Reliability terms: availability, durability, MTTR, MTBF, RPO, RTOSoon
    3. 1.3Troubleshooting methodologySoon
  2. 02

    Linux and operating systems

    The machine underneath every service.

    0 / 6
    1. 2.1Processes, threads and signalsSoon
    2. 2.2Memory: virtual memory, swap, OOM killerSoon
    3. 2.3Filesystems, inodes and disk I/OSoon
    4. 2.4CPU, load average and schedulingSoon
    5. 2.5Performance tools: top, vmstat, iostat, strace, perfSoon
    6. 2.6systemd and service managementSoon
  3. 03

    Networking

    How packets reach a service and where they get lost.

    0 / 7
    1. 3.1OSI model and TCP/IPSoon
    2. 3.2TCP: handshake, congestion control, timeoutsSoon
    3. 3.3DNS: records, resolution, TTL and cachingSoon
    4. 3.4HTTP/1.1, HTTP/2 and TLSSoon
    5. 3.5Load balancers: L4 vs L7Soon
    6. 3.6Reverse proxies, forward proxies and CDNsSoon
    7. 3.7Network tools: ping, traceroute, dig, curl, tcpdump, ssSoon
  4. 04

    Cloud fundamentals

    The model every cloud provider shares.

    0 / 4
    1. 4.1IaaS, PaaS, SaaS and serverlessSoon
    2. 4.2Regions, availability zones and edge locationsSoon
    3. 4.3Shared responsibility modelSoon
    4. 4.4Pricing models: on-demand, reserved, spotSoon
  5. 05

    AWS compute

    Where code runs.

    0 / 6
    1. 5.1EC2: instance types, AMIs, EBS-backed and instance storeSoon
    2. 5.2Auto Scaling groups and launch templatesSoon
    3. 5.3Lambda and serverless executionSoon
    4. 5.4ECS and FargateSoon
    5. 5.5EKS and managed KubernetesSoon
    6. 5.6Elastic Beanstalk, Lightsail and App RunnerSoon
  6. 06

    AWS networking

    The virtual network around your workloads.

    0 / 7
    1. 6.1VPC: CIDR blocks, subnets and route tablesSoon
    2. 6.2Internet gateway, NAT gateway and egressSoon
    3. 6.3Security groups and network ACLsSoon
    4. 6.4Elastic Load Balancing: ALB, NLB and GWLBSoon
    5. 6.5Route 53: routing policies and health checksSoon
    6. 6.6CloudFrontSoon
    7. 6.7VPC peering, Transit Gateway, PrivateLink, VPN and Direct ConnectSoon
  7. 07

    AWS storage and databases

    Where state lives.

    0 / 7
    1. 7.1S3: storage classes, consistency, versioning and lifecycleSoon
    2. 7.2EBS, EFS and FSxSoon
    3. 7.3RDS and AuroraSoon
    4. 7.4DynamoDBSoon
    5. 7.5ElastiCacheSoon
    6. 7.6Redshift, Athena and analytics servicesSoon
    7. 7.7AWS Backup, snapshots and replicationSoon
  8. 08

    AWS messaging and integration

    Moving work and events between services.

    0 / 5
    1. 8.1SQS: standard vs FIFO, visibility timeout, DLQSoon
    2. 8.2SNS and EventBridgeSoon
    3. 8.3Kinesis and MSKSoon
    4. 8.4Step FunctionsSoon
    5. 8.5API GatewaySoon
  9. 09

    AWS identity and security

    Who can do what.

    0 / 5
    1. 9.1IAM: users, roles, policies and STSSoon
    2. 9.2Organizations, accounts and SCPsSoon
    3. 9.3KMS, Secrets Manager and Parameter StoreSoon
    4. 9.4WAF, Shield, GuardDuty and Security HubSoon
    5. 9.5Encryption in transit and at restSoon
  10. 10

    Service level objectives

    Turning reliability into a number.

    0 / 4
    1. 10.1SLIsSoon
    2. 10.2SLOs and SLAsSoon
    3. 10.3Error budgetsSoon
    4. 10.4Availability maths: nines, series and parallel dependenciesSoon
  11. 11

    Observability

    Seeing what the system is doing.

    0 / 8
    1. 11.1Monitoring and the four golden signalsSoon
    2. 11.2Metrics, histograms and percentilesSoon
    3. 11.3LoggingSoon
    4. 11.4Distributed tracing and OpenTelemetrySoon
    5. 11.5AlertingSoon
    6. 11.6CloudWatch: metrics, logs, alarms and InsightsSoon
    7. 11.7CloudTrail, AWS Config and X-RaySoon
    8. 11.8Prometheus and GrafanaSoon
  12. 12

    Incident management

    Responding to and learning from failures.

    0 / 5
    1. 12.1On-callSoon
    2. 12.2Incident lifecycle, severity and rolesSoon
    3. 12.3PostmortemsSoon
    4. 12.4Runbooks and playbooksSoon
    5. 12.5Status pages and incident communicationSoon
  13. 13

    Release engineering

    Changing a running system safely.

    0 / 6
    1. 13.1CI/CD pipelinesSoon
    2. 13.2Rolling, blue-green and canary deploymentsSoon
    3. 13.3Feature flagsSoon
    4. 13.4RollbacksSoon
    5. 13.5CodePipeline, CodeDeploy and CodeBuildSoon
    6. 13.6Configuration managementSoon
  14. 14

    Resilience patterns

    Containing failure.

    0 / 8
    1. 14.1Timeouts, retries and exponential backoff with jitterSoon
    2. 14.2Circuit breakersSoon
    3. 14.3Bulkheads and isolationSoon
    4. 14.4Load shedding and backpressureSoon
    5. 14.5Rate limiting and throttlingSoon
    6. 14.6Cascading failuresSoon
    7. 14.7Graceful degradationSoon
    8. 14.8IdempotencySoon
  15. 15

    High availability and disaster recovery

    Surviving the loss of a machine, a zone or a region.

    0 / 7
    1. 15.1Multi-AZ architecturesSoon
    2. 15.2Multi-region architecturesSoon
    3. 15.3DR strategies: backup and restore, pilot light, warm standby, active-activeSoon
    4. 15.4Failover and health checksSoon
    5. 15.5Database replication and failoverSoon
    6. 15.6AWS Well-Architected FrameworkSoon
    7. 15.7Service quotas and limitsSoon
  16. 16

    Capacity and performance

    Having enough, at the right cost.

    0 / 5
    1. 16.1Capacity planningSoon
    2. 16.2Autoscaling policiesSoon
    3. 16.3Load testingSoon
    4. 16.4Tail latencySoon
    5. 16.5Cost optimization and FinOpsSoon
  17. 17

    Containers and Kubernetes

    Packaging and orchestrating workloads.

    0 / 7
    1. 17.1Containers: namespaces, cgroups and imagesSoon
    2. 17.2Kubernetes architecture: control plane and nodesSoon
    3. 17.3Pods, Deployments, StatefulSets and JobsSoon
    4. 17.4Services, Ingress and CNISoon
    5. 17.5Scheduling, requests, limits and QoSSoon
    6. 17.6HPA, VPA and cluster autoscalingSoon
    7. 17.7Service meshSoon
  18. 18

    Infrastructure as code and automation

    The environment, written down.

    0 / 6
    1. 18.1Infrastructure as codeSoon
    2. 18.2Terraform: state, modules and driftSoon
    3. 18.3CloudFormation and CDKSoon
    4. 18.4Toil and automationSoon
    5. 18.5Scripting with Bash and PythonSoon
    6. 18.6GitOpsSoon
  19. 19

    Chaos and reliability testing

    Finding weaknesses on purpose.

    0 / 4
    1. 19.1Chaos engineeringSoon
    2. 19.2AWS Fault Injection ServiceSoon
    3. 19.3Game daysSoon
    4. 19.4Testing in productionSoon
  20. 20

    Failure scenarios

    Common failures, each with symptoms, causes, checks and fixes.

    0 / 10
    1. 20.1High latencySoon
    2. 20.2Elevated error ratesSoon
    3. 20.3Memory leaks and OOM killsSoon
    4. 20.4Disk full and I/O saturationSoon
    5. 20.5Database failure and failoverSoon
    6. 20.6Cache stampede and thundering herdSoon
    7. 20.7DNS and certificate failuresSoon
    8. 20.8Bad deployments and config pushesSoon
    9. 20.9AWS service or AZ outageSoon
    10. 20.10Throttling and quota exhaustionSoon