AWS+Partner+ +Containers+on+AWS+ (Technical) + +v1.0.1 Compressed

Download as pdf or txt
Download as pdf or txt
You are on page 1of 170

AWS Partner: Containers on AWS

(Technical)
Prerequisites

• AWS Technical Professional accreditation


• Hands-on experience with cloud-based compute, such as
Amazon Elastic Compute Cloud (Amazon EC2)
• Experience with the Docker container runtime
• Familiarity with cloud computing concepts, including
virtualization

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2
Course objectives

• Discuss app modernization and DevOps, and how these practices


help partners build their businesses
• Discuss container infrastructure and platforms with customers
• Describe the benefits and use cases for AWS containers
• Analyze and design AWS container-based architectures
• Identify further education in container-based solutions

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3
Overview

• Module 1: Cloud-Native Development


• Module 2: Why Containers
• Module 3: Containers on Amazon Web Services
• Module 4: Running Containers on Amazon Web Services
• Module 5: Next Steps

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 4
MODULE 1

Cloud-Native Development
Questions?

• Are any of your current customers


interested in or using container-based
workloads?

• What do you think are the reasons


those customers are looking at or using
containers?

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 6
Module 1 objectives

• Discuss legacy application development and its


challenges
• Explain how a cloud-native model changes the
way your customers develop and deploy
applications
• Explain how to build a practice that guides
customers to innovation and agility

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 7
Broaden the conversation

Microservices?

DevOps?
Containers?
Modern
applications?

Continuous integration
and continuous
deployment (CI/CD)?
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 8
Impact of legacy applications

Slow traditional
development processes Long release cycles

Ineffective Operational issues


communication between
development and
operations teams Recurring bugs

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 9
Best practices for rapid innovation

Enable
experimentation
Simplify
Update quickly
infrastructure

Small teams

n
Ma

tio
na

ma
Secure

ge
Standardize

to
application

ds

au
Se operations
lifecycle

erv
e

CD
cu od
rity c

ice
s

CI/
au a
u re

s
to ma c t
tio tr u
n fr as
In
Improve
Componentize performance and
applications Rapid
Microservices Observability reliability
innovation

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 10
Best practices for container-based workloads

Enable
experimentation
Simplify
Update quickly
infrastructure

Small teams

n
tio
ma
Secure
Standardize

to
Se
application

au
operations

rv
Se e
lifecycle od

CD
cu

erl
rity s c
ea

CI/
ess
au
to c tur
ma
tio s tru
r a
n
In f
Componentize Modern Improve
applications Microservices application Observability performance
development

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 11
Componentize applications with
microservices

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monoliths versus microservices

Monolith Microservices

Orders Orders Ordering service

Payments Payments Payment service

Inventory Inventory Inventory service

Single, monolithic service Multiple, separate services


© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 13
Microservices benefits

Pick the right Increase agility Improve resilience Lower costs with Experiment
tool for the job safely and security granular scaling and innovate

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 14
Microservices challenges

Increase in number and


complexity of distinct
Challenges services and APIs

Architecture, monitoring, and


security needs to evolve

Organization and culture


change is required

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 15
Update applications and
infrastructure with a CI/CD
pipeline

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 16
Four release process phases

Source Build Test Production

• Check in source • Compile code • Integrate with other • Deploy to production


code • Run unit tests, systems environments
style checkers, and • Run load, UI, and
• Review new code
code metrics penetration tests
• Create container
images

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 17
Monolith—fast as its slowest part

Build Test Release

Developers Application Delivery pipeline


© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 19
Microservices—a faster release cadence

Build Test Release

Build Test Release

Build Test Release

Build Test Release

Build Test Release

Build Test Release

Developers Microservices Delivery pipeline


© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 20
Improve application performance
by increasing observability

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 21
Observability gets answers quickly

Observability Metrics Logs Traces

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 22
Observability challenges

Monitoring
• Work with log formats that vary across services
microservices
• Collect, route, correlate, and analyze logs
• Set up metrics and alarms

Architecting • Handle cross-service interactions that return errors


microservices • Isolate cascading errors in the application stack
• Anticipate and handle interaction issues
• Be aware of cumulative latency and user experience

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 23
Traditional debugging challenges

Local Add log


test statements

Add
breakpoints

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 24
Build a practice around modernization

The new normal: companies are increasingly global, and products are completely digital.

47% 79% 67%


CEOs challenged to CIOs believe digital Business leaders
make progress in business is making IT believe they must pick
digital business. better prepared to up the digital pace to
change. remain competitive.

Source: Gartner
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 25
Master componentizing applications

1. Master componentizing 2. Help customers create a 3. Guide customers through


applications using culture of ownership to migrations towards
microservices. foster experimentation. automation and DevSecOps.

• Guide new customers towards serverless and managed services


• Understand best practices and architectural patterns for microservice-based workloads

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 26
Create a culture of ownership

1. Master componentizing 2. Help customers create a 3. Guide customers through


applications using culture of ownership to migrations towards
microservices. foster experimentation. automation and DevSecOps.

• Educate customers on the benefits of cloud-native application architecture


