SlideShare ist ein Scribd-Unternehmen logo
1 von 35
goployer, 코드 기반의 배포
Deployment best practices
송주영 / DevOps 엔지니어, beNX
DevOps engineer at weverse and AWS Container hero
Juyoung Song
Search Google!
Personal Github: https://github.com/jupitersong
Project Github: https://github.com/DevopsArtFactory
Linked-in: https://www.linkedin.com/in/jupitersong
AWS Hero: https://aws.amazon.com/developer/community/heroes/juyoung-
song
Youtube: https://bit.ly/34QWr6U
e-mail: jupitersong47@gmail.com
A platform used by over 10 million users, Millions requests per min
is a platform for entertainment.
is a platform for entertainment !
Agenda
• Infrastructure as code
• goployer
• Project DevOps Art
Infrastructure as code
Infrastructure as code : Area and Cycle
Source code Build Test Deployment Production
Infrastructure as code : Area and Cycle
Source code Build Test Deployment Production
Infrastructure as Code
Infrastructure as code : Area and Cycle
Source code Build Test Deployment Production
Modern Infrastructure as Code
Infrastructure as code : Area and Cycle
Source code Build Test Deployment Production
Modern Infrastructure as Code
- Source Repo
- Library manager
- Security as code
- Measurement
- C.I Tools
- Golden AMI
- Measurement
- Testing as code
- Synthetic
- Load testing
- Measurement
- Deployment as
code
- Immutable
- Measurement
- GitOps
- Monitoring as
code
- Alerting as Code
- Chaos engineering
- Log management
- Analyzing
- Measurement
goployer : Modern deployment tool
Opensource deployment tool Goployer: https://goployer.dev
Infrastructure as code : Area and Cycle
Source code Build Test Deployment Production
Modern Infrastructure as Code
- Source Repo
- Library manager
- Security Inspect
- Measurement
- C.I Tools
- Golden AMI
- Measurement
- Testing as code
- Synthetic
- Load testing
- Measurement
- Deployment as
code
- Immutable
- Measurement
- GitOps
- Monitoring as
code
- Alerting as Code
- Chaos engineering
- Log management
- Analyzing
- Measurement
Infrastructure as code : Area and Cycle
Best practices
● Servers are never modified after they're deployed.
● If server has some problem, terminate it!
● If something needs to be updated, do deploy!
● Do troubleshooting !
But do not change something in server
● Ensure each phase is the same
● Create and use golden AMI by Packer
Immutable Infrastructure
Deployment as Code
Measurement
Test
Cost effective
Simple
Best practices for deployment
Immutable infrastructure : Blue/Green Deployment #1
exists v001
new v002
1.create ASG
goployer deploy
GOPLOYER
1.Notify Slack
Best practices for deployment
new v002
1.create instance
goployer deploy
GOPLOYER
2.userdata boot up
exists v001
Immutable infrastructure : Blue/Green Deployment #2
Best practices for deployment
new v002
1.create ASG
goployer deploy
GOPLOYER
2.userdata boot up
3.health check
exists v001
3.Notify Slack
Immutable infrastructure : Blue/Green Deployment #3
Best practices for deployment
new v002
1.create ASG
goployer deploy
GOPLOYER
2.userdata boot up
3.health check
4.Terminate exist ASG
exists v001
Blue/Green
deployment!
4.Notify Slack
Immutable infrastructure : Blue/Green Deployment #4
Best practices for deployment
current v002
5.Notify Slack
goployer deploy
GOPLOYER
Immutable infrastructure : Blue/Green Deployment #5
Best practices for deployment
Immutable infrastructure : How about Canary ?
exists v001
new v002
1.create ASG
goployer deploy
GOPLOYER
1.Notify Slack
- Create 1 instance
- Create endpoint for the instance
2.userdata boot up
Best practices for deployment
new v002
1.create ASG
goployer deploy
GOPLOYER
2.userdata boot up
3.health check
4.Terminate exist ASG
exists v001
Canary
deployment!
4.Notify Slack
Immutable infrastructure : How about Canary ?
4.Increase the
number of instance
Deployment best practices
Best practices
Immutable Infrastructure
Deployment as Code
Measurement
Test
Cost effective
Simple
● service.yaml file
Deployment best practices
Best practices
Immutable Infrastructure
Deployment as Code
Measurement
Test
Cost effective
Simple
● If move it, measure it
● Get insight from everything
● metrics.yaml
● Dynamodb
○ Metrics for deployment : info, date
○ Metrics for server : uptime,
○ Stats : RequestCount,
Deployment best practices
Best practices
Immutable Infrastructure
Deployment as Code
Measurement
Test
Cost effective
Simple
● Enable/Disable automate testing
● Integrated with Vegeta
○ https://github.com/tsenart/vegeta
○ Simple http(s) loadtest tool
○ Support Go library
Deployment best practices
Best practices
Immutable Infrastructure
Deployment as Code
Measurement
Test
Cost effective
Simple
● Easy to use ASG
● Easy to predict
● Support spot instance
● Support scheduled instance
EC2 Pricing Model Score
(normalized RI hours + normalized Savings Plans hours
+ normalized Spot hours) / (total normalized EC2 hours)
Deployment best practices
Best practices
Immutable Infrastructure
Deployment as Code
Measurement
Test
Cost effective
Simple
● Easy to use ASG
● Easy to predict
● Support spot instance
● Support scheduled instance
EC2 Pricing Model Score is 96%
(normalized RI hours + normalized Savings Plans hours
+ normalized Spot hours) / (total normalized EC2 hours)
Deployment best practices
Best practices
Immutable Infrastructure
Deployment as Code
Measurement
Test
Cost effective
Simple
● Developed by golang
● Simple commands
● Various powerful commands
goployer deploy --manifest=manifests/hello.yaml 
--stack=yourstack --region=ap-northeast-2
Project DevOps Art
DevOps 철학의 올바른 개념적 이해와
철학에 기반한 이상적인 구현을 위한
프로젝트
DevOps 의 목적인 업무 속도와 효율화를 위해 다양한
코드를 공유하고 오픈소스를 개발하고 있습니다.
- Sharing Infrastructure code for best practices
- Opensource with Terraform
- CLI for automation
- Deployment tool
- Online workshop
Github: https://github.com/DevopsArtFactory
Owner & Maintainer
- https://www.linkedin.com/in/jupitersong
- https://www.linkedin.com/in/gwonsoolee
- https://blog.2dal.com
DevOps Art
What is the project DevOps Art and purpose ?
Concept Art
Be Art from Tech
Designed by Cindy
DevOps 철학의 올바른 개념적 이해와
철학에 기반한 이상적인 구현을 위한 프로젝트
전직군, 전계열이 하나처럼 일하는 것
Be an Artist From a Technician
Be an Engineer From a Firefighter
Youtube 구독과 좋아요, 그리고 Github Star는 프로젝트를 만들어나가는 이들에게 큰
힘이 됩니다.
Goployer Github: https://github.com/DevopsArtFactory/goployer
Youtube: https://bit.ly/34QWr6U
DevOps Art project
DevOps Art Project
Conclusion
AWS Community 2020 !
We are hiring
https://bighit.recruiter.co.kr -> beNX
jupiter.song@bighitcorp.com
Thank you !

