View
221
Download
6
Category
Preview:
Citation preview
7 steps of DevOps
쉽게 끝내는 DevOps
7단계
홍미영 실장
한국IBM 클라우드 사업부
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
What‘s IBM Bluemix?
IBM Bluemix 는
오픈 표준 기반의
여러분의 혁신적인 어플리케이션을
보다 쉽고 빠르게개발, 실행, 관리하기 위한
IBM의 Cloud 플랫폼 입니다.
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Platform as a Service
Bluemix
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
Dev+Ops=개발(Development)
운영(Operations)
DevOp는 개발 및 운영 조직이 가지는 도전 과제를 해결하고 보다 빠르게SW를 개발하면서도 품질을 향상시키고자 하는 접근 방법 및 솔루션 입니다.
DevOps -새로운 개발 및 운영 환경을 위한 접근방법
상반된 동기빠른 개발과 배포, 신기술 안정화, 품질
Analysis
Test
Design
ConstructSolution
DevelopmentOperate
Change
Support
OptimizeIT Service
DeliveryBusiness Need IT Service
Dev & Ops간 이슈들
서로 다른 언어/용어 사용
고립 된 데이터
연계되지 않는 업무흐름
연계가 힘든 툴들 사용
Why DevOps?
Why DevOps?빠른 개발과 배포, 신기술 안정화, 품질
Analysis
Test
Design
ConstructSolution
DevelopmentOperate
Change
Support
OptimizeIT Service
DeliveryBusiness Need IT Service
해결방안:품질을 보다 높인빠른 개발과 배포
보다 빠른 품질검토와피드백을 통한
안정화와 품질관리
IBM DevOps 접근방법(on Bluemix)
IBM Bluemix Garage 방법론과 Bluemix 상의 DevOps 도구를 통해 Microservice Architecture 기반 개발과 운영 전체 개발 프로세스를 가이드
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) 기반의 베스트 프랙티스 제공
실제 프로젝트에서 검증된 최적의 툴 체인
베스트 프랙티스 아키텍처 패턴에 기반한 샘플 애플리케이션
IBM Bluemix DevOps 서비스 툴체인
실제 프로젝트에서검증된 최적의 툴 체인
Open Source, IBM 제공 도구, 3rd Party
아이디어, 개발, 실행, 운영을 아우르는 개발도구 제공
도구간의 손쉬운 연계지원
Cloud Native Toolchain
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
DevOps 7단계 - 문화(Culture)
• 다양한 팀 구성• 조직과 역할• 같은 공간 내의 자율화된 팀• 애자일 원칙에 기반
새로운 환경을 위한 조직 문화의 변화는 불가피
DevOps 서비스 – 문화(Culture)
► Slack 연계 - Cloud 기반 실시간 메세징 및 알림 서비스와의 연계
팀과 전용화된 채널을 통해 업무와 관련된커뮤니케이션이 가능DevOps 서비스와의 통합
- Build and Deploy- New Relic- Sauce Labs,
DevOps 7단계 – 아이디어(Think)
• IBM Design Thinking• MVP(a minimum viable product)• 회고 및 점검을 통한 개선• 순서화된 백로그 기반의 Iteration
계획
개발하고자 하는 기능(Feature) 을 개념화, 설계, 정제 및우선 순위를 결정
DevOps 서비스 – 아이디어(Think)
► Track & Plan 서비스 – 애자일 플래닝
• 스토리 , 태스크 및 결함 생성 및 관리• 애자일 플래닝 - Product Backlog, 릴리
스 및 스프린트
DevOps 서비스 – 아이디어(Think)
► GitHub Issue - Issue Tracking 을 위한 도구, GIT과 연동, 손쉽게 이슈 트랙킹 사용
• GitHub Issue에서 이슈 생성 - 담당자 할당 및 카테고리 지정• 소스코드 Commit 시 ‘Close, Fix, Resolve’ 와 같은 키워드 사용하여 이슈 클로즈• 이슈-소스코드 연동
DevOps 7단계 – 코드(Code)
Daily standup 미팅 Pair 프로그래밍 Test-driven development
(TDD) 지속적 통합(Continuously
integrate) 테스트 자동화
협업을 통한 고품질의 코드 생성 및 지속적 통합(Continuous Integration)
DevOps 서비스 – 코드(Code)
► GitHub – 소스코드 제어 및 버전 관리
Developers mind share: #50% of developers have a github account
DevOps 서비스 – 코드(Code)
► GitHub – 소셜 코딩- 개발자간의 협업을 증대, 권한을 부여, 책임과 가시성을 부여
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 셋업• 자동화된 백업• 엑티비티 대시보드• 네트웍 보안
DevOps 서비스 – 코드(Code)
► GitHub – 소스코드 제어 및 버전 관리
커밋, Push, Pull Request, Merge, Revert
DevOps 서비스 – 코드(Code)
► Eclipse Orion Web IDE – 웹 기반의 통합 개발 환경 제공
• 별도의 개발 환경 구성 불필요• 어떤 장소에서도 소스 코드 편집 가능• GitHub와 연계
DevOps 서비스 – 코드(Code)
► Eclipse Tools for Bluemix – 어플리케이션 개발 및 빌드, 배포• Eclipse 환경에서 서버 환경 설정 (할당 메모리, 서비스 바인딩 등)
어플리케이션 디버깅- Remote debugging- Incremental update
개발 모드 활성 화
- Incremental file updates
- SSH Web Console 엑세스
DevOps 7단계 – 딜리버리(DELIVER)
• 지속적인 딜리버리
• 자동화된 배포
고품질의 새로운 기능(Feature)를 지속적으로 딜리버리
DevOps 서비스 – 딜리버리(DELIVER)
► Delivery Pipeline – 소스 병합, 통합 빌드, 테스트 및 배포
빌드Maven, Ant, Gradle …
테스트Junit Test, Lint …
DEV 환경배포
QA 환경배포
Prod 환경배포
DevOps 7단계 – 실행(RUN)
다양한 실행 환경 고가용성 확보 Auto-scaling
Cloud 환경에서 어플리케이션의 고가용성 확보
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
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
DevOps 7단계 – 운영관리(MANAGE)
자동화된 모니터링 빠른 복구 방안 탄력적(Be resilient) 자동화된 운영(Automate
operations)
시스템에 대한 모니터링을 통해 문제 사전 방지 및 예측
DevOps 서비스 – 운영관리(MANAGE)
► Application Monitoring and Log Analytics
어플리케이션 가용성(Availability)
로그 분석(Log Analytics )
성능 모니터링(Performance Monitoring)
DevOps 7단계 – 개선(LEARN)
A/B 테스트 수행 가설(Hypothesis) 기반의 개
발 분석 도구의 활용
어플리케이션을 사용하는 고객의 Interaction을 분석함으로써 비즈니스에 필요한 의사결정
요약 : DevOps 서비스를 활용한 어플리케이션 개발 및 관리
아이디어
•Design Thinking Method
•어플리케이션기획 및 설계
•Track & Plan을 이용한Agile Planning
코드
•개발 언어, 런타임 선택 후어플리케이션생성
•Git Hub를 이용한 소스코드공유
•Web IDE / Eclipse 활용한개발
딜리버리
•딜리버리 파이프라인을 이용한 빌드
•딜리버리 파이프라인을 이용한 테스트연계
•딜리버리 파리프 라인을이용한 어플리케이션 배포
실행
•어플리케이션Auto-Scaling 을 통한 가용성 확보
운영관리
•Application Monitoring 및Log Analytics 를 통한 어플리케이션 가용성, 성능, 로그를 손쉽게 분석
개선
•A/B 테스트 기법 및 추가적인 분석 도구를 통한 어플리케이션에 대한 사용자의피드백 수집및 분석 이를통한 개선
Slack 연동을 통한 팀 멤버간 실시간 커뮤니케이션
보다 빠른
어플리케이션 개발
어플리케이션
개발에 보다 집중
어플리케이션
성능 및
가용성 향상
Build your idea with IBM Bluemix DevOps
Thank you
Recommended