SlideShare une entreprise Scribd logo
1  sur  35
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
如何藉由 CI/CD 流程管理容器化和
無伺服器應用
Jack Hsu
T r a c k 4 | S e s s i o n 4
Partner Solutions Architect
Amazon Web Services
Continuous integration/continuous deployment (CI/CD)
foundations
CI/CD pipelines with AWS CodePipeline
Infrastructure as code
AWS management and governance services
By way of introduction…
CI/CD tools Monitoring & tracing
SDKs
IDE
IDE and DevOps toolkits CLI and scripting tools
Web apps
MobileLanguages
Infrastructure as code
AWS
CodeStar
AWS
CodePipeline
AWS
CodeBuild
AWS
CodeCommit
AWS
CodeDeploy
AWS
CloudFormation
AWS
CDK
AWS
Cloud9
AWS
X-Ray
Amazon
CloudWatch
AWS Elastic
Beanstalk
AWS
Amplify
Amazon
Corretto
Internal and external customers across industries
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key reasons for organizations to adopt
CI/CD principles
• Accelerate the delivery of new, high-quality services
• Reduce the impact of changes
• Gain insight across resources and applications
• Protect customers and the business
Monolith development lifecycle
ServicesDevelopers
Delivery pipelines
MonitorBuild Test Release
Microservice development lifecycle
Developers Services
Delivery pipelines
MonitorBuild Test Release
Microservice development lifecycle
Developers Services Delivery pipelines
MonitorBuild Test Release
MonitorBuild Test Release
MonitorBuild Test Release
MonitorBuild Test Release
MonitorBuild Test Release
MonitorBuild Test Release
CI/CD for modern software delivery
AWS CodeBuild
+ third party
AWS
CodeCommit
AWS
CodeBuild
AWS
CodeDeploy
AWS
X-Ray
AWS CodePipeline
MonitorDeployTestBuildSourceAuthor
AWS Cloud9
AWS IDE toolkits
Amazon
CloudWatch
AWS
CloudFormation
AWS
SAM
AWS Cloud
Development Kit
Model
Amazon CodeGuru
Effects of CI/CD
Source: 2018 State of DevOps Report, DORA
Deployment frequency Weekly–monthly Hourly–daily
Change lead time 1–6 months 1–7 days
Change failure rate 46%–60% 0%–15%
48% of
software
teams
Continuous integration goals
Continuous integration
Source Build Test Production
1. Automatically kick off a new build when new code is checked in
2. Build and test code in a consistent, repeatable environment
3. Continually have an artifact ready for deployment
4. Continually close feedback loop when build fails
Continuous deployment goals
Continuous deployment
Source Build Test Production
1. Automatically deploy new changes to staging environments for testing
2. Deploy to production safely without impacting customers
3. Deliver to customers faster: Increase deployment frequency and reduce
change lead time and change failure rate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodePipeline
• Continuous delivery service for fast and reliable
application updates
• Model and visualize your software release process
• Builds, tests, and deploys your code every time
there is a code change
• Integrates with third-party tools and AWS
AWS CodePipeline: Supported sources
Automatically kick off release and pull latest source code
Pick object or folder
Amazon Simple
Storage Service
(Amazon S3)
Pick Docker tag
Amazon Elastic
Container
Registry
(Amazon ECR)
Pick branch
AWS CodeCommit
GitHub
AWS CodePipeline: Supported deployment targets
Automatically kick off release and pull latest source code
Containers
AWS CodeDeploy
Amazon Elastic Container
Service (Amazon ECS)
Amazon ECS (blue/green)
AWS Fargate
Serverless
AWS CodeDeploy
AWS CloudFormation
(AWS Serverless
Application Model
[AWS SAM])
AWS Lambda
Amazon Elastic Cloud
Compute (Amazon EC2)
AWS CodeDeploy
AWS Elastic Beanstalk
AWS OpsWorks stacks
AWS CodePipeline: Supported triggers
Automatically kick off release
Amazon EventBridge
• Scheduled (nightly release)
• AWS health events (AWS
Fargate platform retirement)
Available in Amazon
CloudWatch Events console,
API, SDK, CLI, and AWS
CloudFormation
Webhooks
• Docker Hub
• Quay
• Artifactory
Available in AWS CodePipeline
API, SDK, CLI, and AWS
CloudFormation
AWS CodeCommit supports Approval Rules
NEW
AWS CodeCommit now
supports Approval Rules that
must be met before a pull request
can be merged
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Infrastructure as code goals
Continuous deployment
Source Build Test Production
Infrastructure as code goals
Infrastructure as code
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
Continuous testing with infrastructure as code
Validate an artifact
(build stage)
• Unit tests
• Static analysis
• Mocked dependencies
and environments
• Vulnerability image scans
Validate an environment
(test stages)
• Integration tests against
real dependencies and
real environments
• Load testing
• Penetration testing
• Monitoring to test impact of
deployments on environment
Release infrastructure as code
“Master”
branch
Prepare template Create and execute
change set
Create and execute
change set
AWS Cloud Development Kit (AWS CDK)
CDK Application
AWS
CloudFormation
Template
Stack(s)
Construct Construct
Resources
AWS
CloudFormation
Amazon
Simple Queue
Service
AWS
Lambda
Amazon
S3 bucket
Amazon
DynamoDB
Define cloud infrastructure using
familiar programming languages
Higher-level components to
preconfigure cloud resources
NEW
CI/CD with the AWS CDK
Stack Stack
Region
Region
Region
Region
Region
Region
Region
Region
Git users
Git push
AWS Cloud
CDK Application
Stack
Construct Construct
Amazon Simple
Queue Service
AWS Lambda
AWS Fargate
Amazon
DynamoDB
Assets
AWS
CodePipeline
Stack Stack
Stack Stack
Stack Stack
Stack Stack
Under comment at CDK GitHub repo!
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
More innovation, greater agility, with control
Don’t choose between
agility or control
Customers want both Governance
Enable
Provision
Operate
Agility
Experiment
Be productive
Empower distributed
team
Your service management framework
Cloud center
of excellence
Monitoring
and logging
Developer
portal
Security&IAM
AWS resourcesManagement and governance
Compute Database Storage
Amazon
CloudWatch
AWS
CloudTrail
AWS
Config
AWS
Systems Manager
AWS
CloudFormation
AWS
Service Catalog
AWS
Organizations
AWS
Marketplace
AWS
Control Tower
Provision
Operate
AWS management and governance services
Enable
BUSINESS AGILITY + GOVERNANCE CONTROLAgility and control
AWS
Control Tower
AWS
Organizations
AWS
Budgets
AWS
License Manager
AWS Well-
Architected Tool
AWS
OpsWorks
AWS
CloudFormation
AWS
Service Catalog
AWS
Marketplace
AWS
Cost Explorer
Amazon
CloudWatch
AWS Cost and
Usage Reports
AWS
CloudTrail
AWS Systems
Manager
AWS
Config
AWS Chatbot (beta) can now run commands
• Receive notifications
• Run commands for diagnostic
information
• Predefined IAM policy templates
• Support for Slack and Chime
Interactive agent for ChatOps on AWS
New!
Send notifications from an AWS Code* service
Subscribe AWS Code* services to Amazon SNS topics
integrated with AWS Chatbot
New!
Amazon CodeGuru
Using machine learning (ML) to build and run high-performing applications
Built-in code reviews
with intelligent
recommendations
Detect and optimize
the expensive lines of
code pre-production
Easily identify
application inefficiencies
in production environment
New!
Learn to build modern applications on AWS
Enable rapid innovation by developing your skills in designing,
building, and managing modern applications
Resources created by the experts at AWS to help you build and validate developer skills
Validate expertise with the AWS Certified DevOps –
Professional or AWS Certified Developer – Associate exams
Learn to modernize your applications with free digital training and
classroom offerings, including Architecting on AWS, Developing on
AWS, and DevOps Engineering on AWS
Visit the developer learning path at aws.amazon.com/training/path-developing
Thank you!
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Contenu connexe

