Red Hat Universal Base Image を使用して、サンプル為替アプリを OpenShift にデプロイする

概要

このコード・パターンは、Bee Travels サンプル・プロジェクトの一部です。このプロジェクトは、Red Hat Universal Base Image を使用して Python で作成された為替アプリケーションを、OpenShift 4.3 と互換性がある Red Hat® OpenShift® on IBM Cloud™ 上にデプロイすることに関心を集中しています。

Universal Base Image は Red Hat Enterprise Linux (RHEL) を中核とするオペレーティング・システムのベース・イメージであるため、RHEL を利用する利点のすべてを備えたイメージを構築できます。つまり、応答性に優れ、極めてセキュアで回復力の高いイメージを構築できるということです。しかも、その名が示唆するように、このイメージは対象が何であれ、普遍的に使用できます。 任意のプラットフォーム上でイメージをビルドして、任意の場所にそのイメージを配布して実行できます。

Universal Base Image を使用すると、使い慣れた yum コマンドを使って、標準的な rpm リポジトリーおよびパッケージをインストールできます。例えば、Apache Web サーバーをセットアップするのも、(Python バージョン 3.7.5 のように) バージョン管理された言語固有の環境を立ち上げるのも簡単です。また、任意のプラットフォーム上でイメージをビルドして、の任意の場所で実行できます。例えば Mac、Linux、Windows などのオペレーティング・システムの別を問わずに、いずれも無料でビルドして実行できます。有料の Red Hat サブスクリプションは必要ありません。

説明

このコード・パターンとサンプルを使用して、Red Hat OpenShift on IBM Cloud で Universal Base Image を試すことができます。.

このコード・パターンに従うと、以下のスキルを身に着けることができます。

  • REST インターフェースと Swagger テスト・ハーネスを備えた、各種の API ポイントを手動で検査、発見、実行できる Python マイクロサービスを設計して作成する
  • Red Hat Universal Base Image を使用して、マイクロサービスの Docker イメージをビルドする
  • OpenShift 4.3 との互換性がある Red Hat OpenShift on IBM Cloud 上にマイクロサービスをデプロイして実行する

このコード・パターンの手順に従うには、以下のコードとツールを用意しておく必要があります。

フロー

為替マイクロサービス・アーキテクチャーのフロー図

  1. サンプルの為替マイクロサービス内で、クライアント API のコンシューマーがインターネットを介してマイクロサービスを呼び出します (http/s リクエスト)。
  2. Python Flask プロセスが Web サーバーとして機能し、REST リクエスト (例えば、GET /convertCurrency/ZAR/USD/600.66) を受け入れます。
  3. Flask 内のリクエストをルーティングするコードによってリクエストがサービス・モジュールに渡され、このモジュールによって External European Currency Exchange API が呼び出されます。
  4. 南アフリカ・ランド (ZAR) の為替レートが取得されて保管されます。ZAR の値 600.66 が米国ドル (USD) に換算されます。
  5. Flask が応答として、ドルの金額 (この例の場合、$40.59) を呼び出し側コンシューマーに送信します。

手順

このコード・パターンを試すには、GitHub リポジトリー内の README.md ファイルに記載されている詳細な手順を参照してください。手順の概要は以下のとおりです。

  1. GitHub リポジトリーのクローンをローカルで作成します。
  2. Docker イメージをビルドしてローカルで実行します。
  3. IBM Red Hat OpenShift 4 クラスターにマイクロサービスをデプロイします。