Archive date: 2019-08-06
このコンテンツは作成された時点のものであり、それ以降の更新は適用されていません。テクノロジーの進歩により、コンテンツの一部、手順、説明図などが現在の状況と一致していない可能性があります。概要
ソフトウェア開発手法のベスト・プラクティスとして、一連のマイクロサービスに分割できるクラウド・ネイティブのアプリの開発が称賛、推奨されていることから、クラウド・ネイティブのコンピューティングを可能にする Kubernetes のようなソフトウェア・スタックがかなりよく使われるようになっています。 けれども、いわゆるクラウド・ネイティブ・アプリのロジスティクスについて語ることよりも、実際に構築してみることのほうが遥かに面白味があります。そこで、このコード・パターンでは親近感のある使用ケースのシナリオとして、デジタル・バンクを取り上げます。ここで紹介するのは、Monzo に着想を得た、「Innovate」という名前のデモ・バンクです。 注: Innovate はデモ・サイトなので、PII は収集しません。
説明
このコード・パターンの目的は、仮説に基づく、実際に使われるようなアプリケーションを一連のマイクロサービスに分割し、コアの機能を適切なマイクロサービスに委託して Web アプリのポータルをできる限り軽量に維持する方法を説明することです。 理想的には、このパターンは 12 Factor App に伴う特性のいくつかを表現し、マイクロサービスを適宜使用することの妥当性を説明するよう意図されています。このパターンに含まれるマイクロサービスはそれぞれ単独でデプロイすることや、独立してスケーリングすることができるようになっています。
このコード・パターンをひと通り完了すると、以下の方法がわかるようになります。
- アプリケーションを一連のマイクロサービスに分割する
- IBM Cloud 上で Kubernetes クラスターを作成して管理する。
- IBM Cloud 上に Kubernetes クラスターをデプロイする
- IBM Cloud Private にデプロイする
フロー
- ポータル: UI をロードして、ユーザー・セッションに対応します。その他すべてのマイクロサービスに、コアの機能を任せます。
- 認証: ユーザー・プロファイルの作成と、ログインおよびログアウトを行います。
- 口座: ユーザーの銀行口座の作成、管理、検索を行います。
- 取引: ユーザーの銀行口座での取引、取引の検索を行います。
- 請求書: 請求書の作成、支払、請求書の検索を行います。
- サポート: Watson Conversation と通信してチャット機能をサポートします。
手順
このパターンに取り組む準備はできましたか?アプリケーションを起動して使用する方法について詳しくは、README.md ファイルを参照してください。
コンテンツを共有する
-
- 12 Factor App Ideal practices for app development, paying particular attention to the dynamics of the organic growth of an app over time, the dynamics of collaboration between developers working on the appa??s codebase, and avoiding the cost of software erosion.
- Martin Fowler's microservices blog A comprehensive definition of the microservices-based architectural style.
- MonoLith First A more sensible approach to microservices, monolith-first.
- Node.js
- IBM Information Management
- IBM Cloud Private: The Kubernetes platform for your enterprise