당신은 DevOps 엔지니어가 아닙니다.

4,472 views

Published on

DevOps 는 사람,역할 또는 직책이 아니다. 스스로를 DevOps 엔지니어라고 불러도 당신은 DevOps 엔진니어가 아니다. DevOps 는 기업에서 좀더 포괄적으로 커뮤니케이션과 협업을 증진하여 더욱 좋은 품질과 견고한 제품을 시장에 빨리 제공하기 위한 모든 것이다.

오픈나루 블로그 - http://opennaru.tistory.com/
오픈나루 홈페이지 - http://www.opennaru.com/

Published in: Technology
1 Comment
24 Likes
Statistics
Notes
No Downloads
Views
Total views
4,472
On SlideShare
0
From Embeds
0
Number of Embeds
1,381
Actions
Shares
0
Downloads
120
Comments
1
Likes
24
Embeds 0
No embeds

No notes for slide

당신은 DevOps 엔지니어가 아닙니다.

  1. 1. KHAN Provisioning DevOps vs. DevOOps
  2. 2. Source : 10 deploys per day Dev & ops cooperation at Flickr • Tools 1. Automated infrastructure 2. Shared version control 3. One step build and deploy 4. Feature flags 5. Shared metrics 6. IRC and IM robots • Culture 1. Respect 2. Trust 3. One step build and deploy 4. Feature flags
  3. 3. opennaru.com | 2013 | All Rights Reserved  3 Increasing scale and complexity means we need admin automation Opscode gets more venture dough for its Chef From - http://goo.gl/dLcjS
  4. 4. opennaru.com | 2013 | All Rights Reserved  4 The Devops Butterfly Effect Source: https://devcentral.f5. com/articles/1024- words-the-devops- butterfly- effect#.U0Vsx_l_vl8
  5. 5. opennaru.com | 2013 | All Rights Reserved  5 Business reality #1: Technology alone cannot provide a competitive advantage DevOps can transform IT Operations Source: http://dev2ops.org/2012/09/use-devops-to-turn-it- into-a-strategic-weapon/ So by definition, your business has aligned itself behind a business channel where the point of transaction with your customers is on a level playing field with any of your competitors.
  6. 6. opennaru.com | 2013 | All Rights Reserved  6 Business reality #2: Good ideas can and will be copied quickly DevOps can transform IT Operations Source: http://dev2ops.org/2012/09/use-devops-to-turn-it- into-a-strategic-weapon/ Recent high-profile product battles have reinforced the fact that any idea worth copying can and will be copied
  7. 7. opennaru.com | 2013 | All Rights Reserved  7 1. Scale • removing any limits of data, users, transactions, etc. on the business 2. Lowest Cost • being viewed by your customers as the lowest cost option in the marketplace 3. Sustained Innovation • continuous pace of finding new ways to please customers and improve product market fit So where can you find competitive advantage? Source: http://dev2ops.org/2012/09/use-devops-to-turn-it- into-a-strategic-weapon/
  8. 8. opennaru.com | 2013 | All Rights Reserved  8 DevOps is an essential tool for turning IT into a competitive advantage
  9. 9. opennaru.com | 2013 | All Rights Reserved  9 • DevOps problems live in the “white spaces” between people and groups. • Like all organizational issues, it’s ultimately the responsibility of management to solve DevOps problems. DevOps problems are organizational issues Source: http://dev2ops.org/2012/10/devops-transformation- workshop-for-technical-managers/
  10. 10. opennaru.com | 2013 | All Rights Reserved  11 http://www.flickr.com/photos/aaronjacobs/64368770/ 새로운 기능 빌드는 했다규! Subversion 에 커밋 했다규! 시간은 맞춰었다규!
  11. 11. opennaru.com | 2013 | All Rights Reserved  12 http://www.flickr.com/photos/aaronjacobs/64368770/ 시스템 접속 제한 안정과 안전 파일을 빨리 올려야 조
  12. 12. opennaru.com | 2013 | All Rights Reserved  13 DevOOps Enterprise Dev 운영을 고려하지 못한 개발과 우선 순위 기술 축적 부재 운영을 고려하지 못한 설계와 테스 트 결여 장 기간의 개발과 테스트 장시간 배포 운영에서 준비되 지 못한 소프트웨 어 도입 개발팀과의 커뮤 니케이션 결여에 따른 장애 복구 시간의 장기화 ( MTTR) 비즈니스 현실을 반영하지 못하는 운영 디버그가 곤란한 운영 환경 운영환경에서 장 애 대응 ( 스테이 징 부재) 개발과 운영의 워 크플로우 분리 MTTR : Mean Time To Repair ( 장애 복구 평균 시간 )
  13. 13. opennaru.com | 2013 | All Rights Reserved  14 DevOps Enterprise OpsDev 운영을 고려한 이슈 트래킹과 우선 순위 검토 기존 코드의 리뷰 와 개선 계속적인 테스트 계속적인 인티그 레이션 구성과 배포 자동화 운영환경에 대한 정보 이해 장애복구평균시 간 최소화 비즈니스 가치를 중심으로 한 운영 데이터 수집/축적 /분석 운영환경에 영향 을 주지 않는 진 단/디버그 유사 운영환경에 서 테스트 통합 운영 도구와 워크플로우 연계 언제나 정상 동작 하는 애플리케이 션 공유 (배포) 인프라 운영 경험 과 지식 공유 (운 영 최적화)
  14. 14. • 「개발」과 「운영」이 책임과 실천을 함께 공유하는 것 • 애플리케이션 개발, 인프라, 운영, 품질관리를 담당하는 IT 부서 간 커뮤니케이션과 협업을 통하여 목표로 한 소프트 웨어나 서비스를 개발하는 프로세스나 방법 – Forrester • DevOps는 클라우드 서비스로부터 시작된 것으로 온라인 비즈니스 증가에 따라 운영팀과 개발 팀이 협업하는 것으 로 효율성을 향상시키는 것에 주목한 개념 – Gartner • DevOps는 회사의 애플리케이션 개발 팀과 시스템운영팀 의 태스크를 통합하는 것 - TechTarget
  15. 15. opennaru.com | 2013 | All Rights Reserved  16 DevOps Message 전략적인 IT 가 비즈니스의 성공을 좌우하는 시대에 비즈 니스 가치를 계속적으로 제공 하기 위해 개발과 운용의 새 로운 관계 만들기 비즈니스 요구 사항
  16. 16. opennaru.com | 2013 | All Rights Reserved  17 • 좋은 것은 알지만 현실은?  Devops는 아직 시기상조이며, 너무 이상적임  인프라 엔니지어에게 Jenkins , Spring Framework 이나 Rest API 를 이해 시키는 것?  왜 개발 및 운영과 통합 해야 하는가?  인력감축을 위한 수단인가?  개발자가 운영을 하는 것?  운영에서 개발을 하는 것? Devops Huddle • Devops • 운영팀을 위해 운영 자동화를 위한 코드 교육 • 개발팀에 운영 기술 전수 • 왜 개발 및 운영과 통합 해야 하는가 • 빈번한 릴리즈를 위해 개발팀과 운영팀 의 협력은 필수 • 인력감축을 위한 수단인가? • 운영팀 경쟁력 확보 - Infra as a Code
  17. 17. opennaru.com | 2013 | All Rights Reserved  18 Header text
  18. 18. opennaru.com | 2013 | All Rights Reserved  19 지속적인 통합 (Continuous Integration ) • 소프트웨어 빌드 자동화 • 지속적이고 자동화된 빌드 검증 • 지속적이고 자동화된 빌드 테스트 • 빌드 후속 절차 자동화 커밋 자동 빌드 자동 테스트 자동 배포 Source: “Continuous Integration” Created by Yoonki Chang (yoonki.chang@gmail.com)
  19. 19. opennaru.com | 2013 | All Rights Reserved  20 CI 필요성 • 위험을 줄여준다. • 특정 소스 코드의 컴파일 오류로 전체 소프트웨어 컴파일이 되지 않는 문제를 빠르게 대처할 수 있음 • 반복적인 수작업을 줄여준다 • 개발자의 반복적이고 지루한 작업을 자동화하여 개발자는 개발에만 집중할 수 있 도록 함 • 코드의 변경에 대해 자동적으로 단위 테스트 및 영향 분석을 레포팅하고 이를 통해 소프트웨어의 품질을 향상 시킬 수 있음 • 언제 어느 때라도 배포할 수 있는 소프트웨어를 생성해낸다 • 빌드와 배포를 반복적으로 수행함으로 소프트웨어를 테스트할 수 있는 기회를 더욱 높일 수 있으며 이로인해 소프트웨어 품질이 높아짐 • 문제 상황 발생시 이를 빠르게 피드백 받고 즉각 처리할 수 있는 환경을 마련함 • 프로젝트 가시성을 좋게 한다 • 소프트웨어 제품에 대해 보다 큰 자신감을 갖게 해준다. Source: “Continuous Integration” Created by Yoonki Chang (yoonki.chang@gmail.com)
  20. 20. opennaru.com | 2013 | All Rights Reserved  21 CI Tools • 어렵게 생각하지 말고 쉽게 본인이 필요하다고 생각되는 영역부터 하나 하나 적용해 보는 것이 좋음 • CI 도구를 개발자를 통제하기 위한 도구로 생각해서는 안되며 생산성 향상을 위한 도구로 사용해야 함 • 스스로 해야 할 것 1. 쉬운 CI 도구 선정 2. 빌드 자동화 (형상관리 + ANT / MAVEN) 3. 배포 자동화 (TOMCAT, FTP 등) 4. 테스트 자동화 (Junit 등) 5. 소스 코드 품질 검사 자동화 (PMD 등) • 요구해야 할 것 1. CI 적용을 위한 시간 확보 2. 배우기 위한 자료 (책, 교육 등) 3. 형상 관리, CI 도구 등을 위한 장비 확보 개발자 측면 • 스스로 해야 할 것 1. 인내력을 가지고 기다림 2. CI는 생산성 향상 도구 (통제 도구 아님) 3. CI를 위해 투자하는 시간, 돈 4. 고성능 하드웨어 장비를 지급하는 여유 • 요구해야 할 것 1. 개발자 인식 전환 2. 단순 반복 작업이 아닌 생산적인 작업에 시간 을 투자 3. 가치를 높이기 위한 노력 관리자 측면 Source: “Continuous Integration” Created by Yoonki Chang (yoonki.chang@gmail.com)
  21. 21. opennaru.com | 2013 | All Rights Reserved  22 애플리케이션 라이프 사이클 운영 / 테스트 환경 개발 지원 환경 개발 환경 Developer Maven repository management Continuous Integration Testers Version Control Repository QA Server Bug Tracking Manually Test last stable release Publish last stable build Local test server Eclipse plugin Gets last Release from trunk Publish source Virtualization WAS VM Linux JBoss Application Java JBoss Instance WEB VM Template WAS VM Template DB VM Template WAS VM Linux JBoss Application Java JBoss Instance VM Template Pool
  22. 22. opennaru.com | 2013 | All Rights Reserved  23 기술 요소 분야 구성요소 설명 jQueryMobile HTML5/ Framework/ Mobile jQuery.js jQueryMobile.js jQueryMobile.css jQuery 기능에 모바일 플랫폼 기능이 추가된 프레임워크, HTML, CSS, JavaScript 만으로 구성되어 있으며 HTML5 data-* 속성과 css 클래스를 지정하는 것만으로 모바일 UI를 표현할 수 있다. 전자정부 F/W Java-based Development Framework Spring Framework Spring Security Data Access : iBatis ORM : Hibernate Scheduling : Quartz Cache : EHCache 오픈소스 프레임워크를 기반으로 공공기관을 비롯하여 기업에 서 효율적인 어플리케이션 개발을 할 수 있는 구현(코팅, 디버 깅), 테스트, 배포, 형상관리 도구들을 제공하는 비즈니스 프레 임워크 Change management Source Version Control Subversion 서브버전은 오픈소스 제품으로 소스 버전 관리 시스템이다. 명 령행 인터페이스에서 사용하는 명령어를 따서 “SVN”이라고 줄 여서 부르기도 한다. 제한이 있던 CVS를 대체하기 위해 2000년 부터 콜랩넷에서 개발되었다. git-daemon 기트는 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템이다. 빠른 수행 속도에 중점을 두고 있는 것이 특징이다. 네트워크에 접근하거나 중앙 서버에 의존하지 않는다 Quality Assurance Build Tool maven 메이븐은 프로젝트 객체 모델(Project Object Model)이라는 개 념을 바탕으로 프로젝트 의존성 관리, 라이브러리 관리, 프로젝 트 생명 주기 관리 기능 등을 제공하는 프로젝트 관리 도구이다. Nexus 여러 개의 외부 maven 리포지토리를 Proxy 개념으로 연결해서 효율적으로 내부 개발자들에게 virtual한 하나의 repository 연 결 포인트를 제공한다. CI Server jenkins Jenkins 서버는 소스코드가 변경됐을 때 빌드, 테스트, 분석, 리 포팅이 자동으로 수행되도록 도와주는 CI 서버이다. Change Management Issue Tracker jTrac JTrac 은 Bugzilla, Trac, Jira 에 대응할 수 없는 경량화 이슈 트 레커이다. RedMine Redmine은 오픈소스 프로그램으로 웹기반의 프로젝트 관리 와 버그 추적 기능을 제공하는 도구이다. 기술요소 설명
  23. 23. opennaru.com | 2013 | All Rights Reserved  24 Jenkins • Java로 작성된 오픈 소스 CI서버 • Jenkins는 영국인 집사 이미지로 프로젝트의 조력자의 역할 • 7년 이상 된 프로젝트 • 설치와 사용법이 간단함 • 플러그 인에 의한 기능확장 • 450 개 이상의 플러그인 • 가장 많이 사용되는 CI 서버 • 31,000 개 이상의 레퍼런스
  24. 24. 감사합니다.

×