SlideShare uma empresa Scribd logo
1 de 68
Baixar para ler offline
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Time to Application-First
New features for developers, serverless and
containers
Kim, Kao
Solutions Architect
Amazon Web Services
Agenda
Containers on AWS
Infrastructure First
Application First with ECS Capacity Providers
EKS on Fargate
More new features update
AWS container services orchestration and compute
Deployment, scheduling,
scaling, and management of
containerized applications
Where the containers run
Amazon Elastic
Container Service
(Amazon ECS)
Amazon Elastic
Kubernetes Service
(Amazon EKS)
Amazon Elastic
Compute Cloud
(Amazon EC2)
AWS Fargate
Orchestration
Compute Engine
*Now available with
ECS and EKS
150%+
growth in container services usage
year-over-year
80%+ of all containers on the cloud run on AWS*
*Nucleus research: https://nucleusresearch.com/research/single/guidebook-containers-and-kubernetes-on-aws/
5X
Number of containers
launched per hour by
Amazon ECS compared
to VMs launched by
Amazon EC2
Amazon ECS powers Amazon
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS terminology
ECS cluster
ECS task
ECS service
ECS Cluster
ECS Cluster with Amazon EC2 Auto Scaling groups
EC2 Auto Scaling Group
EC2 Instances
ECS Tasks
Task Placement: How RunTask Happens
Placement Constraints
Placement Strategies
Availability Zone 1 Availability Zone 2
Availability Zone 1 Availability Zone 2
Scaling the Cluster
EC2 Auto Scaling Group
EC2 Instances
ECS Tasks
ECS Cluster
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application First
Tenets for Application First:
• Applications own their requirements.
• Infrastructure responds to application requirements.
Amazon ECS Capacity Providers: The Missing Link
ECS Cluster
ECS Capacity Provider
EC2 Instances
EC2 Auto Scaling Group
Amazon ECS Capacity Providers: The Missing Link
ECS Cluster
ECS Capacity Provider
EC2 Instances
ECS Tasks
EC2 Auto Scaling Group
Amazon ECS Capacity Providers: AWS Fargate
ECS Cluster
ECS Capacity Provider
ECS Tasks
Running Tasks with Capacity Provider Strategies
ECS Cluster
ECS Capacity Provider: CP1
ECS Capacity Provider: CP2
Splitting Across Capacity Providers: OD and Spot
Loadmetric
Time
3 3 3 3 3
4
8 8 8
#Replicas
6 6 6 6 6
8
16 16 16
Overprovision by 50%:
Reduce metric target value by 1/3
Run 2/3 On-Demand, 1/3 on Spot.
+50% capacity
for +5-10% cost
AZ Balance With Capacity Providers
ECS Cluster
ECS Capacity Provider: CP3
EC2 Auto Scaling Group
(AZ1)
ECS Capacity Provider: CP2
ECS Capacity Provider: CP1
EC2 Auto Scaling Group
(AZ2)
EC2 Auto Scaling Group
(AZ3)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The EC2 flow at 33,000 feet
Amazon EC2
Customer AccountAWS
VPC
PodService
You have to manage this
capacity (e.g., with ASGs)
Run a container on EC2
for me, please
EC2
Control Plane
ENI
The Fargate flow at 33,000 feet
Customer AccountAWS
Control Plane
VPC
AWS Fargate
Run a container on
FARGATE for me, please
You don’t have to
manage capacity
FARGATE
PodService
ENI
Fargate Managed nodes Unmanaged nodes
Units of work Pod Pod and EC2 Pod and EC2
Unit of charge Pod EC2 EC2
Fargate Vs. (Un)Managed Nodes
Fargate Managed nodes Unmanaged nodes
Units of work Pod Pod and EC2 Pod and EC2
Unit of charge Pod EC2 EC2
Host lifecycle There is no visible host AWS (SSH is allowed) Customer
Host AMI There is no visible host AWS vetted AMIs Customer BYO
Fargate Vs. (Un)Managed Nodes
Fargate Managed nodes Unmanaged nodes
Units of work Pod Pod and EC2 Pod and EC2
Unit of charge Pod EC2 EC2
Host lifecycle There is no visible host AWS (SSH is allowed) Customer
Host AMI There is no visible host AWS vetted AMIs Customer BYO
Host : Pods 1 : 1 1 : many 1 : many
Fargate vs. (Un)Managed Nodes
EKS data plane options
Worker nodes only
Amazon EKS
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2
Auto Scaling
Traditional container data plane
Pods
EKS data plane options
Mixed mode
Serverless container data plane
NEW
AWS Fargate
Amazon EKS
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2
Auto Scaling
Traditional container data plane
PodsPods
EKS data plane options
Fargate only
Serverless container data plane
NEW
AWS Fargate
Amazon EKS
Pods
Kubernetes and EKS: Objects and constructs
KubernetesAmazon EKS
Amazon EKS
Kubernetes and EKS: Objects and constructs
KubernetesAmazon EKS
aws eks create-cluster
aws eks update-cluster-version
…
kubectl apply
kubectl autoscale
Kubectl expose
…aws eks create-fargate-profile
NEW
Fargate profile template
Subnets to pick for
the Pod deployment
Parameters to “catch”
the pod deployment
IAM Role to be associated to the kubelet
{
"name": profile-a,
"clusterName": mycluster,
"podExecutionRole": iam-role-xyz,
"subnets": subnet-0ad888345,
"selectors": [
{
"namespace": prod,
"labels": {
stack: blue
}
}
]
}
Fargate profile
Simplified deployment flow
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2 Auto
Scaling
AWS Fargate
KubernetesAmazon EKS
Fargate Scheduler
Pod 4
Mutating/
Validating
Webhooks
namespace: prod
labels:
- stack: blue
- profile = profile-a
- schedulerName = fargate-
scheduler
Pod
3
2 namespace: prod
labels:
- stack: blue
1
Pod
{
"name": profile-a,
"clusterName": mycluster,
"podExecutionRole": iam-role-xyz,
"subnets": subnet-0ad888345,
"selectors": [
{
"namespace": prod,
"labels": {
stack: blue
}
}
]
}
Fargate profile
Simplified deployment flow
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2 Auto
Scaling
AWS Fargate
KubernetesAmazon EKS
Fargate Scheduler
Pod 4
Mutating/
Validating
Webhooks
namespace: test
1
Pod
2
3
Need a custom pod spec to deploy to Fargate?
No You can configure EKS to deploy to Fargate…
without touching your pod spec
See the pod
restart on Fargate
Kill the podCreate a Fargate
profile that matches
the pod namespace
(and optionally, labels)
Example
Run a pod on standard
worker nodes
Example: Deploy to workers
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2 Auto
Scaling
AWS Fargate
KubernetesAmazon EKS
Fargate Scheduler
Pod 4
Mutating/
Validating
Webhooks
2
3
1
Pod
namespace: default
1
Pod
{
"name": profile-a,
"clusterName": mycluster,
"podExecutionRole": iam-role-xyz,
"subnets": subnet-0ad888345,
"selectors": [
{
"namespace": default
}
}
]
}
Fargate profile
Example: Re-deploy to Fargate
Availability Zone 1
Auto Scaling group
Availability Zone 2
Auto Scaling group
Worker node Worker node
Worker node Worker node
Amazon EC2 Auto
Scaling
AWS Fargate
KubernetesAmazon EKS
Fargate Scheduler
Pod 4
Mutating/
Validating
Webhooks
namespace: default
labels:
- profile = profile-a
- shchedulerName = fargate-
schedulerPod
3
2 namespace: default
1
Pod
Same pod spec
Load Balancers considerations
ALB Ingress works as it normally does
Latest version includes the required code changes to make it work
NLB support is coming soon
Stay tuned
CLB will not work because it must target EC2 instances
There are no EC2 instances with EKS/Fargate
Storage options with EKS for Fargate
Fargate provides a local storage space for containers to share
This space is ephemeral and only lives for the time the pod lives
Persistent storage for Fargate is a frequent ask from customers
We are investigating the possibilities
EKSCTL support
EKSCTL supports Fargate and EC2 worker nodes
Make sure you use the latest version
It is possible to create a Fargate-only cluster
Or a combination of Fargate and managed node groups
EKSCTL takes care of some undifferentiated heavy lifting
Such as creating the Fargate profiles and more
> eksctl create cluster --fargate
Things you
can’t do
(for now)
Deploy
Daemonsets
Use service type
LoadBalancer (CLB/NLB)
Running privileged
containers
Run stateful
workloads
Recap: EKS for Fargate introduces UX changes
Things you no
longer need to do
Manage Kubernetes
worker nodes
Pay for unused
capacity
Use K8s Cluster
Autoscaler (CA)
Things you get
out of the box
VM isolation at
pod level
Pod level
billing
Easy chargeback in
multi-tenant scenarios
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Event-driven benefits
Event-driven models
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why do you need a router?
Why do you need a router?
Why do you need a router?
Amazon EventBridge
Native integrations with SaaS providers
17 target services
Easily build event-driven architectures
Fully managed, pay-as-you-go
Amazon
EventBridge
Event Source TargetsAmazon EventBridge event bus
Rule 1
Rule 2
Rule 3
Amazon EventBridge overview
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Types of event buses
Default Custom Partner
Event bus domain alignment
Event bus provisioning
shared services consumer a
AWS Step Functions workflow
Amazon DynamoDB Amazon Simple
Email Service
consumer b
Amazon EventBridge
shared event bus
Amazon CloudWatch
alarms
Amazon CloudWatch
Logs
Amazon Kinesis
Data Firehose
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Strangling legacy applications with events
Event-driven servicesInbound events
Outbound events
Credit: Forrest Brazeal - https://aws.amazon.com/blogs/aws/building-serverless-pipelines-with-amazon-cloudwatch-events/
event
generator
Amazon EventBridge
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How do you manage event types?
Schema Registry and Discovery
Explicitly published and auto-discovered
Integrations for VS Code and JetBrains
Language bindings for Java, Python, or
TypeScript
Source of truth for sharing schema
Amazon
EventBridge
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Step Functions Express Workflows
Introducing:
Orchestrate AWS compute, database, and messaging services at rates up
to 100,000 events per second, suitable for high-volume event processing
workloads such as IoT data ingestion, microservices orchestration, and
streaming data processing and transformation
Faster: greater than 100K state
transitions per second
Standard vs. Express Workflows
Standard Express
Executions
Executions are persisted and have
ARNs
Executions are not persisted except
as log data
Execution
history
Stored in Step Functions, with
tooling for visual debugging in the
console
Sent to Amazon CloudWatch Logs
Service
integrations
Supports all service integrations and
activities
Supports all service integrations.
Does not support activities.
Patterns Supports all patterns
Does not support Job-run (.sync) or
Callback (.wait For Callback)
Preview: HTTP APIs for Amazon API Gateway
Achieve up to 70% cost reduction and 50% latency reduction compared to REST APIs. HTTP APIs are
also easier to configure than REST APIs, allowing you to focus more time on building applications.
Amazon Confidential
Reduce application costs by
up to 70%
Reduce application latency by
up to 50%
Configure HTTP APIs easier
and faster than before
Provisioned Concurrency for AWS Lambda
INTRODUCING
Provisioned Concurrency keeps functions initialized and hyper-ready to
respond in double-digit milliseconds. Customers fully control when or
how long to enable Provisioned Concurrency. Taking advantage of
Provisioned Concurrency requires no changes to your code..
Amazon Confidential
Serverless
LEARN MORE
CON213-L: Leadership session: Using containers and serverless to accelerate modern application
development. Wednesday, 9:15am
Ideal for latency-sensitive
applications
The Amazon Builders’ Library
Architecture, software delivery, and operations
By Amazon’s senior technical executives and engineers
Real-world practices with detailed explanations
Content available for free on the website
The Amazon Builders’ Library
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kim Kao
Solutions Architect