Tendances

Track 5 Session 5_STG03 AWS 檔案儲存服務概觀
Track 5 Session 5_STG03 AWS 檔案儲存服務概觀Track 5 Session 5_STG03 AWS 檔案儲存服務概觀
Track 5 Session 5_STG03 AWS 檔案儲存服務概觀
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 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Amazon Web Services
 
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 3 Session 5_ 使用 Amazon EC2 打造企業計算平台與成本和容量優化
Track 3 Session 5_ 使用 Amazon EC2 打造企業計算平台與成本和容量優化Track 3 Session 5_ 使用 Amazon EC2 打造企業計算平台與成本和容量優化
Track 3 Session 5_ 使用 Amazon EC2 打造企業計算平台與成本和容量優化
Amazon Web Services
 
Track 6 Session 6_ 透過 AWS AI 服務模擬、部署機器人於產業之應用
Track 6 Session 6_ 透過 AWS AI 服務模擬、部署機器人於產業之應用Track 6 Session 6_ 透過 AWS AI 服務模擬、部署機器人於產業之應用
Track 6 Session 6_ 透過 AWS AI 服務模擬、部署機器人於產業之應用
Amazon Web Services
 
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Amazon Web Services
 

Tendances (20)

Track 5 Session 5_STG03 AWS 檔案儲存服務概觀
Track 5 Session 5_STG03 AWS 檔案儲存服務概觀Track 5 Session 5_STG03 AWS 檔案儲存服務概觀
Track 5 Session 5_STG03 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 應用
 
