SlideShare a Scribd company logo
1 of 47
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deploying Microservices Using
AWS Fargate
Deepak Dayama
Product Manager
Amazon Container Services
C O N 3 1 5
Ariane Gadd
Lead DevOps Engineer | Cloud Transformation Consultant
KPMG UK
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Related breakouts
Tuesday, Nov 27
DEV 309 CI/CD for Serverless and Containerized Applications
7 – 8 p.m. | Venetian, Level 2, Venetian E
Wednesday, Nov 28
CON 312 Visibility into Serverless Applications built using AWS Fargate
12:15 – 1:15 p.m. | Venetian, Level 3, Murano 3205
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AGENDA
• AWS Fargate introduction and use cases
• Managing multiple environments in AWS Fargate
• Developing, deploying and managing compliant
workloads at KPMG
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Container Services landscape
MANAGEMENT
Deployment, scheduling, scaling &
management of containerized
applications
HOSTING
Where the containers run
IMAGE REGISTRY
Container image repository
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ECS
AMI
Docker
agent
ECS
agent
ECS
AMI
Docker
agent
ECS
agent
ECS
AMI
Docker
agent
ECS
agent
Scheduling and Orchestration
Cluster Manager Placement Engine
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Define application containers:
Image URL, CPU & memory
requirements, etc.
register
Task Definition
create
Cluster
• Infrastructure Isolation
boundary
• IAM Permissions boundary
run
Task
• A running instantiation
of a task definition
• Use FARGATE launch
type
create
Service
Elastic Load
Balancer
• Maintain n running copies
• Integrated with ELB
• Unhealthy tasks
automatically replaced
Constructs when using Fargate with ECS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Decide if Fargate should be your launch type
--launch-type FARGATE
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Which launch type should I use?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Use cases that need Amazon Elastic Container
Service EC2 launch type
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Web
Shopping
Cart
Notifications
Availability Zone 1 Availability Zone 2 Availability Zone 3
Task
Task
Task
Task
ECS Cluster
Task
Task
Task
Task
Task
Task
Task
Task
EC2 and Fargate launch type co-exist!
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
For Fargate, cluster is an administrative
boundary
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Permission tiers
Cluster
Permissions
Application
Permissions
Task
Housekeeping
Permissions
Cluster
Fargate Task
Cluster permissions:
Who can run/see tasks in the cluster?
Application (task) permissions:
Which of my AWS resources can this application access?
Housekeeping permissions:
What permissions do I want to grant ECS to perform?
For example
• ECR image pull
• CloudWatch Logs pushing
• ENI creation
• Register/deregister targets into ELB
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Managing multiple environments
NotificationsWeb Shopping Cart
PROD CLUSTER
NotificationsWeb Shopping Cart
BETA CLUSTER
NotificationsWeb Shopping Cart
QA CLUSTER
NotificationsWeb Shopping Cart
DEV CLUSTER
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Networking
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Managing networking for your environments
• Task level
• All Fargate Tasks run in awsvpc networking mode—i.e., each
task gets its own interface
• Full control of network access via Security Groups and Network
ACLs
• Public IP support
• Service level
• Recommended: Deploy services across multiple subnets for
high availability
• Subnets<->Availability Zone have 1 to 1 mapping
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Managing networking for your environments (cont’d.)
• Cluster level
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Managed service discovery across environments
•Maintain services in each cluster without code
changes
•Service registry
•Predictable names for services
•Auto updated with latest, healthy IP, port
•Managed: No overhead of installation or
monitoring
•High availability, high scale
•Extensible: Flexible boundaries for auto
discovery
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Route 53 auto naming provides service registry
Route 53 provides APIs to create
• Namespace
• CNAME per service auto name
• A records per task IP
• SRV records per task IP + port
Service
CNAME: A / SRV record
Namespace
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Fargate platform
versions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Using platform versions for managing environments
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Qualifying platform versions for your services
NotificationsWeb Shopping Cart
PROD CLUSTER
NotificationsWeb Shopping Cart
BETA CLUSTER
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Managing compliant workloads
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Customers using Fargate at scale
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Topics we’ll cover
DEPLOYING
DEVELOPING MANAGING
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Cloud Ops
3.5 YEARS OLD
150+ INTERNAL PROJECTS
MAJOR
CONSULTING
PROJECTS
90 ENGINEERS
250 PRODUCTION
WORKLOADS
90% IN AWS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Customer due diligence (CDD) solution
Know your customer for a multi-national blue-chip bank
Running successfully in the cloud for over a year
Sold onto another blue-chip bank
Current architecture
• A lot of pets, SQL 2008 on EC2
• .NET deployments to Windows EC2
• Have to manage regular patching, maintenance of servers
• Requirement for server level access
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Evolution to the new CDD
+
+
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Current platform microservice relationships
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Benefits of a managed container service
Immutable deployments, no logging into servers!
Cluster resource provisioning is handled by AWS Fargate
No patching of underlying operating systems
No need for provisioning, configuring or scaling of
machines
 Smaller surface area for attacks
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Path to production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployment pipeline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
stages {
stage(“Pull Python Image from ECR”)
script {
docker.withRegistry() …
stage(“SCM Checkout”)
steps {
checkout([$class: ’GitSCM’ …
stage(“Build Docker Image”)
script {
docker.withRegistry()
docker.image(’image_name’).push(‘${BUILD_NUMBER}’) …
stage(“ecs deploy dev”)
script {
sh “ecs deploy ecs_service task_def --image container_name 1234567890.dkr.ecr.eu-
west-1.amazon.com/image_name:${BUILD_NUMBER} –-region eu-west-1 --profile
awscli_profile –-timeout 900”
}
ECS Service name Task Definition name Container name ECR Registry URL
Tag image with Jenkins Build Number
Jenkins pipeline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployment pipeline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
[
{
"name": ”microservice_name",
"image": "${image}:latest",
"cpu": 10,
"portMappings": [
{
"hostPort": 80,
"protocol": "tcp",
"containerPort": 80
}
],
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": ”microserviceecs",
"awslogs-region": "eu-west-1",
"awslogs-stream-prefix": ”microservice_logs"
}
},
"environment": [
{
"name": ”microservice__createendpoint","value": "${microservice_createendpoint}"
},
{
"name": "AWS__OutboundS3BucketName", "value": "${aws_outbounds3bucketname}"
}
]
}
]
Task definition JSON
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ECS Fargate in Terraform
data “aws_ecs_task_definition” “microservice_task” {
task_definition = “$aws_ecs_task_defintion.microservice_task.family}”
}
resource “aws_ecs_service” “microservcoce_service” {
task_definition =
"${aws_ecs_task_definition.letters_honcho_task.family}:${max("${aws_ecs_task_definiti
on.letters_honcho_task.revision}",
"${data.aws_ecs_task_definition.letters_honcho_task.revision}")}” …
Ensuring the task definition picks up the latest ECR imageData source
Most recent revision
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Current platform microservice relationships
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
[
{
"name": ”microservice_name",
"image": "${image}:latest",
"cpu": 10,
"portMappings": [
{
"hostPort": 80,
"protocol": "tcp",
"containerPort": 80
}
],
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": ”microserviceecs",
"awslogs-region": "eu-west-1",
"awslogs-stream-prefix": ”microservice_logs"
}
},
"environment": [
{
"name": ”microservice__createendpoint","value": "${microservice_createendpoint}"
},
{
"name": "AWS__OutboundS3BucketName", "value": "${aws_outbounds3bucketname}"
}
]
}
]
Task definition JSON
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ECS Fargate in Terraform
resource "aws_ecs_task_definition" ”microservice_task" {
container_definitions = "${data.template_file.ecs_task_microservice.rendered}”
data "template_file" "ecs_task_microservice" {
template = "${file("task_definitions/ecs_task_letters_honcho.json")}”
vars {
image = "${var.ecr_repo}-microservice-ecr"
microserviceconfig_createendpoint =
"http://${var.environment}_microservice.microservice/v1/templates/!template_name!"
aws_outbounds3bucketname = "${aws_s3_bucket.microservice_s3_bucket.id}" }}
Defining environment variables
S3 Bucket
Service Discovery endpoint
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PCI DSS Level 1, ISO 9001, ISO 27001, ISO 27017, ISO 27018,
SOC 1, SOC 2, SOC 3, and HIPAA eligibility
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Securing the solution
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Main benefits of AWS to KPMG
Cost reduction
Speed of delivery
Automation and DevOps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
KPMG & AWS—Future relationship
150+ projects already in AWS
250+ production workloads in AWS
Hosting highly confidential data
Alliance agreement with AWS
Growing AWS certified team
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Ariane Gadd
ariane.gadd@kpmg.co.uk
Deepak Dayama
dayamad@amazon.com
saysdd
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

