DevOps란?
소프트웨어의 개발(Development)과 운영(Operations)의 합성어
현재 DevOps는 단순한 개발과 운영의 통합을 의미하는 것은 아니다.
어떤 요구사항을 효율적으로 만족시키기 위하여, 일을 자동화하며 변경사항 지표들을 측정하고, 공유하고, 이 모든 결과물들을 지속적으로 축적해 나아가는 문화를 만들어가는 철학, 방법론, 기술
과거에는 개발팀과 운영팀의 생각의 차이에 대해서 인지하고, 그 간극을 줄여보자는 의미가 시작이었지만,
더 나아가 우리의 일에 관한 포괄적인 철학과 방법론이 되었다. (따라서 DevOps에 대한 다양한 정의가 존재 )
철학 1 - 문화 (Culture)
문화 | 구성 요소 |
사람 | 팀, 인원, 가치, 의사소통 |
일(Task) | 프로세스, 방법론 |
서비스 | 서비스의 가치, 성격 |
자원 | H/W, S/W, 기술, 도구 |
시간 | 일정, 변경 가능성, 회복탄력성, 예측 |
철학 2 - 자동화 (Automation)
자동화를 통해 속도, 안정성 등을 갖출 수 있다.
자동화 | 구성 요소 |
인프라 및 보안 | 클라우드, 네트워크, 접근제어, 암호화 |
언어 및 도구 | 프로그래밍 언어 및 도구 |
지속적 통합 / 배포 | CI/CD 파이프라인 구성 고려 (변경에 따른 소요시간 최소화) |
모니터링 | 모니터링 시스템 및 장애대응 |
철학 3 - 측정 (Measurement)
- 변경사항 발생 시 항상 측정
- 어플리케이션 성능, 개발속도 모니터링
- 지속적으로 나아지고 있는지, 아닌지 측정
- 의사결정 시 추측 배제
예측 불가능한 영역을 최대한 예측 가능한 영역으로 바꾸는 것 / 우리의 방향성에 대해서 항상 고민하고 의심해야 한다.
측정 지표는 중요한 의사결정들을 추측이 아닌 예측과 확신으로 만들어준다.
철학 4 - 공유 (Sharing)
- 언제든 접근 가능한 투명한 데이터
- 구성원 모두가 대부분의 데이터를 언제든 접근하고 확인할 수 있어야 한다.
- 지식의 공유 OpenMind
- 지식은 각자 배울 수는 있어도 항상 함께 공유해야 한다.
- 문제 발생 시 함께 해결
- 문제는 개인의 무제가 아니라 우리의 문제로 인지 / 인턴이 CTO가 해결하지 못한 일을 해결할 수 있음
- 일의 가속도
- 규모&인원과 일의 속도는 반비례하지 않고 가속도 그래프를 그려야 한다
- 팀원들이 함께하고 같이 노력해야 그러한 곡선을 만들 수 있다.
홀로 성장하는 시대는 끝났다.
철학 5 - 축적 (File up & Pile up)
모든 일의 성공과 실패 결과물들은 항상 축적되어야 한다.
Louis Vuitton의 경우, 수백년 전 디자이너와 예술가들이 어떤 생각을 가지고 어떤 결과물을 냈는 지 아직도 갖고 있고, 이 축적은 현재도 계속되고 있다.
'IT_Study > Ops' 카테고리의 다른 글
[Kubernetes] Kubernetes 구조 및 기능과 역할 (0) | 2025.04.15 |
---|---|
[Kubernetes] 가상화 기술의 history 및 Virtual Machine과 Container의 차이 (0) | 2025.04.14 |
[MLOps] Kubeflow 활용을 위한 Kubernetes에 대한 이해 (0) | 2023.11.21 |
[MLOps] Kubeflow pipeline handling (3) : Pipeline component에 PV를 mount하는 방법 (1) | 2023.11.21 |
[MLOps] Kubeflow pipeline handling (2) : SDK를 이용한 pipeline 접속 방법 (0) | 2023.11.13 |