Being Well Architected in the Cloud
Being Well Architected in the CloudBeing Well Architected in the Cloud
Being Well Architected in the Cloud
 
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
 
Transform Your Business with VMware Cloud on AWS: Technical Overview
Transform Your Business with VMware Cloud on AWS: Technical Overview Transform Your Business with VMware Cloud on AWS: Technical Overview
Transform Your Business with VMware Cloud on AWS: Technical Overview
 
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
 
Welcome Keynote - AWS Summit Stockholm
Welcome Keynote - AWS Summit Stockholm Welcome Keynote - AWS Summit Stockholm
Welcome Keynote - AWS Summit Stockholm
 
Track 3 Session 5_ 使用 Amazon EC2 打造企業計算平台與成本和容量優化
Track 3 Session 5_ 使用 Amazon EC2 打造企業計算平台與成本和容量優化Track 3 Session 5_ 使用 Amazon EC2 打造企業計算平台與成本和容量優化
Track 3 Session 5_ 使用 Amazon EC2 打造企業計算平台與成本和容量優化
 
AWSomeday Brussels Technical Track
AWSomeday Brussels Technical TrackAWSomeday Brussels Technical Track
AWSomeday Brussels Technical Track
 
Getting Started With Amazon Quick Sight
Getting Started With Amazon Quick SightGetting Started With Amazon Quick Sight
Getting Started With Amazon Quick Sight
 
Modernizing upstream workflows with aws storage - john mallory
Modernizing upstream workflows with aws storage -  john malloryModernizing upstream workflows with aws storage -  john mallory
Modernizing upstream workflows with aws storage - john mallory
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 
Simplify & Standardise Your Migration to AWS with a Migration Landing Zone
Simplify & Standardise Your Migration to AWS with a Migration Landing ZoneSimplify & Standardise Your Migration to AWS with a Migration Landing Zone
Simplify & Standardise Your Migration to AWS with a Migration Landing Zone
 
DEM06 How Demandbase Cut Its Container Costs by 79%
DEM06 How Demandbase Cut Its Container Costs by 79%DEM06 How Demandbase Cut Its Container Costs by 79%
DEM06 How Demandbase Cut Its Container Costs by 79%
 
AWS Customer Presentation - Angelbeat Princeton Seminar
AWS Customer Presentation -  Angelbeat Princeton SeminarAWS Customer Presentation -  Angelbeat Princeton Seminar
AWS Customer Presentation - Angelbeat Princeton Seminar
 
Track 6 Session 6_ 透過 AWS AI 服務模擬、部署機器人於產業之應用
Track 6 Session 6_ 透過 AWS AI 服務模擬、部署機器人於產業之應用Track 6 Session 6_ 透過 AWS AI 服務模擬、部署機器人於產業之應用
Track 6 Session 6_ 透過 AWS AI 服務模擬、部署機器人於產業之應用
 
An Introduction to AWS GovCloud (US) | AWS Public Sector Summit 2016
An Introduction to AWS GovCloud (US) | AWS Public Sector Summit 2016An Introduction to AWS GovCloud (US) | AWS Public Sector Summit 2016
An Introduction to AWS GovCloud (US) | AWS Public Sector Summit 2016
 
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
 
Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web ServicesIntroduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web Services
 
Enterprise Cloud Adoption
Enterprise Cloud AdoptionEnterprise Cloud Adoption
Enterprise Cloud Adoption
 

Similaire à Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用

Similaire à Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用 (20)

Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
 
