App Hub 개요

많은 클라우드 애플리케이션이 하나 이상의 Google Cloud 프로젝트에서 여러 인프라 리소스를 포함하도록 발전함에 따라 개발자와 운영자 모두 이러한 리소스를 관리하고 이해하기 어려울 수 있습니다. App Hub는 리소스 상호작용을 이해하고 비즈니스 기능을 지원하는 데 도움이 되도록 이러한 리소스를 구성하는 애플리케이션 중심의 방법을 도입합니다.

이 문서는 App Hub 애플리케이션을 설정, 관리 및 사용하는 개인을 대상으로 합니다.

애플리케이션 중심 조직

App Hub는 비즈니스 기능에 대한 접근 방식과 동일한 애플리케이션 중심 방식으로 Google Cloud 리소스를 구성할 수 있게 하여 비즈니스 목표에 부합시킵니다. App Hub는 Google Cloud에서 완전하게 관리되며 사용자가 추가 인프라를 설치할 필요가 없습니다.

App Hub 관리자는 하나 이상의 Google Cloud 프로젝트에서 가져온 인프라 리소스를 쉽게 관리하여 복잡한 비즈니스 운영 및 거버넌스를 규모에 맞게 간소화할 수 있습니다. App Hub는 이러한 리소스를 App Hub 서비스 및 워크로드로 포함하는 App Hub 애플리케이션을 만들어 이러한 인프라 리소스를 구성하는 데 도움이 됩니다. 애플리케이션에 서비스 및 워크로드를 등록하면 다음 질문에 답하는 데 도움이 될 수 있습니다.

  • 프로젝트 전체에서 몇 개의 애플리케이션이 있나요?
  • 애플리케이션의 서비스 및 워크로드는 서로 어떻게 종속되어 있나요?
  • 이러한 애플리케이션, 서비스, 워크로드의 소유자는 누구인가요?
  • 얼마나 많은 애플리케이션이 중요한가요?
  • 얼마나 많은 애플리케이션이 프로덕션 단계에 있나요?

예를 들어 비즈니스 애플리케이션을 개발하는 데 여러 팀이 참여하고 있을 수 있습니다. 이러한 팀은 여러 Google Cloud 프로젝트에 분산되어 있는 수백 또는 수천 개의 Google Cloud 리소스를 만들 수 있습니다. App Hub는 인프라 리소스를 자동으로 검색하여 이를 서비스 및 워크로드 추상화로 나타냅니다. 이러한 서비스와 워크로드를 애플리케이션에 등록하여 리소스 소유권과 중요도를 명확히 할 수 있습니다. 자세한 내용은 App Hub 개념 및 데이터 모델을 참조하세요.

리소스가 애플리케이션으로 구성되면 애플리케이션에 비즈니스 로직과 정책을 적용하여 애플리케이션이 영향을 받는다는 사실을 알고 조직 내의 어떤 개인이 해당 애플리케이션에 책임이 있는지 알 수 있습니다. 예를 들어 프로덕션과 같은 특정 환경에 사용할 애플리케이션을 만들고 해당 소유자에게 높은 권한의 액세스를 제공할 수 있습니다.

비즈니스에서 팀 구조가 변경되면 App Hub로 애플리케이션 소유권을 쉽게 이전할 수 있습니다. 또한 App Hub를 사용할 때 다양한 리소스와 애플리케이션 간의 종속 항목을 더 쉽게 확인할 수 있습니다.

사용 사례

App Hub는 다음 사용 사례를 지원합니다.

  • 애플리케이션 구성 및 분류 - App Hub를 사용하면 Owner, Criticality, Environment과 같은 속성을 사용하여 애플리케이션을 구성하고 분류할 수 있습니다. 이렇게 하면 특정 애플리케이션과 관련 리소스를 쉽게 찾고 관리할 수 있습니다.

  • 애플리케이션의 리소스 이해 - App Hub를 사용하면 애플리케이션의 구성을 이해하는 데 도움이 됩니다. 이를 통해 개발자와 운영자는 애플리케이션의 작동 방식과 종속 항목을 이해하는 데 도움을 줄 수 있습니다.

개념 및 데이터 모델

App Hub에는 세 가지 주요 개념이 있습니다.

  • 애플리케이션은 엔드 투 엔드 비즈니스 기능을 제공하는 서비스워크로드의 기능적 그룹화입니다.
  • 워크로드는 관리형 인스턴스 그룹(MIG) 또는 Google Kubernetes Engine(GKE) 배포와 같이 비즈니스 기능의 가장 작은 논리적 하위 집합을 수행하는 바이너리 배포를 나타냅니다.
  • 서비스는 네트워크를 통해 사용할 수 있도록 기능을 클라이언트에 노출하는 네트워크 또는 API 인터페이스입니다(예: 부하 분산기의 전달 규칙).

App Hub는 애플리케이션 개념을 기반으로 구축됩니다.

애플리케이션 및 관련 속성을 사용하여 서비스 및 워크로드 추상화에 대한 거버넌스 및 운영 경계를 만들 수 있습니다. 그런 다음 이러한 속성을 사용하여 관찰 가능성, 감사 및 거버넌스와 같은 작업을 수행하는 동안 애플리케이션과 관련 서비스 및 워크로드를 구성하고 찾을 수 있습니다.

App Hub 데이터 모델
그림 1. App Hub 데이터 모델

