데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
Post on 15-Apr-2017
1483 Views
Preview:
Transcript
윤석찬 아마존웹서비스 테크 에반젤리스트1LQJWWauW
데브옵스5Nv@Ys의 현재와 미래2VJboW 사례를 중심으로
목차
• 아마존의 5Nv@Ys 이야기• 5Nv@Ys를 위한 2HD 코드 서비스
ü 4oMN 4oVVRtü 4oMN ARYNURWNü 4oMN 5NYUoa
• 미래의 5Nv@Ysü 4QJt@Ysü GoRLN @Ys
Cloud_Microservices_
DevOps_요즘 이런용어들이 유행입니다!
"미래는 이미 와 있다. 단지 널리퍼져있지 않을 뿐이다.”
"The future is alrea'y here — it"s just .ot very eve.ly 'istribute'.”
윌리엄 깁슨
MicroservicesD
evO
ps
DevOps란 무엇일까요?
5Nv@Ys / 소프트웨어 l발 사이클 속도를 높이는 n
developers customers
releasetestbuild
plan monitor
배포 파이프라인
피드백 메카니즘
소프트웨어 l발 사이클
Origin of DevOps?
아마존닷컴의 사례
e아마존닷컴은 10년전 (1--5년 웹 서버와 데이터베이스 백엔드를h지는 모놀리식(Monolithic) 애플리케이션이었습니다.f
A Conversation with Werner Vogels , 2006 http://queue.acm.org/detail.cfm?id=1142065
모놀로식 개발 사이클
developers
releasetestbuild
delivery pipelineapp
e5년전(2001년 아마존은 주요한 아키텍쳐 변화h 있었는데2 티어(tRNr 기반에서 서로 다른 애플리케이션 기능을제u하는 분산 서비스 플랫폼으로 변화하였습니다g 여러분이 지금 2VJboW.LoV의 첫화면에 들어온다면! 그페이지를 생성하기 위해 100여개가 넘는 서비스를호출하여 만들t 있습니다.f
A Conversation with Werner Vogels , 2006
Amazon.com - 서비스 지향 아키텍쳐 (SOA)
ArRVRtRvNsDRWPUN-YurYosN2A: :WtNrOJLNM
9RPQUa MNLouYUNMeMRLrosNrvRLNsf
애플리케이션을 완성하기 위한 원료 혹은재료로서 이를 빌딩블록으로 조립하여, 원하는 서비스를만들 수 있는구성요소를 말한다. 마치 레고블럭을 조립하여 우리가 원하는
모양의 레고를 만들 수있는것과 같은 원리
primitives
2HD 역시 다양한 재료 서비스를 조합원하는 클라우드 아키텍쳐 구성
e넷플릭스는 수백l의 마이크로서비스를 2HD 클라우드 기반으로운영하t 있는 n으로 유명하다. 또한! 인터널 2A:를 기반으로h벼운 C6DE 프로토콜을 활용하여 서비스 통신을 하t 있으며! Netflix Internal Web Service Framework(NIWS) 그리t 이러한다양한 서비스를 발p하기 위한 목록 w리를 위한 6urNTJ! 서비스j 유연한 소통을 위한 CRKKoW 등 클라우드 내 서비스운영을 위한 수십l의 오픈 소스 프로젝트를QttY.//WNtOURx.PRtQuK.Ro/ 에 ul하t 있다.f
http://techblog.netflix.com/2013/01/announcing-ribbon-tying-netflix-mid.html
© Adrian Crockford, DockerCon 2014
마이크로 서비스 구조의 전형적 특징 – Death Star 아키텍쳐
How to DevTeam?e제품 l발팀을 작o 유지하라 이렇o 하면프로젝트를 실제로 실행h능하t 측정h능한 단위로쪼l야만 하o 된다. 아마존의 대부분의 새로운기능들v 서비스는 두 판의 라지 사이즈 피자로 먹일수 있는 팀에 의하여 l발되었다.f 제프베조스의 2006년 11월 3usRWNss HNNT 인터뷰
i 팀이 분산된민첩하면서! 독립적인!신뢰하t! 오너쉽을
h진 서비스 팀“DevOps”
피자 두판의 팀이란?
작은 팀과 서비스에게 필요한 개발 도구?
developers delivery pipelineservices
???
• 셀프 서비스 지향• 기술 독립적• 베스트 프랙티스 장려• 단일 목적의 서비스
DevOps 도구의 특징
Amazon 내부 시스템
아폴로- 배포 서비스
파이프라인 c 출시 자동화
• Deployment service• No downtime deployments• Health tracking• Versioned artifacts and rollbacks
• Continuous delivery• Automated release process• Faster and more reliable releases• >90% of teams
마이크로서비스 개발 사이클
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
Amazon 내부 시스템
e수천명의 아마존 l발자들은 매일 2YoUUo를사용하여! JJvJ! AatQoW! CuKa 앱을 웹서비스로 네이티브 코드 서비스로 배포하t있습니다. 지난 12l월 동안 2YoUUo는5천만번이 넘는 개발, 테스트 및 정식서버로 배포가 진행되었습니다. 이는 초당한번 평균 한번 이상의 배포횟수입니다. eHNrWNr GoPNUs! EQN Dtora oO 2YoUUo - 2VJboWds 5NYUoaVNWt 6WPRWN! 201)QttY.//www.JUUtQRWPsMRstrRKutNM.LoV/201)/11/JYoUUo-JVJboW-MNYUoaVNWt-NWPRWN.QtVU
DevOps에 대한 고객의 소리
DevOps LifeCycle
모니터링구축배포테스트빌드코딩
2HD6UJstRL
3NJWstJUT
2HD@YsHorTs
2HD 4UouMHJtLQ
2HD4UouMForVJtRoW
AWS CodePipeline
AWS CodeCommit
AWS CodeDeploy
AWS DevOps Tools
AWS Code 서비스로 배포하기
Testing Staging Production
deploy
deploy
deploy
Source Build
release
AWS CodeDeploy
AWS CodePipeline
AWSCodeCommit
AWS 코드 서비스 + 기타 도구와 연계 가능
2HD 4oMN5NYUoa
손쉽t 믿을 수 있는 배포 방법다양한 배포 옵션 제u2HD 외부 서버 배포도 h능
TestCodeDeployv1, v2, v3
Production
Dev
applicationrevisions
deployment groups
AWS CodePipeline
i자의 배포 단s에 맞o 파이프라인 x성 h능제품 테스트 및 출시 속도 k소지속적인 배포 상태 확인 h능
Build1) Build2) Unit test
1) Deploy2) UI test
Source Beta Production1) Deploy2) Perf test
Gamma1) Deploy canary2) Deploy region 13) Deploy region 2
1) Pull
AWS CodeCommit
8Rt 코드 저장소 제u2VJboW D(의 확장성! h용성 및 내x성 제utm의 요x에 맞는 암호화 기능 제u
git pull/push CodeCommit
Git objects inAmazon S3
Git index inAmazon DynamoDB
Encryption keyin AWS KMS
SSH or HTTPS
AWS 코드 서비스 기반 DevOps 프로세스
1. 8RtQuK에서 642 인스턴스로 코드 배포하기2. 4oMN4oVVRt에서 6UJstRL3NJWstJUT으로 코드 배포하기(. 서드 파티 ENst 단s 추h 및 파이프라인 변r하기QttYs.//aoutu.KN/v-o(FJO=1QF
Future of DevOps?ChatOpsVoiceOps
ChatOps란?
• “0HGGing GCClF righG in Ghe Aiddle C: Ghe cCnverFaGiCnN • -eFFe .eJland, GiG,H6 • 2CHrce: hGGDF://FDeakerdeck cCA/jneJland/chaGCDF-aG-giGhH6
• “ChaG/DF iF a cClla6CraGiCn ACdel GhaG cCnnecGF DeCDle, GCClF, DrCceFF, and aHGCAaGiCn inGC a GranFDarenG JCrk:lCJ N
• 2ean 1egan, AGlaFFian• 2CHrce: hGGD://6lCgF aGlaFFian cCA/2016/01/JhaG-iF-chaGCDF-adCDGiCn-gHide/
• “TC ACve :aFG and AainGain FGa6iliGy iG’F iADCrGanG GC have a cHlGHre C: aHGCAaGiCn, AeaFHreAenG and Fharing N • -aFCn ,and, VicGCrCDF AHGhCr C: ChaG/DF FCr DHAAieF • 2CHrce: hGGD://JJJ FlideFhare neG/VicGCr/DF/chaGCDF
Why ChatOps?l발자의 행복!
서버에 접속할 필요h 없음.
Why ChatOps?운영자의 행복!
봇에o 시키면 됨
Why ChatOps?서로의 행복!채팅을 통한
빠른 소통 및 해결
Hubot By GitHub Written in Coffeescript + Nodejs
LitaWritten in Ruby
ErrWritten in Python
ChatOps 플랫폼
Slack의 WebHook 기능 활용
AWS CodeDeploy와 Hubot & Slack 연동QttYs.//www.aoutuKN.LoV/wJtLQ0v/,M3-UAKBK-s
AWS Lambda와 Slack을 이용한 Chat 구현
https://aws.amazon.com/ko/blogs/korea/slack-devops-with-aws-lambda-and-eb/
What’s AWS Lambda?
높은 확장성 및빠른 서비스 연동
서버 필요 없이코드만 배포
함수 실행 시100ms 단위 과금
서버 없는! 이벤트 처리 방식의 컴퓨팅 서비스2HD =JVKMJ / 클라우드 함수 기반 마이크로서비스
AWS Lambda : 동작 원리Bring your own code• ?oMN.Ss! JJvJ! AatQoW• JJvJ / DLJUJ 4UoSurN 등의
어떠한 JGM기반 언어.• 3rRWP aour owW URKrJrRNs
유연한 호출 경로• 6vNWt 기반 호출 옵션 (여러
2HD 서비스들v 통합 • C6DE 2A: 호출 h능 (2VJboW
2A: 8JtNwJa와 연동
단순한 자원 모델• 12,M3부터 1.583까지 6)M3
단위로 메모리 설정• 할당된 메모리에 비례하여
4AF 및 네트웍 자원 할당• 실제 사용량 내역 보t
효과적인 권한 통제• 2HD :2M (:MNWtRta JWM
2LLNss MJWJPNVNWt CoUN을사용한 실행 z한 설정• 2HD 이벤트 소스에 대한자원 정책
AWS Lambda 예제: 이미지 썸네일 만들기
MOBILE CHAT APP
AD DATA ANALYTICS AND ROUTING
MOBILE APP ANALYTICS
IMAGE CONTENT FILTERING
REAL-TIME VIDEO AD BIDDING
NEWS CONTENT PROCESSING
GENE SEQUENCE SEARCH
CLOUD TELEPHONY
DATA PROCESSING
WEB APPLICATIONS
WEB APPLICATIONSTHREAT INTELLIGENCE AND ANALYTICS
NEWS CONTENT PROCESSING
GAME METRICS ANALYTICS
EXAMPLES OF AWS LAMBDA
HTML IN S3
JAVASCRIPT
COGNITO
API GATEWAY DYNAMODB
SEARCH
RECOMMEND
CREATE/UPDATE
SERVERLESS WEB APPLICATIONS
LAM BD A
NODE.JS WEB APP
SERVER-SENT EVENT STREAMING RESPONSE
QUERY
S3
LAMBDACASCADE N
LAMBDACASCADE 0
LAMBDA COUNTING FUNCTION 0
USER
LAMBDA COUNTING FUNCTION 0
LAMBDA COUNTING FUNCTION 0
LAMBDA COUNTING FUNCTION 0
SERVERLESS DATA PROCESSING
WEB UI CASCADE PROCESS
S3D YN AM OD B
M OBILE AN ALYT IC S
SN S
AM AZON C OGN ITO
API GATEW AY
LAM BD A
LAM BD A
LAM BD A NOTIFICATIONS
MOBILE DEVICE
MOBILE BACKEND
R D S
DATA AND CONTENT
ANALYTICS
SERVERLESS MOBILE APPLICATION
5oLT3Rt 서비스를 이용한 Slack 연동ChatOps driven Continuous Delivery in 3 minutesQttYs.//vRVNo.LoV/1(-(2(1)1
2UNxJ DTRUU KRtv 2HD =JVKMJ를 이용한VoiceOps
QttYs.//aoutu.KN/JbKIN):HEx2
Q&A - 여러분의 피드백을 기다립니다!
• 2HD한y 사용자 모임. QttY.//JwsTr.orP• 2HD u식 블로그. QttY.//Jws.JVJboW.LoV/To/KUoPs/TorNJ• 2HD u식 소셜 미디어
@AWSKorea
AmazonWebServices
AWSKorea
AWSKorea
top related