- Microservices are built in multiple programming languages
- Containers simplify deployment of microservices:
- Step 1 : Create a self contained Docker image
- Application Runtime (JDK or Python), Application code and Dependencies
- Step 2 : Run it as a container any where Local machine OR Corporate data center OR Cloud
- Use On-Demand instances or Spot instances
- Launch type: EC2 or Fargate
- Data volumes attached to containers
- Deployment type:
- Rolling update
- Blue/green deployment (powered by AWS CodeDeploy)
- Task Placement Strategies:
- binpack - Leave least amount of unused CPU or memory. Minimizes number of container instances in use
- random - Random task placement
- spread - Based on specified values:
- Host (instanceId)
- (OR) Availability Zone(attribute:ecs.availability-zone)
- (Alowed) Combine strategies and prioritize
- How do you manage 100s of containers?
- ECS - Fully managed service for container orchestration
- Step 1 : Create a Cluster (Group of one or more EC2 instances)
- Step 2: Deploy your microservice containers
- AWS Fargate: Serverless ECS. DON'T worry about EC2 instances.
- Cloud Neutral: Kubernetes
- AWS - AWS Elastic Kubernetes Service (EKS)
- Load balancing:
- Performed using Application Load Balancers
- Dynamic host port mapping: Multiple tasks from the same service are allowed per EC2 (container) instance
- Path-based routing: Multiple services can use the same listener port on same ALB and be routed based on path (www.myapp.com/microservice-a and www.myapp.com/microservice-b)
Hands-on debugging session: instrument, monitor, and fix
Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)