OpenShift-개요

OpenShift는 Red Hat에서 호스팅하는 클라우드 개발 PaaS (Platform as a Service)입니다. 애플리케이션을 생성, 테스트 및 실행하고 마지막으로 클라우드에 배포하는 데 사용되는 오픈 소스 클라우드 기반 사용자 친화적 인 플랫폼입니다.

OpenShift는 Node.js, Ruby, Python, Perl 및 Java와 같은 다양한 언어로 작성된 애플리케이션을 관리 할 수 ​​있습니다. OpenShift의 주요 기능 중 하나는 확장 가능하므로 사용자가 다른 언어로 작성된 애플리케이션을 지원하는 데 도움이됩니다.

OpenShift는 추상화 계층으로 다양한 가상화 개념을 제공합니다. OpenShift의 기본 개념은 가상화를 기반으로합니다.

가상화

일반적으로 가상화는 시스템, 스토리지 또는 운영 체제에서 시작하는 모든 것의 물리적 또는 실제 버전이 아닌 가상 시스템의 생성으로 정의 될 수 있습니다. 가상화의 주요 목표는 IT 인프라의 확장 성과 안정성을 높이는 것입니다. 가상화의 개념은 수십 년 동안 존재 해 왔으며 오늘날 IT 산업의 발전과 함께 시스템 수준, 하드웨어 수준에서 서버 수준 가상화에 이르기까지 광범위한 계층에 적용될 수 있습니다.

작동 원리

모든 애플리케이션 또는 운영 체제가 실제 물리적 계층에서 추상화되는 기술로 설명 할 수 있습니다. 가상화 기술의 주요 용도 중 하나는 하이퍼 바이저라는 소프트웨어를 사용하여 기본 하드웨어에서 계층을 추상화하는 서버 가상화입니다. 가상화에서 실행되는 운영 체제의 성능은 물리적 하드웨어에서 실행될 때만 큼 좋습니다. 그러나 실행중인 대부분의 시스템 및 응용 프로그램에서 기본 하드웨어를 사용할 필요가 없기 때문에 가상화 개념이 널리 사용됩니다.

물리적 대 가상 아키텍처

가상화 유형

  • Application Virtualization−이 방법에서 애플리케이션은 기본 운영 체제에서 추상화됩니다. 이 방법은 아래의 운영 체제에 의존하지 않고 응용 프로그램을 격리하여 실행할 수있는 경우 매우 유용합니다.

  • Desktop Virtualization−이 방법은 데스크에서 씬 클라이언트를 사용하여 원격으로 데스크톱에 액세스 할 수있는 워크 스테이션 부하를 줄이는 데 사용됩니다. 이 방법에서 데스크톱은 대부분 데이터 센터에서 실행됩니다. 전형적인 예로는 대부분의 조직에서 사용되는 VDI (가상 데스크톱 이미지)가 있습니다.

  • Data Virtualization − 기존의 데이터 및 데이터 관리 방법을 추상화하고 탈피하는 방법입니다.

  • Server Virtualization−이 방법에서는 물리적 서버, 프로세스 및 운영 체제를 포함하는 서버 관련 리소스가 가상화됩니다. 이러한 추상화를 가능하게하는 소프트웨어를 종종 하이퍼 바이저라고합니다.

  • Storage Virtualization − 여러 저장 장치를 단일 중앙 콘솔에서 관리하는 단일 저장 장치로 풀링하는 과정입니다.

  • Network Virtualization − 사용 가능한 모든 네트워크 리소스를 서로 독립적 인 사용 가능한 대역폭과 채널을 분할하여 결합하는 방법입니다.

OpenShift

OpenShift는 클라우드 지원 애플리케이션 PaaS (Platform as a Service)입니다. 조직이 기존 애플리케이션 인프라와 플랫폼을 물리적 가상 매체에서 클라우드로 이동하는 데 도움이되는 오픈 소스 기술입니다.

OpenShift는 OpenShift 클라우드 플랫폼에서 쉽게 개발하고 배포 할 수있는 매우 다양한 애플리케이션을 지원합니다. OpenShift는 기본적으로 개발자와 사용자를 위해 세 가지 종류의 플랫폼을 지원합니다.

