도커와 쿠버네티스의 등장 배경

BAEJUN SON·2024년 7월 5일

도커/쿠버네티스

왜 DevOps를 해야하는가

  • 소프트웨어의 개발과 운영의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화
  • 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다

if)개발자가 한명이라면?

if)개발자가 두명이라면?

if)v3

if)v4

if)v5

개발과 배포는 생각보다 복잡하다

개발자가 100명이라면?

서비스 자체가 복잡해진다면?

그런데 ..

  • 우리팀이 느끼는 문제나 문화에 대응하는 것이지 그냥 좋은거래서 쓰고 이러면 안된다.

DevOps엔 어떤 방법이 있나요?

git

  • 소스 버전관리의 표준
  • 당연히 사용

  • 자동화 = 시간 절약 = 효율 증가
  • 측정 = 빠른 분석 = 효율 증가
  • 공유 = 팀원 지식 습득 = 효율 증가
  • 축적 = 패시브 스킬 = 효율 증가

서버를 관리한다는 것?

서버를 관리한다는건 서버의 상태를 관리한다는 것

  • 20년전쯤엔 자체 서버를 운영
  • 이후 설정관리, 가상머신, 클라우드, PaaS, 도커, 쿠버네티스, 서비스 메시 등장

  • 한 서버에 여러개 상태를 세팅하기 위한 가상머신
  • 근데 서버 이미지 공유나 느리거나 한 문제 등장

  • 그래서 등장한게 클라우드
  • AWS, Google, Cloud, Azure …
  • 하드웨어 파편화 문제 해결
  • 상태관리에 대한 새로운 접근
  • 그치만 서버 운영의 문제는 여전히 그대로 남아있음

  • 코드만 주면 서버 배포까지 알아서 해주는 Platform as a Service
  • 일반화된 방법을 제공하므로 원하는 형태의 배포를 하긴 어려움

  • PaaS를 잘 사용하다가? 한계에 다다랐을때 Cloud로 변경하는 방식

근데 게임체인저가 등장

기존은?

도커는

  • 가상 OS가 사라짐
  • 속도가 훨 빨라짐

  • 규격화가 가능해짐

  • 도커가 좋긴한데.. 컨테이너가 너무 많으면 관리가 힘든데 ..?

  • 다음 단계가 필요하다

도커 배포는 ?

  • 어떤 서버가 여유가 있는지 확인하기 어렵다.

  • 버전도 이렇게 하나하나씩 바꿔줘야함
  • 롤아웃/롤백에 손이 많이감
    • 롤아웃은 새로운 버전을 배포
    • 롤백은 다시 이전 버전으로 가는 것

서비스 검색은?

  • 이렇게 서비스마다 로드밸런서로 관리를 해줘야 한다.

서비스 노출은?

  • 마찬가지로 컨테이너 하나하나 넣다 뺐다 해야됨

그래서 등장한게?

  • 도커 컨테이너들을 대신 관리해주는 기능

  • 서버의 어디에서 더 여유가있는지를 알아서 봐줌

  • 만약에 하나의 서비스에 장애가 생기면? 알아서 새로운 서비스 하나를 만들어서 돌려줌

  • 배포 관리하는 스케쥴링 서비스
  • APP1이 잘 돼서 하나 더 파야되면?

  • 알아서 빈 공간에 하나 더 올려줌

  • 이렇게 롤백/롤아웃도 알아서 해줌

  • 서비스 등록 및 조회도 알아서 해준다.

  • 볼륨 스토리지 기능 제공

  • 컨테이너 오케스트레이션 중 가장 많이 사용

0개의 댓글