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

Cognitive Cloud DevOps Cognitive Connect Cloud … monitoring Fast recovery Resiliency Chaotic testing High availability IBM AppScan Slack PagerDuty NewRelic Active Deploy Monitoring

  • Upload
    lenhi

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

CognitiveCloudConnect

DevOps_Cognitive

Cloud Connect

IBM

공진기차장

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

3Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

4Page

도대체 DevOps 는 무엇인가..

What is DevOps?

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

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

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

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

• 빠른 개발 및 적용

10Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

IBM DevOps method

11Page

Incrementally deliver awesome

solutions

THINK

THINK

LEARN

RUN

{ }CODE

DELIVER

CULTURE

MANAGE

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 연동

15Page

Create innovative solutions fast

CODE

THINK

LEARN

RUN

{ }CODE

DELIVER

CULTURE

MANAGE

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

18Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

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

21Page

Build, test and deploy

DELIVER

THINK

LEARN

RUN

{ }CODE

DELIVER

CULTURE

MANAGE

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 가능

25Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Bluemix DevOps: Build & Deploy

26Page

Services, options, and capabilities

to run solutions

RUN

THINK

LEARN

RUN

{ }CODE

DELIVER

CULTURE

MANAGE

27Page

Cognitive Cloud ConnectDevOps_Cognitive Cloud Connect.

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

30Page

Ensure operational excellence

MANAGE

THINK

LEARN

RUN

{ }CODE

DELIVER

CULTURE

MANAGE

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

32Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Canary deployment,Zero down time deploy

33Page

Cognitive Cloud ConnectDevOps_CognitiveCloud Connect

Active deploy

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%

36Page

Transform & innovate with speed

CULTURE

THINK

LEARN

RUN

{ }CODE

DELIVER

CULTURE

MANAGE

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

개발과운영의간극

개발• 아주 빠른 템포

• 문제가 생기면 밀고 새로..

• 새로운 환경에 익숙함

운영• 느린 템포

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

- 문제시 롤백!

• 권한 관리가 매우 중요

39Page

감사합니다