Deep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentDeep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentAmazon Web Services
 
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Amazon Web Services
 
Introducing AWS Fargate - AWS Online Tech Talks
Introducing AWS Fargate - AWS Online Tech TalksIntroducing AWS Fargate - AWS Online Tech Talks
Introducing AWS Fargate - AWS Online Tech TalksAmazon Web Services
 
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...Amazon Web Services
 
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...Amazon Web Services
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSAmazon Web Services
 
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)Amazon Web Services
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Amazon Web Services
 
Orchestrating containers on AWS | AWS Floor28
Orchestrating containers on AWS | AWS Floor28Orchestrating containers on AWS | AWS Floor28
Orchestrating containers on AWS | AWS Floor28Amazon Web Services
 
Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Amazon Web Services
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Amazon Web Services
 
Thomson Reuters Shows How It Hosted a .NET App on Amazon ECS Using Windows Co...
Thomson Reuters Shows How It Hosted a .NET App on Amazon ECS Using Windows Co...Thomson Reuters Shows How It Hosted a .NET App on Amazon ECS Using Windows Co...
Thomson Reuters Shows How It Hosted a .NET App on Amazon ECS Using Windows Co...Amazon Web Services
 
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)Amazon Web Services
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Amazon Web Services
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Amazon Web Services
 
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Amazon Web Services
 