Mais conteúdo relacionado

Mais procurados

Moving your commercial databases to Amazon RDS
Moving your commercial databases to Amazon RDSMoving your commercial databases to Amazon RDS
Moving your commercial databases to Amazon RDS
Amazon Web Services
 
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
 
Track 5 Session 3_ 迎戰DDoS攻擊的資安最佳實踐.pptx
Track 5 Session 3_ 迎戰DDoS攻擊的資安最佳實踐.pptxTrack 5 Session 3_ 迎戰DDoS攻擊的資安最佳實踐.pptx
Track 5 Session 3_ 迎戰DDoS攻擊的資安最佳實踐.pptx
Amazon Web Services
 

Mais procurados (20)

AWS Technical Essentials Day
AWS Technical Essentials DayAWS Technical Essentials Day
AWS Technical Essentials Day
 
State of the Union: Storage
State of the Union: StorageState of the Union: Storage
State of the Union: Storage
 
Moving your commercial databases to Amazon RDS
Moving your commercial databases to Amazon RDSMoving your commercial databases to Amazon RDS
Moving your commercial databases to Amazon RDS
 
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...
 
Using AWS Purpose-Built Databases to Modernize your Applications
Using AWS Purpose-Built Databases to Modernize your ApplicationsUsing AWS Purpose-Built Databases to Modernize your Applications
Using AWS Purpose-Built Databases to Modernize your Applications
 
