4.3. 애플리케이션
애플리케이션은 여전히 OpenShift의 중심점입니다. OpenShift v2에서는 애플리케이션이 하나 이상의 카트리지 유형을 사용하는 하나의 웹 프레임워크로 구성된 단일 단위였습니다. 예를 들어 애플리케이션에는 하나의 PHP와 하나의 MySQL이 있을 수 있지만 Ruby 1개, PHP 1개, MySQL 2개가 있을 수 없습니다. 또한 MySQL과 같은 데이터베이스 카트리지일 수도 없습니다.
애플리케이션의 범위가 제한되어 있어 OpenShift가 환경 변수를 사용하여 애플리케이션 내의 모든 구성 요소에 대해 원활한 연결을 수행했습니다. 예를 들어 모든 웹 프레임워크는 OPENSHIFT_MYSQL_DB_ HOST 및
변수를 사용하여 MySQL에 연결하는 방법을 알고 있었습니다. 그러나 이러한 연결은 애플리케이션 내에서만 제한되었고 함께 작동하도록 설계된 카트리지 내에서만 작동했습니다. 두 애플리케이션에서 MySQL 인스턴스를 공유하는 등 애플리케이션 구성 요소 간에 연결할 수 있는 것은 없었습니다.
OPENSHIFT_MYSQL_DB_
PORT
대부분의 다른 PaaS는 웹 프레임워크로 제한되고 다른 유형의 구성 요소에 대한 외부 서비스를 사용하는 반면 OpenShift v3에서는 더 많은 애플리케이션 토폴로지를 지원하고 관리할 수 있습니다.
OpenShift v3에서는 서비스를 함께 연결하는 개념으로 "애플리케이션"이라는 용어를 사용합니다. 원하는 만큼 많은 구성 요소를 프로젝트 내에서 포함하고 유연하게 연결할 수 있으며, 선택적으로 그룹화 또는 구조를 제공하도록 레이블이 지정될 수 있습니다. 이 업데이트된 모델을 사용하면 독립 실행형 MySQL 인스턴스 또는 JBoss 구성 요소 간에 공유할 수 있습니다.
유연한 연결은 두 개의 임의의 구성 요소를 모두 연결할 수 있음을 의미합니다. 하나의 구성 요소가 환경 변수를 내보낼 수 있고 두 번째 구성 요소는 이러한 환경 변수의 값을 사용하고 변수 이름 변환을 사용할 수 있는 경우 기반이 되는 이미지를 변경하지 않고도 두 구성 요소를 모두 연결할 수 있습니다. 따라서 원하는 데이터베이스와 웹 프레임워크의 컨테이너화된 최상의 구현을 둘 다 분기하고 호환되도록 재작업하는 대신 직접 사용할 수 있습니다.
즉, OpenShift에서 모든 것을 빌드할 수 있습니다. OpenShift의 주요 목표는 전체 애플리케이션을 반복 가능한 라이프사이클로 구축할 수 있는 컨테이너 기반 플랫폼이 되는 것입니다.