[NEW LAUNCH!] Lambda Layers (SRV375) - AWS re:Invent 2018
[NEW LAUNCH!] Lambda Layers (SRV375) - AWS re:Invent 2018[NEW LAUNCH!] Lambda Layers (SRV375) - AWS re:Invent 2018
[NEW LAUNCH!] Lambda Layers (SRV375) - AWS re:Invent 2018Amazon Web Services
 
Serverless Architectural Patterns I AWS Dev Day 2018
Serverless Architectural Patterns I AWS Dev Day 2018Serverless Architectural Patterns I AWS Dev Day 2018
Serverless Architectural Patterns I AWS Dev Day 2018AWS Germany
 

What's hot (20)

Deep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentDeep Dive on Serverless Application Development
Deep Dive on Serverless Application Development
 
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
AWS Container services
AWS Container servicesAWS Container services
AWS Container services
 
Introducing AWS Fargate - AWS Online Tech Talks
Introducing AWS Fargate - AWS Online Tech TalksIntroducing AWS Fargate - AWS Online Tech Talks
Introducing AWS Fargate - AWS Online Tech Talks
 
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
 
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWS
 
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
 
Orchestrating containers on AWS | AWS Floor28
Orchestrating containers on AWS | AWS Floor28Orchestrating containers on AWS | AWS Floor28
Orchestrating containers on AWS | AWS Floor28
 
Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
 
Thomson Reuters Shows How It Hosted a .NET App on Amazon ECS Using Windows Co...
Thomson Reuters Shows How It Hosted a .NET App on Amazon ECS Using Windows Co...Thomson Reuters Shows How It Hosted a .NET App on Amazon ECS Using Windows Co...
Thomson Reuters Shows How It Hosted a .NET App on Amazon ECS Using Windows Co...
 
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
 
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
 
[NEW LAUNCH!] Lambda Layers (SRV375) - AWS re:Invent 2018
[NEW LAUNCH!] Lambda Layers (SRV375) - AWS re:Invent 2018[NEW LAUNCH!] Lambda Layers (SRV375) - AWS re:Invent 2018
[NEW LAUNCH!] Lambda Layers (SRV375) - AWS re:Invent 2018
 
Serverless Architectural Patterns I AWS Dev Day 2018
Serverless Architectural Patterns I AWS Dev Day 2018Serverless Architectural Patterns I AWS Dev Day 2018
Serverless Architectural Patterns I AWS Dev Day 2018
 

Similar to Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018

Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Amazon Web Services
 
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Amazon Web Services
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
Getting Started with Containers on AWS
Getting Started with Containers on AWSGetting Started with Containers on AWS
Getting Started with Containers on AWSAmazon Web Services
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28Amazon Web Services
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using ContainersAmazon Web Services
 
Comparing Compute Options for Microservices - AWS Summti Sydney 2018
Comparing Compute Options for Microservices - AWS Summti Sydney 2018Comparing Compute Options for Microservices - AWS Summti Sydney 2018
Comparing Compute Options for Microservices - AWS Summti Sydney 2018Amazon Web Services
 
Building Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxBuilding Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxNelson Kimathi
 
SRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateSRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateAmazon Web Services
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Boaz Ziniman
 
Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Amazon Web Services
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Amazon Web Services
 
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Amazon Web Services
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...Amazon Web Services
 
