모듈 및 배치 가능한 아키텍처의 개념

안전하고 규정을 준수하며 확장 가능한 애플리케이션 인프라를 작성하는 것은 설정하기 어렵고 유지보수 비용이 많이 들 수 있습니다. 사용자가 직접 준수 인프라 아키텍처를 어셈블하는 방법을 이해하는 대신 모듈 및 배치 가능한 아키텍처를 활용할 수 있습니다. 모듈 및 배치 가능한 아키텍처는 조직의 계정에 자원이 배치되는 방법에 대한 프레임워크를 작성하는 데 도움이 될 수 있습니다. 이러한 재사용 가능한 구성에 대해 작업하여 배치에 대한 표준을 한 번 정의하고 조직의 각 구성원에 대해 쉽게 반복 가능한지 확인할 수 있습니다.

예를 들어, 아파트 단지를 짓고 있는 건축가를 생각해 보십시오. 이러한 디자인은 일반적으로 모듈식으로 실행됩니다. 표준 침실 1개, 2개 또는 3개의 침실이 있는 아파트에 대한 패턴이 있습니다. 건축업자는 각각의 기능적인 방식으로 표준 아파트를 더 크고, 더 복잡하지만 기능적인 주거 형태로 결합할 수 있습니다. IBM 은 클라우드에 솔루션을 배치하는 것과 동일한 비유를 적용했습니다. 조직에서 서비스와 소프트웨어를 함께 작동하는 방법을 파악하는 데 몇 개월이 걸리지 않고 IBM Cloud의 잘 설계된 패턴을 사용할 수 있습니다. 각 패턴은 모듈과 배포 가능한 아키텍처로 알려진 구성 가능하고 자동화된 빌딩 블록으로 패키지화됩니다.

모듈의 개념

모듈은 개발자가 재사용하고 더 큰 시스템의 일부로 공유할 수 있는 자동화 코드의 독립형 단위입니다. Node.js 또는 Python 패키지와 유사하게, 모듈은 관련 자원을 관리하는 개발자에게 편리합니다. 모듈만 사용할 수 있지만, 모듈을 결합하여 배치 가능한 아키텍처를 빌드하면 모듈이 더 강력해집니다. IBM Cloud 에서 작성된 모듈은 IBM Terraform 모듈 공용 GitHub 조직에서 사용 가능합니다. 예를 들어, Red Hat® OpenShift® IBM Cloud 모듈의 VPC 클러스터 는 IBM Cloud에 Red Hat OpenShift 클러스터를 설치하고 구성합니다.

배치 가능한 아키텍처의 개념

배치 가능한 아키텍처는 하나 이상의 클라우드 자원을 결합하는 공통 아키텍처 패턴을 배치하기 위한 클라우드 자동화입니다. 이는 사용자, 확장성 및 모듈성에 의한 단순화된 배치를 제공하도록 설계되었습니다. 배치 가능한 아키텍처는 하나 이상의 모듈을 통합합니다. 배치 가능한 아키텍처는 Terraform에서 코딩되며, 원하는 동작을 수행하기 위해 입력 변수를 사용하여 구성합니다. 더 복잡한 배포 가능한 아키텍처를 만들려면 Terraform 코드를 편집하지 않고도 배포 가능한 아키텍처를 함께 쌓을 수 있습니다.

모듈을 포함하는 배포 가능한 " caption-side="bottom"} 포함하는{: caption="가능한 아키텍처*

배포 가능한 아키텍처의 예로는 Secrets Manager 에 대한 클라우드 자동화가 있습니다. 이 배포 가능한 아키텍처는 IBM Cloud Secrets Manager 인스턴스를 모듈식 솔루션으로 프로비저닝합니다. 이 아키텍처를 사용하여 IBM Cloud 계정으로 비밀을 안전하게 관리할 수 있습니다. Secrets Manager 의 클라우드 자동화는 범위가 좁습니다. Secrets Manager 인스턴스만 배포하지만, 배포 가능한 아키텍처는 선택적으로 IBM Key Protect 키 링과 키가 없는 경우 데이터를 암호화하는 키를 생성할 수도 있습니다.