• Understand customers’ software development lifecycle (SDLC) practices
• Guide customers on organizational change management (OCM)

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 27
Guide customers through migrations

1. Master componentizing 2. Help customers create a 3. Guide customers through


applications using culture of ownership to migrations towards
microservices. foster experimentation. automation and DevSecOps.

• Design for automation, observability, alerting, and recovery


• Understand DevSecOps patterns and methodologies
• Show customers the benefits of cloud-native capabilities

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 28
Containers as part of modernization

Foster cultural • Modernize development processes around technology,


transformation and understand business impacts and needs

Perform
• Migrate legacy workloads to containers running in AWS
migrations

Codevelopment • Perform custom development of containerized


with customers applications, from assessment through deployment

Offer managed • Secure, manage, and operate containerized


services environments at scale

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 29
MODULE 2

Why Containers
Module 2 objectives

• Describe the current evolution of compute


platforms in the context of the cloud
• Explain the basics of container technology
• Explain container security fundamentals
• Describe other technologies needed to run
container workloads at production scale

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 35
Abstraction in compute platforms

Compute spectrum

On-premises Virtual Containers Serverless


servers machines (VMs) functions

Abstraction Maturity
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 36
Compute environment considerations

Architecture Operations Integration

Ø How the CPU is exposed to Ø Maintenance requirements Ø Ecosystem of vendors and


the program Ø Monitoring and partners
Ø Efficiency and performance management options Ø Migration between
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
environments 37
Architecture considerations

On-premises • Highest amount of customization


servers • Built for highest peak use

Virtual • Broader adoption


machines • Virtualization overhead

• Lighter and faster than virtual


Containers
machines
• Increases dependency on network
Serverless • Infinitely scalable
functions • Event-based architecture

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 38
Operational considerations

On-premises servers Virtual machines


• Most customer responsibility • VM lifecycle management critical
• Monitor Open Systems • Mutable infrastructure
Interconnection (OSI) model

Containers Serverless functions


• Production scale requires • Unique operational model
orchestration • Traditional monitoring
• Immutable artifacts lead to difficult
automation

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 39
Integration considerations

On-premises Serverless
Virtual machines Containers
servers functions

Established Deployment Sweet spot Fewer options but


market flexibility between VMs rapidly changing
and functions

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 40
Container fundamentals
Uses underlying
operating system Isolates software
Packages application
from
artifacts
environment

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 41
Container benefits

Portability Immutability Flexibility Speed Efficiency

Portable Single, Run versions Faster Better resource


runtime immutable simultaneously development usage and
application artifact cycles efficiency
environment

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 42
Container architecture versus other technologies

On-premises servers Virtual machines Containers

Container Container Container


VM VM VM
App A App B App C App A App B App C

Libs Libs Libs Libraries Libs


Guest Guest Guest
Applications A, B, C Libraries
OS OS OS

Libraries Virtualization platform Containerization platform

Operating system Operating system Operating system

Server hardware Server hardware Server hardware

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 43
Docker platform

Released March 2013

Tools for creating, storing, managing, and


running containers

Easy to integrate with automated pipelines

Build, test, and deploy applications quickly

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 44
Docker components
Binaries
Docker client Docker host Image registry

docker build Docker daemon

docker pull Containers Images

docker run

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 45
Docker layers

• Changes are copy-on-


Top layer
write
(read-write)
• New files exist only at the
top layer
• Modified files are copied Intermediate
up to the top layer layer
• Unmodified files exist in (read-only)
their original layer
• Deleted files are hidden
Base layer
(read-only)

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 46
Dockerfile example
Thin R/W layer Container layer

FROM centos:7

RUN yum -y update && yum -y


RUN chmod -v +x /run-httpd.sh
install httpd

EXPOSE 80 ADD run-httpd.sh /run-


httpd.sh
ADD run-httpd.sh /run-httpd.sh Image
EXPOSE 80
layers
(R/O)
RUN chmod -v +x /run-httpd.sh RUN yum -y update && yum -y
install httpd
CMD ["/run-httpd.sh"]
CentOS 7

Container
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. (based on centos:7 image) 47
Docker images versus containers
Thin R/W layer Thin R/W layer Thin R/W layer Thin R/W layer

• A container is a running
instance of an image. RUN chmod -v +x /run-httpd.sh

ADD run-httpd.sh /run-


• All containers have a top- httpd.sh
level writable layer.
EXPOSE 80

RUN yum -y update && yum -y


install httpd

CentOS 7
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 48
Video

Security 101

https://www.youtube.com/watch?v=Cp4rdlsQORo

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 51
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 52
Container security summary

• Remember the shared responsibility model: Security of


the cloud versus security in the cloud.
• Always practice defense in depth: Use a multilayered
approach, starting with the most valuable data.
• Invest in end-to-end automation: Make it easy for teams
to do the right thing.
• Secure container images: Less is more secure; minimize
container footprint.
• Secure containers at runtime: Limit execution
environment and monitor for common vulnerabilities and
exposures (CVEs).

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 54
Persistent storage

Persistent Low-latency Service discovery Secrets


storage databases and service mesh management

• Containers are ephemeral.


• Transactional data stored in a database.
• Persistent data must go elsewhere.
• Object storage or shared file system.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 55
Low-latency databases

