cognitive cloud devops cognitive connect cloud … monitoring fast recovery resiliency chaotic...
TRANSCRIPT
01
아젠다
What is DevOps?
02 THINK
03 CODE
04 DELIVER
05 RUN
06 MANAGE
07 LEARN
08 CULTURE
Cognitive Cloud ConnectDevOps_Cognitive Cloud Connect
THINK
LEARN
RUN
{ }CODE
DELIVER
CULTURE
MANAGE
5Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
DevOps 란?
Development + Operations ?
개발 및 운영 문화의 변경
빠른 개발, feedback 및 적용
자동화를 통한 비용 ↓, 시간 ↓, 오류 ↓, 효율성 ↑
6Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
애자일 방법론
빠른 생명주기
프로그램 vs. 문서
post Waterfall
Scrum & sprint
방법론
XP
Pair programminghttp://www.screenmedia.co.uk/blog/2014/08/what-is-agile-development-a-brief-introduction/
7Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect.
애자일, DevOpsBusiness Process
Ah ha! Ka ching!
Biz Dev Ops
Agile Development
fixes this
DevOps
Fixes this
8Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
DevOps 어려운 이유?
개발, 시스템과 아키텍처에 대한 깊은 이해 필요
높은 구축 비용
유지보수 문제
개발자의 저항감
• 업무 강도 향상
• 문서 vs. test
9Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
그래도 DevOps
Legacy
• 대규모 업데이트의 영향 최소화를위해 새벽에 배포
• 버그 추적과 전체 롤백의 어려움
• 문제점 파악 및 해결에 따른 부서간 반목
DevOps
• 효율적인 테스트 및 디버깅을 위해업무시간중 배포
• 문제 발생시 바로 롤백, 수정 및 재배포
• 팀원간 원할한 소통과 책임 분배
• 빠른 개발 및 적용
12Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
Think
IBM Design Thinking
MVP - Minimum Viable Product
• 문서보다 개발이 빠르다?!
Issue tracking
13Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
Issue 전달방법
Legacy
• 구두
• 이메일
• Excel / Word
DevOps
• Slack
• Bugzilla
• Redmine
• JIRA
• Trello
• mantis
14Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
Bluemix DevOps: Track & Plan
사실 Rational Team Concert
Issue, 작업 관리
• Defect(bug), task, story, epic etc..
Code repository 연동
16Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
Source Code Management (SCM)
Version Control System
• CVS
• Subversion
History management
Branch
협업
Version Database
Central VCS Server
file
Checkout
Computer A
file
Checkout
Computer B
Version 3
Version 2
Version 1
17Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
Distributed SCM 분산 구조
• git
• mercurial
• bazaar
각자 version control 가능
• 쉬운 branch
• 쉬운 commit
Version Database
Server Computer
Version 3
Version 2
Version 1
Computer A
Version Database
Version 3
Version 2
Version 1
file
Computer B
Version Database
Version 3
Version 2
Version 1
file
19Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
In case of fire..
Source 의 안전
commit & push
불나면 나가야 합니다..
npm install -g git-fire
20Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
GitHub Enterprise by IBM
GitHub Enterprise on Bluemix Dedicated
GitHub Issue
Pull request
22Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
Continuous Integration (CI)
https://insights.sei.cmu.edu/devops/2015/01/continuous-integration-in-devops-1.html
Test & Push & Test
Test 자동화
• Unit test
• Functional test
• UX test
- Selenium
- PhantomJS
Build & Deploy
23Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
Continuous Delivery (CD) CI, CD
• Jenkins, Travis, UrbanCodeDeploy (IBM)
Infrastructure 자동화
• Puppet, Ansiable, Chef
Build / Environment
• Ant, Maven, Gradle, UrbanCodeRelease (IBM)
• Fabric, npm
Shell scripts..
24Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
자동화의장점 반복 작업에 의한 오류 감소
작업의 부담 경감
작업 단위를 줄여 영향 최소화
Scale out 가능
26Page
Services, options, and capabilities
to run solutions
RUN
THINK
LEARN
RUN
{ }CODE
DELIVER
CULTURE
MANAGE
28Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
산, 바다, 계곡 캠핑장 글램핑 호텔
사이트
데크
텐트
그릴
바비큐
맥주
사이트
데크
텐트
그릴
바비큐
맥주
사이트
데크
텐트
그릴
바비큐
맥주
사이트
데크
텐트
그릴
바비큐
맥주
29Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
Infrastructure as
a Service
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Platform as a
Service
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Traditional ITSoftware as a
Service
31Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
관리방법론 / 도구 The Circuit Breaker pattern
Auto scale
Automated monitoring
Fast recovery
Resiliency
Chaotic testing
High availability
IBM AppScan
Slack
PagerDuty
NewRelic
Active Deploy
Monitoring & Analytics
34Page
Continuously experiment to deliver
the right solution
LEARN
THINK
LEARN
RUN
{ }CODE
DELIVER
CULTURE
MANAGE
35Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
사용자가원하는것? A/B Testing
Hyphthesis-driven development
잘 모르겠으면 다 구현해보고사용자의 반응을 보자
https://www.ibm.com/developerworks/library/d-testops-continuous-test/
Visitors are
randomly distributed
Best version: A
Conversion Rate
34%57%
50% 50%
37Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
How the customerexplained it
How the projectleader understood it
How the analystdesigned it
How the programmer
wrote it
How the business consultant described it
How the project was documented
What operationsinstalled
How the customerwas billed
How it wassupported
What the customerreally neededhttp://projectcartoon.com/
38Page
Cognitive Cloud ConnectDevOps_CognitiveCloud Connect
개발과운영의간극
개발• 아주 빠른 템포
• 문제가 생기면 밀고 새로..
• 새로운 환경에 익숙함
운영• 느린 템포
• 디비/앱은 증분 업데이트로
- 문제시 롤백!
• 권한 관리가 매우 중요