배포 가능한 아키텍처는 다음과 같이 범위가 더 넓을 수 있습니다 VPC landing zone. VPC landing zone 는 트랜짓 게이트웨이로 연결된 허브 앤 스포크 네트워킹 패턴으로 여러 가상 프라이빗 클라우드를 프로비저닝합니다. 여기에는 VPC에서 실행되는 워크로드의 모니터링 및 보안에 사용되는 여러 지원 서비스가 포함됩니다.

IBM Cloud 에서 전문가가 빌드하고 유지보수하는 배치 가능한 아키텍처는 IBM Cloud 카탈로그에서 사용할 수 있습니다. 배치 가능한 아키텍처의 자체 버전을 작성하거나 처음부터 빌드하도록 선택하는 경우, 배치 가능한 아키텍처를 개인용 카탈로그에 온보드하고 카탈로그를 통해 조직과 배치 준비된 솔루션을 공유할 수 있습니다.

배포 가능한 아키텍처를 쌓는다는 것은 무엇을 의미할까요?

보다 복잡한 사용 사례의 경우 아키텍처를 함께 스택하여 복잡한 애플리케이션 또는 인프라를 배포하기 위한 완전한 엔드투엔드 솔루션을 구성할 수 있습니다. 특정 기능을 제공하는 개별 모듈이나 배포 가능한 아키텍처와 달리 스태킹은 여러 배포 가능한 아키텍처를 결합하여 쉽게 배포하고 관리할 수 있는 포괄적인 솔루션을 구성합니다. 모듈을 결합하여 배포 가능한 아키텍처를 만들 수 있는 것처럼, 배포 가능한 아키텍처를 쌓아 더 광범위한 솔루션을 만들 수 있습니다. 스태킹에는 아키텍처를 서로 연결하여 복잡한 배포 가능한 아키텍처를 만드는 것이 포함됩니다. 이러한 연결은 참조 표기법을 사용하여 각 배포 가능한 아키텍처의 입력에 참조를 지정함으로써 이루어집니다. 테라폼 전문가가 아니어도, 테라폼 코딩 기술이 없어도 아키텍처를 스택하고 배포할 수 있습니다.

예를 들어, Secrets Manager 에 대한 클라우드 자동화를 생각해 보세요. 이 배포 가능한 아키텍처에는 Secrets Manager 인스턴스를 생성하는 Secrets Manager 모듈이 포함되어 있습니다. Secrets Manager 의 인스턴스만 필요한 경우 해당 배포 가능한 아키텍처가 적합한 선택입니다. 하지만 비밀을 안전하게 관리하는 것은 클라우드 보안 유지의 한 부분일 뿐입니다. 리소스의 상태를 항상 파악할 수 있도록 규정 준수 검사를 실행하는 것은 어떨까요? 또는 IBM Cloud 계정에서 중요한 이벤트에 대한 알림을 받고 계신가요? 보안 및 통합 가시성을 위한 Cloud 기반은 IBM Cloud 의 모든 보안 서비스를 활용합니다. 클라우드 자동화를 기반으로 구축되었으며, 다른 IBM Cloud 서비스를 프로비저닝하는 Event Notifications 배포 가능한 아키텍처와 함께 Secrets Manager 구성되었습니다. 그 배치 가능한 아키텍처는 단독으로는 제공할 수 Secrets Manager 없는 보다 포괄적인 보안 솔루션을 제공합니다.

배포 가능한 아키텍처 스태킹
배포 가능한 아키텍처 스태킹으로 엔드투엔드 솔루션 구축하기

배포 가능한 아키텍처를 IBM Cloud 프로젝트에 스택하여 많은 추가 유효성 검사 단계 없이 카탈로그에 함께 게시할 수 있습니다. 또는 비공개 카탈로그에 솔루션을 온보딩할 때 아키텍처를 스택할 수 있습니다. 여기에서 다른 사람들과 공유하여 직접 재구축하는 시간을 절약할 수 있습니다.

이 복잡한 솔루션의 비용, 규정 준수, 지원 및 품질 보증의 대부분은 배포 가능한 아키텍처에서 비롯됩니다. 하지만 이 복잡한 솔루션에는 고유한 버전, 설명, 아키텍처 다이어그램이 있습니다. 카탈로그에서 다른 배포 가능한 아키텍처와 함께 스택된 배포 가능한 아키텍처를 업데이트하는 경우, 온보더가 해당 구성 요소 배포 가능한 아키텍처의 최신 버전을 사용하려면 전체 솔루션을 업데이트해야 합니다. 전체 솔루션을 새 버전으로 업데이트하면 단일 아키텍처에 대한 최신 업데이트가 더 광범위한 솔루션 내에서 올바르게 작동하도록 하는 데 도움이 됩니다.