Persistent Low-latency Service discovery Secrets


storage databases and service mesh management

• Transactional or latency-sensitive data.


• Not always traditional relational database: NoSQL, graph, and time series
• Caching tier using in-memory databases.
• Separation between compute tier and storage tier.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 56
Service discovery and service mesh

Persistent Low-latency Service discovery Secrets


storage databases and service mesh management

• Constantly monitor the health of every resource.


• Single registry for all app resources.
• Easily export logs, metrics, and traces.
• Client-side traffic policies – circuit breaking, retries.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 57
Secrets management

Persistent Low-latency Service discovery Secrets


storage databases and service mesh management

• External secrets are pulled individually by each container.


• Container authenticates or federates to centralized service.
• The service relays the request secret, encrypted, to the container.
• Container decrypts secret and authenticates to database or API.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 58
Activity

Build a Dockerfile

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Start with an image

A FROM ubuntu:latest

B FROM node:10

CC START WITH alpine:3.9


Start with an image

FROM node:10
A FROM ubuntu:latest

B FROM node:10

CC START WITH alpine:3.9


Set a working directory

FROM node:10
A WORKDIR /usr/src/app

DIRECTORY /Program
B Files(x86)/NodeJS/

CC DIRECTORY /usr/src/app
Set a working directory

FROM node:10
A WORKDIR /usr/src/app
WORKDIR /usr/src/app

DIRECTORY /Program
B Files(x86)/NodeJS/

CC DIRECTORY /usr/src/app
Copy dependencies into image

FROM node:10
A MOVE package*.json ./
WORKDIR /usr/src/app

B COPY package*.json ./

CC PUT package*.json ./
Copy dependencies into image

FROM node:10
A MOVE package*.json ./
WORKDIR /usr/src/app

COPY package*.json ./

B COPY package*.json ./

CC PUT package*.json ./
Install the application

FROM node:10
A RUN npm install
WORKDIR /usr/src/app

COPY package*.json ./

B EXEC npm install

RUN npm config --start


CC install
Install the application

FROM node:10
A RUN npm install
WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install B EXEC npm install

RUN npm config --start


CC install
Set HTTP networking port

FROM node:10
A OPEN 8080
WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install B PORT 8080

CC EXPOSE 8080
Set HTTP networking port

FROM node:10
A OPEN 8080
WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install B PORT 8080

EXPOSE 8080

CC EXPOSE 8080
Start the application on instantiation

FROM node:10
A CMD [ "node", "server.js" ]
WORKDIR /usr/src/app

COPY package*.json ./
START [“node”,
RUN npm install B “server.js”]

EXPOSE 8080

CC EXEC [“node”, “server.js”]


Start the application on instantiation

FROM node:10
A CMD [ "node", "server.js" ]
WORKDIR /usr/src/app

COPY package*.json ./
START [“node”,
RUN npm install B “server.js”]

EXPOSE 8080

CMD [ "node", "server.js" ]


CC EXEC [“node”, “server.js”]
MODULE 3

Containers on Amazon Web


Services
Module 3 objectives

• Explain how to scale and manage containers


in production
• Describe the container services on AWS
• Describe the methods for running containers
at scale with AWS

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 74
Scale one host with multiple containers

Container Container
Application 1 Application 2

Libraries Libraries docker run myimage

Container platform

Operating system

Server

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 75
Scale hundreds of hosts, thousands of containers

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 76
Container orchestration platforms

Container Orchestration Platform


Scheduling Placement

Node 1 Node 2 Node n

Docker daemon Docker daemon


… Docker daemon

Containers Containers Containers


© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 77
AWS container services landscape

Amazon Elastic Amazon Elastic


Orchestration Container Service Kubernetes
(Amazon ECS) Service (Amazon
EKS)

Amazon Elastic
Compute Compute Cloud AWS Fargate
(Amazon EC2)

Amazon Elastic
Image registry Container Registry
(Amazon ECR)

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 78
Amazon Elastic Container Service
(Amazon ECS)

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ECR: Private registry as a service

Run containers
Write code
Amazon ECS

Amazon EKS

AWS Cloud
Write and Compress, Version, tag, Pull images and
package code Amazon ECR
encrypt, and and manage run containers On premises
as a Docker control access image lifecycles anywhere
image to images

Fully managed container registry

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 80
Amazon ECS

Define your Manage


application containers

Amazon EC2

Amazon ECR Select container Amazon ECS scales


Amazon ECS your application and
images and
resources needed for manages your
Build images and application AWS Fargate containers for
store using ECR or availability
any other repository

Fully managed container orchestration platform


© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 81
Amazon ECS capabilities

AWS Cloud

Amazon ECS Amazon CloudWatch


ECS cluster

EC2 instance EC2 instance EC2 instance


IAM

Containers Containers Containers


Amazon EC2
Auto Scaling

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 82
Amazon ECS details

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 83
Amazon ECS example workload
Amazon EC2 instance

Task Task Amazon ECS


container
internet Elastic Load Container Container agent
Amazon ECS
Balancing
Amazon EC2 instance

