SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
박선용 솔루션즈 아키텍트
2016/05/17
AWS와 함께하는 DevOps기술 이야기
오늘의 내용
1. AWS DevOps 관련 서비스들
2. DevOps 개념
3. 아마존 이야기
4. Code 시리즈 (Pipeline, Deploy) & Lambda
5. Demo
1. AWS DevOps 관련 서비스들
AWS 서비스 종류
Elastic Beanstalk
AWS CloudFormation
AWS CodeDeploy AWS OpsWorks
Infrastructure
deployment
Code
management
Application
deployment
Runtime/
container
AWS CodeCommit AWS CodePipeline
AWS OpsWorks Elastic Beanstalk
Elastic Beanstalk
Elastic Beanstalk
Amazon EC2 EC2 Container Service Amazon Lambda
4
AWS 서비스 종류
Elastic Beanstalk
AWS CloudFormation
AWS CodeDeploy AWS OpsWorks
Infrastructure
deployment
Code
management
Application
deployment
Runtime/
container
AWS CodeCommit AWS CodePipeline
AWS OpsWorks Elastic Beanstalk
Elastic Beanstalk
Elastic Beanstalk
Amazon EC2 EC2 Container Service Amazon Lambda
5
2. DevOps 개념
신속한 배포를 위해서 어떠한 도구가 필요한가?
개발 주도적 세계에서 배포는 다음과 같음 많은 도구를
고려해야 함:
• 소프트웨어 개발, 릴리즈 프로세스 흐름을 관리할 도구
• 코드 흠결 및 잠재적 이슈를 테스트하고 검토할 수 있는
적합한 도구
• 어플리케이션을 배포할 도구
개발 주기는 점점 빨라지고 있음
게임 소프트웨어 개발 및 배포는
쉬워지면서 더욱 가속화 됨:
• 모바일 게임의 생명주기는 아주 짧음
• 고객의 이벤트 및 요구에 따라 잦은 패치 및
업데이트가 필요
• 수백만명에게 게임을 전달하는 것이 아주
쉬운 환경
• 개발 속도를 높이는 것은 중간 방해물과의
싸움
과거 배포 모델
게임 배포 방식이 극적으로 변함
새로운 배포 방식
시작하기 앞서, 소프트웨어
릴리즈 프로세스에 대한
이해가 필요
https://www.flickr.com/photos/jurvetson/5201796697/
• Integration
tests with
other systems
• Load testing
• UI tests
• Penetration
testing
릴리즈 프로세스의 4개 주요 단계
소스 빌드 테스트 프로덕션
• Check-in
source code
such as .java
files.
• Peer review
new code
• Compile code
• Unit tests
• Style checkers
• Code metrics
• Create
container
images
• Deployment
to production
environments
릴리즈 프로세스 단계
소스 빌드 테스트 프로덕션
지속 통합 (Continuous integration)
지속 전달 (Continuous delivery)
지속 배포 (Continuous deployment)
Release Processes levels
Source Build Test Production
Continuous integration
Continuous deployment
오늘 살펴볼 단계
지속 전달 (Continuous delivery)
지속 전달의 잇점
개발자 생산성 향상 버그를 특정하고
찾아서 쉽게 해결
업데이트를 보다
빠르게 전달
지속적인 소프트웨어
릴리즈 프로세스
3. Amazon 이야기
아마존의
개발을 돌이켜
보면..
https://secure.flickr.com/photos/pixelthing/15806918992/
2001
아마존의 개발 방식 변환: 2001-2009
2009
monolithic
application + teams
microservices + 2 pizza teams
이 팀과 개발
문화하에서 모든 점이
개선되었다. 과거보다
릴리즈는 훨씬
빨라지고 좋아졌다.
하지만 우리는 여전히
더 개선할 수 있다고
느꼈다.
2009년, 우리는
어떤 비효율성이
여전히
존재하는지
연구를 수행했다.
단지 기다리고 있음
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to
Prod
단지 기다리고 있음
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to
Prod
Mins Days Mins Days Mins Days Mins
단지 기다리고 있음
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to
Prod
Weeks
Mins Days Mins Days Mins Days Mins
단지 기다리고 있음
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to
Prod
Weeks
Mins Days Mins Days Mins Days Mins
우리는 소프트웨어 릴리즈
프로세스를 자동화 하는
툴을 만들었다
https://secure.flickr.com/photos/lindseygee/5894617854/
자동화된 액션(action)
과 이행(transitions);
체크인 부터
프로덕션까지
개발 이익:
• 더 빠름
• 더 안전함
• 단순화 & 표준화
• 처리의 시각화
Pipelines
지금까지 매우 우수하게 지속적으로 작동:
2014 년:
• Amazon의 수천개 서비스 팀
• Microservices 를 개발
• 지속전달을 실제로 적용
• 많은 환경 (스테이징, 베타, 프로덕션)
50 million deploys
지금까지 매우 우수하게 지속적으로 작동 :
매년 Amazon에서는 우리의 소프트웨어 개발자에게
서베이를 수행. 2014년 결과에서는 보다 행복한 개발자와
통계적으로 관련이 있는 하나의 개발 툴/서비스가
발견되었다.
그것은 바로
pipelines 서비스!
continuous delivery == happier developers!
4. Code 시리즈 ( Pipeline,
Deploy) & Lambda
빠르고 신뢰성 있는 어플리케이션 업데이트를
위한 지속 전달 서비스
게임 소프트웨어 릴리즈 프로세스의 모델화 및
시각화
코드 변경이 있는 경우 빌드, 테스트와 배포를
매번 수행 가능
3rd 파티 툴과 AWS 서비스와 통합
AWS CodePipeline
AWS CodePipeline 장점
Improved quality
Rapid delivery Get started fast
Configurable workflow Easy to integrate
Source
Source
GitHub
Build
JenkinsOnEC2
Jenkins
Deploy
JavaApp
Elastic Beanstalk
Pipeline
Stage
Action
Transition
CodePipeline
MyApplication
Source
Source
GitHub
Build
JenkinsOnEC2
Jenkins
Deploy
JavaApp
Elastic Beanstalk
NotifyDevelopers
Lambda
CodePipeline
MyApplication
Parallel actions
Source
Source
GitHub
Build
JenkinsOnEC2
Jenkins
Deploy
JavaApp
Elastic Beanstalk
NotifyDevelopers
Lambda
TestAPI
Runscope
CodePipeline
MyApplication
Sequential actions
8. Retrieve build artifact
EC2 instance
CodePipeline
Source
Source
GitHub
Build
JenkinsOnEC2
Jenkins
Deploy
JavaApp
Elastic Beanstalk
Source Artifact
S3
Build Artifact
S3
5. Get source artifact
1. Get Changes
6. Store build artifact
3. Poll for Job
4. Acknowledge Job
7. Put Success
9. Deploy build artifact
Elastic Beanstalk
Web container
Java App
MyApplication
매우 다양한 파트너가 존재, 계속 증가
Source Build Test Deploy
AWS 서비스 통합
소스 로직 호출 배포
AWS Elastic BeanstalkAmazon S3
AWS CodeDeploy
AWS Lambda
게임 어플리케이션 개발
릴리즈 파이프 라인을 생성
https://www.flickr.com/photos/seattlemunicipalarchives/12504672623/
게임 어플리케이션 빌드 &
테스트
https://secure.flickr.com/photos/spenceyc/7481166880
코드 빌딩
코드 “빌딩”은 전형적으로 컴파일이 필요한
언어에 대해 수행 :
• .NET : C#, F#, VB.net, etc.
• Java 와 관련 유사언어 : Java, Scala, JRuby
• Go
• iOS : Swift, Objective-C
“빌딩”이란 표현은 Docker 컨테이너 이미지를
만들때도 사용한다
EC2
빌딩 단계가 필요 없는 경우
많은 다른 언어들은 빌딩 단계가 필요없음.
주로 이들은 인터프리터 언어로 개발된 경우에
해당:
• PHP
• Ruby
• Python
• Node.js
이 경우 단순 배포만!
EC2
코드 테스팅
테스팅은 과학과 예술 두 측면을 모두 가짐
코드 테스팅의 목표:
• 원하는 기능에 대한 구현 확인
• 프로그램의 문법 에러 찾기
• 코드 패턴과 포맷에 대한 표준화
• 원치 않은 어플리케이션 사용법과 로직상의
흠결로 인한 버그 감소
• 어플리케이션을 좀 더 보안성 높게 만듬
테스팅의 출발점
1. 일반적인 사소한 문법 오류
• 브라켓, 코마 등을 빠뜨리고 있지 않은가?
2. 전체 소프트웨어의 가장 윗 단계 부분인 유저가 사용하는
화면에서 부터 시작
• 각 게임 화면이 정확하게 보여지고 있는가?
• 화면별로 렌더링은 잘 수행되고 있는가?
3. 더 깊숙한 UX 및 서비스 체크
• 상호 싱크는 맞는가?
4. 기본 유저 함수의 유닛테스트로부터 더 깊숙한 서버
로직까지 테스트
• 제품화에서의 버그를 찾기 위해 보다 체계화된 방법에
시간을 더 투자
단계별 테스트 리소스 비율:
UI
Service
Unit 70%
20%
10%
게임 서버
어플리케이션 배포
https://secure.flickr.com/photos/simononly/15386966677
코드 배포를 인스턴스 상관없이 자동화
업데이트 하는 과정의 복잡함을 쉽게 처리
어플리케이션 배포 중 다운타임을 최소화
어떤 언어, 어떤 O/S 라도, Amazon EC2 혹은
온프리미스 서버에도 배포 가능
3rd 파티 툴과 AWS 서비스와 통합
AWS CodeDeploy
appspec.yml Example
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
permissions:
- object: /var/www/html
pattern: “*.html”
owner: root
group: root
mode: 755
hooks:
ApplicationStop:
- location: scripts/deregister_from_elb.sh
BeforeInstall:
- location: scripts/install_dependencies.sh
ApplicationStart:
- location: scripts/start_httpd.sh
ValidateService:
- location: scripts/test_site.sh
- location: scripts/register_with_elb.sh
appspec.yml Example
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
permissions:
- object: /var/www/html
pattern: “*.html”
owner: root
group: root
mode: 755
hooks:
ApplicationStop:
- location: scripts/deregister_from_elb.sh
BeforeInstall:
- location: scripts/install_dependencies.sh
ApplicationStart:
- location: scripts/start_httpd.sh
ValidateService:
- location: scripts/test_site.sh
- location: scripts/register_with_elb.sh
• Remove/add instance to ELB
• Install dependency packages
• Start Apache
• Confirm successful deploy
• More!
• Send application files to one
directory and configuration
files to another
• Set specific permissions on
specific directories & files
v2 v2 v2 v2 v2 v2
one at a time
half at a time
all at once
v2 v2 v2 v1 v1 v1
v2 v1 v1 v1 v1 v1 Agent Agent
Dev Deployment group
OR
Prod Deployment group
Agent
AgentAgent
Agent Agent
Agent
배포 속도와 그룹을 선택
https://www.flickr.com/photos/spacex/16510243060/
프로덕션으로 런칭
프로덕션으로 런칭
어플리케이션을 빌드하고 테스트하고 나서
다행스럽게 몇 단계의 전-프로덕션 단계를 거치고 난
이후에는, 실제 배포를 진행
다음을 고려:
• 고객에 대한 영향
• 인프라에 대한 영향
• 비지니스에 대한 영향
어떻게 이 과정을 추적하고 배포간에 상호 동작을
하게 할 것인가?
커스텀 액션을 이용한 CodePipeline 확장
티켓 업데이트 리소스 프로비저닝
업데이트 대쉬보드 고객에게 알림 보안 스캔
모바일 테스팅
Source
Source
GitHub
Build
JenkinsOnEC2
Jenkins
Deploy
Action
Custom Action
JavaApp
Elastic Beanstalk
MyApplication
CodePipeline
Deploy
JavaApp
Elastic Beanstalk Job Worker
3. Perform Job
1. Poll for Job
2. Acknowledge Job
4. Put Success
Amazon
EC2
커스텀 액션과 관련해서,
잡 워커(Job Worker)가 존재해서 이것이
AWS CodePipeline과 다른 어플리케이션
혹은 서비스와의 커뮤니케이션을 주도할 수
있다
Source
Source
GitHub
Build
JenkinsOnEC2
Jenkins
Deploy
MyAction
AWS Lambda
JavaApp
Elastic Beanstalk
2. Perform Job
1. Invoke Lambda function
3. PutJobSuccessResult
MyApplication
CodePipeline AWS Lambda 기반 액션으로,
AWS CodePipeline 이 Lambda와의 통합을
주도하고, Lambda를 통해서 다른
어플리케이션과 서비스를 연결한다
AWS
Lambda
3. PutJobSuccessResult w/
Continuation Token
4. Invoke Lambda function w/
Continuation Token
5. PutJobSuccessResult #3 & #4 repeat until no continuation
token is sent, signaling the action has
been completed (#5).
Lambda 에서의 SNS 호출 구현
var sns = new AWS.SNS();
var datetime = new Date().toISOString().replace(/T/, ' ').replace(/..+/, '')
var params = {
Message: datetime + ' : DevOps deploy is completed', /* required */
Subject: 'Deploy',
TopicArn: 'arn:aws:sns:us-east-1:550xxxxxxxxxx:devops-deploy-topic'
};
sns.publish(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
CodePipeline을 위한 Lambda에서 SNS 호출 구현
var codepipeline = new AWS.CodePipeline();
var jobId = event["CodePipeline.job"].id;
var url = event["CodePipeline.job"].data.actionConfiguration.configuration.UserParameters;
var putJobSuccess = function(message) {
var params = {
jobId: jobId
};
codepipeline.putJobSuccessResult(params, function(err, data) {
if(err) context.fail(err);
else context.succeed(message);
});
};
sns.publish(params, function(err, data) {
if (err) putJobFailure(ex);
else putJobSuccess("Tests passed.");
});
각 방법은 어떤 특성이 있는가?
Lambda Custom Action
짧은 시간동안 동작하는 태스크를 아주
쉽게 구현
어떤 형태의 워크로드라도 수행 가능
장기간 동작해야 하는 태스크의 경우
보다 구현 작업이 필요
콘솔에서 각각의 콘트롤간의 링크가
디스플레이 됨
Node.js, Python, Java 지원 어떤 언어든 지원
AWS 상에서 동작 on-premises에서도 동작가능
프로비전이나 매니지할 서비스가
존재하지 않음
컴퓨팅 리소스 필요
5. Demo
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016

Mais conteúdo relacionado

Mais procurados

AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법Jesang Yoon
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017Amazon Web Services Korea
 
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽Amazon Web Services Korea
 
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)Amazon Web Services Korea
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화KTH, 케이티하이텔
 
재택근무 생산성 향상을 위한 AWS 엔드유저 컴퓨팅 서비스 - 윤석찬, AWS 테크에반젤리스트
재택근무 생산성 향상을 위한 AWS 엔드유저 컴퓨팅 서비스 - 윤석찬, AWS 테크에반젤리스트재택근무 생산성 향상을 위한 AWS 엔드유저 컴퓨팅 서비스 - 윤석찬, AWS 테크에반젤리스트
재택근무 생산성 향상을 위한 AWS 엔드유저 컴퓨팅 서비스 - 윤석찬, AWS 테크에반젤리스트Amazon Web Services Korea
 
Elastic beanstalk - 판교 초급자 모임 - 안병학
Elastic beanstalk - 판교 초급자 모임 - 안병학Elastic beanstalk - 판교 초급자 모임 - 안병학
Elastic beanstalk - 판교 초급자 모임 - 안병학Byeong-hak An
 
아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)
아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)
아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)Amazon Web Services Korea
 
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)Amazon Web Services Korea
 
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...Amazon Web Services Korea
 
