Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)

5,450 views

Published on

개발과 운영의 조화 ‘데브옵스(DevOps)’ 구현 전략과 사례 - 데브멘토 세미나

Published in: Technology
  • Be the first to comment

데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)

  1. 1. 윤석찬 아마존웹서비스 테크 에반젤리스트 1LQJWWauW 데브옵스5Nv@Ys의 현재와 미래 2VJboW 사례를 중심으로
  2. 2. 목차 • 아마존의 5Nv@Ys 이야기 • 5Nv@Ys를 위한 2HD 코드 서비스 ü 4oMN 4oVVRt ü 4oMN ARYNURWN ü 4oMN 5NYUoa • 미래의 5Nv@Ys ü 4QJt@Ys ü GoRLN @Ys
  3. 3. Cloud_ Microservices_ DevOps_ 요즘 이런 용어들이 유행입니다!
  4. 4. "미래는 이미 와 있다. 단지 널리 퍼져있지 않을 뿐이다.” "The future is alrea'y here — it"s just .ot very eve.ly 'istribute'.” 윌리엄 깁슨
  5. 5. Microservices DevOps
  6. 6. DevOps란 무엇일까요? 5Nv@Ys / 소프트웨어 l발 사이클 속도를 높이는 n developers customers releasetestbuild plan monitor 배포 파이프라인 피드백 메카니즘 소프트웨어 l발 사이클
  7. 7. Origin of DevOps? 아마존닷컴의 사례
  8. 8. e아마존닷컴은 10년전 (1--5년 웹 서버와 데이터베이스 백엔드를 h지는 모놀리식(Monolithic) 애플리케이션이었습니다.f A Conversation with Werner Vogels , 2006 http://queue.acm.org/detail.cfm?id=1142065
  9. 9. 모놀로식 개발 사이클 developers releasetestbuild delivery pipelineapp
  10. 10. e5년전(2001년 아마존은 주요한 아키텍쳐 변화h 있었는데 2 티어(tRNr 기반에서 서로 다른 애플리케이션 기능을 제u하는 분산 서비스 플랫폼으로 변화하였습니다g 여러분이 지금 2VJboW.LoV의 첫화면에 들어온다면! 그 페이지를 생성하기 위해 100여개가 넘는 서비스를 호출하여 만들t 있습니다.f A Conversation with Werner Vogels , 2006
  11. 11. Amazon.com - 서비스 지향 아키텍쳐 (SOA) ArRVRtRvNs DRWPUN-YurYosN 2A: :WtNrOJLNM 9RPQUa MNLouYUNM eMRLrosNrvRLNsf
  12. 12. 애플리케이션을 완성하기 위한 원료 혹은 재료로서 이를 빌딩 블록으로 조립하여, 원하는 서비스를 만들 수 있는 구성 요소를 말한다. 마치 레고블럭을 조립하여 우리가 원하는 모양의 레고를 만들 수 있는 것과 같은 원리 primitives
  13. 13. 2HD 역시 다양한 재료 서비스를 조합 원하는 클라우드 아키텍쳐 구성
  14. 14. 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
  15. 15. © Adrian Crockford, DockerCon 2014 마이크로 서비스 구조의 전형적 특징 – Death Star 아키텍쳐
  16. 16. How to DevTeam? e제품 l발팀을 작o 유지하라 이렇o 하면 프로젝트를 실제로 실행h능하t 측정h능한 단위로 쪼l야만 하o 된다. 아마존의 대부분의 새로운 기능들v 서비스는 두 판의 라지 사이즈 피자로 먹일 수 있는 팀에 의하여 l발되었다.f 제프베조스의 2006년 11월 3usRWNss HNNT 인터뷰
  17. 17. i 팀이 분산된 민첩하면서! 독립적인! 신뢰하t! 오너쉽을 h진 서비스 팀 “DevOps” 피자 두판의 팀이란?
  18. 18. 작은 팀과 서비스에게 필요한 개발 도구? developers delivery pipelineservices ???
  19. 19. • 셀프 서비스 지향 • 기술 독립적 • 베스트 프랙티스 장려 • 단일 목적의 서비스 DevOps 도구의 특징
  20. 20. 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
  21. 21. 마이크로서비스 개발 사이클 developers delivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  22. 22. Amazon 내부 시스템 e수천명의 아마존 l발자들은 매일 2YoUUo를 사용하여! JJvJ! AatQoW! CuKa 앱을 웹 서비스로 네이티브 코드 서비스로 배포하t 있습니다. 지난 12l월 동안 2YoUUo는 5천만번이 넘는 개발, 테스트 및 정식 서버로 배포가 진행되었습니다. 이는 초당 한번 평균 한번 이상의 배포횟수입니다. e HNrWNr GoPNUs! EQN Dtora oO 2YoUUo - 2VJboWds 5NYUoaVNWt 6WPRWN! 201) QttY.//www.JUUtQRWPsMRstrRKutNM.LoV/201)/11/JYoUUo-JVJboW-MNYUoaVNWt-NWPRWN.QtVU
  23. 23. DevOps에 대한 고객의 소리
  24. 24. DevOps LifeCycle 모니터링구축배포테스트빌드코딩 2HD 6UJstRL 3NJWstJUT 2HD @YsHorTs 2HD 4UouMHJtLQ 2HD 4UouMForVJtRoW AWS CodePipeline AWS CodeCommit AWS CodeDeploy AWS DevOps Tools
  25. 25. AWS Code 서비스로 배포하기 Testing Staging Production deploy deploy deploy Source Build release AWS CodeDeploy AWS CodePipeline AWS CodeCommit
  26. 26. AWS 코드 서비스 + 기타 도구와 연계 가능
  27. 27. 2HD 4oMN5NYUoa 손쉽t 믿을 수 있는 배포 방법 다양한 배포 옵션 제u 2HD 외부 서버 배포도 h능 Test CodeDeployv1, v2, v3 Production Dev application revisions deployment groups
  28. 28. AWS CodePipeline i자의 배포 단s에 맞o 파이프라인 x성 h능 제품 테스트 및 출시 속도 k소 지속적인 배포 상태 확인 h능 Build 1) Build 2) Unit test 1) Deploy 2) UI test Source Beta Production 1) Deploy 2) Perf test Gamma 1) Deploy canary 2) Deploy region 1 3) Deploy region 2 1) Pull
  29. 29. AWS CodeCommit 8Rt 코드 저장소 제u 2VJboW D(의 확장성! h용성 및 내x성 제u tm의 요x에 맞는 암호화 기능 제u git pull/push CodeCommit Git objects in Amazon S3 Git index in Amazon DynamoDB Encryption key in AWS KMS SSH or HTTPS
  30. 30. AWS 코드 서비스 기반 DevOps 프로세스 1. 8RtQuK에서 642 인스턴스로 코드 배포하기 2. 4oMN4oVVRt에서 6UJstRL3NJWstJUT으로 코드 배포하기 (. 서드 파티 ENst 단s 추h 및 파이프라인 변r하기 QttYs.//aoutu.KN/v-o(FJO=1QF
  31. 31. Future of DevOps? ChatOps VoiceOps
  32. 32. 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:lCJN • 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 FharingN • -aFCn ,and, VicGCrCDF AHGhCr C: ChaG/DF FCr DHAAieF • 2CHrce: hGGD://JJJ FlideFhare neG/VicGCr/DF/chaGCDF
  33. 33. Why ChatOps? l발자의 행복! 서버에 접속할 필요h 없음 .
  34. 34. Why ChatOps? 운영자의 행복! 봇에o 시키면 됨
  35. 35. Why ChatOps? 서로의 행복! 채팅을 통한 빠른 소통 및 해결
  36. 36. Hubot By GitHub Written in Coffeescript + Nodejs Lita Written in Ruby Err Written in Python ChatOps 플랫폼
  37. 37. Slack의 WebHook 기능 활용
  38. 38. AWS CodeDeploy와 Hubot & Slack 연동 QttYs.//www.aoutuKN.LoV/wJtLQ0v/,M3-UAKBK-s
  39. 39. AWS Lambda와 Slack을 이용한 Chat 구현 https://aws.amazon.com/ko/blogs/korea/slack-devops-with-aws-lambda-and-eb/
  40. 40. What’s AWS Lambda? 높은 확장성 및 빠른 서비스 연동 서버 필요 없이 코드만 배포 함수 실행 시 100ms 단위 과금 서버 없는! 이벤트 처리 방식의 컴퓨팅 서비스 2HD =JVKMJ / 클라우드 함수 기반 마이크로서비스
  41. 41. 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 이벤트 소스에 대한 자원 정책
  42. 42. AWS Lambda 예제: 이미지 썸네일 만들기
  43. 43. 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 APPLICATIONS THREAT INTELLIGENCE AND ANALYTICS NEWS CONTENT PROCESSING GAME METRICS ANALYTICS EXAMPLES OF AWS LAMBDA
  44. 44. HTML IN S3 JAVASCRIPT COGNITO API GATEWAY DYNAMODB SEARCH RECOMMEND CREATE/UPDATE SERVERLESS WEB APPLICATIONS LAM BD A
  45. 45. NODE.JS WEB APP SERVER-SENT EVENT STREAMING RESPONSE QUERY S3 LAMBDA CASCADE N LAMBDA CASCADE 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
  46. 46. S3D YN AM OD B M OBILE AN ALYTIC 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 MOBILEAPPLICATION
  47. 47. 5oLT3Rt 서비스를 이용한 Slack 연동 ChatOps driven Continuous Delivery in 3 minutes QttYs.//vRVNo.LoV/1(-(2(1)1
  48. 48. 2UNxJ DTRUU KRtv 2HD =JVKMJ를 이용한 VoiceOps QttYs.//aoutu.KN/JbKIN):HEx2
  49. 49. Q&A - 여러분의 피드백을 기다립니다! • 2HD한y 사용자 모임. QttY.//JwsTr.orP • 2HD u식 블로그. QttY.//Jws.JVJboW.LoV/To/KUoPs/TorNJ • 2HD u식 소셜 미디어 @AWSKorea AmazonWebServices AWSKorea AWSKorea

×