DevOps?

CHAN LIM·2024년 4월 17일
0

DevOps

목록 보기
1/1

내가 알고 있던 DevOps에 대해서, 문서로 정리


DevOps?

단절된 개발과 운영간의 프로세스를 Seamless(경계 없이) 연결하고
자동화 방법을 통해 효율성을 극대화하는 방법론이자 문화

개발과 개선을 빠르게,

특정 도구나 플랫폼을 사용한다고 해서 DevOps가 실현되는 것이 아니다.

  • Ex1) Jenkins, Argo CD, Github Action과 같은 CI/CD 도구
  • Ex2) New Relic, Datadog와 같은 모니터링 도구
  • 이는 단지, DevOps에 다가갈 수 있게 하는 도구이며,
    DevOps는 도구의 사용을 포함하여 개발자와 운영자의 긴밀한 협업과 공유가 요구된다.

즉, DevOps의 핵심을 이해하고 위의 도구들을 사용해야 된다고 본다.


등장배경

새로운 기술을 통해 서비스를 빠르게 개선하고 사용자(또는 고객)에게 빠르게 전달하기 위해서

과거

  • 하나의 서비스를 출시하기 위해,
    • 코드 개발 및 테스트에 매우 많은 시간을 투자하여 오랜 시간이 걸렸다.
    • 한 번에 오류 없이 사용자에게 안정적인 서비스를 제공하기 위해
      사전 연습을 끊임없이 반복하는 느낌

현재

  • 하나의 서비스를 출시하는 데,
    • 매우 빠른 속도로 서비스를 출시하고, 그에 맞춰 업데이트 주기도 매우 빈번해졌다.
    • 먼저, 사용자에게 기본 서비스를 제공하고
      빈번한 업데이트로 차례차례 서비스를 완성해가는 느낌

따라서, 업데이트할 때 마다 개발, 배포운영 과정을 반복하므로 이를 통합하여 자동화하는 방안에 대해 고려하게 되었고 이것이 DevOps의 출발이라고 본다.


핵심요소 4가지

Culture : 문화

개발운영, 두 팀의 경계를 허물고 협업을 하여 서비스의 품질을 높히는 문화가 요구된다.

즉, 조직의 Silo(사일로)화 되는 것을 막아야한다.

  • Silo
    • 굴뚝 모양의 곡식 창고
    • 각 사일로는 동일한 내용물만 저장
  • 조직의 사일로화
    • 팀 안에서만 소통하고 팀 내 이익만 추구하는 상황
    • 팀 별 데이터가 통합되지 않아서 회사 전체의 인사이트를 얻을 수 없다.

Automation : 자동화

개발자가 소스 코드를 작성하는 과정부터 사용자에게 서비스를 배포하는 과정까지의 전 과정을 모두 자동화된 프로세스로 관리하는 것
+a 서비스의 품질 검사모니터링도 자동화

-> 시간 절약, 실수 예방, 서비스 일관성 유지


Measure : 측정

측정할 수 없으면 관리할 수 없고 관리할 수 없다면 개선할 수 없다.

즉, 지속적인 서비스 개선을 위해서는 측정이 중요하다.
-> DevOps 전반에 대한 측정 능력 및 방안 요구
-> 그리고 측정된 데이터는 투명해야 하고 조직 내 누구나 접근 가능하며 시각화를 통해 한 눈에 파악할 수 있어야 한다.


Share : 공유

개발 및 운영 노하우를 조직 전체에 공유하여,
장애 예방 및 조직 전체의 기술 역량을 높힌다.

여러 협업 도구를 활용하여 중복 작업 제거 및 참여 유도를 이끌어내야 한다.

  • Dashboard, 메신저 (Slack), 사내 Wiki 등등...

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글