SlideShare a Scribd company logo
1 of 35
Download to read offline
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
한종원, ‘HB Smith’ CEO
AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례
1부
본 강연에서 다룰 내용
•1부 (20분) - 한종원
• Introduction
• 'Daily Continuous Deployment' (이하 'daily CD’)로의 여정
• Play with AWS
• 실제 운영 사례들
• Wrap Up
•2부 (20분) - 윤제상
2
Introduction
발표자 소개
•한종원 ( https://www.linkedin.com/in/addnull/ )
•Python과 Cloud Infra, Lean/Agile 방법론 그리고 애플의 제품을 사랑
•2012년 석사 학위를 마치고, 스타트업을 시작 (이때부터 AWS를 production level에서 사용)
•'의미가 있는 일을, 올바르게 하고 싶다.’
•경력
• (현) DevOps 전문 스타트업 ‘HB Smith’ 대표 ( https://hbsmith.io )
• (2016) 택시 O2O 서비스 스타트업 ‘Kanizsa Lab’의 backend server / infra devops 담당
• (2015) Cloud computing 전문 스타트업 'A2 company' co-founder (‘KINX’에 인수합병)
• (2010) Samsung Software Membership (수원, 대전)
• (2007) NEXON 'MapleStory 국내 Live Team'에서 DBA, SA로 근무 (산업 기능 요원)
4
Introduction
•PyCon APAC 2016 ( https://www.pycon.kr/2016apac/program/15 )
• “Daily Continuous Deployment를 위한

Custom CLI 개발 및 AWS Elastic Beanstalk에 적용하기”
5
Introduction
•오늘은 ‘daily CD’와 AWS Elastic Beanstalk에 집중
• ‘daily CD’란 무엇이고, 왜 필요한가?
• 왜 AWS 를 선택했는가?
• 왜 Elastic Beanstalk를 선택했는가?
6
Daily CD로의 여정
Continuous Deployment란?
•from Wikipedia

"Continuous delivery is sometimes confused with continuous deployment.
Continuous deployment means that every change is automatically
deployed to production.”
•정의: 자동으로 최신 버전의 소스 코드를 테스트, 패키징, 배포
이미지 출처: http://evolutyz.in/devops.html
8
Daily CD란?
•정의: “매일” 자동으로 최신 버전의 소스 코드를 테스트, 패키징, 배포
• 쉽게 적용 가능한 대상
• REST API server (WAS), Worker (async job)
• 주로 computing만 하고 data, log 저장을 거의 하지 않는 서버군
• 적용하기 어려운 대상
• DB, Storage
• 대용량 data, log 저장을 해야하는 서버군
9
Daily CD로의 여정
•DevOps 외길 인생
• 2006년 Nexon MapleStory 개발팀의 SA, DBA로 근무
• 실제 물리머신 환경 (IDC)
• non-stop patch, DR 등의 요구사항
• DB HA 구성을 고려
• L4 switch 준비
• PoC, PoC 그리고 PoC
• 그러나…
10
Daily CD로의 여정
•DevOps 외길 인생
• 2012년 Cloud 전문 startup, ‘A2 company’ 창업
• 외주 SI/SM으로 AWS을 처음 접함
• OpenStack으로 AWS와 유사한 IaaS를 구축 (‘Juno’)
• 2016년 DevOps 전문 startup, ‘HB Smith’ 창업
11
Daily CD로의 여정
•약 10년간 이 바닥(devops)에서 굴러보니…
• 자동화는 장기적으로 언제나 승리한다.

(사람 손이 문제더라..)
• 3R (Repeatable, Reproducible, Reliable)을 추구하라.
• 서버(물리머신이든, VM이든)는 오래되면, 갑자기 맛이 간다.

(memory leak?)
• 마지막으로 reboot한지 오래된 서버일 수록 위험하다.

(모든 면에서)
12
이미지 출처: https://pinterest.com/psychokwack/devops/
Daily CD로의 여정
•소년은 늘 꿈을 꿉니다.
• non-stop 자동 server patch
• HA와 DR
• 항상 깨끗한 서버 (알 수 없는 계정, 쓰레기 임시 파일 찌거기들 없는 무공해 청정 서버)
13
Daily CD로의 여정
•목표
• 매일 서버(VM)를 새로 다시 띄워서(deployment) 이전 서버와 교체하자.
• 즉, 서버를 ‘하루살이’로 만들자.
•요구사항
• 3R (Repeatable, Reproducible, Reliable)
• non-stop (zero downtime, seamless)
• HA와 DR
14
Play with AWS
AWS와 첫만남
•“EC2 server”가 아니라 “EC2 instance”
• VM 역시 bug가 있는 software
• 언제든지 갑자기 망가질 수 있는 임시적 자원
• Infra 장애를 100% 미리 예방할 수 없기에,

“빠른 복구”가 가능하도록 system architecture를 구성한다.
16
왜 AWS 인가?
•2012년 부터 production level에서 사용
•높은 신뢰성
•풍부한 3rd party
•낮은 비용 !!!
•AWS를 쓰면, 개발/배포 속도가 빨라지는 게 아니라, 느려지지 않음.
17
왜 AWS 인가?
•다양한 troubleshooting
18
왜 AWS 인가?
•지속적으로 확장되는 기능, 제품군
19
### QUIZ ###
•첫번째 AWS 서비스는?
•https://aws.amazon.com/blogs/aws/aws-blog-the-first-five-years/
20
Play with AWS #1
•EC2(AMI) + ELB 조합으로 Daily CD 도전
• ELB health check 기능 사용
• ELB 밑에 있는 EC2 중에 절반을 detach 함
• detach된 EC2를 patch (이때, ASG를 위한 AMI 생성)
• 다시 attach 하고 나머지 절반을 detach
• detach된 EC2를 patch
• 다시 attach
21
Play with AWS #1
•EC2(AMI) + ELB 조합의 문제점
• AMI version 관리 어려움 (도대체 안에 뭐가 있는거지?)
• OS level의 security patch 등을 직접해야함
• AMI 안에 쌓이는 찌꺼기 (사용하지 않는 계정, 임시 파일들)
• ELB 에서 detach, attach 하는 번거로움
• 짧은 순간이지만, patch된 EC2와 그렇지 않은 EC2가 동시에 ELB에 attach된 상태가 존재함
22
Play with AWS #2
•EB로 Daily CD 도전
• EB environment(EC2 + ELB) 단위로

매일 새로 deployment
• 새로운 EB env를 생성
• 이때 새로 생성한 EC2의

OS(Amazon Linux)는 최신 AMI로부터 생성
• EC2 에 software stack을 처음부터 설치
• 새 EB env가 green status로 바뀌면,

이전 EB env와 CNAME swapping으로 교체
23
Play with AWS #2
•EB의 Daily CD 단점
• EB의 동작 원리를 이해해야함

(예: ‘/opt/python/ondeck’ 경로가 나중에 ‘/opt/python/current’으로 변경)
• EB의 기본 설정을 너무 건드리면, 알 수 없는 문제가 발생될 수 있음
• 교체당한 EB env로도 일정 시간 traffic이 흘러감 (client DNS caching)
• 교체 후 1시간 정도 지난 후에 해당 EB env 삭제
• Log 유실의 우려
• 기본 15분마다 S3에 복사하는 cron job의 주기를 짧게 줄일 수 있음

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.html
24
Play with AWS #2
•EB의 Daily CD 장점
• 모든 요구사항을 다 만족함
• 3R (Repeatable, Reproducible, Reliable) -> 신입 개발자에게 빠르게 개발 환경 제공 가능
• non-stop (zero downtime, seamless)
• HA와 DR
• 그외 추가적인 장점들
• 항상 깨끗한 서버 (알 수 없는 계정, 쓰레기 임시 파일 찌거기들 없는 무공해 청정 서버)
• 오래된 서버가 가지는 문제점, 고민 해결 (memory leak, 오랜만에 reboot 등)
• 개발자들은 logic code에 더욱 집중
• 서버 tier를 작게 쪼갤 수 있음 (즉, microservices 또는 nanoservices 가 가능)
• T2 instance의 bonus CPU credit !!!
25
실제 운영 사례들
실제 운영 사례 #1
•이미 AWS Tokyo region을 쓰고 있었음
•2016년 AWS Seoul region open
•AWS Tokyo region에서 운영하던 infra 전체를 Seoul region으로 migration
•기존에 Daily CD를 쓰고 있던 상태이므로 migration에 반나절 정도 걸림
• Tokyo region의 S3, RDS data를 Seoul region으로 migration (수작업)
• REST API server (WAS), Worker (async job)는 Daily CD 설정에서

‘ap-northeast-1’을 ‘ap-northeast-2’로 변경만 함
•약 1년간 운영
27
실제 운영 사례 #2
•다른 public cloud 서비스를 쓰고 있었음
•1대의 VM에 all-in-one(DB, WAS…) 상태
•AS-IS code 분석 후 WAS, worker, storage, DB tier 분리 및 AWS 로 migration
• AWS migration 하면서 동시에 WAS, Worker 는 Daily CD 설정 적용
•AWS으로 전체 infra migration 완료까지 작업에 4주 소요
•현재 약 6개월 정도 운영 중
28
실제 운영 사례 #3
•저희 ‘HB Smith’ 사례 ( https://hbsmith.io )
•현재 전체 AWS infra를 Daily CD로 운영 중
• 단, 대용량 data, log 저장을 해야하는 서버군(예: RDS)은 제외
•관련된 Python code를 OSS ‘Tiamat’로 공개
• https://github.com/HardBoiledSmith/tiamat
• https://github.com/HardBoiledSmith/johanna
29
운영하면서 느낀 Daily CD 단점
•Provisioning code 관리에 공수가 아주 없지 않음
•철학을 이해 못하면, 전체 운영이 어려워짐
• 문제제기: ‘기능 구현, bug 수정이 급한데, 왜 이걸로 시간과 돈을 들임?’
• 답변: ‘이건 개발, 배포 속도를 빠르게 하는게 아니라, 느려지지 않게 하기 위함임.’
30
Wrap Up
체크 포인트
•발표 내용 wrap up
• 'daily CD’로의 여정
• ‘daily CD’란 무엇이고, 왜 필요하다고 느꼈는지
• Play with AWS
• 왜 AWS를 선택했는지, 그리고 어떻게 ‘daily CD’를 구축했는지
• 실제 운영 사례들
• 3개의 법인에서 적용 사례와 장기간 운영하면서 느낀 ‘단점’
32
본 강연이 끝난 후…
•AWS Elastic Beanstalk 시작하기
• http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html
•Python + AWS EB 조합으로 구현한 ‘daily CD’의 자세한 정보 얻기
• https://www.pycon.kr/2016apac/program/15
•GitHub ‘Tiamat’ (AWS CLI 기반)에 contributor 지원
• https://github.com/HardBoiledSmith/tiamat
•AWS migration이나 EB 사용(세부적 tuning) 문의 보내기
• https://hbsmith.io
• hello@hbsmith.io
33
Thank you!
함께 해주셔서 감사합니다!
addnull@hbsmith.io
010-9166-6855
https://www.awssummit.kr
AWS Summit 모바일 앱을 통해 지금 세션 평가에
참여하시면, 행사 후 기념품을 드립니다.
#AWSSummitKR 해시태그로 소셜 미디어에 여러분의
행사 소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜 채널로
공유될 예정입니다.
여러분의 피드백을 기다립니다!

More Related Content

What's hot

20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년Jongwon Han
 
AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법Jesang Yoon
 
쉐이커의 AWS 이용 사례
쉐이커의 AWS 이용 사례쉐이커의 AWS 이용 사례
쉐이커의 AWS 이용 사례Minku Lee
 
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB SmithStartupAlliance
 
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석Amazon Web Services Korea
 
Crawling with AWS Lambda
Crawling with AWS LambdaCrawling with AWS Lambda
Crawling with AWS LambdaSeungho Kim
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드Amazon Web Services Korea
 
AWS 클라우드의 다양한 업무 활용 사례 (정민정) - AWS 웨비나 시리즈 2015
AWS 클라우드의 다양한 업무 활용 사례 (정민정) - AWS 웨비나 시리즈 2015AWS 클라우드의 다양한 업무 활용 사례 (정민정) - AWS 웨비나 시리즈 2015
AWS 클라우드의 다양한 업무 활용 사례 (정민정) - AWS 웨비나 시리즈 2015Amazon Web Services Korea
 
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례Amazon Web Services Korea
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Jongwon Han
 
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표Amazon Web Services Korea
 
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의 대량데이터 해석【株式会社fusic】
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의  대량데이터 해석【株式会社fusic】[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의  대량데이터 해석【株式会社fusic】
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의 대량데이터 해석【株式会社fusic】AWSKRUG - AWS한국사용자모임
 
한국 중소기업 개발자의 AWS 사용방법
한국 중소기업 개발자의 AWS 사용방법한국 중소기업 개발자의 AWS 사용방법
한국 중소기업 개발자의 AWS 사용방법Hyunmin Kim
 
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏAWSKRUG - AWS한국사용자모임
 
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015WineSOFT
 
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포Amazon Web Services Korea
 
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다Jongwon Han
 
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...Jongwon Han
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
20180602 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 1주차
20180602 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 1주차20180602 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 1주차
20180602 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 1주차Jongwon Han
 

What's hot (20)

20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년
 
AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법
 
쉐이커의 AWS 이용 사례
쉐이커의 AWS 이용 사례쉐이커의 AWS 이용 사례
쉐이커의 AWS 이용 사례
 
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
 
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
 
Crawling with AWS Lambda
Crawling with AWS LambdaCrawling with AWS Lambda
Crawling with AWS Lambda
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
 
AWS 클라우드의 다양한 업무 활용 사례 (정민정) - AWS 웨비나 시리즈 2015
AWS 클라우드의 다양한 업무 활용 사례 (정민정) - AWS 웨비나 시리즈 2015AWS 클라우드의 다양한 업무 활용 사례 (정민정) - AWS 웨비나 시리즈 2015
AWS 클라우드의 다양한 업무 활용 사례 (정민정) - AWS 웨비나 시리즈 2015
 
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
 
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
 
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의 대량데이터 해석【株式会社fusic】
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의  대량데이터 해석【株式会社fusic】[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의  대량데이터 해석【株式会社fusic】
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의 대량데이터 해석【株式会社fusic】
 
한국 중소기업 개발자의 AWS 사용방법
한국 중소기업 개발자의 AWS 사용방법한국 중소기업 개발자의 AWS 사용방법
한국 중소기업 개발자의 AWS 사용방법
 
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
 
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
 
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
 
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
 
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
 
20180602 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 1주차
20180602 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 1주차20180602 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 1주차
20180602 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 1주차
 

Similar to AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) 사례 1부

아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 
HBSmith에서는 AWS 이렇게 사용한다.
HBSmith에서는 AWS 이렇게 사용한다.HBSmith에서는 AWS 이렇게 사용한다.
HBSmith에서는 AWS 이렇게 사용한다.창훈 현
 
Vingle tech talk #1
Vingle tech talk #1Vingle tech talk #1
Vingle tech talk #1Tylor Shin
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...Amazon Web Services Korea
 
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디Chiung Choi
 
AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로
AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로
AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로Amazon Web Services Korea
 
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015Amazon Web Services Korea
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
Cloud Taekwon 2015 - AWS를 활용한 로그 분석
Cloud Taekwon 2015 - AWS를 활용한 로그 분석Cloud Taekwon 2015 - AWS를 활용한 로그 분석
Cloud Taekwon 2015 - AWS를 활용한 로그 분석Amazon Web Services Korea
 
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
[AWS Migration Workshop] SQL Server Performance on AWS
[AWS Migration Workshop]  SQL Server Performance on AWS[AWS Migration Workshop]  SQL Server Performance on AWS
[AWS Migration Workshop] SQL Server Performance on AWSAmazon Web Services Korea
 
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
AWS Builders Online Series | EC2와 Lambda로 AWS 시작하기 - 조용진, AWS 솔루션즈 아키텍트
AWS Builders Online Series | EC2와 Lambda로 AWS 시작하기 - 조용진, AWS 솔루션즈 아키텍트AWS Builders Online Series | EC2와 Lambda로 AWS 시작하기 - 조용진, AWS 솔루션즈 아키텍트
AWS Builders Online Series | EC2와 Lambda로 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
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 

Similar to AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) 사례 1부 (20)

KGC 2013 DevSisters
KGC 2013 DevSistersKGC 2013 DevSisters
KGC 2013 DevSisters
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
HBSmith에서는 AWS 이렇게 사용한다.
HBSmith에서는 AWS 이렇게 사용한다.HBSmith에서는 AWS 이렇게 사용한다.
HBSmith에서는 AWS 이렇게 사용한다.
 
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
 
Vingle tech talk #1
Vingle tech talk #1Vingle tech talk #1
Vingle tech talk #1
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
 
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
 
AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로
AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로
AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로
 
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
Aws로 ci하기 안기욱
Aws로 ci하기 안기욱Aws로 ci하기 안기욱
Aws로 ci하기 안기욱
 
Cloud Taekwon 2015 - AWS를 활용한 로그 분석
Cloud Taekwon 2015 - AWS를 활용한 로그 분석Cloud Taekwon 2015 - AWS를 활용한 로그 분석
Cloud Taekwon 2015 - AWS를 활용한 로그 분석
 
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
[AWS Migration Workshop] SQL Server Performance on AWS
[AWS Migration Workshop]  SQL Server Performance on AWS[AWS Migration Workshop]  SQL Server Performance on AWS
[AWS Migration Workshop] SQL Server Performance on AWS
 
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
AWS Builders Online Series | EC2와 Lambda로 AWS 시작하기 - 조용진, AWS 솔루션즈 아키텍트
AWS Builders Online Series | EC2와 Lambda로 AWS 시작하기 - 조용진, AWS 솔루션즈 아키텍트AWS Builders Online Series | EC2와 Lambda로 AWS 시작하기 - 조용진, AWS 솔루션즈 아키텍트
AWS Builders Online Series | EC2와 Lambda로 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
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 

More from Jongwon Han

20191226 LEGACYLAND에서 살아남는 법
20191226 LEGACYLAND에서 살아남는 법20191226 LEGACYLAND에서 살아남는 법
20191226 LEGACYLAND에서 살아남는 법Jongwon Han
 
20190518 개발하기 좋은 날
20190518 개발하기 좋은 날20190518 개발하기 좋은 날
20190518 개발하기 좋은 날Jongwon Han
 
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 201920190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019Jongwon Han
 
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...Jongwon Han
 
20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다Jongwon Han
 
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기Jongwon Han
 
20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차
20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차
20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차Jongwon Han
 
20180124 naver labs aws network and security
20180124 naver labs aws network and security20180124 naver labs aws network and security
20180124 naver labs aws network and securityJongwon Han
 
20171221 naver labs aws 101
20171221 naver labs aws 10120171221 naver labs aws 101
20171221 naver labs aws 101Jongwon Han
 
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
 
20170422 HB Smith - Primer workshop
20170422 HB Smith - Primer workshop20170422 HB Smith - Primer workshop
20170422 HB Smith - Primer workshopJongwon Han
 
HB Smith - Primer workshop
HB Smith - Primer workshopHB Smith - Primer workshop
HB Smith - Primer workshopJongwon Han
 
HB Smith - business plan - live hero - public
HB Smith - business plan - live hero - publicHB Smith - business plan - live hero - public
HB Smith - business plan - live hero - publicJongwon Han
 
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Jongwon Han
 
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)Jongwon Han
 

More from Jongwon Han (15)

20191226 LEGACYLAND에서 살아남는 법
20191226 LEGACYLAND에서 살아남는 법20191226 LEGACYLAND에서 살아남는 법
20191226 LEGACYLAND에서 살아남는 법
 
20190518 개발하기 좋은 날
20190518 개발하기 좋은 날20190518 개발하기 좋은 날
20190518 개발하기 좋은 날
 
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 201920190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
 
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
 
20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다
 
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
 
20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차
20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차
20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차
 
20180124 naver labs aws network and security
20180124 naver labs aws network and security20180124 naver labs aws network and security
20180124 naver labs aws network and security
 
20171221 naver labs aws 101
20171221 naver labs aws 10120171221 naver labs aws 101
20171221 naver labs aws 101
 
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
 
20170422 HB Smith - Primer workshop
20170422 HB Smith - Primer workshop20170422 HB Smith - Primer workshop
20170422 HB Smith - Primer workshop
 
HB Smith - Primer workshop
HB Smith - Primer workshopHB Smith - Primer workshop
HB Smith - Primer workshop
 
HB Smith - business plan - live hero - public
HB Smith - business plan - live hero - publicHB Smith - business plan - live hero - public
HB Smith - business plan - live hero - public
 
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
 
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
 

AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) 사례 1부

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 한종원, ‘HB Smith’ CEO AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 1부
  • 2. 본 강연에서 다룰 내용 •1부 (20분) - 한종원 • Introduction • 'Daily Continuous Deployment' (이하 'daily CD’)로의 여정 • Play with AWS • 실제 운영 사례들 • Wrap Up •2부 (20분) - 윤제상 2
  • 4. 발표자 소개 •한종원 ( https://www.linkedin.com/in/addnull/ ) •Python과 Cloud Infra, Lean/Agile 방법론 그리고 애플의 제품을 사랑 •2012년 석사 학위를 마치고, 스타트업을 시작 (이때부터 AWS를 production level에서 사용) •'의미가 있는 일을, 올바르게 하고 싶다.’ •경력 • (현) DevOps 전문 스타트업 ‘HB Smith’ 대표 ( https://hbsmith.io ) • (2016) 택시 O2O 서비스 스타트업 ‘Kanizsa Lab’의 backend server / infra devops 담당 • (2015) Cloud computing 전문 스타트업 'A2 company' co-founder (‘KINX’에 인수합병) • (2010) Samsung Software Membership (수원, 대전) • (2007) NEXON 'MapleStory 국내 Live Team'에서 DBA, SA로 근무 (산업 기능 요원) 4
  • 5. Introduction •PyCon APAC 2016 ( https://www.pycon.kr/2016apac/program/15 ) • “Daily Continuous Deployment를 위한
 Custom CLI 개발 및 AWS Elastic Beanstalk에 적용하기” 5
  • 6. Introduction •오늘은 ‘daily CD’와 AWS Elastic Beanstalk에 집중 • ‘daily CD’란 무엇이고, 왜 필요한가? • 왜 AWS 를 선택했는가? • 왜 Elastic Beanstalk를 선택했는가? 6
  • 8. Continuous Deployment란? •from Wikipedia
 "Continuous delivery is sometimes confused with continuous deployment. Continuous deployment means that every change is automatically deployed to production.” •정의: 자동으로 최신 버전의 소스 코드를 테스트, 패키징, 배포 이미지 출처: http://evolutyz.in/devops.html 8
  • 9. Daily CD란? •정의: “매일” 자동으로 최신 버전의 소스 코드를 테스트, 패키징, 배포 • 쉽게 적용 가능한 대상 • REST API server (WAS), Worker (async job) • 주로 computing만 하고 data, log 저장을 거의 하지 않는 서버군 • 적용하기 어려운 대상 • DB, Storage • 대용량 data, log 저장을 해야하는 서버군 9
  • 10. Daily CD로의 여정 •DevOps 외길 인생 • 2006년 Nexon MapleStory 개발팀의 SA, DBA로 근무 • 실제 물리머신 환경 (IDC) • non-stop patch, DR 등의 요구사항 • DB HA 구성을 고려 • L4 switch 준비 • PoC, PoC 그리고 PoC • 그러나… 10
  • 11. Daily CD로의 여정 •DevOps 외길 인생 • 2012년 Cloud 전문 startup, ‘A2 company’ 창업 • 외주 SI/SM으로 AWS을 처음 접함 • OpenStack으로 AWS와 유사한 IaaS를 구축 (‘Juno’) • 2016년 DevOps 전문 startup, ‘HB Smith’ 창업 11
  • 12. Daily CD로의 여정 •약 10년간 이 바닥(devops)에서 굴러보니… • 자동화는 장기적으로 언제나 승리한다.
 (사람 손이 문제더라..) • 3R (Repeatable, Reproducible, Reliable)을 추구하라. • 서버(물리머신이든, VM이든)는 오래되면, 갑자기 맛이 간다.
 (memory leak?) • 마지막으로 reboot한지 오래된 서버일 수록 위험하다.
 (모든 면에서) 12 이미지 출처: https://pinterest.com/psychokwack/devops/
  • 13. Daily CD로의 여정 •소년은 늘 꿈을 꿉니다. • non-stop 자동 server patch • HA와 DR • 항상 깨끗한 서버 (알 수 없는 계정, 쓰레기 임시 파일 찌거기들 없는 무공해 청정 서버) 13
  • 14. Daily CD로의 여정 •목표 • 매일 서버(VM)를 새로 다시 띄워서(deployment) 이전 서버와 교체하자. • 즉, 서버를 ‘하루살이’로 만들자. •요구사항 • 3R (Repeatable, Reproducible, Reliable) • non-stop (zero downtime, seamless) • HA와 DR 14
  • 16. AWS와 첫만남 •“EC2 server”가 아니라 “EC2 instance” • VM 역시 bug가 있는 software • 언제든지 갑자기 망가질 수 있는 임시적 자원 • Infra 장애를 100% 미리 예방할 수 없기에,
 “빠른 복구”가 가능하도록 system architecture를 구성한다. 16
  • 17. 왜 AWS 인가? •2012년 부터 production level에서 사용 •높은 신뢰성 •풍부한 3rd party •낮은 비용 !!! •AWS를 쓰면, 개발/배포 속도가 빨라지는 게 아니라, 느려지지 않음. 17
  • 18. 왜 AWS 인가? •다양한 troubleshooting 18
  • 19. 왜 AWS 인가? •지속적으로 확장되는 기능, 제품군 19
  • 20. ### QUIZ ### •첫번째 AWS 서비스는? •https://aws.amazon.com/blogs/aws/aws-blog-the-first-five-years/ 20
  • 21. Play with AWS #1 •EC2(AMI) + ELB 조합으로 Daily CD 도전 • ELB health check 기능 사용 • ELB 밑에 있는 EC2 중에 절반을 detach 함 • detach된 EC2를 patch (이때, ASG를 위한 AMI 생성) • 다시 attach 하고 나머지 절반을 detach • detach된 EC2를 patch • 다시 attach 21
  • 22. Play with AWS #1 •EC2(AMI) + ELB 조합의 문제점 • AMI version 관리 어려움 (도대체 안에 뭐가 있는거지?) • OS level의 security patch 등을 직접해야함 • AMI 안에 쌓이는 찌꺼기 (사용하지 않는 계정, 임시 파일들) • ELB 에서 detach, attach 하는 번거로움 • 짧은 순간이지만, patch된 EC2와 그렇지 않은 EC2가 동시에 ELB에 attach된 상태가 존재함 22
  • 23. Play with AWS #2 •EB로 Daily CD 도전 • EB environment(EC2 + ELB) 단위로
 매일 새로 deployment • 새로운 EB env를 생성 • 이때 새로 생성한 EC2의
 OS(Amazon Linux)는 최신 AMI로부터 생성 • EC2 에 software stack을 처음부터 설치 • 새 EB env가 green status로 바뀌면,
 이전 EB env와 CNAME swapping으로 교체 23
  • 24. Play with AWS #2 •EB의 Daily CD 단점 • EB의 동작 원리를 이해해야함
 (예: ‘/opt/python/ondeck’ 경로가 나중에 ‘/opt/python/current’으로 변경) • EB의 기본 설정을 너무 건드리면, 알 수 없는 문제가 발생될 수 있음 • 교체당한 EB env로도 일정 시간 traffic이 흘러감 (client DNS caching) • 교체 후 1시간 정도 지난 후에 해당 EB env 삭제 • Log 유실의 우려 • 기본 15분마다 S3에 복사하는 cron job의 주기를 짧게 줄일 수 있음
 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.html 24
  • 25. Play with AWS #2 •EB의 Daily CD 장점 • 모든 요구사항을 다 만족함 • 3R (Repeatable, Reproducible, Reliable) -> 신입 개발자에게 빠르게 개발 환경 제공 가능 • non-stop (zero downtime, seamless) • HA와 DR • 그외 추가적인 장점들 • 항상 깨끗한 서버 (알 수 없는 계정, 쓰레기 임시 파일 찌거기들 없는 무공해 청정 서버) • 오래된 서버가 가지는 문제점, 고민 해결 (memory leak, 오랜만에 reboot 등) • 개발자들은 logic code에 더욱 집중 • 서버 tier를 작게 쪼갤 수 있음 (즉, microservices 또는 nanoservices 가 가능) • T2 instance의 bonus CPU credit !!! 25
  • 27. 실제 운영 사례 #1 •이미 AWS Tokyo region을 쓰고 있었음 •2016년 AWS Seoul region open •AWS Tokyo region에서 운영하던 infra 전체를 Seoul region으로 migration •기존에 Daily CD를 쓰고 있던 상태이므로 migration에 반나절 정도 걸림 • Tokyo region의 S3, RDS data를 Seoul region으로 migration (수작업) • REST API server (WAS), Worker (async job)는 Daily CD 설정에서
 ‘ap-northeast-1’을 ‘ap-northeast-2’로 변경만 함 •약 1년간 운영 27
  • 28. 실제 운영 사례 #2 •다른 public cloud 서비스를 쓰고 있었음 •1대의 VM에 all-in-one(DB, WAS…) 상태 •AS-IS code 분석 후 WAS, worker, storage, DB tier 분리 및 AWS 로 migration • AWS migration 하면서 동시에 WAS, Worker 는 Daily CD 설정 적용 •AWS으로 전체 infra migration 완료까지 작업에 4주 소요 •현재 약 6개월 정도 운영 중 28
  • 29. 실제 운영 사례 #3 •저희 ‘HB Smith’ 사례 ( https://hbsmith.io ) •현재 전체 AWS infra를 Daily CD로 운영 중 • 단, 대용량 data, log 저장을 해야하는 서버군(예: RDS)은 제외 •관련된 Python code를 OSS ‘Tiamat’로 공개 • https://github.com/HardBoiledSmith/tiamat • https://github.com/HardBoiledSmith/johanna 29
  • 30. 운영하면서 느낀 Daily CD 단점 •Provisioning code 관리에 공수가 아주 없지 않음 •철학을 이해 못하면, 전체 운영이 어려워짐 • 문제제기: ‘기능 구현, bug 수정이 급한데, 왜 이걸로 시간과 돈을 들임?’ • 답변: ‘이건 개발, 배포 속도를 빠르게 하는게 아니라, 느려지지 않게 하기 위함임.’ 30
  • 32. 체크 포인트 •발표 내용 wrap up • 'daily CD’로의 여정 • ‘daily CD’란 무엇이고, 왜 필요하다고 느꼈는지 • Play with AWS • 왜 AWS를 선택했는지, 그리고 어떻게 ‘daily CD’를 구축했는지 • 실제 운영 사례들 • 3개의 법인에서 적용 사례와 장기간 운영하면서 느낀 ‘단점’ 32
  • 33. 본 강연이 끝난 후… •AWS Elastic Beanstalk 시작하기 • http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html •Python + AWS EB 조합으로 구현한 ‘daily CD’의 자세한 정보 얻기 • https://www.pycon.kr/2016apac/program/15 •GitHub ‘Tiamat’ (AWS CLI 기반)에 contributor 지원 • https://github.com/HardBoiledSmith/tiamat •AWS migration이나 EB 사용(세부적 tuning) 문의 보내기 • https://hbsmith.io • hello@hbsmith.io 33
  • 34. Thank you! 함께 해주셔서 감사합니다! addnull@hbsmith.io 010-9166-6855
  • 35. https://www.awssummit.kr AWS Summit 모바일 앱을 통해 지금 세션 평가에 참여하시면, 행사 후 기념품을 드립니다. #AWSSummitKR 해시태그로 소셜 미디어에 여러분의 행사 소감을 올려주세요. 발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜 채널로 공유될 예정입니다. 여러분의 피드백을 기다립니다!