Architecting for Scale using Microservices & Serverless Backends

Preview:

Citation preview

Architecting for Scale using Microservices & Serverless BackendsYuval Fernbach, Solutions ArchitectYaniv Donenfeld, Solutions Architect

SpoTaxi

SpoTaxi

Agenda

• From monolithic to microservices… and containers

• EC2 Container Service overview

• Cluster Management and scheduling

• Integration with other AWS services

The Story of Amazon.com

Monolithic Application Services Microservices

The Move To Microservices Is Assisted By The Rise of Containers

• Small functional building blocks as output of the development

process

• Minimizing dependency and reducing complexity of dependency

management

Amazon ECS

EC2 INSTANCES

LOADBALANCER

InternetECS

AGENT

TASK

Container

TASK

Container

ECS AGENT

TASK

Container

TASK

ContainerAGENT COMMUNICATION

SERVICE

Amazon ECS

API

CLUSTER MANAGEMENT ENGINE

KEY/VALUE STOREECS

AGENT

TASK

Container

TASK

Container

LOADBALANCER

Core Benefits

• Built-in cluster state management system

• Deep Integration with other AWS services

Deep Integration With Other AWS Services• Elastic Load Balancing

• Amazon Elastic Block Store

• Amazon Virtual Private Cloud

• Amazon CloudWatch

• AWS Identify and Access Management

• AWS CloudTrail

IAM Roles For Tasks

DynamoDB

ECS Cluster

EC2 Instance EC2 Instance

TASK A

TASK B

TASK B

S3 Storage

Automatic Service Scaling

AMAZON ECS

Publish metrics

AMAZON CLOUDWATCH

ELASTIC LOAD BALANCING

Auto Scaling ECS service

Availability Zone A

Availability Zone B

TASK A

Add/remove ECS tasks

TASK CTASK B

Scale in /Scale outpolicies

Application Load Balancer

High performance load balancing for applications

High-performance Load Balancing Of Applications

• Path-based routing

• Dynamic Port Mapping

• HTTP/2

• WebSockets

• Detailed logging

Application Load BalancerECS Service

ALB ECS Service

/ws/api/bidstatus

/

Task

ECS Service

Bid API

Web PageTask

Demo

SpoTaxi

Recommended