Weitere ähnliche Inhalte

Was ist angesagt?

AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

Was ist angesagt? (20)

Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
 
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션 - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션  - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션  - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션 - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
Introduction to Amazon EKS
Introduction to Amazon EKSIntroduction to Amazon EKS
Introduction to Amazon EKS
 
AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
Serverless Framework (2018)
Serverless Framework (2018)Serverless Framework (2018)
Serverless Framework (2018)
 
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
 
Deep Dive into AWS SAM
Deep Dive into AWS SAMDeep Dive into AWS SAM
Deep Dive into AWS SAM
 
Amazon Aurora 100% 활용하기
Amazon Aurora 100% 활용하기Amazon Aurora 100% 활용하기
Amazon Aurora 100% 활용하기
 
Getting Started on Amazon EKS
Getting Started on Amazon EKSGetting Started on Amazon EKS
Getting Started on Amazon EKS
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
AWS Control Tower
AWS Control TowerAWS Control Tower
AWS Control Tower
 
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkContinuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and Serverless
 
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best Practices
 

Ähnlich wie goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020

Arm html5 presentation
Arm html5 presentationArm html5 presentation
Arm html5 presentation
Ian Renyard
 

Ähnlich wie goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020 (20)

CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
DevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOpsDevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOps
 
Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019
 
