AWS 솔루션

이 문서에서는 Amazon Web Services(AWS)에서 GitLab을 활용하는 솔루션에 관해 다룹니다.

클라우드 플랫폼 웰 아키텍처 규정 준수

테스트 기반의 아키텍처 적합성은 클라우드 솔루션 구현의 기본적인 개념입니다:

  • 클라우드 솔루션 구현은 GitLab 참조 아키텍처 규정을 유지하며 GitLab 성능 도구 (GPT) 보고서를 제공하여 이를 준수함을 증명합니다.
  • 클라우드 솔루션 구현은 기술 공급업체가 인증하거나/또는 기여할 수 있습니다. 예를 들어, AWS의 구현 패턴은 AWS에서 공식적으로 검토될 수 있습니다.
  • 클라우드 솔루션 구현은 GitLab에 적합한 클라우드 플랫폼 PaaS 서비스를 지정하고 테스트할 수 있습니다. 이러한 테스트는 Reference Architectures를 위해 이러한 기술을 유효화하고 적합성을 검증하는 데 도움이 될 수 있습니다. 예를 들어, PostgreSQL 및 Redis와 같은 주요 PaaS의 런타임 버전과의 호환성과 가용성의 적합성을 인증할 수 있습니다.
  • 클라우드 솔루션 구현은 예를 들어 특정 클라우드 플랫폼 가용 영역 지연 및 처리량 특성에서 Gitaly Cluster가 올바르게 작동하거나 Gitaly 서버가 특정 플랫폼 파트너 로컬 디스크 성능 수준의 어떤 수준이 작업 가능한지 검증하는 플랫폼 제한의 자격을 인정받을 수 있습니다.

AWS 알려진 문제 목록

알려진 문제는 GitLab 내부 및 고객이 보고한 문제에서 수집됩니다. 고객은 GitLab이 명시적으로 설계되지 않았거나 지속적인 테스트가 없는 다양한 “서비스로” 구성 요소를 성공적으로 구현합니다. GitLab은 파트너 기술을 매우 심각하게 생각하지만, 여기에 알려진 문제가 강조된 것은 구현자를 위한 편의를 제공하는 것이며, GitLab이 문제가 발생하는 파트너 기술에서의 호환성을 목표로 한 것이나, 실행을 보장하는 어떤 유형의 보증도 가지고 있지는 않다는 것을 의미하지는 않습니다. 각각의 문제를 확인하여 GitLab의 입장 및 특정 알려진 문제에 대한 계획을 이해하십시오.

전체 목록은 GitLab AWS 알려진 문제 목록에서 확인할 수 있습니다.

AWS와 함께 GitLab 사용을 위한 작동하는 코드 예제와 패턴

AWS를 위한 Guided Explorations 하위 그룹에는 다양한 작동하는 예제 프로젝트가 포함되어 있습니다.

플랫폼 파트너의 특수성

클라우드 솔루션 구현은 플랫폼별 용어, 최선의 아키텍처 및 플랫폼별 빌드 매니페스트를 가능하게 합니다:

  • 클라우드 솔루션 구현은 더 많이 특정 기술 공급업체에 맞춰져 있습니다. 예를 들어, 특정 컴퓨팅 인스턴스/VM/노드를 권장할 수 있으며 다른 일반화된 측정값 대신 vCPU 등을 사용합니다.
  • 클라우드 솔루션 구현은 해당 플랫폼에 대한 적절한 아키텍처를 구현하는 것을 목표로 합니다.
  • 클라우드 솔루션 구현은 해당 구현 패턴이 대상으로 하는 인프라를 구축하는 데 익숙한 대상을 대상으로 합니다. 예를 들어, 구현 패턴이 GCP를 위한 것이라면, GCP의 특정 용어를 사용하며, PaaS 서비스의 특정 명칭을 포함하여 사용합니다.
  • 클라우드 솔루션 구현은 GitLab과 호환되는 PaaS 버전을 테스트하고 인증할 수 있습니다 (예: PostgreSQL, Redis 등).

AWS 플랫폼 PaaS(Paltform as a Service) 사양 및 사용

플랫폼 as a Service 옵션은 클라우드 플랫폼이 제공하는 가치의 상당 부분을 차지하며, 운영 복잡성을 간소화하고 고급 및 고가용성 기술 서비스를 운영하는 데 필요한 SRE 및 보안 스킬을 줄입니다. 클라우드 솔루션 구현은 파트너 PaaS 옵션에 대해 사전으로 적합성을 검증할 수 있습니다.

  • 클라우드 솔루션 구현은 구현자가 어떤 PaaS 옵션이 작동하는지 이해하고, 동일한 GitLab 역할을 위한 두 가지 이상의 PaaS 옵션을 선택하는 방법을 설명합니다.
  • 예를 들어, 참조 아키텍처에서 GitLab이 특정 권장 사항을 갖고 있지 않은 경우, 어떤 기술을 이용하여 GitLab 외부 이메일 서비스를 하는지, 그 크기는 얼마나 되어야 하는지를 이해할 수 있으며, 참조 구현은 클라우드 공급업체의 Email as a Serive (PaaS)를 사용하고, 때로는 특정 설정과 함께 사용하도록 권장할 수 있습니다.

더 많은 내용은 AWS 서비스를 배포하는 데 사용할 수 있는 GitLab 인프라에서 확인할 수 있습니다.

비용 최적화 엔지니어링

비용 엔지니어링은 클라우드 아키텍처의 기본적인 측면이며, 플랫폼에서 제공되는 절감 기능은 대규모 컴퓨팅을 구축하는 방법에 강력한 영향을 미칩니다.

  • 클라우드 솔루션 구현은 플랫폼 공급자에서 사용 가능한 절감 모델에 대해 구체적으로 설계할 수 있습니다. AWS의 경우, 예약 인스턴스를 최대한 활용합니다.
  • 클라우드 솔루션 구현은 적절한 경우에는 변동 컴퓨터를 활용하며, 적절한 고객 지침을 준수합니다. 예를 들어, GitLab Runner 태깅을 사용하여 변동 컴퓨터에 대한 Kubernetes 노드 그룹을 러너에 대한 것으로 두는 등의 경우.
  • 클라우드 솔루션 구현에는 공급업체별 비용 계산기가 포함될 수 있습니다.

실행 가능성 및 자동화 지향

클라우드 솔루션 구현은 특정 빌드 지침 및 자동화 코드의 소스로 사용할 수 있는 구체적인 단계에 한 발 더 나아갑니다:

  • 클라우드 솔루션 구현을 통해 빌더는 주어진 참조 아키텍처에 대해 GitLab을 구현하는 데 필요한 공급업체별 자원 목록을 생성할 수 있습니다.
  • 클라우드 솔루션 구현은 빌더가 수동 지침을 사용하거나 참조 구현을 빌드하기 위해 자동화를 만들 수 있도록 합니다.

의도된 대상 및 기여자

이 정보를 위한 주요 대상 및 기여자는 적어도 다음을 포함하는 GitLab 구현 생태계입니다:

GitLab 구현 커뮤니티:

  • 고객
  • GitLab 채널 파트너 (통합업체)
  • 플랫폼 파트너

GitLab 내부 구현 팀:

  • 품질/유통/셀프 매니지드
  • 제휴
  • 교육
  • 지원
  • 전문 서비스
  • 공공 부문