업데이트 방식

About_work·2023년 4월 18일
0

업데이트

목록 보기
1/1

기초 개념

downtime

  • 시스템이 작동하지 않는 상태, 즉 서비스 중단 시간을 의미합니다.

  • 즉, 사용자들이 해당 시스템을 사용할 수 없는 시간을 의미합니다.

  • 시스템 업그레이드나 유지보수 작업을 수행할 때, downtime을 최소화하거나 없애는 것이 중요합니다.

  • 왜냐하면 downtime이 길어질수록 사용자들은 서비스의 불편함을 느끼게 되고, 이는 시스템의 평판을 떨어뜨리거나 고객 이탈로 이어질 수 있기 때문입니다.

  • 따라서, 시스템 업그레이드나 유지보수 작업을 수행할 때는 downtime을 최소화하기 위한 다양한 방법들을 고민하고 적용해야 합니다.

rollback

  • 시스템 업그레이드나 유지보수 작업 등에서 예상치 못한 문제가 발생했을 때, 이전 상태로 되돌리는 것을 의미합니다.

  • 예를 들어, 어떤 시스템의 업그레이드를 수행했을 때, 새로운 기능이나 변경된 로직 등이 예상과 다르게 작동한다면, 사용자들은 해당 시스템을 이용하는 데에 문제가 발생할 수 있습니다.

  • 이런 경우, 업그레이드 이전의 상태로 시스템을 롤백하여 이전 상태로 돌려놓을 수 있습니다.

  • 이렇게 하면 사용자들이 원활하게 시스템을 이용할 수 있으며, 문제가 발생했던 원인을 파악하여 수정할 수 있게 됩니다.

  • 롤백을 수행하기 위해서는 이전 버전의 코드나 데이터를 백업해 두는 등의 작업이 필요합니다.

  • 또한 롤백을 수행할 때에는 기존 시스템의 데이터가 덮어씌워지지 않도록 주의해야 합니다.

  • 롤백이 잘 준비되어 있다면, 시스템의 안정성을 보장할 수 있습니다.


in-place

  • 기존 버전을 그대로 두고, 새로운 버전을 기존 버전 위에 덮어쓰는 방식입니다.
  • 가장 간단한 방식이지만, 잠재적인 오류가 발생할 경우 롤백하기 어려울 수 있습니다.
  • downtime이 거의 없어 가용성이 높습니다.

recreate

  • 기존 버전을 종료하고, 새로운 버전을 새로 띄우는 방식입니다.
  • downtime이 발생하여 가용성이 낮아질 수 있습니다.
  • 롤백이 쉽고, 구성의 깨끗한 환경을 유지할 수 있습니다.

ramped (slow rolling)

  • 전체 시스템의 새로운 버전을 점진적으로 배포하는 방식입니다.
  • 새로운 버전을 일정 비율로 배포하고, 기존 버전과 함께 병행하여 운영하면서 문제가 없을 경우, 배포 비율을 늘려나가는 방식입니다.
  • 전체 배포가 오래 걸릴 수 있으며, 롤백이 복잡합니다.
  • downtime이 거의 없어 가용성이 높습니다.

blue/green (rolling)

  • 두 개의 환경 (Blue, Green)을 두고 새로운 버전의 애플리케이션을 Green 환경에 배포합니다.
  • 그리고 이전 버전의 애플리케이션은 여전히 Blue 환경에서 동작하게 됩니다.
  • 그 다음, Blue 환경에서 Green 환경으로 트래픽을 전환합니다.
  • 이 방법론은 downtime을 최소화할 수 있습니다.
  • 새로운 버전과 기존 버전을 병행하여 배포하는 방식입니다.
  • 새로운 버전을 별도의 환경에 배포하고, 기존 버전과 함께 운영하면서 문제가 없을 경우, 트래픽을 새로운 버전으로 전환합니다.
  • downtime이 발생하지 않습니다.
  • 대신, 배포할 자원이 2배가 필요하며, 배포 시스템의 설정이 복잡할 수 있습니다.

interleave

  • Interleave 방법론은 릴리즈하는 서비스의 새로운 버전과 이전 버전을 동시에 실행시키면서 점진적으로 새로운 버전으로 전환해 나가는 방법론입니다.
  • 예를 들어, 새로운 버전의 애플리케이션을 배포한 뒤, 이전 버전과 새로운 버전을 번갈아가며 실행시키며 전환해 나갑니다.
  • 이 방법론은 downtime을 최소화할 수 있으며, 서비스의 안정성도 유지할 수 있습니다.
  • 새로운 버전과 기존 버전을 번갈아 가며 배포하는 방식입니다.
  • 새로운 버전과 기존 버전을 한 개의 클러스터에서 운영하면서, 서비스의 기능을 전환하는 방식입니다.
  • 배포가 느리며, 롤백이 어렵습니다.
  • downtime이 거의 없어 가용성이 높습니다.
profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글