AWS 101 - Tel Aviv Summit 2018
AWS 101 - Tel Aviv Summit 2018AWS 101 - Tel Aviv Summit 2018
AWS 101 - Tel Aviv Summit 2018
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
 
Come costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWSCome costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWS
 
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 應用
 
AWS Technical Essentials Day
AWS Technical Essentials DayAWS Technical Essentials Day
AWS Technical Essentials Day
 
AWS Webcast - AWS 101 - Journey to the AWS Cloud: Introduction to AWS
AWS Webcast - AWS 101 - Journey to the AWS Cloud: Introduction to AWSAWS Webcast - AWS 101 - Journey to the AWS Cloud: Introduction to AWS
AWS Webcast - AWS 101 - Journey to the AWS Cloud: Introduction to AWS
 
AWS 微服務架構分享
AWS 微服務架構分享AWS 微服務架構分享
AWS 微服務架構分享
 
Modernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWSModernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on 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
 
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
 
Introduction to AWS Workshop Series
Introduction to AWS Workshop SeriesIntroduction to AWS Workshop Series
Introduction to AWS Workshop Series
 
What is AWS?
What is AWS?What is AWS?
What is AWS?
 
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
 
Analyzing Your Web and Application Logs
Analyzing Your Web and Application Logs Analyzing Your Web and Application Logs
Analyzing Your Web and Application Logs
 