• Agent
Amazon ECS
Task Task communication
container
agent service
Container Container • API
• Cluster management
Amazon EC2 instance
engine
Amazon ECS • Key and value store
Elastic Load container
Task Task
Balancing agent

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. Containers Container
84
Amazon ECS container agent

Amazon EC2 instance


• Enforces resource
allocation at a local
Docker container runtime level
Amazon
ECS
container • Exposed through the
Task Task
agent Docker container
runtime

Containers Container

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 85
Amazon ECS backplane
Amazon EC2 instance

Task Task Amazon ECS


container
internet Elastic Load Container Container agent
Amazon ECS
Balancing
Amazon EC2 instance

• Agent
Amazon ECS
Task Task communication
container
agent service
Container Container • API
• Cluster management
Amazon EC2 instance
engine
Amazon ECS • Key and value store
Elastic Load container
Task Task
Balancing agent

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. Containers Container
86
Amazon ECS cluster
Amazon EC2 instance

Task Task Amazon ECS


container
internet Elastic Load Container Container agent
Amazon ECS
Balancing
Amazon EC2 instance

• Agent
Amazon ECS
Task Task communication
container
agent service
Container Container • API
• Cluster management
Amazon EC2 instance
engine
Amazon ECS • Key and value store
Elastic Load container
Task Task
Balancing agent

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. Containers Container
87
Amazon ECS task
Amazon EC2 instance

Task Task Amazon ECS


container
internet Elastic Load Container Container agent
Amazon ECS
Balancing
Amazon EC2 instance

• Agent
Amazon ECS
Task Task communication
container
agent service
Container Container • API
• Cluster management
Amazon EC2 instance
engine
Amazon ECS • Key and value store
Elastic Load container
Task Task
Balancing agent

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. Containers Container 88
Amazon ECS service
Amazon EC2 instance

Task Task Amazon ECS


container
internet Elastic Load Container Container agent
Amazon ECS
Balancing
Amazon EC2 instance