사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토...
사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토...사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토...
사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토...Amazon Web Services Korea
 
AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)
AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)
AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)Amazon Web Services Korea
 
VPC를 위한 Hybrid 클라우드 보안 :: 김민석 :: AWS Summit Seoul 2016
VPC를 위한 Hybrid 클라우드 보안 :: 김민석 :: AWS Summit Seoul 2016VPC를 위한 Hybrid 클라우드 보안 :: 김민석 :: AWS Summit Seoul 2016
VPC를 위한 Hybrid 클라우드 보안 :: 김민석 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
AWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
AWS Cloud Design Pattenr (Korean) - CDP Seminar in KoreaAWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
AWS Cloud Design Pattenr (Korean) - CDP Seminar in KoreaSORACOM, INC
 
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너Amazon Web Services Korea
 
AWS 보안: WAF, AWS Inspector, Config Rules - 임기성 :: 2015 리인벤트 리캡 게이밍
AWS 보안: WAF, AWS Inspector, Config Rules - 임기성 :: 2015 리인벤트 리캡 게이밍AWS 보안: WAF, AWS Inspector, Config Rules - 임기성 :: 2015 리인벤트 리캡 게이밍
AWS 보안: WAF, AWS Inspector, Config Rules - 임기성 :: 2015 리인벤트 리캡 게이밍Amazon Web Services Korea
 