Track 5 Session 3_ 迎戰DDoS攻擊的資安最佳實踐.pptx
Track 5 Session 3_ 迎戰DDoS攻擊的資安最佳實踐.pptxTrack 5 Session 3_ 迎戰DDoS攻擊的資安最佳實踐.pptx
Track 5 Session 3_ 迎戰DDoS攻擊的資安最佳實踐.pptx
 

Semelhante a 應用開發新思維

Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot InstancesWorkshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Amazon Web Services
 

Semelhante a 應用開發新思維 (20)

AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
 
Containers Meetup (AWS+CNCF) Milano Jan 15th 2020
Containers Meetup (AWS+CNCF) Milano Jan 15th 2020Containers Meetup (AWS+CNCF) Milano Jan 15th 2020
Containers Meetup (AWS+CNCF) Milano Jan 15th 2020
 
Docker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and KubernetesDocker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and Kubernetes
 
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot InstancesWorkshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
 
Workshop: Deploy a Deep Learning Framework on Amazon ECS
Workshop: Deploy a Deep Learning Framework on Amazon ECSWorkshop: Deploy a Deep Learning Framework on Amazon ECS
Workshop: Deploy a Deep Learning Framework on Amazon ECS
 
Advanced Task Scheduling with Amazon ECS
Advanced Task Scheduling with Amazon ECSAdvanced Task Scheduling with Amazon ECS
Advanced Task Scheduling with Amazon ECS
 
