OpenShift-概要
OpenShiftは、Red Hatがホストするクラウド開発Platformas a Service(PaaS)です。これは、アプリケーションを作成、テスト、実行し、最終的にクラウドにデプロイするために使用される、オープンソースのクラウドベースのユーザーフレンドリーなプラットフォームです。
OpenShiftは、Node.js、Ruby、Python、Perl、Javaなどのさまざまな言語で記述されたアプリケーションを管理できます。OpenShiftの重要な機能の1つは拡張可能であり、ユーザーが他の言語で記述されたアプリケーションをサポートするのに役立ちます。
OpenShiftには、抽象化レイヤーとして仮想化のさまざまな概念が付属しています。OpenShiftの背後にある基本的な概念は、仮想化に基づいています。
仮想化
一般に、仮想化は、システム、ストレージ、またはオペレーティングシステムから始まるものの物理バージョンまたは実際のバージョンではなく、仮想システムの作成として定義できます。仮想化の主な目標は、ITインフラストラクチャをよりスケーラブルで信頼性の高いものにすることです。仮想化の概念は数十年前から存在しており、今日のIT業界の進化に伴い、システムレベル、ハードウェアレベルから、サーバーレベルの仮想化までの幅広いレイヤーに適用できます。
使い方
これは、アプリケーションまたはオペレーティングシステムが実際の物理層から抽象化されるテクノロジーとして説明できます。仮想化テクノロジーの主な用途の1つはサーバー仮想化です。これは、ハイパーバイザーと呼ばれるソフトウェアを使用して、基盤となるハードウェアからレイヤーを抽象化します。仮想化で実行されているオペレーティングシステムのパフォーマンスは、物理ハードウェアで実行されている場合と同じくらい良好です。ただし、実行中のシステムとアプリケーションのほとんどは基盤となるハードウェアを使用する必要がないため、仮想化の概念は一般的です。
物理アーキテクチャと仮想アーキテクチャ
仮想化の種類
Application Virtualization−この方法では、アプリケーションは基盤となるオペレーティングシステムから抽象化されます。この方法は、アプリケーションをその下のオペレーティングシステムに依存せずに単独で実行できる場合に非常に便利です。
Desktop Virtualization−この方法は、デスクのシンクライアントを使用してリモートでデスクトップにアクセスできるワークステーションの負荷を軽減するために使用されます。この方法では、デスクトップは主にデータセンターで実行されます。典型的な例は、ほとんどの組織で使用されている仮想デスクトップイメージ(VDI)です。
Data Virtualization −これは、従来のデータおよびデータ管理の方法を抽象化して回避する方法です。
Server Virtualization−この方法では、物理サーバー、プロセス、およびオペレーティングシステムを含むサーバー関連のリソースが仮想化されます。この抽象化を可能にするソフトウェアは、ハイパーバイザーと呼ばれることがよくあります。
Storage Virtualization −これは、複数のストレージデバイスを単一の中央コンソールから管理される単一のストレージデバイスにプールするプロセスです。
Network Virtualization −これは、利用可能なすべてのネットワークリソースを、それぞれが互いに独立している利用可能な帯域幅とチャネルを分割することによって結合する方法です。
OpenShift
OpenShiftは、クラウド対応のアプリケーションPlatform as a Service(PaaS)です。これは、組織が従来のアプリケーションインフラストラクチャとプラットフォームを物理的な仮想メディアからクラウドに移行するのに役立つオープンソーステクノロジーです。
OpenShiftは、OpenShiftクラウドプラットフォームで簡単に開発およびデプロイできる非常に多種多様なアプリケーションをサポートします。OpenShiftは基本的に、開発者とユーザー向けに3種類のプラットフォームをサポートしています。
サービスとしてのインフラストラクチャ(IaaS)
この形式では、サービスプロバイダーは、ハードウェアレベルの仮想マシンに事前定義された仮想ハードウェア構成を提供します。このスペースには、AWS Googleクラウド、Rackspaceなどをはじめとする複数の競合他社があります。
セットアップと投資の長い手順の後にIaaSを使用することの主な欠点は、オペレーティングシステムとサーバーパッケージのインストールと保守、インフラストラクチャのネットワークの管理、および基本的なシステム管理の管理を引き続き担当することです。
サービスとしてのソフトウェア(SaaS)
SaaSを使用すると、基盤となるインフラストラクチャについての心配が最も少なくなります。プラグアンドプレイと同じくらい簡単で、ユーザーはサービスにサインアップして使用を開始するだけです。この設定の主な欠点は、サービスプロバイダーによって許可されている最小限のカスタマイズしか実行できないことです。SaaSの最も一般的な例の1つはGmailで、ユーザーはログインして使用を開始するだけです。ユーザーは、自分のアカウントにいくつかの小さな変更を加えることもできます。ただし、開発者の観点からはあまり役に立ちません。
Platform as a Service(PaaS)
これは、SaaSとIaaSの中間層と見なすことができます。PaaS評価の主なターゲットは、開発環境をいくつかのコマンドで起動できる開発者向けです。これらの環境は、データベースを備えたWebアプリケーションサーバーを使用するだけでなく、すべての開発ニーズを満たすことができるように設計されています。これを行うには、1つのコマンドが必要であり、サービスプロバイダーが代行します。
OpenShiftを使用する理由
OpenShiftは、エンタープライズユニットが基盤となるオペレーティングシステムを気にすることなくアプリケーションをクラウド上でホストするための共通プラットフォームを提供します。これにより、アプリケーションのクラウドでの使用、開発、およびデプロイが非常に簡単になります。重要な機能の1つは、あらゆる種類の開発とテストのための管理されたハードウェアとネットワークリソースを提供することです。OpenShiftを使用すると、PaaS開発者は必要な環境を仕様に基づいて自由に設計できます。
OpenShiftは、サービスプランに関してさまざまな種類のサービスレベルアグリーメントを提供します。
Free −このプランは3年間に制限されており、それぞれに1GBのスペースがあります。
Bronze −このプランには3年間が含まれ、年間1GBのスペースで最大16年間拡張されます。
Sliver −これはブロンズの16年間の計画ですが、追加費用なしで6GBのストレージ容量があります。
上記の機能の他に、OpenShiftはOpenShiftEnterpriseと呼ばれるオンプレミスバージョンも提供します。OpenShiftでは、開発者はスケーラブルなアプリケーションとスケーラブルでないアプリケーションを設計するためのレバレッジを持っており、これらの設計はHAproxyサーバーを使用して実装されます。
特徴
OpenShiftでサポートされる機能は複数あります。それらのいくつかは-
- 多言語サポート
- 複数のデータベースのサポート
- 拡張可能なカートリッジシステム
- ソースコードバージョン管理
- ワンクリック展開
- マルチ環境サポート
- 標準化された開発者のワークフロー
- 依存関係とビルド管理
- 自動アプリケーションスケーリング
- レスポンシブWebコンソール
- 豊富なコマンドラインツールセット
- アプリケーションへのリモートSSHログイン
- RestAPIサポート
- セルフサービスのオンデマンドアプリケーションスタック
- 組み込みのデータベースサービス
- 継続的インテグレーションとリリース管理
- IDE統合
- アプリケーションのリモートデバッグ