[2주차] 알파유저를 위한 AWS 스터디
[2주차] 알파유저를 위한 AWS 스터디[2주차] 알파유저를 위한 AWS 스터디
[2주차] 알파유저를 위한 AWS 스터디Amazon Web Services Korea
 

Mais procurados (20)

AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
 
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
20분안에 스타트업이 알아야하는 AWS의 모든것 - 윤석찬 :: 스타트업얼라이언스 런치클럽
 
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 기반 하이브리드 클라우드 환경 구성 전략 (김용우 솔루션즈 아키텍트)
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
 
재택근무 생산성 향상을 위한 AWS 엔드유저 컴퓨팅 서비스 - 윤석찬, AWS 테크에반젤리스트
재택근무 생산성 향상을 위한 AWS 엔드유저 컴퓨팅 서비스 - 윤석찬, AWS 테크에반젤리스트재택근무 생산성 향상을 위한 AWS 엔드유저 컴퓨팅 서비스 - 윤석찬, AWS 테크에반젤리스트
재택근무 생산성 향상을 위한 AWS 엔드유저 컴퓨팅 서비스 - 윤석찬, AWS 테크에반젤리스트
 
Elastic beanstalk - 판교 초급자 모임 - 안병학
Elastic beanstalk - 판교 초급자 모임 - 안병학Elastic beanstalk - 판교 초급자 모임 - 안병학
Elastic beanstalk - 판교 초급자 모임 - 안병학
 