[AWS Container Service] Introducing AWS Fargate
[AWS Container Service] Introducing AWS Fargate[AWS Container Service] Introducing AWS Fargate
[AWS Container Service] Introducing AWS FargateAmazon Web Services Korea
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeAmazon Web Services
 
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWSAmazon Web Services
 

Similar to Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018 (20)

Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
 
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Getting Started with Containers on AWS
Getting Started with Containers on AWSGetting Started with Containers on AWS
Getting Started with Containers on AWS
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using Containers
 
Comparing Compute Options for Microservices - AWS Summti Sydney 2018
Comparing Compute Options for Microservices - AWS Summti Sydney 2018Comparing Compute Options for Microservices - AWS Summti Sydney 2018
Comparing Compute Options for Microservices - AWS Summti Sydney 2018
 
Building Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxBuilding Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptx
 
SRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateSRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS Fargate
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28
 
Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
 
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
 
[AWS Container Service] Introducing AWS Fargate
[AWS Container Service] Introducing AWS Fargate[AWS Container Service] Introducing AWS Fargate
[AWS Container Service] Introducing AWS Fargate
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deploying Microservices Using AWS Fargate Deepak Dayama Product Manager Amazon Container Services C O N 3 1 5 Ariane Gadd Lead DevOps Engineer | Cloud Transformation Consultant KPMG UK
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Related breakouts Tuesday, Nov 27 DEV 309 CI/CD for Serverless and Containerized Applications 7 – 8 p.m. | Venetian, Level 2, Venetian E Wednesday, Nov 28 CON 312 Visibility into Serverless Applications built using AWS Fargate 12:15 – 1:15 p.m. | Venetian, Level 3, Murano 3205
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AGENDA • AWS Fargate introduction and use cases • Managing multiple environments in AWS Fargate • Developing, deploying and managing compliant workloads at KPMG
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Container Services landscape MANAGEMENT Deployment, scheduling, scaling & management of containerized applications HOSTING Where the containers run IMAGE REGISTRY Container image repository
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ECS AMI Docker agent ECS agent ECS AMI Docker agent ECS agent ECS AMI Docker agent ECS agent Scheduling and Orchestration Cluster Manager Placement Engine
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Define application containers: Image URL, CPU & memory requirements, etc. register Task Definition create Cluster • Infrastructure Isolation boundary • IAM Permissions boundary run Task • A running instantiation of a task definition • Use FARGATE launch type create Service Elastic Load Balancer • Maintain n running copies • Integrated with ELB • Unhealthy tasks automatically replaced Constructs when using Fargate with ECS
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Decide if Fargate should be your launch type --launch-type FARGATE
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Which launch type should I use?
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Use cases that need Amazon Elastic Container Service EC2 launch type
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Web Shopping Cart Notifications Availability Zone 1 Availability Zone 2 Availability Zone 3 Task Task Task Task ECS Cluster Task Task Task Task Task Task Task Task EC2 and Fargate launch type co-exist! Task Task Task Task Task Task Task Task Task Task Task Task
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. For Fargate, cluster is an administrative boundary
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Permission tiers Cluster Permissions Application Permissions Task Housekeeping Permissions Cluster Fargate Task Cluster permissions: Who can run/see tasks in the cluster? Application (task) permissions: Which of my AWS resources can this application access? Housekeeping permissions: What permissions do I want to grant ECS to perform? For example • ECR image pull • CloudWatch Logs pushing • ENI creation • Register/deregister targets into ELB
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managing multiple environments NotificationsWeb Shopping Cart PROD CLUSTER NotificationsWeb Shopping Cart BETA CLUSTER NotificationsWeb Shopping Cart QA CLUSTER NotificationsWeb Shopping Cart DEV CLUSTER
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Networking
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managing networking for your environments • Task level • All Fargate Tasks run in awsvpc networking mode—i.e., each task gets its own interface • Full control of network access via Security Groups and Network ACLs • Public IP support • Service level • Recommended: Deploy services across multiple subnets for high availability • Subnets<->Availability Zone have 1 to 1 mapping
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managing networking for your environments (cont’d.) • Cluster level
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managed service discovery across environments •Maintain services in each cluster without code changes •Service registry •Predictable names for services •Auto updated with latest, healthy IP, port •Managed: No overhead of installation or monitoring •High availability, high scale •Extensible: Flexible boundaries for auto discovery
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Route 53 auto naming provides service registry Route 53 provides APIs to create • Namespace • CNAME per service auto name • A records per task IP • SRV records per task IP + port Service CNAME: A / SRV record Namespace
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Fargate platform versions
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Using platform versions for managing environments
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Qualifying platform versions for your services NotificationsWeb Shopping Cart PROD CLUSTER NotificationsWeb Shopping Cart BETA CLUSTER
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managing compliant workloads
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Customers using Fargate at scale
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Topics we’ll cover DEPLOYING DEVELOPING MANAGING
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Cloud Ops 3.5 YEARS OLD 150+ INTERNAL PROJECTS MAJOR CONSULTING PROJECTS 90 ENGINEERS 250 PRODUCTION WORKLOADS 90% IN AWS
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Customer due diligence (CDD) solution Know your customer for a multi-national blue-chip bank Running successfully in the cloud for over a year Sold onto another blue-chip bank Current architecture • A lot of pets, SQL 2008 on EC2 • .NET deployments to Windows EC2 • Have to manage regular patching, maintenance of servers • Requirement for server level access
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Evolution to the new CDD + +
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Current platform microservice relationships
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Benefits of a managed container service Immutable deployments, no logging into servers! Cluster resource provisioning is handled by AWS Fargate No patching of underlying operating systems No need for provisioning, configuring or scaling of machines  Smaller surface area for attacks
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Path to production
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deployment pipeline
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. stages { stage(“Pull Python Image from ECR”) script { docker.withRegistry() … stage(“SCM Checkout”) steps { checkout([$class: ’GitSCM’ … stage(“Build Docker Image”) script { docker.withRegistry() docker.image(’image_name’).push(‘${BUILD_NUMBER}’) … stage(“ecs deploy dev”) script { sh “ecs deploy ecs_service task_def --image container_name 1234567890.dkr.ecr.eu- west-1.amazon.com/image_name:${BUILD_NUMBER} –-region eu-west-1 --profile awscli_profile –-timeout 900” } ECS Service name Task Definition name Container name ECR Registry URL Tag image with Jenkins Build Number Jenkins pipeline
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deployment pipeline
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. [ { "name": ”microservice_name", "image": "${image}:latest", "cpu": 10, "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": ”microserviceecs", "awslogs-region": "eu-west-1", "awslogs-stream-prefix": ”microservice_logs" } }, "environment": [ { "name": ”microservice__createendpoint","value": "${microservice_createendpoint}" }, { "name": "AWS__OutboundS3BucketName", "value": "${aws_outbounds3bucketname}" } ] } ] Task definition JSON
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ECS Fargate in Terraform data “aws_ecs_task_definition” “microservice_task” { task_definition = “$aws_ecs_task_defintion.microservice_task.family}” } resource “aws_ecs_service” “microservcoce_service” { task_definition = "${aws_ecs_task_definition.letters_honcho_task.family}:${max("${aws_ecs_task_definiti on.letters_honcho_task.revision}", "${data.aws_ecs_task_definition.letters_honcho_task.revision}")}” … Ensuring the task definition picks up the latest ECR imageData source Most recent revision
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Current platform microservice relationships
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. [ { "name": ”microservice_name", "image": "${image}:latest", "cpu": 10, "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": ”microserviceecs", "awslogs-region": "eu-west-1", "awslogs-stream-prefix": ”microservice_logs" } }, "environment": [ { "name": ”microservice__createendpoint","value": "${microservice_createendpoint}" }, { "name": "AWS__OutboundS3BucketName", "value": "${aws_outbounds3bucketname}" } ] } ] Task definition JSON
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ECS Fargate in Terraform resource "aws_ecs_task_definition" ”microservice_task" { container_definitions = "${data.template_file.ecs_task_microservice.rendered}” data "template_file" "ecs_task_microservice" { template = "${file("task_definitions/ecs_task_letters_honcho.json")}” vars { image = "${var.ecr_repo}-microservice-ecr" microserviceconfig_createendpoint = "http://${var.environment}_microservice.microservice/v1/templates/!template_name!" aws_outbounds3bucketname = "${aws_s3_bucket.microservice_s3_bucket.id}" }} Defining environment variables S3 Bucket Service Discovery endpoint
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. PCI DSS Level 1, ISO 9001, ISO 27001, ISO 27017, ISO 27018, SOC 1, SOC 2, SOC 3, and HIPAA eligibility
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Securing the solution
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Main benefits of AWS to KPMG Cost reduction Speed of delivery Automation and DevOps
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. KPMG & AWS—Future relationship 150+ projects already in AWS 250+ production workloads in AWS Hosting highly confidential data Alliance agreement with AWS Growing AWS certified team
  • 46. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Ariane Gadd ariane.gadd@kpmg.co.uk Deepak Dayama dayamad@amazon.com saysdd
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.