Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[Atlassian meets dev ops and itsm] infrastructure for devops

264 views

Published on

[Key Note] 올바른 DevOps 수행을 위한 Infra Structure 전략 최지웅 CTO

오픈소스컨설팅이 개최한 Atlassian meets DevOps and ITSM 세미나 발표자료를 공유합니다. 오픈소스컨설팅의 노하우가 담긴 DevOps Infrastructure 전략을 확인해보실 수 있습니다.

Published in: Software
  • Be the first to comment

[Atlassian meets dev ops and itsm] infrastructure for devops

  1. 1. 올바른 DevOps 수행을 위한 인프라스트럭처 전략 부제: 사실 기술이 문제가 아니에요 OPEN SOURCE CONSULTING
  2. 2. DevOps 를 위한 하부 인프라스트럭처에 대한 고민 주제어
  3. 3. Mode1 Mode 2 안정성 Goal 민첩성(Agility) 비용 대비 성능 Value 브랜드, 고객 만족도, 매출 성장 Waterfall, 수직 모델, 빅뱅 방 식 차세대 Approach 애자일, CI/CD, DevOps 세부적인 사전 플랜 위주, 승인 기반 Governance 경험/실험 위주, 지속적, 프로세스 기반 SI, 대형 벤더, 아웃소싱, 장기간의 딜 싸이클 Sourcing 새로운 중소규모 공급자, 단기간의 딜 싸이클 기존 프로세스, 프로젝트 경험 위주 Talent 신기술, 새로운 도전 위주 IT 중심, 고객/사용자와 동떨어짐 Culture 비즈니스 중심, 고객/사용자와 가까움 Long (수개월~수년) Cycle Times Short (수일~수주) Marathon Runner Sprinter Source: Gartner Bi-Modal IT 환경
  4. 4. Project to Product By Mik Kersten The DevOps Handbook By Gene Kim 프로젝트에서 프러덕트로
  5. 5. 위험 감소 문제에 대한 빠른 파악 빠른 문제 해결 작업 해결을 통한 개발자 성취감 증가 통합을 위한 시간 감소 빠른 의사 결정
  6. 6. Time to Value 너무 많은 기능을 한꺼번에 넣으려 하지 마세요 Avoid complex one-size-fits-all processes 혁신을 위해 작은 단위로 빠르게 배우세요 Learn to do simple things quickly to unblock innovation
  7. 7. 보다 단순하게 연결되고 변하기 쉬운 보안, 확장성, 가용성을 제공하는 빠르게 발전하도록 설계하고 새로운 기술에 도전하고 보다 짧은 주기로 서비스를 제공 The best IT architecture today is:
  8. 8. 하지만 현실은 용이 가로막고 있어요. 출처: https://www.facebook.com/75911537320/photos/a.10151028112312321.423930.75911537320/10154488365657321/?type=3&theater 시간이 지날수록 기능을 빨아들여 점점 커지는 특징의 용(?)
  9. 9. 결국 클라우드에 최적화되려면 기존의 시스템 Silo를 풀어내고,
  10. 10. 애플리케이션을 분할/규격화/캡슐화 한 다음
  11. 11. 빌드된 서비스를 다양한 환경 배포 작은 서비스 크기(Microservice)로 개발(Dev)하여, 다양한 운영(Ops)환경의 지속적(Continuous) 배포(Deploy) 이미지 출처: https://dzone.com/articles/microservice-architecture-learn-build-and-deploy-a
  12. 12. Distributed/Optimized 스케일 형태로 Highly Scaled 가용성을 위해 분산되며 Distributed for Availability 높은 사용량으로 비용 최적화된 Cost optimized High Utilization 클라우드 네이티브 아키텍처 Cloud Native Architecture
  13. 13. 클라우드 네이티브 클라우드 네이티브는 클라우드 컴퓨팅 모델의 장점을 모두 활용하는 애플리케이션을 개발하고 실행하기 위한 접근 방식 장점 = 분산을 통한 유연성(Scale) 운영 관점 = 애플리케이션도 분산시켜야 함 분산 == 인스턴스 증가 == 소프트웨어 비용의 증가
  14. 14. 오픈소스 도입, 내재화, 인소싱 적극적 검토
  15. 15. 핵심은 무엇입니까? 조직/프로세스 잘 조화된 조직과 프로세스로 내장된 협업 도구를 통하여 보다 나은 환경을 제공 개발된 코드가 유연하게 물 흐르듯이 연결된 에코 시스템 인프라스트럭처
  16. 16. 인프라스트럭처가 중요하네요 사실 프로세스는 더 중요해요 도구
  17. 17. 환경 검토 현재 여러분이 가지고 있는 인프라스트럭처 환경은 무엇인가요?
  18. 18. 고민사항 DevOps 전환 시 인프라스트럭처 고려를 병행! (클라우드?) 기존 데이터센터를 유지하면서 가는 방법은?
  19. 19. MSA + DevOps + Cloud Microservices Architecture 클라우드로의 이동은 필연(?)
  20. 20. Static website Sales AppUser DB B2C App ELK Stack Development VM QA server Public Cloud Contributor’s laptop MultiplicityofStacksMultiplicityofhardware environments Production Cluster Customer Data Center Doservicesandapps interactappropriately? CanImigratesmoothly andquickly 가상화된 모든 플랫폼에서 표준 기법을 사용하여 운영 애플리케이션을 가볍고 이식 가능한 형태로 캡슐화하여 컨테이너에 탑재
  21. 21. 일부는 이미 존재하는 Dev(개발팀) + Ops(운영팀) + Sec(보안팀) + CI/CD(PMS)
  22. 22. 컨테이너용 애플리케이션 빌드 Code Build Deploy Container Image Registry Container Runtime & Packaging (Docker) Enterprise Container Host LinuxAtomic Host Container based Application Lifecycle Management (CI/CD) Build Automation Deployment Automation Service Catalog (Language Runtimes, Middleware, Databases) Self-Service Infrastructure Automation & Cockpit Networking Storage Registry Logs & Metrics Security Container Orchestration & Cluster Management (kubernetes)
  23. 23. Trigger Build & Deploy 개발 테스트 git repository git clone and docker build Development Server Staging Server Production Server Test Container Container Registry
  24. 24. 프로세스를 연결시키는 것이 중요
  25. 25. ITS Change Management Git Configure Management Jenkins Build (Gradle) Kubernetes Registry Images app:0.1 app:0.2 app:latest⋯ 개발 #1 (Kubernetes Node) Containers (Docker) app:0.9 운영 #n (Kubernetes Node) Containers (Docker) app:latest 운영 #1 (Kubernetes Node) Containers (Docker) app:latest 운영 #2 (Kubernetes Node) Containers (Docker) app:latest ⋯ Build 개발자 Eclipse Coding Build (Gradle) Commit Push Push Report CloseAssign Open SonarQube Quality Control Analysis Continuous Deployment (OSC-Kubectl) Continuous Deployment (OSC-Kubectl) 물 흐르듯 자연스럽게!
  26. 26. LAPTOP Container Application OS dependencies Guest VM Linux BARE METAL Container Application OS dependencies Linux VIRTUALIZATION Container Application OS dependencies Virtual Machine Linux PRIVATE CLOUD Container Application OS dependencies Virtual Machine Linux PUBLIC CLOUD Container Application OS dependencies Virtual Machine Linux 또한 애플리케이션 구동 환경은 특정 인프라 환경으로 제한되서는 안된다!
  27. 27. 그 대상은 다양한 곳이 될 수 있다?!
  28. 28. Data Center
  29. 29. Google Anthos
  30. 30. AWS EKS
  31. 31. Azure AKS
  32. 32. Source: https://www.enhops.com/devops 코어의 확장을 통한 Enterprise DevOps
  33. 33. 무엇이 되었건 기술이 크게 중요하진 않습니다. (연장탓 금지!)
  34. 34. Agile 협업도구 이슈 회의 개발사A 개발사B 개발총괄PM QA 고객PM 스폰서 일일 스크럼 회의 이터레이션 데모 요구사항관리 결함관리 작업관리 테스트관리 (시나리오/케이스) 산출물관리 진척관리 보고서/ 대쉬 보드 커뮤니케이션 아키텍트 TO-BE 개발사A 개발사B QA 개발총괄PM 고객PM 사내관리시스템 산출물서버 Peer to Peer Communication Communication Error Communication Delay AS-IS 소통이 중요합니다
  35. 35. We believe behind every great human achievement, there is a team. Our mission is to unleash the potential of every team. OUR MISSION 서비스 운영팀/조직
  36. 36. We believe behind every great human achievement, there is a team. Our mission is to unleash the potential of every team. OUR MISSION 서비스 운영팀/조직
  37. 37. 고민해야 할 사항은...
  38. 38. 3번째 세션에서 만나보시죠!
  39. 39. 기술을 나눕니다. 함께 성장합니다. Sharing Tech. Growing Together.
  40. 40. Thank you! Web - http://www.osci.kr atlssian@osci.kr

×