쿠버네티스

◇ 컨테이너 오케스트레이션이란

시스템 전체를 통괄하고 여러 개의 컨테이너를 관리하는 일을 뜻함
여러 개의 컨테이너를 지휘하는 도구

◇ 쿠버네티스의 장점

  • 온프레미스 환경에서 수행하는 서버 업그레이드, 패치, 백업 등의 작업을 자동화(오토 스케일링, 서비스 디스커버리, 로드 밸런싱등)하여 인프라 관리보다는 서비스 관리에 집중할 수 있음
  • 서비스 사용자는 애플리케이션이 24/7/365 지속되기를 원함. 컨테이너에 장애 발생 시 자가회복(self-healing) 기능을 통해 곧바로 복제(replica) 컨테이너를 생성하여 서비스를 지속할 수 있음
    컨테이너화를 통해 소프트웨어를 패키지화하면 점진적 업데이트(rolling update)를 통해 다운타임 없이 쉽고 빠르게 릴리스 및 업데이트 할 수 있음
    • 온프레미스란? (On-premise)
      온프레미스는 기업의 서버를 클라우드와 같이 '가상의 공간'이 아니라, 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식입니다. <-> 클라우드

■ 데브옵스

Development와 Operation의 합성어

  • 개발과 운영이라는 두 가지 업무를 하나의 의미로 부여
  • 전통적으로 이러한 업무는 업무 목표와 이해 방향이 다르기 때문에 부딪히는 경우가 많았다. 개발 팀은 새로운 서비스 개발 시에 신속하고 빠른 배포에 중점을 두지만, 운영 팀은 안정성, 보안, 고가용성을 유지할 수 있는 서비스 유지가 업무 목표임
  • 클라우드 환경에서는 방대한 스케일과 세분화된 서비스를 위해서는 개발과 운영의 협업, 현력 강화가 반드시 필요하다. 즉 업무 영역을 제한하지 않고 현업과 이해 공유, 책임 공유를 통해 전체 개발 및 인프라의 라이프사이클 혁신에 기여할 수 있어야 함
  • 데브옵스는 단순하게 업무, 부서, 방법론, 기술 형태로 제한하지 않는다. 업무적으로 trade-off에 있는 모든 형태에 적용할 수 있다. 예를 들면, 보안 강화를 위해 암호화 등의 추가 구성을 수행하면 일반적으로 서비스 품질 저하(처리 시간 증가등)이 발생할 수 있다.
    보안을 담당하는 사람과 품질을 관리를 수행하는 사람 간 소통을 통해 절충과 좋은 서비스의 품질을 보장받을 수 있게 된다.
  • 개발자와 운영자 사이의 소통, 협업, 통합, 자동화를 강조하는 개발 방법론이라고 볼 수 있음
    • 트레이드오프(trade-off)란 객체의 어느 한부분의 품질을 높이거나 낮추는게, 다른 부분의 품질을 높이거나 낮추는데 영향을 끼치는 상황을 이야기한다.

● CI/CD (Continuous Integration / Continuous Deploy)

  • 데브옵스가 떠오르게 된 개념중의 하나로, 지속적인 통합 및 배포를 의미한다. 일반적으로 하나의 서비스를 개발하게 되면, 여러 명의 팀 단위로 작업을 수행하게 된다. 각 팀별로 개발한 코드를 빌드하고 배포하기 까지 시간이 오래걸릴 수도 있기 때문에, 이를 단축하기 위해서 구축하는 방법론이다.
  • 애플리케이션 개발 단계를 자동화하여 보다 짧은 주기로 고객에게 제공하는 방법론이라고 할 수 있다.

● CI (Continuous Integration, 지속적 통합)

  • Build 와 Test 를 수행하는 프로세스이며, 서비스의 품질관리를 위해 지속적으로 빌드와 테스트 하는 과정을 지원한다. 개발자들이 애플리케이션에 적용한 변경사항이 버그 테스트를 거쳐 특정 레포지토리에 업로드하면, 운영자는 이 레포지토리에서 애플리케이션을 실시간 프로덕션 환경으로 배포한다. 대표적인 예시로는 Jenkins, Travis CI 등이 해당된다.

● CD (Continuous Deploy, 지속적 배포)

  • 빌드 단계 이후에, 소프트웨어의 자동화를 한다. 개발자가 원할 때 언제든 즉시 테스트 및 프로덕션에 지속적으로 배포할 수 있다. 이는 애플리케이션 제공 속도를 저해하는 수동 프로세스로 인해 운영팀의 업무에 과부하가 걸리는 것을 해결해주며, 파이프라인을 구축해 자동화함으로써, 지속적으로 제공하는 것이 가능해진다.
profile
공부 기록

0개의 댓글

Powered by GraphCDN, the GraphQL CDN