35
7 steps of DevOps 쉽게 끝내는 DevOps 7단계 홍미영 실장 한국IBM 클라우드 사업부

7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

Embed Size (px)

Citation preview

Page 1: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

7 steps of DevOps

쉽게 끝내는 DevOps

7단계

홍미영 실장

한국IBM 클라우드 사업부

Page 2: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

Agenda

• What ‘s Bluemix?

• What’s DevOps?

• IBM DevOps 접근방법(on Bluemix)

• 문화(Culture)

• 아이디어(Think)

• 코드(Code)

• 딜리버리(Deliver)

• 실행(Run)

• 운영관리(Manage)

• 개선(Learn)

THINK

LEARN

RUN

{ }CODE

DELIVER

CULTURE

MANAGE

Page 3: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

What‘s IBM Bluemix?

IBM Bluemix 는

오픈 표준 기반의

여러분의 혁신적인 어플리케이션을

보다 쉽고 빠르게개발, 실행, 관리하기 위한

IBM의 Cloud 플랫폼 입니다.

Code

Data

Runtime

Middleware

OS

Virtualization

Servers

Storage

Networking

Platform as a Service

Bluemix

Page 4: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

IBM Bluemix 아키텍처

+

지속적으로 신규 추가 및 확장

애플리케이션에 활용 가능한 다양한 서비스 카탈로그

Web Data Mobile AnalyticsCognitive IoT Security Yours

+1

자신이 개발한 클라우드 상의 어플리케이션 혹은 서비스2연계 &API 관리

+

3

앱/서비스를 실행하는 유연한 컴퓨팅 환경

Instant Runtimes Containers Virtual Machines

+ + +4

업무 워크로드 요건에 맞는 운영 옵션

BluemixPublic

BluemixDedicated

BluemixLocal

Powered by IBM SoftLayer 고객 데이타 센터

6

DevOps 도구

+

5

Page 5: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

Dev+Ops=개발(Development)

운영(Operations)

DevOp는 개발 및 운영 조직이 가지는 도전 과제를 해결하고 보다 빠르게SW를 개발하면서도 품질을 향상시키고자 하는 접근 방법 및 솔루션 입니다.

DevOps -새로운 개발 및 운영 환경을 위한 접근방법

Page 6: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

상반된 동기빠른 개발과 배포, 신기술 안정화, 품질

Analysis

Test

Design

ConstructSolution

DevelopmentOperate

Change

Support

OptimizeIT Service

DeliveryBusiness Need IT Service

Dev & Ops간 이슈들

서로 다른 언어/용어 사용

고립 된 데이터

연계되지 않는 업무흐름

연계가 힘든 툴들 사용

Why DevOps?

Page 7: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

Why DevOps?빠른 개발과 배포, 신기술 안정화, 품질

Analysis

Test

Design

ConstructSolution

DevelopmentOperate

Change

Support

OptimizeIT Service

DeliveryBusiness Need IT Service

해결방안:품질을 보다 높인빠른 개발과 배포

보다 빠른 품질검토와피드백을 통한

안정화와 품질관리

Page 8: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

IBM DevOps 접근방법(on Bluemix)

IBM Bluemix Garage 방법론과 Bluemix 상의 DevOps 도구를 통해 Microservice Architecture 기반 개발과 운영 전체 개발 프로세스를 가이드

Page 9: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

IBM Bluemix Garage 방법론

THINK

LEARN

RUN

{ }

CODE

DELIVER

CULTURE

MANAGE

To learn more visit:https://www.ibm.com/devops/method

Cloud 기반의 새로운 어플리케이션을 보다 빠르게 설계 및 개발, 운영, 배포에 필요한 베스트 프렉티스, 아키텍처, 도구에대한 전반적인 가이드

최신의 기술(Design Thinking, Lean Startup, Agile Development, Agile DevOps, and Cloud) 기반의 베스트 프랙티스 제공

실제 프로젝트에서 검증된 최적의 툴 체인

베스트 프랙티스 아키텍처 패턴에 기반한 샘플 애플리케이션

Page 10: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

IBM Bluemix DevOps 서비스 툴체인

실제 프로젝트에서검증된 최적의 툴 체인

Open Source, IBM 제공 도구, 3rd Party

