표준 서비스 권장사항
참고: 표준 서비스는 Cloud Service Mesh 버전 1.6.8 이상에서 자동으로 지원됩니다.
표준 서비스를 사용하면 여러 구성을 탐색할 수 있습니다. Cloud Service Mesh 서비스 대시보드를 최대한 활용하려면 서비스를 설정할 때 다음 표준 권장사항을 따르는 것이 좋습니다.
- 전체 메시에서 고유한 서비스 [네임스페이스, 이름]을 예약합니다.
- 표준 서비스당 하나의 소프트웨어 애플리케이션을 정의합니다.
- 여러 환경에서 표준 서비스를 그룹화하지 마세요(예: prod/stage/dev).
- 여러 서비스를 대략적으로 확인하려면 Cloud Monitoring 대시보드를 사용하세요.
- 프로덕션에서 표준 서비스가 장기적으로 실행되도록 계획합니다.
전체 메시에서 고유한 서비스 [네임스페이스, 이름] 예약
클러스터 또는 리전 하나에 배포된 표준 서비스에 다른 클러스터나 리전에 배포된 것과 동일한 Kubernetes 네임스페이스와 표준 서비스 이름이 있으면 Cloud Service Mesh는 같은 논리 서비스라고 가정합니다.
이 동작은 Fleet의 '동일성' 원칙과 부합합니다. 즉, 네임스페이스는 의미가 같아야 하며 전체 Fleet에서 동일한 항목을 나타내야 합니다.
표준 서비스당 하나의 소프트웨어 애플리케이션
표준 서비스는 단일 논리 서비스 또는 마이크로서비스를 나타냅니다. 이는 동일한 소프트웨어 애플리케이션과 비즈니스 기능을 나타내는 동종 바이너리/워크로드를 포괄하기 위한 것입니다.
표준 서비스를 정의하여 개념이 서로 다른 여러 마이크로서비스를 그룹화할 수 있지만 서비스 대시보드는 전체 값을 제공하지 않습니다. 서비스 대시보드에는 개별적으로 수행 가능하고 매우 다르게 구성될 수 있는 상이한 구성요소의 집계가 표시됩니다. 전체 상태, 성능, 구성을 이해하기 어렵거나 불가능할 수 있습니다.
다음과 같은 경우 잘못된 것은 아니지만 표준 서비스가 너무 클 수 있습니다.
- 단일 표준 서비스 내의 여러 워크로드 간에 네트워크 트래픽이 있습니다.
- 표준 서비스는 서로 다른 출시 일정에 따라 배포되는 여러 워크로드로 구성됩니다.
- 조직 내 여러 팀이 단일 표준 서비스의 여러 부분 운영을 담당합니다.
여러 환경에서 표준 서비스를 그룹화하지 않음
많은 기술 조직은 소프트웨어 품질을 보장하고 위험을 제한하기 위해 여러 배포 환경을 사용합니다. 이러한 환경에는 주로 개발, 테스트, 스테이징, 프로덕션 또는 일부 하위 집합이 포함됩니다.
각각의 다양한 환경에 동일한 개념 서비스를 배포하더라도 단일 표준 서비스로 만드는 것은 좋지 않습니다. 이러한 서비스는 동일하지 않으며 조직의 운영상 우려 사항 또는 초점과 동일한 수준을 나타내지 않습니다.
예를 들어 중요한 프로덕션 서비스에 장애가 발생하면 새벽에 소란스러운 상황이 일어날 수 있습니다. 심야 시간대에 'dev' 배포가 실패한 경우 누구에게도 알리고 싶지 않을 것입니다. 성능, 용량, 출시 안전에 대해서도 마찬가지입니다.
다양한 환경으로 서비스를 구분하는 방법은 가장 쉽지만 엄격하지 않은 방법부터 가장 어렵지만 강력한 방법까지 세 가지가 있습니다.
- 여러 서비스 이름을 사용하여 구분합니다(예:
payments-prod
및payments-test
). - 여러 네임스페이스를 사용하여 구분합니다(예:
billing-team
및billing-team-test
). - 여러 Fleet을 각 환경마다 하나씩 사용하여 구분합니다.
임의 집계에 선호되는 Cloud Monitoring 커스텀 대시보드
표준 서비스를 집계 데이터에 대해 인위적으로 큰 범위로 부풀리지 않고 Cloud Monitoring 대시보드를 사용하여 여러 논리적 서비스의 대략적인 뷰를 한 번에 만듭니다.
장기적으로 지속되는 표준 서비스
개발, 탐색, 테스트 사용 사례 외에 표준 서비스는 대략적인 전역 논리적 서비스를 나타내야 합니다. 이러한 서비스는 느리게 변화하고 장기 지속되는 경향이 있습니다. 이 지속성을 위해서는 서비스 이름을 변경하지 않아야 합니다. 이름을 변경할 수는 있지만 변경 시 측정항목, SLO, 로그에 영향을 미칩니다. 그러나 Display name
필드를 손상 없이 자유롭게 조정할 수 있습니다.
새로운 표준 서비스는 대부분 새로운 소프트웨어나 업데이트된 소프트웨어를 나타내고 중단되는 표준 서비스는 대부분 서비스 지원 중단을 나타냅니다. 서비스, 계획, 프로젝트 용량의 이전 성능을 보여주는 기능은 모두 수명 기간 동안 Cloud Service Mesh에서 서비스의 단일 개념을 유지하는 방법에 따라 달라집니다.
프로덕션 시스템 업데이트 및 유지보수의 일부로 들어오고 나가는 VM 인스턴스, Kubernetes 포드/배포, 전체 클러스터와 같은 하위 수준의 리소스와는 다릅니다.