Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Growing Up With AWS

Michael Hamrah
January 24, 2019

Growing Up With AWS

Michael Hamrah

January 24, 2019


  1. 5 Observability Continuous Integration Continuous Delivery/Deployment Runtime (Kubernetes/Docker/App Servers) Server

    Infrastructure (AWS) Operations Configuration Management Environment Management Foundational Infrastructure Ease of Development, Testing and Delivery Meeting Production SLOs Security
  2. 6 SignalFx, Logz.io, New Relic Jenkins Spinnaker/Octopus Kubernetes + Istio

    AWS Spinnaker, kubectl, Kubernetes, ad-hoc Kubernetes/Octopus Terraform Foundational Infrastructure Ease of Development, Testing and Delivery Meeting Production SLOs IAM, RBAC, Networking, VPN, Secrets
  3. There is no right answer, only various degrees of wrong.

    We experiment, learn, decide, act, rinse, repeat and improve!
  4. 8 Welcome to Namely Infra AWS (Virginia) Production Int Stage VendorX Ops Portal IT An environment is: • An AWS account and permissions • A VPC • Route tables • Everything required to run Namely • The ability to deploy components
  5. 12 Environment Basics a Peering Public ELB(s) Internet Gateway Server1

    Server2 Jumpboxes Server3 VPC A bunch of RDS Alotta ElasticCache Some Aurora CloudFront S3 Kubernetes 15 workers 3 masters 5 etcd
  6. 16 Kubernetes Cluster Etcd0 Etcd1 Etcd2 Etcd3 Etcd4 Master0 Master1

    Master2 Worker0 Worker2 Worker3 Worker1 Worker... Worker15 State is stored here Does most of the k8s work Where stuff runs
  7. OOPS, I IOPS’ED Datawarehouse : EC2 + MSSQL Server (Data

    across multiple EBS) I/O Concurrency issues => Latency Transition Volume Type from gp2 to io1 with no downtime I IOPS’ED
  8. 20 RDS : Multiple DB flavors (MySQL, Postgres, Aurora) Issue:

    Replication lag too high (Read Replica =Latency) for the nightly refreshes. Solution: Enabling IOPS (Master + Read Replicas)! I IOPS’ED
  9. DB Encryption Master KMS keys shared across accounts! EBS volumes

    encrypted at rest for EC2. RDS Encryption enabled! Encryption of data in Transit Compliance NY State Cybersecurity Requirements for Financial Services
  10. ElastiCache : Redis Heavy usage of Redis: 50+ instances(Millions Keys)!

    Transitioning from Redis instances to Redis clusters: Sharding + data partitioning
  11. Things we’re curious about • Container evolution (EKS -> Fargate)

    • Transit Gateway • Aurora Postgres HA • Lambda • EC2 Optimizations • Better Account Management