39
Cognitive Cloud Connect DevOps_Cognitive Cloud Connect IBM 공진기 차장

Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

Embed Size (px)

Citation preview

Page 1: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

CognitiveCloudConnect

DevOps_Cognitive Cloud Connect

IBM공진기차장

Page 2: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

01

아젠다

What is DevOps?

02 THINK03 CODE

04 DELIVER

05 RUN

06 MANAGE07 LEARN

08 CULTURE

Cognitive Cloud ConnectDevOps_Cognitive Cloud Connect

THINK

LEARN

RUN

{�}CODE

DELIVER

CULTURE

MANAGE

Page 3: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

3Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Page 4: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

4Page

도대체 DevOps 는무엇인가..

What is DevOps?

Page 5: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

5Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

DevOps 란?§ Development + Operations ?

§ 개발및운영문화의변경

§ 빠른개발, feedback 및적용

§ 자동화를통한비용 ↓, 시간 ↓, 오류 ↓, 효율성 ↑

Page 6: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

6Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

애자일방법론§ 빠른생명주기

§ 프로그램 vs. 문서

§ post Waterfall§ Scrum & sprint§ 방법론§ XP§ Pair programming

http://www.screenmedia.co.uk/blog/2014/08/what-is-agile-development-a-brief-introduction/

Page 7: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

7Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect.

애자일, DevOpsBusiness Process

Ah ha! Ka ching!

Biz Dev Ops

Agile Developmentfixes this

DevOpsFixes this

Page 8: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

8Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

DevOps 어려운이유?§ 개발, 시스템과아키텍처에대한깊은이해필요

§ 높은구축비용

§ 유지보수문제§ 개발자의저항감

• 업무강도향상

• 문서 vs. test

Page 9: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

9Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

그래도 DevOps§ Legacy

• 대규모업데이트의영향최소화를위해새벽에배포

• 버그추적과전체롤백의어려움

• 문제점파악및해결에따른부서간반목

§ DevOps• 효율적인테스트및디버깅을위해업무시간중배포

• 문제발생시바로롤백, 수정및재배포

• 팀원간원할한소통과책임분배

• 빠른개발및적용

Page 10: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

10Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

IBM DevOps method

Page 11: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

11Page

Incrementally deliver awesome solutions

THINK

THINK

LEARN

RUN

{�}CODE

DELIVER

CULTURE

MANAGE

Page 12: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

12Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Think§ IBM Design Thinking§ MVP - Minimum Viable Product

• 문서보다개발이빠르다?!

§ Issue tracking

Page 13: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

13Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Issue 전달방법§ Legacy

• 구두

• 이메일

• Excel / Word

§ DevOps• Slack• Bugzilla• Redmine• JIRA• Trello• mantis

Page 14: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

14Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Bluemix DevOps: Track & Plan§ 사실 Rational Team Concert§ Issue, 작업관리

• Defect(bug), task, story, epic etc..§ Code repository 연동

Page 15: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

15Page

Create innovative solutions fast

CODE

THINK

LEARN

RUN

{�}CODE

DELIVER

CULTURE

MANAGE

Page 16: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

16Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Source Code Management (SCM)§ Version Control System

• CVS• Subversion

§ History management§ Branch§ 협업

Version Database

Central VCS Server

file

CheckoutComputer A

file

CheckoutComputer B

Version 3

Version 2

Version 1

Page 17: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

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

Page 18: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

18Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Page 19: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

19Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

In case of fire..§ Source 의안전

§ commit & push§ 불나면나가야합니다..§ npm install -g git-fire

Page 20: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

20Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

GitHub Enterprise by IBM§ GitHub Enterprise on Bluemix

Dedicated§ GitHub Issue§ Pull request

Page 21: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

21Page

Build, test and deploy

DELIVER

THINK

LEARN

RUN

{�}CODE

DELIVER

CULTURE

MANAGE

Page 22: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

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

Page 23: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

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..

Page 24: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

24Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

자동화의장점§ 반복작업에의한오류감소

§ 작업의부담경감

§ 작업단위를줄여영향최소화§ Scale out 가능

Page 25: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

25Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Bluemix DevOps: Build & Deploy

Page 26: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

26Page

Services, options, and capabilities to run solutions

RUN

THINK

LEARN

RUN

{�}CODE

DELIVER

CULTURE

MANAGE

Page 27: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

27Page

Cognitive Cloud ConnectDevOps_Cognitive Cloud Connect.

Page 28: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

28Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

산, 바다, 계곡 캠핑장 글램핑 호텔

사이트

데크

텐트

그릴

바비큐

맥주

사이트

데크

텐트

그릴

바비큐

맥주

사이트

데크

텐트

그릴

바비큐

맥주

사이트

데크

텐트

그릴

바비큐

맥주

Page 29: Bluemix 로 접근하는 DevOps - Cognitive Cloud 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 IT Software as a Service

Page 30: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

30Page

Ensure operational excellence

MANAGE

THINK

LEARN

RUN

{�}CODE

DELIVER

CULTURE

MANAGE

Page 31: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

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

Page 32: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

32Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Canary deployment,Zero down time deploy

Page 33: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

33Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Active deploy

Page 34: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

34Page

Continuously experiment to deliver the right solution

LEARN

THINK

LEARN

RUN

{�}CODE

DELIVER

CULTURE

MANAGE

Page 35: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

35Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

사용자가원하는것?§ A/B Testing§ Hyphthesis-driven development§ 잘모르겠으면다구현해보고사용자의반응을보자

https://www.ibm.com/developerworks/library/d-testops-continuous-test/

Visitors arerandomly distributed

Best version: A

Conversion Rate34%57%

50% 50%

Page 36: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

36Page

Transform & innovate with speed

CULTURE

THINK

LEARN

RUN

{�}CODE

DELIVER

CULTURE

MANAGE

Page 37: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

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/

Page 38: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

38Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

개발과운영의간극§ 개발

• 아주빠른템포

• 문제가생기면밀고새로..• 새로운환경에익숙함

§ 운영• 느린템포

• 디비/앱은증분업데이트로

- 문제시롤백!• 권한관리가매우중요

Page 39: Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect

39Page

감사합니다