내가 알고 있던
DevOps
에 대해서, 문서로 정리
단절된 개발과 운영간의 프로세스를
Seamless
(경계 없이) 연결하고
자동화 방법을 통해 효율성을 극대화하는 방법론이자 문화
개발과 개선을 빠르게,
특정 도구나 플랫폼을 사용한다고 해서 DevOps가 실현되는 것이 아니다.
- Ex1) Jenkins, Argo CD, Github Action과 같은 CI/CD 도구
- Ex2) New Relic, Datadog와 같은 모니터링 도구
- 이는 단지, DevOps에 다가갈 수 있게 하는 도구이며,
DevOps는 도구의 사용을 포함하여 개발자와 운영자의 긴밀한 협업과 공유가 요구된다.
즉, DevOps의 핵심을 이해하고 위의 도구들을 사용해야 된다고 본다.
새로운 기술을 통해 서비스를 빠르게 개선하고 사용자(또는 고객)에게 빠르게 전달하기 위해서
과거
현재
따라서, 업데이트할 때 마다 개발
, 배포
및 운영
과정을 반복하므로 이를 통합하여 자동화하는 방안에 대해 고려하게 되었고 이것이 DevOps의 출발이라고 본다.
개발
과운영
, 두 팀의 경계를 허물고 협업을 하여 서비스의 품질을 높히는 문화가 요구된다.
즉, 조직의 Silo(사일로)화 되는 것을 막아야한다.
Silo
개발자가
소스 코드를 작성
하는 과정부터사용자에게 서비스를 배포
하는 과정까지의 전 과정을 모두 자동화된 프로세스로 관리하는 것
+a서비스의 품질 검사
및모니터링
도 자동화
-> 시간 절약, 실수 예방, 서비스 일관성 유지
측정할 수 없으면 관리할 수 없고 관리할 수 없다면 개선할 수 없다.
즉, 지속적인 서비스 개선을 위해서는
측정
이 중요하다.
-> DevOps 전반에 대한 측정 능력 및 방안 요구
-> 그리고 측정된 데이터는투명
해야 하고 조직 내 누구나접근 가능
하며시각화
를 통해 한 눈에 파악할 수 있어야 한다.
개발 및 운영 노하우를 조직 전체에 공유하여,
장애 예방 및 조직 전체의 기술 역량을 높힌다.
여러 협업 도구를 활용하여 중복 작업 제거 및 참여 유도를 이끌어내야 한다.
Dashboard
,메신저 (Slack)
,사내 Wiki
등등...