아이디어, 개발, 실행, 운영을 아우르는 개발도구 제공

도구간의 손쉬운 연계지원

Cloud Native Toolchain

Page 11: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

Bluemix Garage -DevOps 7단계

문화(Culture)Foundational

values and principles

아이디어

(Think )Conceptualization,

refinement, and prioritization of capabiliti

es코드(Code)

Generation, enhancement, optimization and testing of featur

es

딜리버리

(Deliver)Automated production and delivery of of

ferings

실행(Run)Services, options, and capabilities require

d to run offerings

운영관리

(Manage)Ongoing monitoring, support, and recov

ery of offerings

개선(Learn)Continuously learn based on outcomes from experiments

Page 12: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 7단계 - 문화(Culture)

• 다양한 팀 구성• 조직과 역할• 같은 공간 내의 자율화된 팀• 애자일 원칙에 기반

새로운 환경을 위한 조직 문화의 변화는 불가피

Page 13: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 문화(Culture)

► Slack 연계 - Cloud 기반 실시간 메세징 및 알림 서비스와의 연계

팀과 전용화된 채널을 통해 업무와 관련된커뮤니케이션이 가능DevOps 서비스와의 통합

- Build and Deploy- New Relic- Sauce Labs,

Page 14: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 7단계 – 아이디어(Think)

• IBM Design Thinking• MVP(a minimum viable product)• 회고 및 점검을 통한 개선• 순서화된 백로그 기반의 Iteration

계획

개발하고자 하는 기능(Feature) 을 개념화, 설계, 정제 및우선 순위를 결정

Page 15: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 아이디어(Think)

► Track & Plan 서비스 – 애자일 플래닝

• 스토리 , 태스크 및 결함 생성 및 관리• 애자일 플래닝 - Product Backlog, 릴리

스 및 스프린트

Page 16: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 아이디어(Think)

► GitHub Issue - Issue Tracking 을 위한 도구, GIT과 연동, 손쉽게 이슈 트랙킹 사용

• GitHub Issue에서 이슈 생성 - 담당자 할당 및 카테고리 지정• 소스코드 Commit 시 ‘Close, Fix, Resolve’ 와 같은 키워드 사용하여 이슈 클로즈• 이슈-소스코드 연동

Page 17: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 7단계 – 코드(Code)

Daily standup 미팅 Pair 프로그래밍 Test-driven development

(TDD) 지속적 통합(Continuously

integrate) 테스트 자동화

협업을 통한 고품질의 코드 생성 및 지속적 통합(Continuous Integration)

Page 18: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 코드(Code)

► GitHub – 소스코드 제어 및 버전 관리

Page 19: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

Developers mind share: #50% of developers have a github account

DevOps 서비스 – 코드(Code)

► GitHub – 소셜 코딩- 개발자간의 협업을 증대, 권한을 부여, 책임과 가시성을 부여

Page 20: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 코드(Code)

► GitHub – 소셜 코딩- 개발자간의 협업을 증대, 권한을 부여, 책임과 가시성을 부여

IBM Bluemix Dedicated for GitHub Enterprise provides enterprise grade security/support

• GitHub Enterprise : single-tenant• Bluemix 싱글사이온• 감사 및 컴플라이언스(Auditing & Compliance)• Bluemix Monitoring & High Availability 셋업• 자동화된 백업• 엑티비티 대시보드• 네트웍 보안

Page 21: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 코드(Code)

► GitHub – 소스코드 제어 및 버전 관리

커밋, Push, Pull Request, Merge, Revert

Page 22: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 코드(Code)

► Eclipse Orion Web IDE – 웹 기반의 통합 개발 환경 제공

• 별도의 개발 환경 구성 불필요• 어떤 장소에서도 소스 코드 편집 가능• GitHub와 연계

Page 23: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 코드(Code)

► Eclipse Tools for Bluemix – 어플리케이션 개발 및 빌드, 배포• Eclipse 환경에서 서버 환경 설정 (할당 메모리, 서비스 바인딩 등)

어플리케이션 디버깅- Remote debugging- Incremental update

개발 모드 활성 화

- Incremental file updates

- SSH Web Console 엑세스

Page 24: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 7단계 – 딜리버리(DELIVER)

• 지속적인 딜리버리

• 자동화된 배포