호스트 프로젝트의 서비스 또는 워크로드 등록 상태에는 다음 값 중 하나가 포함됩니다.

  • 탐색됨: 애플리케이션에 등록할 수 있는 서비스 및 워크로드입니다. 탐색된 서비스 및 워크로드에는 애플리케이션에서 삭제하거나 등록 취소한 서비스 또는 워크로드가 포함됩니다.
  • 등록됨: 애플리케이션에 등록된 서비스 및 워크로드입니다. 탐색된 서비스 또는 워크로드만 등록할 수 있습니다. 서비스 또는 워크로드를 등록하면 등록 상태가 탐색됨에서 등록됨으로 업데이트됩니다.
  • 분리됨: 기본 리소스가 삭제된 애플리케이션에 등록된 서비스 및 워크로드입니다. 예를 들어 서비스가 나타내는 전달 규칙이 삭제되면 등록 상태분리됨으로 업데이트됩니다. 분리된 서비스 및 워크로드는 등록 취소할 때까지 애플리케이션에 남아 있습니다.

호스트 프로젝트

호스트 프로젝트는 App Hub 리소스(애플리케이션, 서비스, 워크로드)를 호스팅합니다. App Hub 서비스 및 워크로드는 호스트 프로젝트에 연결된 서비스 프로젝트에서 발견한 리소스에 대한 추상화 역할을 합니다. 호스트 프로젝트는 애플리케이션이 이 경계의 일부인 관리 경계 역할을 합니다. 특정 비즈니스 요구에 맞는 여러 호스트 프로젝트 및 애플리케이션으로 별도의 경계를 만들 수 있습니다. 또한 호스트 프로젝트를 사용하면 애플리케이션의 서비스 및 워크로드가 여러 프로젝트에 있는 프로젝트 간 애플리케이션을 관리할 수 있습니다.

기본 인프라 리소스를 App Hub 데이터 모델 개념과 구분하기 위해 호스트 프로젝트로 새로운 Google Cloud 프로젝트를 만드는 것이 좋습니다. 여러 호스트 프로젝트가 필요한 경우(예: 각 독립 사업부마다 하나의 호스트 프로젝트) 새 폴더를 만들고 여기에 프로젝트를 추가하는 것이 좋습니다.

호스트 프로젝트에 부여된 Identity and Access Management(IAM) 역할(apphub.admin, apphub.editor, apphub.viewer)을 기반으로 애플리케이션을 만들고 애플리케이션에 속성을 할당하고, 서비스 및 워크로드를 등록하거나 볼 수 있습니다. 자세한 내용은 App Hub 역할 및 권한을 참조하세요.

호스트 프로젝트 만들기에 대한 자세한 내용은 App Hub 설정을 참조하세요.

서비스 프로젝트

서비스 프로젝트는 기본 인프라 리소스가 포함된 Google Cloud 프로젝트입니다. 서비스 프로젝트를 호스트 프로젝트에 연결하여 해당 프로젝트의 인프라 리소스를 애플리케이션으로 그룹화할 수 있게 합니다.

서비스 프로젝트를 두 개 이상의 호스트 프로젝트에 연결할 수 없습니다. 호스트 프로젝트는 그 자체로 서비스 프로젝트일 수 있지만 다른 호스트 프로젝트의 경우에는 그렇지 않습니다.

속성 및 속성

또한 App Hub 데이터 모델은 애플리케이션, 서비스, 워크로드의 기능을 향상시킬 수 있는 속성속성을 제공합니다.

속성은 서비스 또는 워크로드의 기본 인프라 리소스를 설명하는 필드입니다. 속성은 서비스 또는 워크로드의 등록 환경에 도움이 되는 기본 인프라 리소스에서 의미 있는 정보를 식별하는 데 도움이 됩니다. 속성은 변경할 수 없으며 기본 리소스로 업데이트됩니다. 예를 들어 프로젝트 ID, 위치, 영역 등이 있습니다.

속성은 애플리케이션, 서비스, 워크로드를 더 효과적으로 식별하고 구성하기 위해 설정할 수 있는 변경 가능한 필드입니다. 지원되는 App Hub 속성에는 다음이 포함됩니다.

  • 소유자 속성에는 애플리케이션, 서비스 또는 워크로드를 위한 연락처 정보가 포함됩니다. 지원되는 소유자 유형은 다음과 같습니다.
    • developer_owners: 개발 및 코딩을 소유한 개발팀입니다.
    • operator_owners: 런타임 및 운영 무결성을 보장하는 운영자팀입니다.
    • business_owners: 품질을 보장하고 사용자 기대치를 충족시키는 비즈니스팀입니다.
  • 애플리케이션, 서비스 또는 워크로드의 중요도는 비즈니스에 있어 각각의 중요성을 나타냅니다. 지원되는 값은 다음과 같습니다.

    • 미션 크리티컬
    • 높음
    • 보통 성과자
    • 낮음
  • 애플리케이션, 서비스 또는 워크로드의 환경은 소프트웨어 수명 주기의 단계(예: 프로덕션, 스테이징 또는 개발)입니다. 지원되는 값은 다음과 같습니다.

    • 프로덕션
    • 스테이징
    • 테스트
    • 개발

API 및 gcloud 참조

App Hub 속성에 대한 자세한 내용은 다음 참조를 확인하세요.

다음 단계