티스토리 뷰
이 포스팅은 DevOps에 대해 학습하던 중 정리한 것으로, 개념 및 분류가 다소 정확하지 않을 수 있습니다.
Dev vs Ops
동기(Motive) : Dev와 Ops 간에 서로 다른 목표때문에 갈등이 발생한다.
(Dev는 고객에게 제공한 변경을 빠르게 보기를 원하나, Ops는 안정성에 관심이 많음)
따라서 공유된 목적에 대한 합의, Ownership, 가치의 공유 등이 중요하다.
프로세스(Process) : 소프트웨어를 어떻게 개발하고 배포할지 정의하는 프로세스가 툴보다 중요하다.
개발에서 운영에 전달하는 속도를 관리하기 위한 프로세스를 만들고 최적화하여야 한다.
도구(Tools) : DevOps의 능률은 자동화에 의존하며, 사용하는 도구는 version control, build, package, deployment, configuration, provisioning, orchestration 등으로 구성된다. '변경'의 관점에서 애플리케이션 코드, 미들웨어, 인프라스트럭쳐 등 전반적인 프로세스가 모두 포함되며 모두 버전관리 시스템에 저장되어야 한다. (인프라를 코드로 관리, Infrastructure as code)
[Process] : DevOps toolchain 참조
[Provisioning Tool Chain]
Bootstrapping : 서버 OS 설정이나 가상 장비 구축을 자동화하기 위한 도구
Configuration Management : 서버나 미들웨어 설정 자동화를 위한 도구
Orchestration : 소스 코드 배포나 배포관련 서버 조작 자동화를 위한 도구 (The goal of orchestration is not just to automatically execute a service, which brings speed to the deployment process and gets applications into production faster. )
Provision에 대한 해석이 각기 다른 것 같습니다. (https://devops.com/provisioning-vs-configuration/ , https://www.thoughtworks.com/insights/blog/why-configuration-management-and-provisioning-are-different , http://asfirstalways.tistory.com/279)
저는 '성공으로 이끄는 팀개발 실천 기술' 의 분류를 기준으로 하였습니다.
또한, 대상 객체가 VM / AMI / Container 등인지의 여부는 다른 층위의 논의라 다루지 않았습니다.
DevOps를 실제 조직에 반영할 경우에는 다양한 형태로 적용될 수 있으나, 결국 동기를 맞추고 프로세스와 도구에 대한 접근을 공유하여 차이를 줄이려는 움직임이며, 구체적으로는 Agile Practice를 Ops로 확장하여 더 강한 협업 및 소프트웨어 배포 프로세스를 강화하는 것이 목표이다.(애자일, 린스타트업)
DevOps를 측정하는 지표로는 Cycle time(아이디어에서 사용자에게 실제 서비스하는데 걸리는 시간)이 주로 활용되는데, 구체적으로는,
- 측정지표 관점: quality, testing 등
- 프로세스 관점: 협업, 빠른 피드백을 위한 흐름, 전체적인 프로세스 구성
- 기술 관점: 자동화를 통한 빠른 피드백 "인프라를 코드로 관리하기"와 같은 자동화된 릴리즈
-- 추가 링크
DevOps 인력 잘 채용하는 법 : https://opensource.com/article/18/3/how-hire-right-des-talentvop
Spinnaker 사용기 : https://www.slideshare.net/StevenShim/spinnaker-1-88986755
Netflix guild for Microservices : https://www.youtube.com/watch?v=CZ3wIuvmHeM
Continuous Delivery vs Continuous Development : https://devops.com/continuous-delivery-vs-continuous-deployment/
https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diff
Automation vs Orchestration : https://devops.com/automation-versus-orchestration/
http://blog.bizmerce.com/?p=2533
Top 10 Barriers to devops : https://www.quali.com/resource-center/infographics/top-10-barriers-devops/
DevOps의 현재와 미래 : https://www.slideshare.net/awskorea/devops-on-aws-cloud-and-chatops-voice-ops
Infrastructure as code : https://blog.outsider.ne.kr/1317
'Infra Structure > .system' 카테고리의 다른 글
bufferbloat과 buffer overflow (0) | 2019.02.24 |
---|---|
Elastic Stack #1 (0) | 2019.02.10 |
윈도우 특정 프로세스 죽이기 (0) | 2017.10.24 |
레드마인 설치 (0) | 2017.10.23 |
Apache MPM 및 Nginx (0) | 2017.09.03 |