그러나 배포 가능한 각 아키텍처는 독립적인 구성 상태를 가지므로 각각 독립적으로 배포, 업데이트 또는 배포 취소할 수 있습니다. 예를 들어, 보안 및 통합 가시성을 위한 Cloud 기반에는 배포 가능한 아키텍처( Secrets Manager )를 위한 Cloud 자동화가 포함되어 있다는 것을 이미 알고 계실 것입니다. Secrets Manager 에 대한 Cloud 자동화가 업데이트된 경우, 보안 및 통합 가시성을 위한 Cloud 기반을 업데이트하여 Secrets Manager 의 최신 버전을 사용해야 합니다. 그러나 보안 및 통합 가시성을 위해 Cloud Foundation에 포함된 모든 아키텍처는 해당 솔루션을 사용하는 사용자가 다시 배포할 필요가 없습니다. 사용자가 최신 버전을 사용하도록 프로젝트를 업데이트하는 경우 Secrets Manager 만 다시 배포하면 됩니다.

더 광범위한 솔루션 내에서 배포 가능한 아키텍처 업데이트하기
더 광범위한 솔루션 내에서 배포 가능한 아키텍처 업데이트하기

배포 가능한 아키텍처에는 무엇이 포함되나요?

배치 가능한 아키텍처에는 변형이 포함되거나, 종속성이 있거나, 더 복잡한 솔루션을 작성하기 위해 함께 스택될 수 있습니다.

변형

변형은 다른 기능이나 복잡도를 기존의 배치 가능한 아키텍처에 적용하는 배치 가능한 아키텍처의 유형입니다. 예를 들어, 내부적으로 테스트할 단순하고 저렴한 배치를 위한 기본 기능이 있는 배치 가능한 아키텍처에 대한 빠른 시작 변형이 있을 수 있습니다. 또한 프로덕션에서 사용할 준비가 된 약간 더 복잡한 표준 변형이 있을 수 있습니다.

필수 아키텍처

배포 가능한 아키텍처에는 성공적으로 배포하기 위해 다른 배포 가능한 아키텍처의 출력이 필요한 입력이 포함될 수 있습니다. 배포 가능한 아키텍처와 필요한 다른 아키텍처 간의 이러한 관계를 일반적으로 종속성이라고 합니다. 배포 가능한 아키텍처를 스택하거나 배포 가능한 아키텍처를 프라이빗 카탈로그에 온보딩하고 다른 아키텍처를 포함하도록 확장하는 두 가지 방법으로 종속성을 충족할 수 있습니다.

다른 배포 가능한 아키텍처에 종속성이 있는 배포 가능한
배포 가능한 아키텍처에 종속성이 있는 배포 가능한

선택적 아키텍처

배포 가능한 아키텍처는 유연하게 설계되었기 때문에 아키텍처를 쉽게 스택하여 보다 완벽한 솔루션을 구축할 수 있습니다. 그러나 일반적으로 유용한 배포 가능한 아키텍처에는 복잡한 사용 사례를 충족하는 데 필요한 특정 옵션이 포함되어 있지 않을 수 있습니다. 예를 들어, Java 애플리케이션에 어떤 데이터베이스가 사용되나요? 이벤트 알림, 메시지 대기열 또는 기본적으로 포함되지 않는 기타 선택적 서비스가 필요하신가요? 선택적 배포 가능한 아키텍처를 필수 배포 가능한 아키텍처와 함께 스택하여 사용자의 이러한 사용자 지정 문제를 해결할 수 있습니다.

스왑 가능한 아키텍처

