bookmark_borderAWS-Edu2

Microservice on AWS

When the impact of change is small, release velocity can increase.

Theory
Contents:

  • Options for architecting your microservices
  • What if I can’t decide?
  • Optimizing your container
  • Docker Layers
  • Optimize pods
  • Optimize pod placement
  • The advantages and disadvantages of EKS
  • 고려사항
  • Deployment with CDK or Terraform or eksctl
  • 모두가 IaC가 되지 않음

Options for architecting your microservices

  1. AWS Lambda
  2. AWS Fargate
  3. ECS / EKS
  4. EC2

What if I can’t decide?

  • Do you really need containers?
  • Start with a serverless approach
  • Switch to containers if necessary!
  • Downtime can be needed
  • EC2 / ECS are also options

Optimizing your container

  • Optimize for the smaller size
  • Use a minimalist operating system
  • Not all runtimes are equal!

Docker Layers

  • Layers RUN optimization.
  • Dockerfile tuning

Optimize pods

  • How many sidecar containers?
  • Admission controllers add overhead!
  • Keep pods lightweight!

Optimize pod placement

  • Make sure you use resource constration

The advantages and dis-advantages of EKS

Advantages

  • Managed Kubernetes
  • HA구성: Automated version upgrades
  • AWS managed master & etcd는 3개의 가용영역에 있음.

Disadvantages

  • 1분기마다 버전 upgrade할려고 함

고려사항

  • VPC virtual private cloud
  • pod당 CPU & memory
  • Worker Node AMI – amazon Linux.. ubuntu.

Deployment with CDK or Terraform or eksctl

  • Production
    • CDK & Terraform
  • Test
    • eksctl

Practice

  • EKS Lab: https://www.eksworkshop.com/020_prerequisites/workspace/
  • Kong Lab: https://se.konglabs.io/kong-gateway-get-started-with-api-gateway-for-microservices/
ANOTE.DEV