Intro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarIntro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStar
 
Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Serverless Development To Production Pipeline
Serverless Development To Production PipelineServerless Development To Production Pipeline
Serverless Development To Production Pipeline
 
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
Intro to AWS Developer Tools feat. AWS Codestar, and AWS SDKs & Developer Res...
Intro to AWS Developer Tools feat. AWS Codestar, and AWS SDKs & Developer Res...Intro to AWS Developer Tools feat. AWS Codestar, and AWS SDKs & Developer Res...
Intro to AWS Developer Tools feat. AWS Codestar, and AWS SDKs & Developer Res...
 
Accelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform ServicesAccelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform Services
 
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
 
Developing applications on AWS with .NET core - AWS Cape Town Summit 2018
Developing applications on AWS with .NET core - AWS Cape Town Summit 2018Developing applications on AWS with .NET core - AWS Cape Town Summit 2018
Developing applications on AWS with .NET core - AWS Cape Town Summit 2018
 
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
 
Getting Started with Windows Workloads on Amazon EC2
Getting Started with Windows Workloads on Amazon EC2Getting Started with Windows Workloads on Amazon EC2
Getting Started with Windows Workloads on Amazon EC2
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
Getting Started with Windows Workloads on Amazon EC2 - Toronto
 Getting Started with Windows Workloads on Amazon EC2 - Toronto Getting Started with Windows Workloads on Amazon EC2 - Toronto
Getting Started with Windows Workloads on Amazon EC2 - Toronto
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & Delivery
 

Plus 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
 

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