Docker-native Automated Delivery w/ Caylent
Docker-native Automated Delivery w/ CaylentDocker-native Automated Delivery w/ Caylent
Docker-native Automated Delivery w/ Caylent
 
Continuous Development Pipeline
Continuous Development PipelineContinuous Development Pipeline
Continuous Development Pipeline
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
 
Arm html5 presentation
Arm html5 presentationArm html5 presentation
Arm html5 presentation
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
 
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
 
Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, Ukraine
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 

Mehr von AWSKRUG - AWS한국사용자모임

Mehr von AWSKRUG - AWS한국사용자모임 (20)

IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
 
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
 
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
 
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
 
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
 
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
 
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
 
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
 
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
 
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
 
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
 
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
 

Kürzlich hochgeladen

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 

Kürzlich hochgeladen (20)

2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 

goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020

  • 1. goployer, 코드 기반의 배포 Deployment best practices 송주영 / DevOps 엔지니어, beNX
  • 2. DevOps engineer at weverse and AWS Container hero Juyoung Song Search Google! Personal Github: https://github.com/jupitersong Project Github: https://github.com/DevopsArtFactory Linked-in: https://www.linkedin.com/in/jupitersong AWS Hero: https://aws.amazon.com/developer/community/heroes/juyoung- song Youtube: https://bit.ly/34QWr6U e-mail: jupitersong47@gmail.com
  • 3. A platform used by over 10 million users, Millions requests per min is a platform for entertainment.
  • 4. is a platform for entertainment !
  • 5. Agenda • Infrastructure as code • goployer • Project DevOps Art
  • 7. Infrastructure as code : Area and Cycle Source code Build Test Deployment Production
  • 8. Infrastructure as code : Area and Cycle Source code Build Test Deployment Production Infrastructure as Code
  • 9. Infrastructure as code : Area and Cycle Source code Build Test Deployment Production Modern Infrastructure as Code
  • 10. Infrastructure as code : Area and Cycle Source code Build Test Deployment Production Modern Infrastructure as Code - Source Repo - Library manager - Security as code - Measurement - C.I Tools - Golden AMI - Measurement - Testing as code - Synthetic - Load testing - Measurement - Deployment as code - Immutable - Measurement - GitOps - Monitoring as code - Alerting as Code - Chaos engineering - Log management - Analyzing - Measurement
  • 11. goployer : Modern deployment tool
  • 12. Opensource deployment tool Goployer: https://goployer.dev
  • 13. Infrastructure as code : Area and Cycle Source code Build Test Deployment Production Modern Infrastructure as Code - Source Repo - Library manager - Security Inspect - Measurement - C.I Tools - Golden AMI - Measurement - Testing as code - Synthetic - Load testing - Measurement - Deployment as code - Immutable - Measurement - GitOps - Monitoring as code - Alerting as Code - Chaos engineering - Log management - Analyzing - Measurement
  • 14. Infrastructure as code : Area and Cycle Best practices ● Servers are never modified after they're deployed. ● If server has some problem, terminate it! ● If something needs to be updated, do deploy! ● Do troubleshooting ! But do not change something in server ● Ensure each phase is the same ● Create and use golden AMI by Packer Immutable Infrastructure Deployment as Code Measurement Test Cost effective Simple
  • 15. Best practices for deployment Immutable infrastructure : Blue/Green Deployment #1 exists v001 new v002 1.create ASG goployer deploy GOPLOYER 1.Notify Slack
  • 16. Best practices for deployment new v002 1.create instance goployer deploy GOPLOYER 2.userdata boot up exists v001 Immutable infrastructure : Blue/Green Deployment #2
  • 17. Best practices for deployment new v002 1.create ASG goployer deploy GOPLOYER 2.userdata boot up 3.health check exists v001 3.Notify Slack Immutable infrastructure : Blue/Green Deployment #3
  • 18. Best practices for deployment new v002 1.create ASG goployer deploy GOPLOYER 2.userdata boot up 3.health check 4.Terminate exist ASG exists v001 Blue/Green deployment! 4.Notify Slack Immutable infrastructure : Blue/Green Deployment #4
  • 19. Best practices for deployment current v002 5.Notify Slack goployer deploy GOPLOYER Immutable infrastructure : Blue/Green Deployment #5
  • 20. Best practices for deployment Immutable infrastructure : How about Canary ? exists v001 new v002 1.create ASG goployer deploy GOPLOYER 1.Notify Slack - Create 1 instance - Create endpoint for the instance 2.userdata boot up
  • 21. Best practices for deployment new v002 1.create ASG goployer deploy GOPLOYER 2.userdata boot up 3.health check 4.Terminate exist ASG exists v001 Canary deployment! 4.Notify Slack Immutable infrastructure : How about Canary ? 4.Increase the number of instance
  • 22. Deployment best practices Best practices Immutable Infrastructure Deployment as Code Measurement Test Cost effective Simple ● service.yaml file
  • 23. Deployment best practices Best practices Immutable Infrastructure Deployment as Code Measurement Test Cost effective Simple ● If move it, measure it ● Get insight from everything ● metrics.yaml ● Dynamodb ○ Metrics for deployment : info, date ○ Metrics for server : uptime, ○ Stats : RequestCount,
  • 24.
  • 25. Deployment best practices Best practices Immutable Infrastructure Deployment as Code Measurement Test Cost effective Simple ● Enable/Disable automate testing ● Integrated with Vegeta ○ https://github.com/tsenart/vegeta ○ Simple http(s) loadtest tool ○ Support Go library
  • 26.
  • 27. Deployment best practices Best practices Immutable Infrastructure Deployment as Code Measurement Test Cost effective Simple ● Easy to use ASG ● Easy to predict ● Support spot instance ● Support scheduled instance EC2 Pricing Model Score (normalized RI hours + normalized Savings Plans hours + normalized Spot hours) / (total normalized EC2 hours)
  • 28. Deployment best practices Best practices Immutable Infrastructure Deployment as Code Measurement Test Cost effective Simple ● Easy to use ASG ● Easy to predict ● Support spot instance ● Support scheduled instance EC2 Pricing Model Score is 96% (normalized RI hours + normalized Savings Plans hours + normalized Spot hours) / (total normalized EC2 hours)
  • 29. Deployment best practices Best practices Immutable Infrastructure Deployment as Code Measurement Test Cost effective Simple ● Developed by golang ● Simple commands ● Various powerful commands goployer deploy --manifest=manifests/hello.yaml --stack=yourstack --region=ap-northeast-2
  • 31. DevOps 철학의 올바른 개념적 이해와 철학에 기반한 이상적인 구현을 위한 프로젝트 DevOps 의 목적인 업무 속도와 효율화를 위해 다양한 코드를 공유하고 오픈소스를 개발하고 있습니다. - Sharing Infrastructure code for best practices - Opensource with Terraform - CLI for automation - Deployment tool - Online workshop Github: https://github.com/DevopsArtFactory Owner & Maintainer - https://www.linkedin.com/in/jupitersong - https://www.linkedin.com/in/gwonsoolee - https://blog.2dal.com DevOps Art What is the project DevOps Art and purpose ? Concept Art Be Art from Tech Designed by Cindy
  • 32. DevOps 철학의 올바른 개념적 이해와 철학에 기반한 이상적인 구현을 위한 프로젝트 전직군, 전계열이 하나처럼 일하는 것 Be an Artist From a Technician Be an Engineer From a Firefighter Youtube 구독과 좋아요, 그리고 Github Star는 프로젝트를 만들어나가는 이들에게 큰 힘이 됩니다. Goployer Github: https://github.com/DevopsArtFactory/goployer Youtube: https://bit.ly/34QWr6U DevOps Art project DevOps Art Project Conclusion
  • 34. We are hiring https://bighit.recruiter.co.kr -> beNX jupiter.song@bighitcorp.com