Amazon EKS Deep Dive
Amazon EKS Deep DiveAmazon EKS Deep Dive
Amazon EKS Deep Dive
 
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesWKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
 
IDI 2020 - Containers Meet Serverless
IDI 2020 - Containers Meet ServerlessIDI 2020 - Containers Meet Serverless
IDI 2020 - Containers Meet Serverless
 
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
 
Securing Containerized Workloads on Amazon ECs
Securing Containerized Workloads on Amazon ECsSecuring Containerized Workloads on Amazon ECs
Securing Containerized Workloads on Amazon ECs
 
AWS March 2016 Webinar Series - Amazon EC2 Masterclass
AWS March 2016 Webinar Series - Amazon EC2 MasterclassAWS March 2016 Webinar Series - Amazon EC2 Masterclass
AWS March 2016 Webinar Series - Amazon EC2 Masterclass
 
Shipping logs to splunk from a container in aws howto
Shipping logs to splunk from a container in aws howtoShipping logs to splunk from a container in aws howto
Shipping logs to splunk from a container in aws howto
 
Amazon EC2:Masterclass
Amazon EC2:MasterclassAmazon EC2:Masterclass
Amazon EC2:Masterclass
 
February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive
 
From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWS
 
Run Your CI/CD and Test Workloads for 90% Less with Amazon EC2 Spot Instances...
Run Your CI/CD and Test Workloads for 90% Less with Amazon EC2 Spot Instances...Run Your CI/CD and Test Workloads for 90% Less with Amazon EC2 Spot Instances...
Run Your CI/CD and Test Workloads for 90% Less with Amazon EC2 Spot Instances...
 
Deep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep DiveDeep dive ECS & Fargate Deep Dive
Deep dive ECS & Fargate Deep Dive
 
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
 

Mais de Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon 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
 

Mais de 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...
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
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...
 
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...
 
Come costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSCome costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWS
 
AWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei server
 
Crea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSightCrea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSight
 
Costruisci modelli di Machine Learning con Amazon SageMaker Autopilot
Costruisci modelli di Machine Learning con Amazon SageMaker AutopilotCostruisci modelli di Machine Learning con Amazon SageMaker Autopilot
Costruisci modelli di Machine Learning con Amazon SageMaker Autopilot
 
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
 