IaaS (Infrastructure as a Service)

이 형식에서 서비스 제공 업체는 사전 정의 된 가상 하드웨어 구성이있는 하드웨어 수준 가상 머신을 제공합니다. 이 분야에는 AWS Google 클라우드, Rackspace 등에서 시작하는 여러 경쟁자가 있습니다.

오랜 설치 및 투자 절차를 거친 후 IaaS를 사용할 경우의 가장 큰 단점은 여전히 ​​운영 체제 및 서버 패키지의 설치 및 유지 관리, 인프라 네트워크 관리, 기본 시스템 관리 처리에 대한 책임이 있다는 것입니다.

SaaS (Software as a Service)

SaaS를 사용하면 기본 인프라에 대해 걱정할 필요가 없습니다. 플러그 앤 플레이처럼 간단합니다. 사용자는 서비스에 가입하고 사용하기 만하면됩니다. 이 설정의 가장 큰 단점은 서비스 공급자가 허용하는 최소한의 사용자 정의 만 수행 할 수 있다는 것입니다. SaaS의 가장 일반적인 예 중 하나는 사용자가 로그인하여 사용하기 만하면되는 Gmail입니다. 사용자는 자신의 계정을 약간 수정할 수도 있습니다. 그러나 개발자의 관점에서는별로 유용하지 않습니다.

PaaS (Platform as a Service)

SaaS와 IaaS 사이의 중간 계층으로 간주 할 수 있습니다. PaaS 평가의 주요 대상은 몇 가지 명령으로 개발 환경을 가동 할 수있는 개발자를위한 것입니다. 이러한 환경은 데이터베이스가있는 웹 응용 프로그램 서버에서 바로 모든 개발 요구를 충족 할 수 있도록 설계되었습니다. 이렇게하려면 단일 명령 만 있으면 서비스 제공자가 대신 작업을 수행합니다.

OpenShift를 사용하는 이유

OpenShift는 기업 단위가 기본 운영 체제에 대한 걱정없이 클라우드에서 애플리케이션을 호스팅 할 수있는 공통 플랫폼을 제공합니다. 따라서 클라우드에서 애플리케이션을 사용, 개발 및 배포하기가 매우 쉽습니다. 주요 기능 중 하나는 모든 종류의 개발 및 테스트를 위해 관리되는 하드웨어 및 네트워크 리소스를 제공한다는 것입니다. OpenShift를 사용하면 PaaS 개발자는 사양에 따라 필요한 환경을 자유롭게 설계 할 수 있습니다.

OpenShift는 서비스 계획과 관련하여 다양한 종류의 서비스 수준 계약을 제공합니다.

Free −이 플랜은 3 년으로 제한되며 각 1GB 공간이 있습니다.

Bronze −이 플랜에는 3 년이 포함되며 연간 1GB 공간으로 최대 16 년까지 확장됩니다.

Sliver − 16 년 브론즈 플랜이지만 추가 비용없이 6GB의 저장 용량을 제공합니다.

위의 기능 외에도 OpenShift는 OpenShift Enterprise로 알려진 온 프레미스 버전도 제공합니다. OpenShift에서 개발자는 확장 가능하고 확장 불가능한 애플리케이션을 설계 할 수 있으며 이러한 설계는 HAproxy 서버를 사용하여 구현됩니다.

풍모

OpenShift에서 지원하는 여러 기능이 있습니다. 그들 중 소수는-

  • 다국어 지원
  • 다중 데이터베이스 지원
  • 확장 가능한 카트리지 시스템
  • 소스 코드 버전 관리
  • 원 클릭 배포
  • 다중 환경 지원
  • 표준화 된 개발자의 워크 플로우
  • 종속성 및 빌드 관리
  • 자동 애플리케이션 확장
  • 반응 형 웹 콘솔
  • 풍부한 명령 줄 도구 세트
  • 애플리케이션에 대한 원격 SSH 로그인
  • Rest API 지원
  • 셀프 서비스 온 디맨드 애플리케이션 스택
  • 기본 제공 데이터베이스 서비스
  • 지속적인 통합 및 릴리스 관리
  • IDE 통합
  • 응용 프로그램의 원격 디버깅