• Agent
Amazon ECS
Task Task communication
container
agent service
Container Container • API
• Cluster management
Amazon EC2 instance
engine
Amazon ECS • Key and value store
Elastic Load container
Task Task
Balancing agent

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. Containers Container 89
Amazon ECS task definition
simple-app busybox
{ {
"containerDefinitions": [ "name": "busybox",
{ "image": "busybox",
"name": "simple-app", "cpu": 10,
"image": "httpd:2.4", "memory": 200,
"cpu": 10, "volumesFrom": [
"memory": 300, {
"portMappings": [ "sourceContainer": "simple-app"
{ }
"hostPort": 80, ],
"containerPort": 80, "command": [
"protocol": "tcp" "/bin/sh -c \"...\""
} ],
], "essential": false
"essential": true, }
"mountPoints": [ ],
{ "volumes": [
"containerPath": "/usr/local/apache2/htdocs", {
"sourceVolume": "my-vol" "name": “my-vol"
} }
] ]
}, }

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 90
Amazon ECS task definition parameters
{
"containerDefinitions": [ simple-app
{
"name": "simple-app",
"image": "httpd:2.4",
"cpu": 10,
10 CPU units (1024 is 1 full vCPU)
"memory": 300, 300 MB of memory
"portMappings": [
{
"hostPort": 80,
Expose port 80 in container to
"containerPort": 80, port 80 on host
"protocol": "tcp"
}
],
"essential": true, Essential to our task
"mountPoints": [
{
"containerPath": "/usr/local/apache2/htdocs", Create and mount volumes
"sourceVolume": "my-vol"
}
]
},
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 91
Orchestration with Amazon ECS

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 94
Anatomy of task placement

Task requirements Satisfy CPU, memory, and networking


requirements

Filter for location, instance type, AMI, or other


Custom constraints
custom attribute constraints

Identify instances that satisfies placement


Placement strategies
strategies

Apply filter Select final container instances for placement

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 95
Constraints and strategies

Task definition

Outlines technical
requirements, such as CPU,
memory, and networking

Constraints and strategies

Adds instructions about


task placement outside of
the task definition
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 96
Constraints and strategies

Places tasks to minimize the amount


Binpack
of CPU or memory
Strategies
Places tasks evenly based on the
Spread specified value

Places tasks based on group


Affinity membership
Constraints
Distinct Places each task on a different
instance container instance
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 97
Target instance type and zone
aws ecs run-task --cluster ecs-demo --task-definition myapp --count 5
--placement-contraints type=“memberOf”,expression=“(attribute:ecs.instance-type
== t2.small or attribute:ecs.instance-type == t2.medium) and attribute:ecs.availability-zone
!= us-east-1d”

g2.2xlarge t2.small t2.micro t2.medium t2.small

t2.medium t2.small g2.2xlarge t2.small t2.medium


us-east-1d us-east-1a
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 98
Spread across zone and binpack
aws ecs run-task --cluster ecs-demo --task-definition myapp --count 9
--placement-strategy type=“spread”,field=“attribute:ecs.availability-zone”
type=“binpack”, field=“memory”

g2.2xlarge t2.small t2.micro t2.medium g2.2xlarge t2.medium

t2.medium t2.small g2.2xlarge t2.small t2.micro t2.small


us-east-1d us-east-1a us-east-1c
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 99
Task deployment on Amazon ECS

Amazon ECS task scheduler Amazon ECS service scheduler


• On-demand workloads • Long-running applications
• Built-in health management
• Run once or at intervals
features
• Batch jobs • Scale up and down across
• Started through RunTask API or Availability Zones
StartTask (custom) • Multiple tasks

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 101
Service strategies with service scheduler
{
“cluster”: “ecs-demo”,
“serviceName”: “my-service”,
“taskDefinition”: “my-app”,
“desiredCount” : 10,
“placementConstraints”: [
{
“type”: “memberOf”,
“expression”: “attribute:ecs.instance-type matches t2.*”
}
],
“placementStrategy”: [
{
“type”: “spread”,
“field”: “attribute:ecs.availability-zone”
} ,
{
“type”: “binpack”
“field”: “MEMORY”
}
]
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 102
}
Placement: Multiple services on a cluster
aws ecs create-service --service-name srvc-binpk --cluster ecs-demo --
task-definition myapp-binpk --desired-count 5
--placement-strategy type=“binpack”,field=“memory”

aws ecs create-service --service-name srvc-spread --cluster ecs-demo --


task-definition myapp-spread --desired-count 6
--placement-strategy type=“spread”,field=“attribute:ecs.availability-
zone”

t2.medium t2.small t2.medium t2.small t2.micro t2.small

us-east-1d us-east-1a us-east-1c


© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 103
Integration with Amazon ECS

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 105
Amazon ECS service discovery

AWS_INSTANCE_IPV4
Service discovery through DNS and API
AWS_INSTANCE_PORT
• Additional attributes for Amazon ECS tasks
AVAILABILITY_ZONE
• Smart routing based on locality
• Support for Amazon EC2 and AWS Fargate REGION

launch types ECS_SERVICE_NAME

ECS_CLUSTER_NAME

EC2_INSTANCE_ID

ECS_TASK_DEFINITION_FAMILY
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 106
Amazon ECS service discovery

Register
Updates task
DNS AWS Cloud Map instances
Amazon Elastic
Container Service

172.16.0.0 Server instance #1


172.16.1.0 172.16.0.0
172.16.2.0 Server instance #2
Amazon 172.16.1.0
Route 53
DNS Server instance #3
172.16.2.0

Client makes a call to Client connects


AWS Cloud Map directly to an ECS task
discovery API or DNS instance
Client
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 107
Shared Responsibility Model

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 108
Amazon ECS on EC2

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 109
Lab J

AWS ECS
AWS Fargate

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Manage containers with AWS Fargate

Amazon ECS AWS Fargate

Define the
images and Launch containers and
Build a container resources AWS Fargate manages
image needed for your all the underlying Launch containers Manage containers
application container infrastructure

AWS Fargate allows containers to be run


in a serverless operational model.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 114
AWS Fargate parameters

Create • Infrastructure isolation boundary


Cluster • IAM permissions boundary

Elastic load
balanced
Run Create
Register Service
Task
Task definition • A running instantiation of a • Maintains running copies
task definition
Defines application containers • Integrated with ELB
• Use FARGATE launch type
• Unhealthy tasks
automatically replaced

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 115
AWS Fargate task definitions
Task definition snippet

Tasks are identified {


by family "family": “scorekeep",
"containerDefinitions": [
{
"name":“scorekeep-frontend",
Contains a list of up to
10 container definitions "image":"xxx.dkr.ecr.us-east-1.amazonaws.com/fe"
},
{
"name":“scorekeep-api",
"image":"xxx.dkr.ecr.us-east-1.amazonaws.com/api"
} Each container definition
] has a name and image
} source uniform resource
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
locator (URL) 116
AWS Fargate CPU and memory specifications
{
Task definition snippet
"family": "scorekeep",
"cpu": "1 vCpu",
Task-level resources "memory": "2 gb",
aggregated between all "containerDefinitions": [
containers {
"name":“scorekeep-frontend",
"image":"xxx.dkr.ecr.us-east-1.amazonaws.com/fe“,
"cpu": 256,
"memoryReservation": 512
Container-level resources
},
define sharing of
{
resources
"name":“scorekeep-api",
"image":"xxx.dkr.ecr.us-east-1.amazonaws.com/api",
"cpu": 768,
"memoryReservation": 512
}
]
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 117
}
Task CPU and memory configurations

CPU Memory

256 (.25 vCPU) 512 MB, 1 GB, 2 GB


512 (.5 vCPU) 1 GB, 2 GB, 3 GB, 4 GB
1024 (1 vCPU) 2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB
2048 (2 vCPU) Between 4 GB and 16 GB in 1 GB increments
4096 (4 vCPU) Between 8 GB and 30 GB in 1 GB increments

• Over 50 different CPU and memory configurations


• All priced per second with a one-minute minimum
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. As of 10/31/2019 118
AWS Fargate integrations

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 120
AWS Fargate and IAM

Cluster

AWS Fargate task


Control who can launch, stop, and
describe tasks in a cluster
Cluster
permissions
Application
permissions Allow application containers (within
tasks) to access AWS resources securely

Task
housekeeping
permissions Allow AWS to perform housekeeping
activities around a task

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 121
Cluster permissions
Tailor access control to clusters with AWS IAM policies

Example IAM Policy 1 Example IAM Policy 2

{ {
"Effect": "Allow", "Effect": "Allow",
"Action": [ "ecs:RunTask" ], "Action": [ "ecs:ListTasks“,
"Condition": { “ecs:DescribeTasks” ],
"ArnEquals": {"ecs:cluster":"<cluster-arn>"} "Condition": {
}, "ArnEquals": {"ecs:cluster":"<cluster-arn>"}
"Resource": [ “<task_def_family>:*" ] },
} "Resource": “*”
}

Allow RunTask only in a specific cluster Allow read-only access to tasks in


with a specific task definition a specific cluster
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 122
Housekeeping permissions

Amazon ECS service linked role:


• Elastic network interface management
• ELB target registration and deregistration

Task execution IAM role:


• Amazon ECR image pull
• Push to Amazon CloudWatch Logs

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 124
AWS Fargate and Amazon Elastic Block Store

Ephemeral storage backed by Amazon Elastic


Block Store (Amazon EBS)

Layer Storage Space: 10 GB per task

Volume for scratch space


• 4 GB per task
• Mount points specified in task definition
• Can be shared among containers

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 125
Shared Responsibility Model

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 126
Amazon ECS on Fargate

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 127
Lab J

AWS Fargate
Amazon Elastic Kubernetes
Service (Amazon EKS)

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introduction to Kubernetes

Open source container


orchestration platform

Helps run Provides primitives


containers at scale (building blocks) for
building modern
applications

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 130
Amazon EKS is fully managed Kubernetes

Amazon EKS
Amazon EC2

Deploy worker
Amazon EKS makes it Provision an nodes for you Connect to EKS Run Kubernetes apps
easy to run EKS cluster EKS cluster
Kubernetes on AWS

Amazon EKS helps customer run Kubernetes.

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 131
EKS is Kubernetes certified conformant

• Customers can use existing tool and


plugins.

• Applications can run on any standard


Kubernetes environment.

• Application can be easily migrated to


Amazon EKS.

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 132
Amazon EKS features

• Creates and manages a Kubernetes control plane


• Bring your own worker nodes, exactly like Amazon ECS

Platform for enterprise Provides a native and upstream


workloads Kubernetes experience

Amazon EKS
features

Integrates with additional Actively contributes to


AWS services upstream Kubernetes project
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 133
Kubernetes components
Controller Cloud
Scheduler
manager controller

API Server
masters

etcd

kube-proxy kubelet

worker nodes Pod Pod Pod

us-east-1a
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 134
Kubectl command line interface
Controller Cloud
Scheduler
manager controller
kubectl
API Server
masters

kube-proxy kubelet

worker nodes Pod Pod Pod

$ kubectl get pods


NAME READY STATUS RESTARTS AGE
nginx-4293833666-20vr8 1/1 Running 0 2m
nginx-4293833666-3gzfw 1/1 Running 0 2m
nginx-4293833666-7nBiH 1/1 Running 0 2m
135
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Kubernetes with high availability

masters masters masters

etcd etcd etcd

worker nodes worker nodes worker nodes


us-east-1a us-east-1b us-east-1c 136
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Kubernetes and Amazon EKS

masters masters
Amazon EKS masters
kubectl

mycluster.eks.amazonaws.com

etcd etcd etcd

worker nodes worker nodes worker nodes


us-east-1a us-east-1b us-east-1c 137
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon EKS architecture
VPC

API Server Auto Scaling group

master nodes master nodes master nodes

Etcd Auto Scaling group

etcd etcd etcd

us-east-1a us-east-1b us-east-1c 138


© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon EKS integration

Amazon Amazon Elastic Load Amazon AWS Cloud IAM


SQS SNS Balancing Route 53 Map Authentication
Decoupling Load balancing Service discovery and authorization

AWS CodePipeline Amazon


AWS App Mesh Amazon API Gateway
CloudWatch
App networking Exposing services CI/CD Monitoring
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 139
Pods in Kubernetes

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 140
Deployments manage ReplicaSets
Deployment

ReplicaSet
version: 1
dbapp v1 dbapp v1 dbapp v1 replicas: 3
ReplicaSet
version: 1
replicas: 3 webapp v1 webapp v1 webapp v1

worker nodes worker nodes worker nodes


us-east-1a us-east-1b us-east-1c
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 142
Pods and services communicate

webapp dbapp dbapp


Service
app: dbapp
port: 80
webapp dbapp dbapp
targetPort:
13721

webapp dbapp dbapp

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 143
Kubernetes scheduler prioritization

Volume filters Satisfy volume requirements and constraints

Resource filters Satisfy resource requirements such as CPU, memory,


and networking

Topology filters Satisfy scheduling constraints set at the node or


pod level
Prioritization Select final container instances for placement

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 144
Demo

Amazon EKS
Shared Responsibility Model

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 154
Amazon EKS on EC2

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 155
Other Kubernetes objects

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 156
Kubernetes volumes
apiVersion: v1
kind: Pod
metadata:
name: test-pd myApp
spec:
containers:
- image: test-webserver
name: test-container
volumeMounts:
- mountPath: /cache
name: cache-volume
volumes:
Volume
- name: cache-volume
emptyDir: {}

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 157
Kubernetes PersistentVolume (PV)
apiVersion: v1
kind: Pod
metadata: myApp
name: test-ebs
spec:
containers:
- image: test-webserver
name: test-container
volumeMounts:
- mountPath: /test-ebs
name: test-volume
volumes:
- name: test-volume Amazon Elastic
# This AWS EBS volume must already exist. Block Store (EBS)
awsElasticBlockStore:
volumeID: <volume-id>
fsType: ext4 158
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Kubernetes secrets
$ cat ./templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: YWRtaW4=
password: cGFzc3dvcmQ=

$ kubectl apply -f ./templates/secret.yaml

$ kubectl get secrets


NAME TYPE DATA AGE
mysecret Opaque 2 6s

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 160
AWS Systems Parameter Store Manager
and AWS Secrets Manager

Amazon EKS Cluster


AWS CloudTrail

PodA

PodB

PodB System Manager


Parameter Store

AWS Secrets AWS Key Management


© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 161
Manager Service
Prescriptive guidance for customers

Use the right tool(s) for the job.

AWS Fargate is often an ideal place to start.

Amazon ECS is a great choice for AWS customers with


workloads beyond containers.

Amazon EKS is a great choice for AWS customers who already


use Kubernetes or prefer open-source software.

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
MODULE 4

Running Containers on Amazon


Web Services
Module 4 objectives

• Examine common architectural patterns on AWS


provided in the AWS Well-Architected Framework
• Investigate AWS architectural best practices in
architectural patterns
• Design methods to successfully run container
workloads on AWS

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 164
AWS Build and deploy faster
Well-Architected
Framework Lower or mitigate risks

Make informed decisions

Learn AWS best practices

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 165
Mechanism for a cloud journey

Learn Measure Improve

Understand the impact Compare architectures Identify areas for


of decisions against best practices improvement

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 166
Framework structure

Identify alignment with cloud


Questions best practices

Design principles Facilitate good design

Pillars Provide foundation for stable


and efficient systems
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 167
Framework pillars

Operational Performance Cost


Security Reliability
excellence efficiency optimization

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 168
Operational excellence design principles

• Perform operations as code


• Annotate documentation
• Make frequent, small, reversible changes
• Refine operations procedures frequently
ü AWS CloudFormation
ü AWS Config and • Anticipate failure
configuration rules
ü Amazon CloudWatch • Learn from all operational failures
ü AWS CodePipeline
ü AWS CodeCommit

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 170
Security design principles

• Implement a strong identity foundation


• Enable traceability
• Apply security at all layers
• Automate security best practices
ü Amazon Virtual Private
Cloud (Amazon VPC) • Protect data in transit and at rest
ü AWS Identity and Access
Management (IAM) • Keep people away from data
ü AWS Secrets Manager
ü Defense in depth • Prepare for security events
ü AWS Resource Tagging API
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 171
Reliability design principles

• Test recovery procedures


• Recover from failure automatically
• Scale horizontally to increase
aggregate system availability
ü AWS Auto Scaling • Stop guessing capacity
ü Infrastructure as code (IaC)
ü Managed, Multi-AZ • Manage change in automation
databases
ü Amazon Elastic File System
(Amazon EFS)
ü AWS Backup
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 172
Performance efficiency design principles

• Democratize advanced technologies


• Go global in minutes
• Use serverless architectures
• Mechanical sympathy
ü Amazon Elastic Compute
Cloud (Amazon EC2) right
sizing
ü Amazon EC2 right typing
ü Amazon CloudWatch
Container Insights
ü AWS X-Ray
ü Amazon ElastiCache
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 173
Cost optimization design principles

• Adopt a consumption model


• Measure overall efficiency
• Stop spending money on data center
operations
ü Amazon EC2 Spot Instances • Analyze and attribute expenditure
ü Amazon EC2 Reserved
Instances • Use managed services to reduce cost of
ü AWS Managed Services ownership
ü AWS Cost Explorer
ü AWS Trusted Advisor

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 174
Summary

Learn Measure Improve

Questions Design principles Pillars

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 175
Beginnings of an architecture
AWS Cloud

Public subnet Private subnet Private subnet

Front-end Backend
container container

Front-end Backend
Users Elastic container Elastic container Managed
Load Load database
Balancing Balancing service
Front-end Backend
container container

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 181
Services to consider

“How do containers authenticate to the


Security AWS Secrets Manager
database?”

Reliability AWS Auto Scaling “How do we handle spiky, uneven traffic?”

“How can we test against our production


Operational excellence AWS CloudFormation
stack?”

Performance efficiency AWS X-Ray “How can we measure the impact of latency?”

Amazon EC2 Spot


Cost optimization Instances
“How much does each container cost per hour?”
182
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sample architecture: Operational excellence
AWS Cloud

Public subnet Private subnet Private subnet

Application Network
Amazon ECS Amazon ECS
Load Balancer Load Balancer Amazon DynamoDB

Continuous integration and continuous delivery (CI/CD) workflow)


Users
AWS CodePipeline

AWS CodeCommit AWS CodeBuild Amazon ECR AWS CodeDeploy

AWS CloudFormation

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 183
Sample architecture: Security
AWS Cloud

AWS Secrets Manager AWS Security Hub


AWS IAM

Public subnet Private subnet Private subnet

Users Amazon Network


AWS Fargate Amazon ECS Amazon RDS
API Gateway Load Balancer

AWS Cloud Map AWS CloudTrail AWS Key Management Amazon GuardDuty
Service
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 184
Sample architecture: Reliability
AWS Cloud
Public subnet Private subnet Private subnet

Auto Scaling group Auto Scaling group

Amazon VPC

Amazon EKS Amazon EKS Amazon RDS


Availability
Zones
Users Application Network
Load Balancer Load Balancer

Amazon EKS Amazon EKS Amazon RDS

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 185
Sample architecture: Performance efficiency
AWS Cloud
Private subnet Private subnet

Network
Amazon ECS Amazon ElastiCache Amazon Aurora
Load Balancer

Amazon CloudFront

Users
Amazon S3

Further Analysis and Visualization

AWS X-Ray Amazon CloudWatch Amazon EventBridge AWS Glue Amazon QuickSight

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 186
Sample architecture: Cost optimization
AWS Cloud

Public subnet Private subnet Spot Fleet Private subnet

Application Network
Load Balancer AWS Fargate Load Balancer Amazon ECS Amazon DynamoDB

Infrastructure management

Users
AWS Budgets
AWS License AWS Systems
Manager Manager AWS Trusted
Advisor
AWS Cost Explorer
AWS Well-Architected Tool

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 187
Summary

In this module, you learned about:

• The AWS Well-Architected Framework as a tool for designing


and evaluating cloud-based architectures
• Design principles and best practices with concise and actionable
explanations included in the framework
• Applying the framework to container-based workloads

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 189
MODULE 5

Next Steps
Module 5 objectives

• Identify further education in topic specialties

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 191
Module 1 resources

Modern, cloud- Cloud Native


native applications Infrastructure
The Cloud Native Modernization and
Computing Foundation Migration Workshop

Microservices
Initial (2014) Definition Updated (2019)
The Twelve-Factor App
of Microservices Microservices Guide

Building
Building a Microservices:
modernization Designing
practice Fine-Grained
Modern Application YouTube Playlist Systems
Development Workshop Around Modernization
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 192
Module 2 resources

Container platforms

Docker The Open Container The OCI


Documentation Initiative Runtime Spec

Container security
APN Container AWS re:Inforce 2019
AWS Security Security Partners Session Playlist

Supplementary
tools and practices
Implementing Redefining Application
Microservices on AWS
Microservices Communications
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 193
Module 3 resources

Amazon ECS

Amazon ECS AWS Training: Amazon ECS Curated


Documentation Amazon ECS Primer Resources

AWS Fargate
Amazon ECS Amazon ECS Workshop
Using Fargate for AWS Fargate AWS Fargate CLI Tool

Kubernetes

Kubernetes Amazon EKS


Amazon EKS Workshop
Documentation Documentation
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 194
Module 4 resources

AWS Well-Architected
Framework
AWS Well-Architected AWS Well-Architected Serverless Application
Program Framework Document Lens

AWS Well-Architected
Framework tooling
AWS Well-Architected AWS Well-Architected AWS Well-
Tool Framework Hands-On Lab Architected Training

195
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
APN Navigate for Containers

Specialize in containers on AWS

Position containers
Gain knowledge on Prepare for the
in technical and
AWS Containers AWS Containers
selling
services Competency
opportunities

https://aws.amazon.com/partners/navigate/containers/
AWS Container Competency requirements

ü Be an Advanced Tier ü Identify with one of the ü Have four container-


APN Technology
solution categories specific case studies
Partner

ü Describe AWS ü Complete a Well ü Be under an NDA with


Competency solution Architected/Baseline
on landing page Review AWS

https://aws.amazon.com/partners/competencies/

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 197
AWS training resources

https://aws.amazon.com/training/

https://aws.amazon.com/training/path-architecting/
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 198
AWS Solutions

• Vetted by AWS architects

• Designed to be reliable,
secure, and cost effective

https://aws.amazon.com/solutions/

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 199
This is My Architecture

• Cloud architectures
from AWS Partners
and customers

• Product category
filters, such as
Containers

https://aws.amazon.com/this-is-my-architecture/

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 200
Top five takeaways

Modernization is a Start with


marathon, not a sprint. AWS Fargate.

AWS is here
to help.

Containers are Design well-architected


mature yet agile. production workloads.

© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. 201
Thank You

© 2019 Amazon Web Services, Inc. or its affiliates. All rights reserved. This work may not be reproduced or redistributed, in whole or in part, without prior written permission
from Amazon Web Services, Inc. Commercial copying, lending, or selling is prohibited. Corrections or feedback on the course, please email us at: aws-course-
[email protected]. For all other questions, contact us at: https://aws.amazon.com/contact-us/aws-training/. All trademarks are the property of their owners.

You might also like