應用開發新思維

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Time to Application-First New features for developers, serverless and containers Kim, Kao Solutions Architect Amazon Web Services
  • 2. Agenda Containers on AWS Infrastructure First Application First with ECS Capacity Providers EKS on Fargate More new features update
  • 3. AWS container services orchestration and compute Deployment, scheduling, scaling, and management of containerized applications Where the containers run Amazon Elastic Container Service (Amazon ECS) Amazon Elastic Kubernetes Service (Amazon EKS) Amazon Elastic Compute Cloud (Amazon EC2) AWS Fargate Orchestration Compute Engine *Now available with ECS and EKS
  • 4. 150%+ growth in container services usage year-over-year 80%+ of all containers on the cloud run on AWS* *Nucleus research: https://nucleusresearch.com/research/single/guidebook-containers-and-kubernetes-on-aws/
  • 5. 5X Number of containers launched per hour by Amazon ECS compared to VMs launched by Amazon EC2
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 8. Amazon ECS terminology ECS cluster ECS task ECS service
  • 9. ECS Cluster ECS Cluster with Amazon EC2 Auto Scaling groups EC2 Auto Scaling Group EC2 Instances ECS Tasks
  • 10. Task Placement: How RunTask Happens
  • 12. Placement Strategies Availability Zone 1 Availability Zone 2 Availability Zone 1 Availability Zone 2
  • 13. Scaling the Cluster EC2 Auto Scaling Group EC2 Instances ECS Tasks ECS Cluster
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. Application First Tenets for Application First: • Applications own their requirements. • Infrastructure responds to application requirements.
  • 16. Amazon ECS Capacity Providers: The Missing Link ECS Cluster ECS Capacity Provider EC2 Instances EC2 Auto Scaling Group
  • 17. Amazon ECS Capacity Providers: The Missing Link ECS Cluster ECS Capacity Provider EC2 Instances ECS Tasks EC2 Auto Scaling Group
  • 18. Amazon ECS Capacity Providers: AWS Fargate ECS Cluster ECS Capacity Provider ECS Tasks
  • 19. Running Tasks with Capacity Provider Strategies ECS Cluster ECS Capacity Provider: CP1 ECS Capacity Provider: CP2
  • 20. Splitting Across Capacity Providers: OD and Spot Loadmetric Time 3 3 3 3 3 4 8 8 8 #Replicas 6 6 6 6 6 8 16 16 16 Overprovision by 50%: Reduce metric target value by 1/3 Run 2/3 On-Demand, 1/3 on Spot. +50% capacity for +5-10% cost
  • 21. AZ Balance With Capacity Providers ECS Cluster ECS Capacity Provider: CP3 EC2 Auto Scaling Group (AZ1) ECS Capacity Provider: CP2 ECS Capacity Provider: CP1 EC2 Auto Scaling Group (AZ2) EC2 Auto Scaling Group (AZ3)
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 23. The EC2 flow at 33,000 feet Amazon EC2 Customer AccountAWS VPC PodService You have to manage this capacity (e.g., with ASGs) Run a container on EC2 for me, please EC2 Control Plane ENI
  • 24. The Fargate flow at 33,000 feet Customer AccountAWS Control Plane VPC AWS Fargate Run a container on FARGATE for me, please You don’t have to manage capacity FARGATE PodService ENI
  • 25. Fargate Managed nodes Unmanaged nodes Units of work Pod Pod and EC2 Pod and EC2 Unit of charge Pod EC2 EC2 Fargate Vs. (Un)Managed Nodes
  • 26. Fargate Managed nodes Unmanaged nodes Units of work Pod Pod and EC2 Pod and EC2 Unit of charge Pod EC2 EC2 Host lifecycle There is no visible host AWS (SSH is allowed) Customer Host AMI There is no visible host AWS vetted AMIs Customer BYO Fargate Vs. (Un)Managed Nodes
  • 27. Fargate Managed nodes Unmanaged nodes Units of work Pod Pod and EC2 Pod and EC2 Unit of charge Pod EC2 EC2 Host lifecycle There is no visible host AWS (SSH is allowed) Customer Host AMI There is no visible host AWS vetted AMIs Customer BYO Host : Pods 1 : 1 1 : many 1 : many Fargate vs. (Un)Managed Nodes
  • 28. EKS data plane options Worker nodes only Amazon EKS Availability Zone 1 Auto Scaling group Availability Zone 2 Auto Scaling group Worker node Worker node Worker node Worker node Amazon EC2 Auto Scaling Traditional container data plane Pods
  • 29. EKS data plane options Mixed mode Serverless container data plane NEW AWS Fargate Amazon EKS Availability Zone 1 Auto Scaling group Availability Zone 2 Auto Scaling group Worker node Worker node Worker node Worker node Amazon EC2 Auto Scaling Traditional container data plane PodsPods
  • 30. EKS data plane options Fargate only Serverless container data plane NEW AWS Fargate Amazon EKS Pods
  • 31. Kubernetes and EKS: Objects and constructs KubernetesAmazon EKS Amazon EKS
  • 32. Kubernetes and EKS: Objects and constructs KubernetesAmazon EKS aws eks create-cluster aws eks update-cluster-version … kubectl apply kubectl autoscale Kubectl expose …aws eks create-fargate-profile NEW
  • 33. Fargate profile template Subnets to pick for the Pod deployment Parameters to “catch” the pod deployment IAM Role to be associated to the kubelet
  • 34. { "name": profile-a, "clusterName": mycluster, "podExecutionRole": iam-role-xyz, "subnets": subnet-0ad888345, "selectors": [ { "namespace": prod, "labels": { stack: blue } } ] } Fargate profile Simplified deployment flow Availability Zone 1 Auto Scaling group Availability Zone 2 Auto Scaling group Worker node Worker node Worker node Worker node Amazon EC2 Auto Scaling AWS Fargate KubernetesAmazon EKS Fargate Scheduler Pod 4 Mutating/ Validating Webhooks namespace: prod labels: - stack: blue - profile = profile-a - schedulerName = fargate- scheduler Pod 3 2 namespace: prod labels: - stack: blue 1 Pod
  • 35. { "name": profile-a, "clusterName": mycluster, "podExecutionRole": iam-role-xyz, "subnets": subnet-0ad888345, "selectors": [ { "namespace": prod, "labels": { stack: blue } } ] } Fargate profile Simplified deployment flow Availability Zone 1 Auto Scaling group Availability Zone 2 Auto Scaling group Worker node Worker node Worker node Worker node Amazon EC2 Auto Scaling AWS Fargate KubernetesAmazon EKS Fargate Scheduler Pod 4 Mutating/ Validating Webhooks namespace: test 1 Pod 2 3
  • 36. Need a custom pod spec to deploy to Fargate? No You can configure EKS to deploy to Fargate… without touching your pod spec See the pod restart on Fargate Kill the podCreate a Fargate profile that matches the pod namespace (and optionally, labels) Example Run a pod on standard worker nodes
  • 37. Example: Deploy to workers Availability Zone 1 Auto Scaling group Availability Zone 2 Auto Scaling group Worker node Worker node Worker node Worker node Amazon EC2 Auto Scaling AWS Fargate KubernetesAmazon EKS Fargate Scheduler Pod 4 Mutating/ Validating Webhooks 2 3 1 Pod namespace: default 1 Pod
  • 38. { "name": profile-a, "clusterName": mycluster, "podExecutionRole": iam-role-xyz, "subnets": subnet-0ad888345, "selectors": [ { "namespace": default } } ] } Fargate profile Example: Re-deploy to Fargate Availability Zone 1 Auto Scaling group Availability Zone 2 Auto Scaling group Worker node Worker node Worker node Worker node Amazon EC2 Auto Scaling AWS Fargate KubernetesAmazon EKS Fargate Scheduler Pod 4 Mutating/ Validating Webhooks namespace: default labels: - profile = profile-a - shchedulerName = fargate- schedulerPod 3 2 namespace: default 1 Pod Same pod spec
  • 39. Load Balancers considerations ALB Ingress works as it normally does Latest version includes the required code changes to make it work NLB support is coming soon Stay tuned CLB will not work because it must target EC2 instances There are no EC2 instances with EKS/Fargate
  • 40. Storage options with EKS for Fargate Fargate provides a local storage space for containers to share This space is ephemeral and only lives for the time the pod lives Persistent storage for Fargate is a frequent ask from customers We are investigating the possibilities
  • 41. EKSCTL support EKSCTL supports Fargate and EC2 worker nodes Make sure you use the latest version It is possible to create a Fargate-only cluster Or a combination of Fargate and managed node groups EKSCTL takes care of some undifferentiated heavy lifting Such as creating the Fargate profiles and more > eksctl create cluster --fargate
  • 42. Things you can’t do (for now) Deploy Daemonsets Use service type LoadBalancer (CLB/NLB) Running privileged containers Run stateful workloads Recap: EKS for Fargate introduces UX changes Things you no longer need to do Manage Kubernetes worker nodes Pay for unused capacity Use K8s Cluster Autoscaler (CA) Things you get out of the box VM isolation at pod level Pod level billing Easy chargeback in multi-tenant scenarios
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 47. Why do you need a router?
  • 48. Why do you need a router?
  • 49. Why do you need a router?
  • 50. Amazon EventBridge Native integrations with SaaS providers 17 target services Easily build event-driven architectures Fully managed, pay-as-you-go Amazon EventBridge
  • 51. Event Source TargetsAmazon EventBridge event bus Rule 1 Rule 2 Rule 3 Amazon EventBridge overview
  • 52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 53. Types of event buses Default Custom Partner
  • 54. Event bus domain alignment
  • 55. Event bus provisioning shared services consumer a AWS Step Functions workflow Amazon DynamoDB Amazon Simple Email Service consumer b Amazon EventBridge shared event bus Amazon CloudWatch alarms Amazon CloudWatch Logs Amazon Kinesis Data Firehose
  • 56. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 57. Strangling legacy applications with events Event-driven servicesInbound events Outbound events Credit: Forrest Brazeal - https://aws.amazon.com/blogs/aws/building-serverless-pipelines-with-amazon-cloudwatch-events/ event generator Amazon EventBridge
  • 58. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 59. How do you manage event types?
  • 60. Schema Registry and Discovery Explicitly published and auto-discovered Integrations for VS Code and JetBrains Language bindings for Java, Python, or TypeScript Source of truth for sharing schema Amazon EventBridge
  • 61. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 62. AWS Step Functions Express Workflows Introducing: Orchestrate AWS compute, database, and messaging services at rates up to 100,000 events per second, suitable for high-volume event processing workloads such as IoT data ingestion, microservices orchestration, and streaming data processing and transformation Faster: greater than 100K state transitions per second
  • 63. Standard vs. Express Workflows Standard Express Executions Executions are persisted and have ARNs Executions are not persisted except as log data Execution history Stored in Step Functions, with tooling for visual debugging in the console Sent to Amazon CloudWatch Logs Service integrations Supports all service integrations and activities Supports all service integrations. Does not support activities. Patterns Supports all patterns Does not support Job-run (.sync) or Callback (.wait For Callback)
  • 64. Preview: HTTP APIs for Amazon API Gateway Achieve up to 70% cost reduction and 50% latency reduction compared to REST APIs. HTTP APIs are also easier to configure than REST APIs, allowing you to focus more time on building applications. Amazon Confidential Reduce application costs by up to 70% Reduce application latency by up to 50% Configure HTTP APIs easier and faster than before
  • 65. Provisioned Concurrency for AWS Lambda INTRODUCING Provisioned Concurrency keeps functions initialized and hyper-ready to respond in double-digit milliseconds. Customers fully control when or how long to enable Provisioned Concurrency. Taking advantage of Provisioned Concurrency requires no changes to your code.. Amazon Confidential Serverless LEARN MORE CON213-L: Leadership session: Using containers and serverless to accelerate modern application development. Wednesday, 9:15am Ideal for latency-sensitive applications
  • 66. The Amazon Builders’ Library Architecture, software delivery, and operations By Amazon’s senior technical executives and engineers Real-world practices with detailed explanations Content available for free on the website
  • 68. Thank you! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kim Kao Solutions Architect