종속성을 충족하기 위해 아키텍처가 필요하든, 아키텍처의 선택적 확장으로 포함되든, 사용자는 더 많은 유연성을 요구할 수 있습니다. Java 애플리케이션이 선택적 데이터베이스와 함께 작동한다는 것을 알고 계시겠지만, 사용자에게는 어떤 데이터베이스가 필요할까요? 사용자가 교체 가능한 아키텍처를 지정하면 특정 요구 사항에 맞게 엔드투엔드 솔루션을 맞춤화할 수 있습니다. 선택 사항 또는 필수 아키텍처를 함께 쌓은 후에는 아키텍처를 서로 스왑 가능한 것으로 그룹화할 수 있습니다. 그런 다음 소비 사용자는 종속성을 충족하기 위해 사용할 필수 아키텍처를 선택하거나 사용 사례를 확장하려는 경우 선택 아키텍처를 선택할 수 있습니다.

배포 가능한 아키텍처를 비공개 카탈로그에 온보딩할 때 옵션 및 스왑 가능한 아키텍처를 추가할 수 있습니다. 현재 프로젝트에서 배포 가능한 아키텍처 스택은 옵션 또는 스왑 가능한 아키텍처를 지원하지 않습니다.

프로젝트의 개념 및 배치 가능한 아키텍처에 대해 작업하는 방법

IBM Cloud 프로젝트는 조직에 있는 실제 프로젝트를 구성하고 가시성을 제공하도록 디자인된 관리 도구입니다. 프로젝트는 배치 가능한 아키텍처의 구성된 모든 인스턴스 및 배치되는 실제 이유와 관련된 자원을 관리합니다. 프로젝트는 버전화된 배치 가능한 아키텍처 인스턴스를 저장하고 인스턴스 및 자원을 환경으로 구성하여 개발 라이프사이클에 대한 가시성을 개선하는 데 도움을 줍니다. 환경은 더 쉬운 배치를 위해 값을 공유하는 관련된 배치 가능한 아키텍처 인스턴스의 그룹입니다. 예를 들어, development, test 또는 prod입니다.

프로젝트는 승인된 배치 가능한 아키텍처만 배치할 수 있는지 확인해야 합니다. 또한 아키텍처 및 아키텍처에서 작성한 자원이 최신 상태이며 시간이 경과함에 따라 드리프트가 발생하지 않는지 확인하는 데 도움이 될 수 있습니다. 예를 들어, 계정 관리 애플리케이션 프로젝트가 있을 수 있습니다. 이 프로젝트는 계정 관리 애플리케이션이 개발, 테스트 또는 프로덕션 환경에 배치하는 데 필요한 모든 자원을 관리하도록 설계되었습니다. 각 환경에는 리젼 또는 접두부와 같은 동일한 변수가 있지만 다른 값이 있습니다. 배치 가능한 아키텍처가 프로젝트를 통해 환경에 지정되면 해당 입력 값은 동일한 이름을 가진 환경의 특성을 자동으로 참조할 수 있습니다. IBM Cloud 프로젝트는 쉽게 작성하고 업데이트할 수 있지만 복제 또는 공유를 위해 템플리트화되거나 최적화되지 않습니다.

작성할 솔루션을 어떻게 알 수 있습니까?

사용자 고유의 솔루션을 작성하려는 경우 범위, 결합, 배치 가능 여부 및 솔루션의 목적을 모두 고려해야 합니다. 빌드할 계획을 결정하는 데 도움이 되는 안내 및 유스 케이스는 아키텍처 디자인을 위한 계획 및 조사작성할 컴포넌트의 종류를 결정하는 방법 을 참조하십시오.

다음 표에서는 다른 컴포넌트를 작성하려는 이유에 대한 상위 레벨 개요를 제공합니다.

자동화된 배포 사용 사례에 대한 이해
용도 권장 방법 이유.
공유 가능한 자동화 컴포넌트의 라이브러리 작성 모듈 작성 모듈은 재사용 가능하고 큐레이트된 자동화를 제공하여 배치 가능한 아키텍처를 작성하고 구성하는 사용자를 위한 프로세스를 가속화합니다.
조직의 클라우드 환경이 안전하고 규정을 준수하는지 확인 배포 가능한 아키텍처 만들기 배치 가능한 아키텍처는 보안 및 준수 배치를 한 번 정의하고 조직의 모든 구성원이 동일한 방식으로 배치를 반복하도록 하는 방식으로 패키지됩니다.
사용자 고유의 솔루션 설계 배포 가능한 아키텍처를 함께 쌓기 아키텍처를 결합하여 조직을 위한 보다 복잡한 엔드-투-엔드 솔루션을 작성할 수 있습니다.