아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)
아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)
아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)
 
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
 
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
 
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
 
사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토...
사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토...사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토...
사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토...
 
AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)
AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)
AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)
 
VPC를 위한 Hybrid 클라우드 보안 :: 김민석 :: AWS Summit Seoul 2016
VPC를 위한 Hybrid 클라우드 보안 :: 김민석 :: AWS Summit Seoul 2016VPC를 위한 Hybrid 클라우드 보안 :: 김민석 :: AWS Summit Seoul 2016
VPC를 위한 Hybrid 클라우드 보안 :: 김민석 :: AWS Summit Seoul 2016
 
DevOps Demo
DevOps DemoDevOps Demo
DevOps Demo
 
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
 
AWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
AWS Cloud Design Pattenr (Korean) - CDP Seminar in KoreaAWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
AWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
 
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
 
AWS 보안: WAF, AWS Inspector, Config Rules - 임기성 :: 2015 리인벤트 리캡 게이밍
AWS 보안: WAF, AWS Inspector, Config Rules - 임기성 :: 2015 리인벤트 리캡 게이밍AWS 보안: WAF, AWS Inspector, Config Rules - 임기성 :: 2015 리인벤트 리캡 게이밍
AWS 보안: WAF, AWS Inspector, Config Rules - 임기성 :: 2015 리인벤트 리캡 게이밍
 
