SlideShare a Scribd company logo
1 of 112
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
O N L I N E - D E V C O N F Z A
Automating your cloud: what are the
building blocks
Cobus Bernard
Senior Developer Advocate
AmazonWeb Services
02.04.20
@cobusbernard
cobusbernard
cobusbernard
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Global Infrastructure
• 22 Regions with 70 Availability Zones
• 5 Regions coming soon: Cape Town
Jakarta, Milan, Spain, Osaka
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Developer for 15 years
• AWS Customer for 8 years
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
• Automation != DevOps 
• Infrastructure as Code
• The Golden Path
• VM images
• Containers
• Deployments
• Configuration management
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ulture
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ulture
utomation
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ulture
utomation
easure
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Usecodetomodelapplicationsandinfrastructure
Infrastructure ascode
Declarative
I tell you
what I need
I tell you
what to do
Imperative
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
import ec2 = require('@aws-cdk/aws-ec2');
import ecs = require('@aws-cdk/aws-ecs');
import cdk = require('@aws-cdk/cdk');
class BonjourFargate extends cdk.Stack {
constructor(parent: cdk.App, name: string, props?: cdk.StackProps) {
super(parent, name, props);
const vpc = new ec2.VpcNetwork(this, ‘DevConfVpc', { maxAZs: 3 });
const cluster = new ecs.Cluster(this, ‘DevConfCluster', { vpc });
new ecs.LoadBalancedFargateService(
this, "FargateService", {
cluster,
image: ecs.DockerHub.image("amazon/amazon-ecs-sample"),
});
}
}
const app = new cdk.App();
new BonjourFargate(app, 'Bonjour');
app.run();
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
import ec2 = require('@aws-cdk/aws-ec2');
import ecs = require('@aws-cdk/aws-ecs');
import cdk = require('@aws-cdk/cdk');
class BonjourFargate extends cdk.Stack {
constructor(parent: cdk.App, name: string, props?: cdk.StackProps) {
super(parent, name, props);
const vpc = new ec2.VpcNetwork(this, ‘DevConfVpc', { maxAZs: 3 });
const cluster = new ecs.Cluster(this, ‘DevConfCluster', { vpc });
new ecs.LoadBalancedFargateService(
this, "FargateService", {
cluster,
image: ecs.DockerHub.image("amazon/amazon-ecs-sample"),
});
}
}
const app = new cdk.App();
new BonjourFargate(app, 'Bonjour');
app.run();
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
# Using the module from https://github.com/terraform-aws-
modules/terraform-aws-vpc
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
name = "devconf-za-vpc"
cidr = "10.0.0.0/16"
azs = ["eu-west-1a", "eu-west-1b", "eu-west-1c"]
private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
public_subnets = ["10.0.100.0/24", "10.0.101.0/24", "10.0.103.0/24"]
}
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
resource "aws_ecs_cluster" ”devconf_cluster” {
name = ”DevConfCluster"
}
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
import ec2 = require('@aws-cdk/aws-ec2');
import ecs = require('@aws-cdk/aws-ecs');
import cdk = require('@aws-cdk/cdk');
class BonjourFargate extends cdk.Stack {
constructor(parent: cdk.App, name: string, props?: cdk.StackProps) {
super(parent, name, props);
const vpc = new ec2.VpcNetwork(this, 'MyVpc', { maxAZs: 2 });
const cluster = new ecs.Cluster(this, 'Cluster', { vpc });
new ecs.LoadBalancedFargateService(
this, "FargateService", {
cluster,
image: ecs.DockerHub.image("amazon/amazon-ecs-sample"),
});
}
}
const app = new cdk.App();
new BonjourFargate(app, 'Bonjour');
app.run();
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Usecodetomodelapplicationsandinfrastructure
Infrastructure ascode goals
1. Make infrastructure changes repeatable and predictable
2. Release infrastructure changes using the same tools as code changes
3. Replicate production environment in a staging environment to enable
continuous testing
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Developers love great documentation.”
Twitter
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Developers love great documentation.”
“Developers love creating great documentation”
Twitter
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Developers love great documentation.”
“Developers love creating great documentation”
Only one of these statements is true
Twitter
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Usecodetomodelapplicationsandinfrastructure
Documentation
How do you create the
beebop with the
thingy?
Have a look at the
repo, you can see how
it was done.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
TypicalApplicationBuildandRunProcessforCode
Write +
Review
Build +
Test
Deploy Measure Improve
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
TypicalApplicationBuildandRunProcessforInfrastructure
Write +
Review
Build +
Test
Deploy Measure Improve
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Things toconsider
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Things toconsider
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Things toconsider
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Things toconsider
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Things toconsider
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Things toconsider
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
If you build it…
You must maintain it
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packer – building andAMI
{
"builders": [{
"type": "amazon-ebs", "region": "us-east-1",
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
"name": "ubuntu/images/*ubuntu-bionic-18.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
"most_recent": true
},
"instance_type": "t2.micro",
"ssh_username": "ubuntu",
"ami_name": ”DevConf-Golden-Base {{timestamp}}"
}]
}
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packer – building andAMI
{
"builders": [{
"type": "amazon-ebs", "region": "us-east-1",
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
"name": "ubuntu/images/*ubuntu-bionic-18.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
"most_recent": true
},
"instance_type": "t2.micro",
"ssh_username": "ubuntu",
"ami_name": ”DevConf-Golden-Base {{timestamp}}"
}]
}
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packer – building andAMI
"provisioners": [
{
"type": "shell",
"script": "sudo apt-get update"
},
{
"type": "shell",
"script": "sudo apt-get upgrade -y"
}
]
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packer – building andAMI
{
"variables": {
”java_version": ”1.9.01b" },
"builders": [{
"type": "amazon-ebs", "region": "us-east-1",
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
"name": "DevConf-Golden-Base*",
"root-device-type": "ebs"
},
"owners": [”self"],
"most_recent": true
},
"instance_type": "t2.micro",
"ssh_username": "ubuntu",
"ami_name": ”DevConf Java {{java_version}} {{timestamp}}"
}]
}
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packer – building andAMI
{
"variables": {
”java_version": ”1.9.01b" },
"builders": [{
"type": "amazon-ebs", "region": "us-east-1",
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
"name": "DevConf-Golden-Base*",
"root-device-type": "ebs"
},
"owners": [”self"],
"most_recent": true
},
"instance_type": "t2.micro",
"ssh_username": "ubuntu",
"ami_name": ”DevConf Java {{java_version}} {{timestamp}}"
}]
}
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packer – building andAMI
{
"variables": {
”java_version": ”1.9.01b" },
"builders": [{
"type": "amazon-ebs", "region": "us-east-1",
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
"name": "DevConf-Golden-Base*",
"root-device-type": "ebs"
},
"owners": [”self"],
"most_recent": true
},
"instance_type": "t2.micro",
"ssh_username": "ubuntu",
"ami_name": ”DevConf Java {{java_version}} {{timestamp}}"
}]
}
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packer – building andAMI
"provisioners": [
{
"type": "file",
"source": "./welcome.txt",
"destination": "/home/ubuntu/"
},
{
"type": "shell",
"inline":[
"ls -al /home/ubuntu",
"cat /home/ubuntu/welcome.txt"
]
},
{
"type": "shell",
"script": "sudo apt install openjdk-8-jdk"
}
]
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
NestedVMImages
└── devconf_golden_base
├── devconf_erlang
├── devconf_java
│ ├── devconf_java_1_11
│ ├── devconf_java_1_6
│ └── devconf_java_1_9
└── devconf_ruby
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A successfulimage
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWSCodeBuild: Build your images
version: 0.2
phases:
build:
commands:
- packer build devconf_golden.json
- packer build devconf_java.json
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Updating images
Region
Availability zone a Availability zone b Availability zone c
2020-01-01 2020-01-01 2020-01-01
2020-01-01
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Updating images
Region
Availability zone a Availability zone b Availability zone c
2020-01-01 2020-01-01 2020-01-01
2020-01-29
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Updating images
Region
Availability zone a Availability zone b Availability zone c
2020-01-01 2020-01-01 2020-01-01
2020-01-29
2020-01-29 2020-01-29 2020-01-29
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Updating images
Region
Availability zone a Availability zone b Availability zone c
2020-01-29
2020-01-29 2020-01-29 2020-01-29
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Multi-AZ architecture
Region
Availability zone a Availability zone b Availability zone c
2019-01-01 2019-01-01 2019-01-01
Elastic Load
Balancing (ELB)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
X
Multi-AZ architecture
Region
Availability zone a Availability zone b Availability zone c
2019-01-01 2019-01-01 2019-01-01
Elastic Load
Balancing (ELB)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Multi-AZ architecture
Region
Availability zone a Availability zone b Availability zone c
2019-01-01 2019-01-01
Elastic Load
Balancing (ELB)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Multi-AZ architecture
Region
Availability zone a Availability zone b Availability zone c
2019-02-02 2019-01-01 2019-01-01
Elastic Load
Balancing (ELB)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Multi-AZ architecture
Region
Availability zone a Availability zone b Availability zone c
2019-02-02 2019-01-01 2019-01-01
Elastic Load
Balancing (ELB)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monolith
Does everything
Monoliths are OK
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
NestedVMImagesContainers
└── devconf_golden_base
├── devconf_erlang
├── devconf_java
│ ├── devconf_java_1_11
│ ├── devconf_java_1_6
│ └── devconf_java_1_9
└── devconf_ruby
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A successfulimage container
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container imagetagging for deployments
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container imagetagging for deployments
Build pushes new “latest” image
Image: sha256@22222... (“latest”)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container imagetagging for deployments
Service scales up, launching new tasks
Image: sha256@22222... (“latest”)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container imagetagging for deployments
Deploy using immutable tags
{
"name": "sample-app",
"image": "amazon/amazon-ecs-
sample@sha256:3e39d933b1d948c92309bb583b5a1f3d28f0119e1551ca1fe538ba414a41af48d"
}
{
"name": "sample-app",
"image": "amazon/amazon-ecs-sample:build-b2085490-359f-4eaf-8970-6d1e26c354f0"
}
SHA256 Digest
Build ID
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container imagetagging for deployments
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container imagetagging for deployments
Build pushes new image tagged with new build ID
Image: sha256@22222... (“build-22222”)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container imagetagging for deployments
Service scales up, launching new tasks
Image: sha256@22222... (“build-22222”)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container imagetagging for deployments
Image: “build-22222” tag
Deployment updates service’s task definition, replacing tasks
Image: sha256@22222... (“build-22222”)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“I would not give a fig for the simplicity
this side of complexity, but I would give
would give my life for the simplicityon
simplicity on the other side of
complexity Oliver Wendell Holmes Jr.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS ECSCLIv2
ecs init
ecs app deploy
ecs pipeline init
ecs pipeline update
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWSCodeBuild:Any Project
version: 0.2
phases:
build:
commands:
- make build
- make test
- make package
artifacts:
type: zip
files:
- new_version.json
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWSCodeBuild:Any Project
version: 0.2
phases:
build:
commands:
- make build
- make test
- make package
artifacts:
type: zip
files:
- new_version.json
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue-green deployments
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWSCodeBuild:Any Project
version: 0.2
phases:
build:
commands:
- make build
- make test
- make package
artifacts:
type: zip
files:
- new_version.json
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWSCodePipeline:AnyProject
stage {
name = "Production"
action {
name = "Deploy"
category = "Deploy"
owner = "AWS"
provider = "ECS"
input_artifacts = ["new_version"]
version = "1"
configuration = {
ClusterName = ”MyCluster"
ServiceName = ”MyService"
FileName = "new_version.json"
}
}
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Canarydeployments
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Canarydeployments
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Reading homework
Thank you!
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Cobus Bernard
Senior DeveloperAdvocate
Amazon Web Services
O N L I N E - D E V C O N F Z A
@cobusbernard
cobusbernard
cobusbernard

More Related Content

What's hot

Deep Dive Amazon SageMaker
Deep Dive Amazon SageMakerDeep Dive Amazon SageMaker
Deep Dive Amazon SageMakerCobus Bernard
 
AWS SSA Webinar - Cost optimisation on AWS
AWS SSA Webinar - Cost optimisation on AWSAWS SSA Webinar - Cost optimisation on AWS
AWS SSA Webinar - Cost optimisation on AWSCobus Bernard
 
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2Cobus Bernard
 
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...Amazon Web Services
 
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019Amazon Web Services Korea
 
CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...Amazon Web Services
 
AWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveAWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveCobus Bernard
 
20190306 AWS Black Belt Online Seminar Amazon EC2 スポットインスタンス
20190306 AWS Black Belt Online Seminar Amazon EC2 スポットインスタンス20190306 AWS Black Belt Online Seminar Amazon EC2 スポットインスタンス
20190306 AWS Black Belt Online Seminar Amazon EC2 スポットインスタンスAmazon Web Services Japan
 
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS Summit
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS SummitDeveloping Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS Summit
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS SummitAmazon Web Services
 
Deep dive on security in Amazon S3 - STG306 - New York AWS Summit
Deep dive on security in Amazon S3 - STG306 - New York AWS SummitDeep dive on security in Amazon S3 - STG306 - New York AWS Summit
Deep dive on security in Amazon S3 - STG306 - New York AWS SummitAmazon Web Services
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep DiveAmazon Web Services Japan
 
AWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructureAWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructureCobus Bernard
 
서버리스 기반 콘텐츠 추천 서비스 만들기 - 이상현, Vingle :: AWS Summit Seoul 2019
서버리스 기반 콘텐츠 추천 서비스 만들기 - 이상현, Vingle :: AWS Summit Seoul 2019 서버리스 기반 콘텐츠 추천 서비스 만들기 - 이상현, Vingle :: AWS Summit Seoul 2019
서버리스 기반 콘텐츠 추천 서비스 만들기 - 이상현, Vingle :: AWS Summit Seoul 2019 Amazon Web Services Korea
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWSAmazon Web Services Korea
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerArun Gupta
 
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Video anomaly detection using Amazon SageMaker, AWS DeepLens, & AWS IoT Green...
Video anomaly detection using Amazon SageMaker, AWS DeepLens, & AWS IoT Green...Video anomaly detection using Amazon SageMaker, AWS DeepLens, & AWS IoT Green...
Video anomaly detection using Amazon SageMaker, AWS DeepLens, & AWS IoT Green...Amazon Web Services
 
AWS IoT Greengrass Workshop - SVC303 - Anaheim AWS Summit
AWS IoT Greengrass Workshop - SVC303 - Anaheim AWS SummitAWS IoT Greengrass Workshop - SVC303 - Anaheim AWS Summit
AWS IoT Greengrass Workshop - SVC303 - Anaheim AWS SummitAmazon Web Services
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMRAmazon Web Services Japan
 

What's hot (20)

Deep Dive Amazon SageMaker
Deep Dive Amazon SageMakerDeep Dive Amazon SageMaker
Deep Dive Amazon SageMaker
 
AWS SSA Webinar - Cost optimisation on AWS
AWS SSA Webinar - Cost optimisation on AWSAWS SSA Webinar - Cost optimisation on AWS
AWS SSA Webinar - Cost optimisation on AWS
 
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
AWS SSA Webinar 16 - Getting Started on AWS with Amazon EC2
 
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
 
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
 
CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...
 
AWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveAWS Lake Formation Deep Dive
AWS Lake Formation Deep Dive
 
20190306 AWS Black Belt Online Seminar Amazon EC2 スポットインスタンス
20190306 AWS Black Belt Online Seminar Amazon EC2 スポットインスタンス20190306 AWS Black Belt Online Seminar Amazon EC2 スポットインスタンス
20190306 AWS Black Belt Online Seminar Amazon EC2 スポットインスタンス
 
Pro-Tips-for-Builders-on-AWS
Pro-Tips-for-Builders-on-AWSPro-Tips-for-Builders-on-AWS
Pro-Tips-for-Builders-on-AWS
 
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS Summit
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS SummitDeveloping Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS Summit
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS Summit
 
Deep dive on security in Amazon S3 - STG306 - New York AWS Summit
Deep dive on security in Amazon S3 - STG306 - New York AWS SummitDeep dive on security in Amazon S3 - STG306 - New York AWS Summit
Deep dive on security in Amazon S3 - STG306 - New York AWS Summit
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
 
AWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructureAWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructure
 
서버리스 기반 콘텐츠 추천 서비스 만들기 - 이상현, Vingle :: AWS Summit Seoul 2019
서버리스 기반 콘텐츠 추천 서비스 만들기 - 이상현, Vingle :: AWS Summit Seoul 2019 서버리스 기반 콘텐츠 추천 서비스 만들기 - 이상현, Vingle :: AWS Summit Seoul 2019
서버리스 기반 콘텐츠 추천 서비스 만들기 - 이상현, Vingle :: AWS Summit Seoul 2019
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using Firecracker
 
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
 
Video anomaly detection using Amazon SageMaker, AWS DeepLens, & AWS IoT Green...
Video anomaly detection using Amazon SageMaker, AWS DeepLens, & AWS IoT Green...Video anomaly detection using Amazon SageMaker, AWS DeepLens, & AWS IoT Green...
Video anomaly detection using Amazon SageMaker, AWS DeepLens, & AWS IoT Green...
 
AWS IoT Greengrass Workshop - SVC303 - Anaheim AWS Summit
AWS IoT Greengrass Workshop - SVC303 - Anaheim AWS SummitAWS IoT Greengrass Workshop - SVC303 - Anaheim AWS Summit
AWS IoT Greengrass Workshop - SVC303 - Anaheim AWS Summit
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
 

Similar to DevConfZA 2020 : Automating your cloud: What are the building blocks

AWS DevDay Vienna - Automating building blocks choices you will face with con...
AWS DevDay Vienna - Automating building blocks choices you will face with con...AWS DevDay Vienna - Automating building blocks choices you will face with con...
AWS DevDay Vienna - Automating building blocks choices you will face with con...Cobus Bernard
 
AWS SSA Webinar 12 - Getting started on AWS with Containers
AWS SSA Webinar 12 - Getting started on AWS with ContainersAWS SSA Webinar 12 - Getting started on AWS with Containers
AWS SSA Webinar 12 - Getting started on AWS with ContainersCobus Bernard
 
Continuous Integration and Continuous Delivery for your serverless apps - Seb...
Continuous Integration and Continuous Delivery for your serverless apps - Seb...Continuous Integration and Continuous Delivery for your serverless apps - Seb...
Continuous Integration and Continuous Delivery for your serverless apps - Seb...Shift Conference
 
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
 
AWS DevDay Cologne - Automating building blocks choices you will face with co...
AWS DevDay Cologne - Automating building blocks choices you will face with co...AWS DevDay Cologne - Automating building blocks choices you will face with co...
AWS DevDay Cologne - Automating building blocks choices you will face with co...Cobus Bernard
 
AWS DevDay Berlin - Automating building blocks choices you will face with con...
AWS DevDay Berlin - Automating building blocks choices you will face with con...AWS DevDay Berlin - Automating building blocks choices you will face with con...
AWS DevDay Berlin - Automating building blocks choices you will face with con...Cobus Bernard
 
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
 
20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECHMarcia Villalba
 
AWS for Java Developers in 2019 - AWS Summit Sydney
AWS for Java Developers in 2019 - AWS Summit SydneyAWS for Java Developers in 2019 - AWS Summit Sydney
AWS for Java Developers in 2019 - AWS Summit SydneyAmazon Web Services
 
AWS Summit Singapore 2019 | Microsoft DevOps on AWS
AWS Summit Singapore 2019 | Microsoft DevOps on AWSAWS Summit Singapore 2019 | Microsoft DevOps on AWS
AWS Summit Singapore 2019 | Microsoft DevOps on AWSAWS Summits
 
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
 
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless Marcia Villalba
 
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit SydneyIntegrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit SydneyAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...Marcia Villalba
 
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用Amazon Web Services
 
Continuous Delivery Best Practices
Continuous Delivery Best PracticesContinuous Delivery Best Practices
Continuous Delivery Best PracticesAmazon Web Services
 

Similar to DevConfZA 2020 : Automating your cloud: What are the building blocks (20)

AWS DevDay Vienna - Automating building blocks choices you will face with con...
AWS DevDay Vienna - Automating building blocks choices you will face with con...AWS DevDay Vienna - Automating building blocks choices you will face with con...
AWS DevDay Vienna - Automating building blocks choices you will face with con...
 
AWS SSA Webinar 12 - Getting started on AWS with Containers
AWS SSA Webinar 12 - Getting started on AWS with ContainersAWS SSA Webinar 12 - Getting started on AWS with Containers
AWS SSA Webinar 12 - Getting started on AWS with Containers
 
Continuous Integration and Continuous Delivery for your serverless apps - Seb...
Continuous Integration and Continuous Delivery for your serverless apps - Seb...Continuous Integration and Continuous Delivery for your serverless apps - Seb...
Continuous Integration and Continuous Delivery for your serverless apps - Seb...
 
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
 
AWS DevDay Cologne - Automating building blocks choices you will face with co...
AWS DevDay Cologne - Automating building blocks choices you will face with co...AWS DevDay Cologne - Automating building blocks choices you will face with co...
AWS DevDay Cologne - Automating building blocks choices you will face with co...
 
AWS DevDay Berlin - Automating building blocks choices you will face with con...
AWS DevDay Berlin - Automating building blocks choices you will face with con...AWS DevDay Berlin - Automating building blocks choices you will face with con...
AWS DevDay Berlin - Automating building blocks choices you will face with con...
 
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
 
20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH
 
AWS for Java Developers in 2019 - AWS Summit Sydney
AWS for Java Developers in 2019 - AWS Summit SydneyAWS for Java Developers in 2019 - AWS Summit Sydney
AWS for Java Developers in 2019 - AWS Summit Sydney
 
AWS Summit Singapore 2019 | Microsoft DevOps on AWS
AWS Summit Singapore 2019 | Microsoft DevOps on AWSAWS Summit Singapore 2019 | Microsoft DevOps on AWS
AWS Summit Singapore 2019 | Microsoft DevOps on AWS
 
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
 
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless
 
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit SydneyIntegrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
 
Deep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWSDeep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWS
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...
 
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
 
Vue presentation
Vue presentationVue presentation
Vue presentation
 
Continuous Delivery Best Practices
Continuous Delivery Best PracticesContinuous Delivery Best Practices
Continuous Delivery Best Practices
 

More from Cobus Bernard

AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...
AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...
AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...Cobus Bernard
 
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDB
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDBAWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDB
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDBCobus Bernard
 
AWS SSA Webinar 32 - Getting Started with databases on AWS: Choosing the righ...
AWS SSA Webinar 32 - Getting Started with databases on AWS: Choosing the righ...AWS SSA Webinar 32 - Getting Started with databases on AWS: Choosing the righ...
AWS SSA Webinar 32 - Getting Started with databases on AWS: Choosing the righ...Cobus Bernard
 
AWS SSA Webinar 30 - Getting Started with AWS - Infrastructure as Code - Terr...
AWS SSA Webinar 30 - Getting Started with AWS - Infrastructure as Code - Terr...AWS SSA Webinar 30 - Getting Started with AWS - Infrastructure as Code - Terr...
AWS SSA Webinar 30 - Getting Started with AWS - Infrastructure as Code - Terr...Cobus Bernard
 
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as CodeAWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as CodeCobus Bernard
 
AWS Webinar 24 - Getting Started with AWS - Understanding DR
AWS Webinar 24 - Getting Started with AWS - Understanding DRAWS Webinar 24 - Getting Started with AWS - Understanding DR
AWS Webinar 24 - Getting Started with AWS - Understanding DRCobus Bernard
 
AWS Webinar 23 - Getting Started with AWS - Understanding total cost of owner...
AWS Webinar 23 - Getting Started with AWS - Understanding total cost of owner...AWS Webinar 23 - Getting Started with AWS - Understanding total cost of owner...
AWS Webinar 23 - Getting Started with AWS - Understanding total cost of owner...Cobus Bernard
 
AWS SSA Webinar 21 - Getting Started with Data lakes on AWS
AWS SSA Webinar 21 - Getting Started with Data lakes on AWSAWS SSA Webinar 21 - Getting Started with Data lakes on AWS
AWS SSA Webinar 21 - Getting Started with Data lakes on AWSCobus Bernard
 
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWSAWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWSCobus Bernard
 
AWS SSA Webinar 19 - Getting Started with Multi-Region Architecture: Services
AWS SSA Webinar 19 - Getting Started with Multi-Region Architecture: ServicesAWS SSA Webinar 19 - Getting Started with Multi-Region Architecture: Services
AWS SSA Webinar 19 - Getting Started with Multi-Region Architecture: ServicesCobus Bernard
 
AWS SSA Webinar 18 - Getting Started with Multi-Region Architecture: Data
AWS SSA Webinar 18 - Getting Started with Multi-Region Architecture: DataAWS SSA Webinar 18 - Getting Started with Multi-Region Architecture: Data
AWS SSA Webinar 18 - Getting Started with Multi-Region Architecture: DataCobus Bernard
 
AWS EMEA Online Summit - Live coding with containers
AWS EMEA Online Summit - Live coding with containersAWS EMEA Online Summit - Live coding with containers
AWS EMEA Online Summit - Live coding with containersCobus Bernard
 
AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...
AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...
AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...Cobus Bernard
 
AWS SSA Webinar 17 - Getting Started on AWS with Amazon RDS
AWS SSA Webinar 17 - Getting Started on AWS with Amazon RDSAWS SSA Webinar 17 - Getting Started on AWS with Amazon RDS
AWS SSA Webinar 17 - Getting Started on AWS with Amazon RDSCobus Bernard
 
AWS SSA Webinar 15 - Getting started on AWS with Containers: Amazon EKS
AWS SSA Webinar 15 - Getting started on AWS with Containers: Amazon EKSAWS SSA Webinar 15 - Getting started on AWS with Containers: Amazon EKS
AWS SSA Webinar 15 - Getting started on AWS with Containers: Amazon EKSCobus Bernard
 
AWS SSA Webinar 13 - Getting started on AWS with Containers: Amazon ECS
AWS SSA Webinar 13 - Getting started on AWS with Containers: Amazon ECSAWS SSA Webinar 13 - Getting started on AWS with Containers: Amazon ECS
AWS SSA Webinar 13 - Getting started on AWS with Containers: Amazon ECSCobus Bernard
 
AWS SSA Webinar 11 - Getting started on AWS: Security
AWS SSA Webinar 11 - Getting started on AWS: SecurityAWS SSA Webinar 11 - Getting started on AWS: Security
AWS SSA Webinar 11 - Getting started on AWS: SecurityCobus Bernard
 
HashiTalks Africa - Going multi-account on AWS with Terraform
HashiTalks Africa - Going multi-account on AWS with TerraformHashiTalks Africa - Going multi-account on AWS with Terraform
HashiTalks Africa - Going multi-account on AWS with TerraformCobus Bernard
 
AWS SSA Webinar 10 - Getting Started on AWS: Networking
AWS SSA Webinar 10 - Getting Started on AWS: NetworkingAWS SSA Webinar 10 - Getting Started on AWS: Networking
AWS SSA Webinar 10 - Getting Started on AWS: NetworkingCobus Bernard
 
AWS SSA Webinar 9 - Getting Started on AWS: Storage
AWS SSA Webinar 9 - Getting Started on AWS: StorageAWS SSA Webinar 9 - Getting Started on AWS: Storage
AWS SSA Webinar 9 - Getting Started on AWS: StorageCobus Bernard
 

More from Cobus Bernard (20)

AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...
AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...
AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...
 
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDB
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDBAWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDB
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDB
 
AWS SSA Webinar 32 - Getting Started with databases on AWS: Choosing the righ...
AWS SSA Webinar 32 - Getting Started with databases on AWS: Choosing the righ...AWS SSA Webinar 32 - Getting Started with databases on AWS: Choosing the righ...
AWS SSA Webinar 32 - Getting Started with databases on AWS: Choosing the righ...
 
AWS SSA Webinar 30 - Getting Started with AWS - Infrastructure as Code - Terr...
AWS SSA Webinar 30 - Getting Started with AWS - Infrastructure as Code - Terr...AWS SSA Webinar 30 - Getting Started with AWS - Infrastructure as Code - Terr...
AWS SSA Webinar 30 - Getting Started with AWS - Infrastructure as Code - Terr...
 
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as CodeAWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
 
AWS Webinar 24 - Getting Started with AWS - Understanding DR
AWS Webinar 24 - Getting Started with AWS - Understanding DRAWS Webinar 24 - Getting Started with AWS - Understanding DR
AWS Webinar 24 - Getting Started with AWS - Understanding DR
 
AWS Webinar 23 - Getting Started with AWS - Understanding total cost of owner...
AWS Webinar 23 - Getting Started with AWS - Understanding total cost of owner...AWS Webinar 23 - Getting Started with AWS - Understanding total cost of owner...
AWS Webinar 23 - Getting Started with AWS - Understanding total cost of owner...
 
AWS SSA Webinar 21 - Getting Started with Data lakes on AWS
AWS SSA Webinar 21 - Getting Started with Data lakes on AWSAWS SSA Webinar 21 - Getting Started with Data lakes on AWS
AWS SSA Webinar 21 - Getting Started with Data lakes on AWS
 
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWSAWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWS
 
AWS SSA Webinar 19 - Getting Started with Multi-Region Architecture: Services
AWS SSA Webinar 19 - Getting Started with Multi-Region Architecture: ServicesAWS SSA Webinar 19 - Getting Started with Multi-Region Architecture: Services
AWS SSA Webinar 19 - Getting Started with Multi-Region Architecture: Services
 
AWS SSA Webinar 18 - Getting Started with Multi-Region Architecture: Data
AWS SSA Webinar 18 - Getting Started with Multi-Region Architecture: DataAWS SSA Webinar 18 - Getting Started with Multi-Region Architecture: Data
AWS SSA Webinar 18 - Getting Started with Multi-Region Architecture: Data
 
AWS EMEA Online Summit - Live coding with containers
AWS EMEA Online Summit - Live coding with containersAWS EMEA Online Summit - Live coding with containers
AWS EMEA Online Summit - Live coding with containers
 
AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...
AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...
AWS EMEA Online Summit - Blending Spot and On-Demand instances to optimizing ...
 
AWS SSA Webinar 17 - Getting Started on AWS with Amazon RDS
AWS SSA Webinar 17 - Getting Started on AWS with Amazon RDSAWS SSA Webinar 17 - Getting Started on AWS with Amazon RDS
AWS SSA Webinar 17 - Getting Started on AWS with Amazon RDS
 
AWS SSA Webinar 15 - Getting started on AWS with Containers: Amazon EKS
AWS SSA Webinar 15 - Getting started on AWS with Containers: Amazon EKSAWS SSA Webinar 15 - Getting started on AWS with Containers: Amazon EKS
AWS SSA Webinar 15 - Getting started on AWS with Containers: Amazon EKS
 
AWS SSA Webinar 13 - Getting started on AWS with Containers: Amazon ECS
AWS SSA Webinar 13 - Getting started on AWS with Containers: Amazon ECSAWS SSA Webinar 13 - Getting started on AWS with Containers: Amazon ECS
AWS SSA Webinar 13 - Getting started on AWS with Containers: Amazon ECS
 
AWS SSA Webinar 11 - Getting started on AWS: Security
AWS SSA Webinar 11 - Getting started on AWS: SecurityAWS SSA Webinar 11 - Getting started on AWS: Security
AWS SSA Webinar 11 - Getting started on AWS: Security
 
HashiTalks Africa - Going multi-account on AWS with Terraform
HashiTalks Africa - Going multi-account on AWS with TerraformHashiTalks Africa - Going multi-account on AWS with Terraform
HashiTalks Africa - Going multi-account on AWS with Terraform
 
AWS SSA Webinar 10 - Getting Started on AWS: Networking
AWS SSA Webinar 10 - Getting Started on AWS: NetworkingAWS SSA Webinar 10 - Getting Started on AWS: Networking
AWS SSA Webinar 10 - Getting Started on AWS: Networking
 
AWS SSA Webinar 9 - Getting Started on AWS: Storage
AWS SSA Webinar 9 - Getting Started on AWS: StorageAWS SSA Webinar 9 - Getting Started on AWS: Storage
AWS SSA Webinar 9 - Getting Started on AWS: Storage
 

Recently uploaded

VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewingbigorange77
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Deliverybabeytanya
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of indiaimessage0108
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 

Recently uploaded (20)

VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICECall Girls Service Dwarka @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICE
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewing
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of india
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 

DevConfZA 2020 : Automating your cloud: What are the building blocks

  • 1. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. O N L I N E - D E V C O N F Z A Automating your cloud: what are the building blocks Cobus Bernard Senior Developer Advocate AmazonWeb Services 02.04.20 @cobusbernard cobusbernard cobusbernard
  • 2. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Global Infrastructure • 22 Regions with 70 Availability Zones • 5 Regions coming soon: Cape Town Jakarta, Milan, Spain, Osaka
  • 3. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 4. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 5. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Developer for 15 years • AWS Customer for 8 years
  • 6. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda • Automation != DevOps  • Infrastructure as Code • The Golden Path • VM images • Containers • Deployments • Configuration management
  • 8. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 10. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 11. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 12. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 13. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. ulture
  • 14. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. ulture utomation
  • 16. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 17. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. ulture utomation easure
  • 18. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 19. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 20. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 21. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 22. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 23. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 24. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 25. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 26. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 27. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 28. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 29. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 30. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Usecodetomodelapplicationsandinfrastructure Infrastructure ascode Declarative I tell you what I need I tell you what to do Imperative
  • 31. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 32. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. import ec2 = require('@aws-cdk/aws-ec2'); import ecs = require('@aws-cdk/aws-ecs'); import cdk = require('@aws-cdk/cdk'); class BonjourFargate extends cdk.Stack { constructor(parent: cdk.App, name: string, props?: cdk.StackProps) { super(parent, name, props); const vpc = new ec2.VpcNetwork(this, ‘DevConfVpc', { maxAZs: 3 }); const cluster = new ecs.Cluster(this, ‘DevConfCluster', { vpc }); new ecs.LoadBalancedFargateService( this, "FargateService", { cluster, image: ecs.DockerHub.image("amazon/amazon-ecs-sample"), }); } } const app = new cdk.App(); new BonjourFargate(app, 'Bonjour'); app.run();
  • 33. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. import ec2 = require('@aws-cdk/aws-ec2'); import ecs = require('@aws-cdk/aws-ecs'); import cdk = require('@aws-cdk/cdk'); class BonjourFargate extends cdk.Stack { constructor(parent: cdk.App, name: string, props?: cdk.StackProps) { super(parent, name, props); const vpc = new ec2.VpcNetwork(this, ‘DevConfVpc', { maxAZs: 3 }); const cluster = new ecs.Cluster(this, ‘DevConfCluster', { vpc }); new ecs.LoadBalancedFargateService( this, "FargateService", { cluster, image: ecs.DockerHub.image("amazon/amazon-ecs-sample"), }); } } const app = new cdk.App(); new BonjourFargate(app, 'Bonjour'); app.run();
  • 34. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. # Using the module from https://github.com/terraform-aws- modules/terraform-aws-vpc module "vpc" { source = "terraform-aws-modules/vpc/aws" name = "devconf-za-vpc" cidr = "10.0.0.0/16" azs = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"] public_subnets = ["10.0.100.0/24", "10.0.101.0/24", "10.0.103.0/24"] }
  • 35. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. resource "aws_ecs_cluster" ”devconf_cluster” { name = ”DevConfCluster" }
  • 36. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. import ec2 = require('@aws-cdk/aws-ec2'); import ecs = require('@aws-cdk/aws-ecs'); import cdk = require('@aws-cdk/cdk'); class BonjourFargate extends cdk.Stack { constructor(parent: cdk.App, name: string, props?: cdk.StackProps) { super(parent, name, props); const vpc = new ec2.VpcNetwork(this, 'MyVpc', { maxAZs: 2 }); const cluster = new ecs.Cluster(this, 'Cluster', { vpc }); new ecs.LoadBalancedFargateService( this, "FargateService", { cluster, image: ecs.DockerHub.image("amazon/amazon-ecs-sample"), }); } } const app = new cdk.App(); new BonjourFargate(app, 'Bonjour'); app.run();
  • 37. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Usecodetomodelapplicationsandinfrastructure Infrastructure ascode goals 1. Make infrastructure changes repeatable and predictable 2. Release infrastructure changes using the same tools as code changes 3. Replicate production environment in a staging environment to enable continuous testing
  • 38. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. “Developers love great documentation.” Twitter
  • 39. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. “Developers love great documentation.” “Developers love creating great documentation” Twitter
  • 40. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. “Developers love great documentation.” “Developers love creating great documentation” Only one of these statements is true Twitter
  • 41. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Usecodetomodelapplicationsandinfrastructure Documentation How do you create the beebop with the thingy? Have a look at the repo, you can see how it was done.
  • 42. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. TypicalApplicationBuildandRunProcessforCode Write + Review Build + Test Deploy Measure Improve
  • 43. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. TypicalApplicationBuildandRunProcessforInfrastructure Write + Review Build + Test Deploy Measure Improve
  • 44. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 45. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Things toconsider
  • 46. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Things toconsider
  • 47. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Things toconsider
  • 48. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Things toconsider
  • 49. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Things toconsider
  • 50. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Things toconsider
  • 51. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. If you build it… You must maintain it
  • 52. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 53. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 54. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packer – building andAMI { "builders": [{ "type": "amazon-ebs", "region": "us-east-1", "source_ami_filter": { "filters": { "virtualization-type": "hvm", "name": "ubuntu/images/*ubuntu-bionic-18.04-amd64-server-*", "root-device-type": "ebs" }, "owners": ["099720109477"], "most_recent": true }, "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": ”DevConf-Golden-Base {{timestamp}}" }] }
  • 55. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packer – building andAMI { "builders": [{ "type": "amazon-ebs", "region": "us-east-1", "source_ami_filter": { "filters": { "virtualization-type": "hvm", "name": "ubuntu/images/*ubuntu-bionic-18.04-amd64-server-*", "root-device-type": "ebs" }, "owners": ["099720109477"], "most_recent": true }, "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": ”DevConf-Golden-Base {{timestamp}}" }] }
  • 56. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packer – building andAMI "provisioners": [ { "type": "shell", "script": "sudo apt-get update" }, { "type": "shell", "script": "sudo apt-get upgrade -y" } ]
  • 57. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packer – building andAMI { "variables": { ”java_version": ”1.9.01b" }, "builders": [{ "type": "amazon-ebs", "region": "us-east-1", "source_ami_filter": { "filters": { "virtualization-type": "hvm", "name": "DevConf-Golden-Base*", "root-device-type": "ebs" }, "owners": [”self"], "most_recent": true }, "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": ”DevConf Java {{java_version}} {{timestamp}}" }] }
  • 58. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packer – building andAMI { "variables": { ”java_version": ”1.9.01b" }, "builders": [{ "type": "amazon-ebs", "region": "us-east-1", "source_ami_filter": { "filters": { "virtualization-type": "hvm", "name": "DevConf-Golden-Base*", "root-device-type": "ebs" }, "owners": [”self"], "most_recent": true }, "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": ”DevConf Java {{java_version}} {{timestamp}}" }] }
  • 59. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packer – building andAMI { "variables": { ”java_version": ”1.9.01b" }, "builders": [{ "type": "amazon-ebs", "region": "us-east-1", "source_ami_filter": { "filters": { "virtualization-type": "hvm", "name": "DevConf-Golden-Base*", "root-device-type": "ebs" }, "owners": [”self"], "most_recent": true }, "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": ”DevConf Java {{java_version}} {{timestamp}}" }] }
  • 60. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packer – building andAMI "provisioners": [ { "type": "file", "source": "./welcome.txt", "destination": "/home/ubuntu/" }, { "type": "shell", "inline":[ "ls -al /home/ubuntu", "cat /home/ubuntu/welcome.txt" ] }, { "type": "shell", "script": "sudo apt install openjdk-8-jdk" } ]
  • 61. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. NestedVMImages └── devconf_golden_base ├── devconf_erlang ├── devconf_java │ ├── devconf_java_1_11 │ ├── devconf_java_1_6 │ └── devconf_java_1_9 └── devconf_ruby
  • 62. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. A successfulimage
  • 63. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 64. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 65. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 66. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 67. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWSCodeBuild: Build your images version: 0.2 phases: build: commands: - packer build devconf_golden.json - packer build devconf_java.json
  • 68. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Updating images Region Availability zone a Availability zone b Availability zone c 2020-01-01 2020-01-01 2020-01-01 2020-01-01
  • 69. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Updating images Region Availability zone a Availability zone b Availability zone c 2020-01-01 2020-01-01 2020-01-01 2020-01-29
  • 70. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Updating images Region Availability zone a Availability zone b Availability zone c 2020-01-01 2020-01-01 2020-01-01 2020-01-29 2020-01-29 2020-01-29 2020-01-29
  • 71. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Updating images Region Availability zone a Availability zone b Availability zone c 2020-01-29 2020-01-29 2020-01-29 2020-01-29
  • 72. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 73. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 74. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Multi-AZ architecture Region Availability zone a Availability zone b Availability zone c 2019-01-01 2019-01-01 2019-01-01 Elastic Load Balancing (ELB)
  • 75. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. X Multi-AZ architecture Region Availability zone a Availability zone b Availability zone c 2019-01-01 2019-01-01 2019-01-01 Elastic Load Balancing (ELB)
  • 76. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Multi-AZ architecture Region Availability zone a Availability zone b Availability zone c 2019-01-01 2019-01-01 Elastic Load Balancing (ELB)
  • 77. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Multi-AZ architecture Region Availability zone a Availability zone b Availability zone c 2019-02-02 2019-01-01 2019-01-01 Elastic Load Balancing (ELB)
  • 78. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Multi-AZ architecture Region Availability zone a Availability zone b Availability zone c 2019-02-02 2019-01-01 2019-01-01 Elastic Load Balancing (ELB)
  • 79. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 80. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 81. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 82. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 83. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 84. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 85.
  • 86. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 87. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monolith Does everything Monoliths are OK
  • 88. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 89. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. NestedVMImagesContainers └── devconf_golden_base ├── devconf_erlang ├── devconf_java │ ├── devconf_java_1_11 │ ├── devconf_java_1_6 │ └── devconf_java_1_9 └── devconf_ruby
  • 90. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. A successfulimage container
  • 91. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 92. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 93. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container imagetagging for deployments
  • 94. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container imagetagging for deployments Build pushes new “latest” image Image: sha256@22222... (“latest”)
  • 95. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container imagetagging for deployments Service scales up, launching new tasks Image: sha256@22222... (“latest”)
  • 96. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container imagetagging for deployments Deploy using immutable tags { "name": "sample-app", "image": "amazon/amazon-ecs- sample@sha256:3e39d933b1d948c92309bb583b5a1f3d28f0119e1551ca1fe538ba414a41af48d" } { "name": "sample-app", "image": "amazon/amazon-ecs-sample:build-b2085490-359f-4eaf-8970-6d1e26c354f0" } SHA256 Digest Build ID
  • 97. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container imagetagging for deployments
  • 98. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container imagetagging for deployments Build pushes new image tagged with new build ID Image: sha256@22222... (“build-22222”)
  • 99. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container imagetagging for deployments Service scales up, launching new tasks Image: sha256@22222... (“build-22222”)
  • 100. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Container imagetagging for deployments Image: “build-22222” tag Deployment updates service’s task definition, replacing tasks Image: sha256@22222... (“build-22222”)
  • 101. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 102. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. “I would not give a fig for the simplicity this side of complexity, but I would give would give my life for the simplicityon simplicity on the other side of complexity Oliver Wendell Holmes Jr.
  • 103. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS ECSCLIv2 ecs init ecs app deploy ecs pipeline init ecs pipeline update
  • 104. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWSCodeBuild:Any Project version: 0.2 phases: build: commands: - make build - make test - make package artifacts: type: zip files: - new_version.json
  • 105. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWSCodeBuild:Any Project version: 0.2 phases: build: commands: - make build - make test - make package artifacts: type: zip files: - new_version.json
  • 106. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Blue-green deployments
  • 107. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWSCodeBuild:Any Project version: 0.2 phases: build: commands: - make build - make test - make package artifacts: type: zip files: - new_version.json
  • 108. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWSCodePipeline:AnyProject stage { name = "Production" action { name = "Deploy" category = "Deploy" owner = "AWS" provider = "ECS" input_artifacts = ["new_version"] version = "1" configuration = { ClusterName = ”MyCluster" ServiceName = ”MyService" FileName = "new_version.json" } } }
  • 109. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Canarydeployments
  • 110. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Canarydeployments
  • 111. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Reading homework
  • 112. Thank you! © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Cobus Bernard Senior DeveloperAdvocate Amazon Web Services O N L I N E - D E V C O N F Z A @cobusbernard cobusbernard cobusbernard

Editor's Notes

  1. OPTIONAL
  2. Be open to helping others learn
  3. Things like VPCs / networking are good to do as infra as code.
  4. Reduce possibility of correlated failure
  5. Reduce possibility of correlated failure
  6. Reduce possibility of correlated failure
  7. Reduce possibility of correlated failure
  8. Talk about how I used to use them
  9. Reduce possibility of correlated failure
  10. Reduce possibility of correlated failure
  11. Reduce possibility of correlated failure
  12. Learn how to work in a team
  13. This is what innovation looked like in 1994. What you are looking at is Amazon's first website.
  14. Just remember that your containers are still running on a host somewhere, that needs patching