Track 4 Session 4_ MAD02 MAD 04 如何藉由 CICD 流程管理容器化和無伺服器應用

  • 1. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. 如何藉由 CI/CD 流程管理容器化和 無伺服器應用 Jack Hsu T r a c k 4 | S e s s i o n 4 Partner Solutions Architect Amazon Web Services
  • 2. Continuous integration/continuous deployment (CI/CD) foundations CI/CD pipelines with AWS CodePipeline Infrastructure as code AWS management and governance services
  • 3. By way of introduction… CI/CD tools Monitoring & tracing SDKs IDE IDE and DevOps toolkits CLI and scripting tools Web apps MobileLanguages Infrastructure as code AWS CodeStar AWS CodePipeline AWS CodeBuild AWS CodeCommit AWS CodeDeploy AWS CloudFormation AWS CDK AWS Cloud9 AWS X-Ray Amazon CloudWatch AWS Elastic Beanstalk AWS Amplify Amazon Corretto
  • 4. Internal and external customers across industries
  • 5. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 6. Key reasons for organizations to adopt CI/CD principles • Accelerate the delivery of new, high-quality services • Reduce the impact of changes • Gain insight across resources and applications • Protect customers and the business
  • 8. Microservice development lifecycle Developers Services Delivery pipelines MonitorBuild Test Release
  • 9. Microservice development lifecycle Developers Services Delivery pipelines MonitorBuild Test Release MonitorBuild Test Release MonitorBuild Test Release MonitorBuild Test Release MonitorBuild Test Release MonitorBuild Test Release
  • 10. CI/CD for modern software delivery AWS CodeBuild + third party AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS X-Ray AWS CodePipeline MonitorDeployTestBuildSourceAuthor AWS Cloud9 AWS IDE toolkits Amazon CloudWatch AWS CloudFormation AWS SAM AWS Cloud Development Kit Model Amazon CodeGuru
  • 11. Effects of CI/CD Source: 2018 State of DevOps Report, DORA Deployment frequency Weekly–monthly Hourly–daily Change lead time 1–6 months 1–7 days Change failure rate 46%–60% 0%–15% 48% of software teams
  • 12. Continuous integration goals Continuous integration Source Build Test Production 1. Automatically kick off a new build when new code is checked in 2. Build and test code in a consistent, repeatable environment 3. Continually have an artifact ready for deployment 4. Continually close feedback loop when build fails
  • 13. Continuous deployment goals Continuous deployment Source Build Test Production 1. Automatically deploy new changes to staging environments for testing 2. Deploy to production safely without impacting customers 3. Deliver to customers faster: Increase deployment frequency and reduce change lead time and change failure rate
  • 14. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. AWS CodePipeline • Continuous delivery service for fast and reliable application updates • Model and visualize your software release process • Builds, tests, and deploys your code every time there is a code change • Integrates with third-party tools and AWS
  • 16. AWS CodePipeline: Supported sources Automatically kick off release and pull latest source code Pick object or folder Amazon Simple Storage Service (Amazon S3) Pick Docker tag Amazon Elastic Container Registry (Amazon ECR) Pick branch AWS CodeCommit GitHub
  • 17. AWS CodePipeline: Supported deployment targets Automatically kick off release and pull latest source code Containers AWS CodeDeploy Amazon Elastic Container Service (Amazon ECS) Amazon ECS (blue/green) AWS Fargate Serverless AWS CodeDeploy AWS CloudFormation (AWS Serverless Application Model [AWS SAM]) AWS Lambda Amazon Elastic Cloud Compute (Amazon EC2) AWS CodeDeploy AWS Elastic Beanstalk AWS OpsWorks stacks
  • 18. AWS CodePipeline: Supported triggers Automatically kick off release Amazon EventBridge • Scheduled (nightly release) • AWS health events (AWS Fargate platform retirement) Available in Amazon CloudWatch Events console, API, SDK, CLI, and AWS CloudFormation Webhooks • Docker Hub • Quay • Artifactory Available in AWS CodePipeline API, SDK, CLI, and AWS CloudFormation
  • 19. AWS CodeCommit supports Approval Rules NEW AWS CodeCommit now supports Approval Rules that must be met before a pull request can be merged
  • 20. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 21. Infrastructure as code goals Continuous deployment Source Build Test Production
  • 22. Infrastructure as code goals Infrastructure as code 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
  • 23. Continuous testing with infrastructure as code Validate an artifact (build stage) • Unit tests • Static analysis • Mocked dependencies and environments • Vulnerability image scans Validate an environment (test stages) • Integration tests against real dependencies and real environments • Load testing • Penetration testing • Monitoring to test impact of deployments on environment
  • 24. Release infrastructure as code “Master” branch Prepare template Create and execute change set Create and execute change set
  • 25. AWS Cloud Development Kit (AWS CDK) CDK Application AWS CloudFormation Template Stack(s) Construct Construct Resources AWS CloudFormation Amazon Simple Queue Service AWS Lambda Amazon S3 bucket Amazon DynamoDB Define cloud infrastructure using familiar programming languages Higher-level components to preconfigure cloud resources NEW
  • 26. CI/CD with the AWS CDK Stack Stack Region Region Region Region Region Region Region Region Git users Git push AWS Cloud CDK Application Stack Construct Construct Amazon Simple Queue Service AWS Lambda AWS Fargate Amazon DynamoDB Assets AWS CodePipeline Stack Stack Stack Stack Stack Stack Stack Stack Under comment at CDK GitHub repo!
  • 27. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 28. More innovation, greater agility, with control Don’t choose between agility or control Customers want both Governance Enable Provision Operate Agility Experiment Be productive Empower distributed team
  • 29. Your service management framework Cloud center of excellence Monitoring and logging Developer portal Security&IAM AWS resourcesManagement and governance Compute Database Storage Amazon CloudWatch AWS CloudTrail AWS Config AWS Systems Manager AWS CloudFormation AWS Service Catalog AWS Organizations AWS Marketplace AWS Control Tower
  • 30. Provision Operate AWS management and governance services Enable BUSINESS AGILITY + GOVERNANCE CONTROLAgility and control AWS Control Tower AWS Organizations AWS Budgets AWS License Manager AWS Well- Architected Tool AWS OpsWorks AWS CloudFormation AWS Service Catalog AWS Marketplace AWS Cost Explorer Amazon CloudWatch AWS Cost and Usage Reports AWS CloudTrail AWS Systems Manager AWS Config
  • 31. AWS Chatbot (beta) can now run commands • Receive notifications • Run commands for diagnostic information • Predefined IAM policy templates • Support for Slack and Chime Interactive agent for ChatOps on AWS New!
  • 32. Send notifications from an AWS Code* service Subscribe AWS Code* services to Amazon SNS topics integrated with AWS Chatbot New!
  • 33. Amazon CodeGuru Using machine learning (ML) to build and run high-performing applications Built-in code reviews with intelligent recommendations Detect and optimize the expensive lines of code pre-production Easily identify application inefficiencies in production environment New!
  • 34. Learn to build modern applications on AWS Enable rapid innovation by developing your skills in designing, building, and managing modern applications Resources created by the experts at AWS to help you build and validate developer skills Validate expertise with the AWS Certified DevOps – Professional or AWS Certified Developer – Associate exams Learn to modernize your applications with free digital training and classroom offerings, including Architecting on AWS, Developing on AWS, and DevOps Engineering on AWS Visit the developer learning path at aws.amazon.com/training/path-developing
  • 35. Thank you! © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Notes de l'éditeur

  1. Jack Hsu 在AWS擔任Partner Solution Architect合作夥伴解決方案架構師 如何藉由CI/CD流程管理現代化容器化和無伺服器應用
  2. 05:00
  3. 加速新的高質量服務的交付 減少變更的影響 深入了解資源和應用程序
  4. 持續整合和持續交付 (CI/CD) 管道 CodeCommit: 您可以使用 CodeCommit 安全地存放從來源碼到二進位程式碼間的任何項目,而且可與您現有的 Git 工具完美搭配 CodeBuild: AWS CodeBuild 提供適用於 Java、Python、Node.js、Ruby、Go、Android、.NET Core for Linux 及 Docker 的建置環境。自訂建置環境 CodeDeploy: 可自動將軟體部署到各種運算服務,包括 Amazon EC2、AWS Fargate、AWS Lambda 和現場部署伺服器。AWS CodeDeploy 可讓您輕鬆快速地發佈新功能、協助您避免在部署應用程式時停機,並處理複雜的應用程式更新。您可以使用 AWS CodeDeploy 自動部署軟體,省去易出錯的手動操作。此服務可根據您的部署需求進行擴展。 Model: AWS Serverless Application Model (AWS SAM) 是一種開放原始碼架構,可供您用於在 AWS 上建置無伺服器應用程式
  5. CodePipeline 管理 CI/CD管道 15:00
  6. AWS CodePipeline 是一種全受管持續交付服務 可快速,可靠地更新應用程序 可以模組化視覺化對軟件發布過程 每次發生代碼更改時,都要構建,測試和部署代碼 與第三方工具和AWS集成
  7. Amazon EventBridge 是一個無伺服器事件匯流排,可讓您使用來自自有應用程式、整合式軟體即服務 (SaaS) 應用程式和 AWS 服務的資料,輕鬆將應用程式彼此連線。EventBridge 交付來自事件來源 (如 Zendesk、Datadog 或 Pagerduty) 的即時資料串流,並且將該資料路由到 AWS Lambda 這類的目標。您可設定路由規則來決定要將資料送往何處,以便建立即時對您所有資料來源做出反應的應用程式架構。  EventBridge 讓建立事件導向應用程式變得輕鬆,因為它能為您解決事件擷取和交付、安全性、授權和錯誤處理。隨著您的應用程式透過事件變得越來越互連,您需要付出更多努力來查找事件並了解其結構,以便編寫程式碼以對這些事件做出反應。Amazon EventBridge 結構登錄檔將事件結構 (或結構描述) 儲存在一個共用中央位置,並將這些結構對應到 Java、Python 和 Typescript 的程式碼,這樣可以輕鬆地將事件作為您程式碼中的物件使用。您可以從 AWS 管理主控台、API 或 SDK Toolkits for Jetbrains (Intellij、PyCharm、Webstorm、Rider) 和 VS Code 連接到結構描述登錄檔並與其互動。
  8. 20:00
  9. 使基礎架構更改可重複且可預測 使用與代碼更改相同的工具來發布基礎結構更改 在登台環境中復制生產環境以實現連續測試
  10. V1 of the AWS Cloud Development Kit was released on July 11th with TypeScript, Javascript and Python as the primary supported Languages. The Java and C# support was in Preview but is now released. AWS CDK allows developers to write CloudFormation in a language they’re already using every day in their work.
  11. 24:00
  12. 敏捷: 實驗 富有成效 授權各團隊使自主 治理: 啟用 - AWS Control Tower / Organizations / Budgets / License Manager / WA Reviews 規定 - CloudFormation / Service Catalog / OpsWorks / Marketplace 操作 - CloudWatch / CloudTrail / Config / System Manager / Cost and Usage Report / Cost Explorer AWS offers a set of Management and Governance services to help our customers improve business agility AND maintain governance control. When IT deploys Management and Governance services on AWS, they can support innovation, unclog provisioning bottlenecks, improve their security and compliance posture, enhance operational efficiency, and reduce costs.
  13. 客戶正在組裝自己的工具鏈 這些工具鏈涉及AWS服務,組合是服務管理框架 各個客戶的作品各不相同,但如今大多數客戶正在構建這些作品 我們還了解到,在先前的行業中,每個客戶都將自己的工具鏈與我們的服務結合到一個命名的框架中。工具和服務的這種集合稱為服務管理框架。 我們使用該術語,因為它是一個鬆散的框架,由不同的客戶定義不同,並且可以滿足不同的需求。但是,作為我們作為整個框架基礎的雲服務的提供者, 我們承認並觀察到客戶如何將來自其他合作夥伴的其他工具集成到我們的管理和治理框架中。而且,我們僅列出了人們經常添加的一些工具。 對我們的。雲卓越中心團隊經常執行此選擇。 Customers are assembling their own tool chains These tool chains involve AWS services, the combo is a service management framework Pieces vary customer by customer but a majority of customers are building these today What we’ve also learned is that every customer , in the prior set of industries, assembles their own tool chain, in combination with our Services, into some named framework. This collection of tools and services is called the service management framework. We use that term, because it is a loose framework, defined differently by different customers, and it solves for different needs. But in our being the provider of the cloud services, underlying your overall framework, we acknowledge and observe how customers integrate other tools, from other partners, into our management and governance framework.. And we list just some of the tools people often add on to ours. The cloud center of excellence teams often perform this selection.
  14. CloudFormation / service Catalog / OpsWorks / Marketplace CloudWatch / CloudTrail / Config / System Manager / Cost and Usage Report / Cost Explorer AWS supports service mgt frameworks with a set of 17 services in the mgt and governance space Broken down into three buckets – enable, provision, operate Last year, we retitled the console group just before reinvent 2019, as “ Management and Governance” – a conscious console naming decision to describe a collection of services. There are over 17 associated services, across our console, that we think about enabling, provisioning and operating resources, at scale, in an organization. 1/ Enable your builders for speed with built-in governance AWS Control Tower to set-up an AWS environment with governance built-in from the start across accounts AWS Organizations to provide on-going governance of your AWS environment through Service control and resource policies. AWS Budgets: Depending on how you budget for resources, and how you track license compliance, for things like windows server, we are also building out AWS Budgets and License Manager.. 2/ Provision applications and resources that meet your policies AWS CloudFormation is our core scripting language tool for describing and provisioning resources – it covers over 100 AWS Services AWS Service Catalog simplifies resource definition to a defined product level, under an API, to simplify yet scale the distribution and publication of pre-approved catalog of applications, resources, or services for builder/user teams to consume in a self-service manner with less learning and faster deployment. AWS Marketplace enables the provisioning of third party products, many pre-wrapped in CFN JSON, which makes it easy to find, BYOL, buy, deploy, and then govern those 3rd party applications. 3/ Operate your environment with speed and governance Amazon CloudWatch makes it easy to monitor AWS resources, applications and services, helping ensure your applications are running smoothly. AWS CloudTrail helps improve compliance auditing and security analysis, by making it easy to record and track user & application activity against those resources . AWS Config is designed to to automate ,evaluate and monitor your AWS resource configurations, set policies for your configurations, and quickly remediate configurations that fall out of compliance. AWS Systems Manager, the central operational control point for operators to manage applications and resources in AWS, and seamlessly extend across to your existing on-premises or hybrid cloud environments. And for IT Finance / and Operations teams to collaborate, our ongoing Cost and Usage Reports, and Cost Explorer, are designed to present data on cost of operations, for ongoing governance and alerting about spend. Most large organizations treat IT Finance as part of their governance team. And of course, on the left, we have a whole set of Security and Identity Controls, where the CISO has oversight on access controls to resources. We can’t also dig into that this morning. There are a separate set of sessions on that, but let’s be clear, that integration of Security into DevOps, is ongoing, and leading to more of a DevSecOps model. This framework of our Management and Governance services, is a good view on the tools we are building out from customer feedback, to optimize your agility, your control, and to increase automation at scale. (TOO LONG 1:45 )
  15. If you’re ready to continue learning: Live instructor-led courses offer accredited AWS instructors who teach using a mix of presentations, discussion, and hands-on labs Learn to modernize your applications with courses like Architecting on AWS, Developing on AWS, Advanced Developing on AWS, and DevOps Engineering on AWS Visit the learning path tailored specifically for the developer role