[2주차] 알파유저를 위한 AWS 스터디
[2주차] 알파유저를 위한 AWS 스터디[2주차] 알파유저를 위한 AWS 스터디
[2주차] 알파유저를 위한 AWS 스터디
 

Semelhante a AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016

[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트Chanwoong Kim
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online SeriesAmazon Web Services Korea
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기NAVER Engineering
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재Hankyo
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리Gyuwon Yi
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationDonghyun Seo
 
DevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle DeveloperDevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle Developer창훈 현
 
JDesigner Platform v5.0 소개
JDesigner Platform v5.0 소개JDesigner Platform v5.0 소개
JDesigner Platform v5.0 소개Lee Sangboo
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)Amazon Web Services Korea
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)uEngine Solutions
 
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기Amazon Web Services Korea
 
DevOps and Azure Devops 소개, 동향, 그리고 기대효과
DevOps and Azure Devops 소개, 동향, 그리고 기대효과DevOps and Azure Devops 소개, 동향, 그리고 기대효과
DevOps and Azure Devops 소개, 동향, 그리고 기대효과명신 김
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션SangIn Choung
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...Amazon Web Services Korea
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oceuEngine Solutions
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debuggingJongwon Han
 
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기인수 장
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화DONGSU KIM
 

Semelhante a AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016 (20)

[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 
DevOps Study
DevOps StudyDevOps Study
DevOps Study
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
DevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle DeveloperDevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle Developer
 
JDesigner Platform v5.0 소개
JDesigner Platform v5.0 소개JDesigner Platform v5.0 소개
JDesigner Platform v5.0 소개
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)
 
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 
DevOps and Azure Devops 소개, 동향, 그리고 기대효과
DevOps and Azure Devops 소개, 동향, 그리고 기대효과DevOps and Azure Devops 소개, 동향, 그리고 기대효과
DevOps and Azure Devops 소개, 동향, 그리고 기대효과
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화
 

Mais de Amazon Web Services Korea

AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2Amazon Web Services Korea
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1Amazon Web Services Korea
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon Web Services Korea
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Web Services Korea
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
 
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...Amazon Web Services Korea
 
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Amazon Web Services Korea
 
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon Web Services Korea
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon Web Services Korea
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Amazon Web Services Korea
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Web Services Korea
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...Amazon Web Services Korea
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...Amazon Web Services Korea
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon Web Services Korea
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...Amazon Web Services Korea
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...Amazon Web Services Korea
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...Amazon Web Services Korea
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...Amazon Web Services Korea
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...Amazon Web Services Korea
 