고품질의 새로운 기능(Feature)를 지속적으로 딜리버리

Page 25: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 딜리버리(DELIVER)

► Delivery Pipeline – 소스 병합, 통합 빌드, 테스트 및 배포

빌드Maven, Ant, Gradle …

테스트Junit Test, Lint …

DEV 환경배포

QA 환경배포

Prod 환경배포

Page 26: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 7단계 – 실행(RUN)

다양한 실행 환경 고가용성 확보 Auto-scaling

Cloud 환경에서 어플리케이션의 고가용성 확보

Page 27: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 실행(RUN)

► Compute – 어플리케이션을 실행할 다양한 형태의 컴퓨팅 환경및 런타임 제공

OpenWhisk

이벤트 기반의 앱에 적당

Serverless 환경에디플로이

Instant Runtime

sCloud Foundry 기반어플리케이션 중심

런타임

IBM Containers

OS에 대한 관리없이 이식용이,

일관된 어플리케이션 딜리버리

Virtual Machines

사용자의 환경에대한 가장 유연한

제어 가능

► 개발 언어 및 런타임 지원

Java Liberty, Tomcat, Node.js, Go, PHP, Python, Ruby, ASP.NET Core, Swift,

your own build packs

Page 28: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

AUTO-SCALING

• Dynamic scaling

• Custom scaling policy

• Metric statistics

• Scaling history

Dynamic scaling- 운영환경의 워크로드에 따라 자동으로 런타임

인스턴스 추가 및 삭제

Custom scaling policy- 사용자의 필요에 따른 스케일링 정책 설정- 시스템 메모리, Heap, Throughput, Response

Time

Metric statistics- 시스템 메모리, Heap, Throughput, Response

Time 에 대한 실시간 모니터링

Scaling history- 기간별, 스케일링 타입(In/Out), 스케일링 상태

(Any, Completed, Failed, Scaling) 에 따른 히스토리 검색

DevOps 서비스 – 실행(RUN)

► AutoScaling

Page 29: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 7단계 – 운영관리(MANAGE)

자동화된 모니터링 빠른 복구 방안 탄력적(Be resilient) 자동화된 운영(Automate

operations)

시스템에 대한 모니터링을 통해 문제 사전 방지 및 예측

Page 30: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 서비스 – 운영관리(MANAGE)

► Application Monitoring and Log Analytics

어플리케이션 가용성(Availability)

로그 분석(Log Analytics )

성능 모니터링(Performance Monitoring)

Page 31: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

DevOps 7단계 – 개선(LEARN)

A/B 테스트 수행 가설(Hypothesis) 기반의 개

발 분석 도구의 활용

어플리케이션을 사용하는 고객의 Interaction을 분석함으로써 비즈니스에 필요한 의사결정

Page 32: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

요약 : DevOps 서비스를 활용한 어플리케이션 개발 및 관리

아이디어

•Design Thinking Method

•어플리케이션기획 및 설계

•Track & Plan을 이용한Agile Planning

코드

•개발 언어, 런타임 선택 후어플리케이션생성

•Git Hub를 이용한 소스코드공유

•Web IDE / Eclipse 활용한개발

딜리버리

•딜리버리 파이프라인을 이용한 빌드

•딜리버리 파이프라인을 이용한 테스트연계

•딜리버리 파리프 라인을이용한 어플리케이션 배포

실행

•어플리케이션Auto-Scaling 을 통한 가용성 확보

운영관리

•Application Monitoring 및Log Analytics 를 통한 어플리케이션 가용성, 성능, 로그를 손쉽게 분석

개선

•A/B 테스트 기법 및 추가적인 분석 도구를 통한 어플리케이션에 대한 사용자의피드백 수집및 분석 이를통한 개선

Slack 연동을 통한 팀 멤버간 실시간 커뮤니케이션

Page 33: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

보다 빠른

어플리케이션 개발

어플리케이션

개발에 보다 집중

어플리케이션

성능 및

가용성 향상

Build your idea with IBM Bluemix DevOps

Page 34: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,

Thank you

Page 35: 7 steps of DevOps 쉽게끝내는 DevOps 7단계 · PDF fileSW를개발하면서도품질을향상시키고자하는접근방법및솔루션입니다. ... • 소스코드Commit 시‘Close,