Mais de Amazon Web Services Korea (20)

AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
 
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
 
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
 
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
 

AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 박선용 솔루션즈 아키텍트 2016/05/17 AWS와 함께하는 DevOps기술 이야기
  • 2. 오늘의 내용 1. AWS DevOps 관련 서비스들 2. DevOps 개념 3. 아마존 이야기 4. Code 시리즈 (Pipeline, Deploy) & Lambda 5. Demo
  • 3. 1. AWS DevOps 관련 서비스들
  • 4. AWS 서비스 종류 Elastic Beanstalk AWS CloudFormation AWS CodeDeploy AWS OpsWorks Infrastructure deployment Code management Application deployment Runtime/ container AWS CodeCommit AWS CodePipeline AWS OpsWorks Elastic Beanstalk Elastic Beanstalk Elastic Beanstalk Amazon EC2 EC2 Container Service Amazon Lambda 4
  • 5. AWS 서비스 종류 Elastic Beanstalk AWS CloudFormation AWS CodeDeploy AWS OpsWorks Infrastructure deployment Code management Application deployment Runtime/ container AWS CodeCommit AWS CodePipeline AWS OpsWorks Elastic Beanstalk Elastic Beanstalk Elastic Beanstalk Amazon EC2 EC2 Container Service Amazon Lambda 5
  • 7. 신속한 배포를 위해서 어떠한 도구가 필요한가? 개발 주도적 세계에서 배포는 다음과 같음 많은 도구를 고려해야 함: • 소프트웨어 개발, 릴리즈 프로세스 흐름을 관리할 도구 • 코드 흠결 및 잠재적 이슈를 테스트하고 검토할 수 있는 적합한 도구 • 어플리케이션을 배포할 도구
  • 8. 개발 주기는 점점 빨라지고 있음 게임 소프트웨어 개발 및 배포는 쉬워지면서 더욱 가속화 됨: • 모바일 게임의 생명주기는 아주 짧음 • 고객의 이벤트 및 요구에 따라 잦은 패치 및 업데이트가 필요 • 수백만명에게 게임을 전달하는 것이 아주 쉬운 환경 • 개발 속도를 높이는 것은 중간 방해물과의 싸움
  • 9. 과거 배포 모델 게임 배포 방식이 극적으로 변함 새로운 배포 방식
  • 10. 시작하기 앞서, 소프트웨어 릴리즈 프로세스에 대한 이해가 필요 https://www.flickr.com/photos/jurvetson/5201796697/
  • 11. • Integration tests with other systems • Load testing • UI tests • Penetration testing 릴리즈 프로세스의 4개 주요 단계 소스 빌드 테스트 프로덕션 • Check-in source code such as .java files. • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images • Deployment to production environments
  • 12. 릴리즈 프로세스 단계 소스 빌드 테스트 프로덕션 지속 통합 (Continuous integration) 지속 전달 (Continuous delivery) 지속 배포 (Continuous deployment)
  • 13. Release Processes levels Source Build Test Production Continuous integration Continuous deployment 오늘 살펴볼 단계 지속 전달 (Continuous delivery)
  • 14. 지속 전달의 잇점 개발자 생산성 향상 버그를 특정하고 찾아서 쉽게 해결 업데이트를 보다 빠르게 전달 지속적인 소프트웨어 릴리즈 프로세스
  • 17. 2001 아마존의 개발 방식 변환: 2001-2009 2009 monolithic application + teams microservices + 2 pizza teams
  • 18. 이 팀과 개발 문화하에서 모든 점이 개선되었다. 과거보다 릴리즈는 훨씬 빨라지고 좋아졌다. 하지만 우리는 여전히 더 개선할 수 있다고 느꼈다.
  • 20. 단지 기다리고 있음 WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod
  • 21. 단지 기다리고 있음 WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Mins Days Mins Days Mins Days Mins
  • 22. 단지 기다리고 있음 WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Weeks Mins Days Mins Days Mins Days Mins
  • 23. 단지 기다리고 있음 WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Weeks Mins Days Mins Days Mins Days Mins
  • 24. 우리는 소프트웨어 릴리즈 프로세스를 자동화 하는 툴을 만들었다 https://secure.flickr.com/photos/lindseygee/5894617854/
  • 25. 자동화된 액션(action) 과 이행(transitions); 체크인 부터 프로덕션까지 개발 이익: • 더 빠름 • 더 안전함 • 단순화 & 표준화 • 처리의 시각화 Pipelines
  • 26. 지금까지 매우 우수하게 지속적으로 작동: 2014 년: • Amazon의 수천개 서비스 팀 • Microservices 를 개발 • 지속전달을 실제로 적용 • 많은 환경 (스테이징, 베타, 프로덕션) 50 million deploys
  • 27. 지금까지 매우 우수하게 지속적으로 작동 : 매년 Amazon에서는 우리의 소프트웨어 개발자에게 서베이를 수행. 2014년 결과에서는 보다 행복한 개발자와 통계적으로 관련이 있는 하나의 개발 툴/서비스가 발견되었다. 그것은 바로 pipelines 서비스! continuous delivery == happier developers!
  • 28. 4. Code 시리즈 ( Pipeline, Deploy) & Lambda
  • 29. 빠르고 신뢰성 있는 어플리케이션 업데이트를 위한 지속 전달 서비스 게임 소프트웨어 릴리즈 프로세스의 모델화 및 시각화 코드 변경이 있는 경우 빌드, 테스트와 배포를 매번 수행 가능 3rd 파티 툴과 AWS 서비스와 통합 AWS CodePipeline
  • 30. AWS CodePipeline 장점 Improved quality Rapid delivery Get started fast Configurable workflow Easy to integrate
  • 34. 8. Retrieve build artifact EC2 instance CodePipeline Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk Source Artifact S3 Build Artifact S3 5. Get source artifact 1. Get Changes 6. Store build artifact 3. Poll for Job 4. Acknowledge Job 7. Put Success 9. Deploy build artifact Elastic Beanstalk Web container Java App MyApplication
  • 35. 매우 다양한 파트너가 존재, 계속 증가 Source Build Test Deploy
  • 36. AWS 서비스 통합 소스 로직 호출 배포 AWS Elastic BeanstalkAmazon S3 AWS CodeDeploy AWS Lambda
  • 37. 게임 어플리케이션 개발 릴리즈 파이프 라인을 생성 https://www.flickr.com/photos/seattlemunicipalarchives/12504672623/
  • 38. 게임 어플리케이션 빌드 & 테스트 https://secure.flickr.com/photos/spenceyc/7481166880
  • 39. 코드 빌딩 코드 “빌딩”은 전형적으로 컴파일이 필요한 언어에 대해 수행 : • .NET : C#, F#, VB.net, etc. • Java 와 관련 유사언어 : Java, Scala, JRuby • Go • iOS : Swift, Objective-C “빌딩”이란 표현은 Docker 컨테이너 이미지를 만들때도 사용한다 EC2
  • 40. 빌딩 단계가 필요 없는 경우 많은 다른 언어들은 빌딩 단계가 필요없음. 주로 이들은 인터프리터 언어로 개발된 경우에 해당: • PHP • Ruby • Python • Node.js 이 경우 단순 배포만! EC2
  • 41. 코드 테스팅 테스팅은 과학과 예술 두 측면을 모두 가짐 코드 테스팅의 목표: • 원하는 기능에 대한 구현 확인 • 프로그램의 문법 에러 찾기 • 코드 패턴과 포맷에 대한 표준화 • 원치 않은 어플리케이션 사용법과 로직상의 흠결로 인한 버그 감소 • 어플리케이션을 좀 더 보안성 높게 만듬
  • 42. 테스팅의 출발점 1. 일반적인 사소한 문법 오류 • 브라켓, 코마 등을 빠뜨리고 있지 않은가? 2. 전체 소프트웨어의 가장 윗 단계 부분인 유저가 사용하는 화면에서 부터 시작 • 각 게임 화면이 정확하게 보여지고 있는가? • 화면별로 렌더링은 잘 수행되고 있는가? 3. 더 깊숙한 UX 및 서비스 체크 • 상호 싱크는 맞는가? 4. 기본 유저 함수의 유닛테스트로부터 더 깊숙한 서버 로직까지 테스트 • 제품화에서의 버그를 찾기 위해 보다 체계화된 방법에 시간을 더 투자
  • 43. 단계별 테스트 리소스 비율: UI Service Unit 70% 20% 10%
  • 45. 코드 배포를 인스턴스 상관없이 자동화 업데이트 하는 과정의 복잡함을 쉽게 처리 어플리케이션 배포 중 다운타임을 최소화 어떤 언어, 어떤 O/S 라도, Amazon EC2 혹은 온프리미스 서버에도 배포 가능 3rd 파티 툴과 AWS 서비스와 통합 AWS CodeDeploy
  • 46. appspec.yml Example version: 0.0 os: linux files: - source: / destination: /var/www/html permissions: - object: /var/www/html pattern: “*.html” owner: root group: root mode: 755 hooks: ApplicationStop: - location: scripts/deregister_from_elb.sh BeforeInstall: - location: scripts/install_dependencies.sh ApplicationStart: - location: scripts/start_httpd.sh ValidateService: - location: scripts/test_site.sh - location: scripts/register_with_elb.sh
  • 47. appspec.yml Example version: 0.0 os: linux files: - source: / destination: /var/www/html permissions: - object: /var/www/html pattern: “*.html” owner: root group: root mode: 755 hooks: ApplicationStop: - location: scripts/deregister_from_elb.sh BeforeInstall: - location: scripts/install_dependencies.sh ApplicationStart: - location: scripts/start_httpd.sh ValidateService: - location: scripts/test_site.sh - location: scripts/register_with_elb.sh • Remove/add instance to ELB • Install dependency packages • Start Apache • Confirm successful deploy • More! • Send application files to one directory and configuration files to another • Set specific permissions on specific directories & files
  • 48. v2 v2 v2 v2 v2 v2 one at a time half at a time all at once v2 v2 v2 v1 v1 v1 v2 v1 v1 v1 v1 v1 Agent Agent Dev Deployment group OR Prod Deployment group Agent AgentAgent Agent Agent Agent 배포 속도와 그룹을 선택
  • 50. 프로덕션으로 런칭 어플리케이션을 빌드하고 테스트하고 나서 다행스럽게 몇 단계의 전-프로덕션 단계를 거치고 난 이후에는, 실제 배포를 진행 다음을 고려: • 고객에 대한 영향 • 인프라에 대한 영향 • 비지니스에 대한 영향 어떻게 이 과정을 추적하고 배포간에 상호 동작을 하게 할 것인가?
  • 51. 커스텀 액션을 이용한 CodePipeline 확장 티켓 업데이트 리소스 프로비저닝 업데이트 대쉬보드 고객에게 알림 보안 스캔 모바일 테스팅
  • 52. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy Action Custom Action JavaApp Elastic Beanstalk MyApplication CodePipeline Deploy JavaApp Elastic Beanstalk Job Worker 3. Perform Job 1. Poll for Job 2. Acknowledge Job 4. Put Success Amazon EC2 커스텀 액션과 관련해서, 잡 워커(Job Worker)가 존재해서 이것이 AWS CodePipeline과 다른 어플리케이션 혹은 서비스와의 커뮤니케이션을 주도할 수 있다
  • 53. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy MyAction AWS Lambda JavaApp Elastic Beanstalk 2. Perform Job 1. Invoke Lambda function 3. PutJobSuccessResult MyApplication CodePipeline AWS Lambda 기반 액션으로, AWS CodePipeline 이 Lambda와의 통합을 주도하고, Lambda를 통해서 다른 어플리케이션과 서비스를 연결한다 AWS Lambda 3. PutJobSuccessResult w/ Continuation Token 4. Invoke Lambda function w/ Continuation Token 5. PutJobSuccessResult #3 & #4 repeat until no continuation token is sent, signaling the action has been completed (#5).
  • 54. Lambda 에서의 SNS 호출 구현 var sns = new AWS.SNS(); var datetime = new Date().toISOString().replace(/T/, ' ').replace(/..+/, '') var params = { Message: datetime + ' : DevOps deploy is completed', /* required */ Subject: 'Deploy', TopicArn: 'arn:aws:sns:us-east-1:550xxxxxxxxxx:devops-deploy-topic' }; sns.publish(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });
  • 55. CodePipeline을 위한 Lambda에서 SNS 호출 구현 var codepipeline = new AWS.CodePipeline(); var jobId = event["CodePipeline.job"].id; var url = event["CodePipeline.job"].data.actionConfiguration.configuration.UserParameters; var putJobSuccess = function(message) { var params = { jobId: jobId }; codepipeline.putJobSuccessResult(params, function(err, data) { if(err) context.fail(err); else context.succeed(message); }); }; sns.publish(params, function(err, data) { if (err) putJobFailure(ex); else putJobSuccess("Tests passed."); });
  • 56. 각 방법은 어떤 특성이 있는가? Lambda Custom Action 짧은 시간동안 동작하는 태스크를 아주 쉽게 구현 어떤 형태의 워크로드라도 수행 가능 장기간 동작해야 하는 태스크의 경우 보다 구현 작업이 필요 콘솔에서 각각의 콘트롤간의 링크가 디스플레이 됨 Node.js, Python, Java 지원 어떤 언어든 지원 AWS 상에서 동작 on-premises에서도 동작가능 프로비전이나 매니지할 서비스가 존재하지 않음 컴퓨팅 리소스 필요