Spring Boot マイクロサービスを Kubernetes 上にデプロイする  

Java Spring Boot マイクロサービスを作成して Kubernetes クラスターにデプロイする

| By Anthony Amanse, John Zaccone, Animesh Singh

Description

Spring Boot は、本番対応の Spring アプリケーションの迅速な構築を可能にする、こだわりを持ったフレームワークです。このコード・パターンでは、多言語アプリケーション内で Spring Boot マイクロサービスを作成してデプロイしてから、そのアプリを Kubernetes クラスターにデプロイする方法を説明します。

Overview

Java コミュニティーは、Java EE などのテクノロジーをマイクロサービス・アーキテクチャー内で使用する革新的な方法を常に探し求めています。Spring フレームワークは Java エコシステム内で定着した存在となっていますが、現在、Spring Boot が大きな注目を集めています。それは、Spring Boot では飛躍的に単純化された方法で Spring アプリケーションを作成できるためです。

Spring Boot は Spring アプリケーションの構築をこだわりのある見解で捉えています。Spring Boot を使用すると、Java の -jar コマンドや従来型の WAR デプロイメントを使って起動できる、スタンドアロンの Java アプリケーションを作成できます。Spring アプリケーションは既存のアプリケーション・サーバー上に WAR ファイルとしてデプロイすることも、組み込みアプリケーション・サーバーと併せて 1 つの「fat」JAR ファイルにまとめることもできます。いずれの方法でも、Docker コンテナーとうまく連動します。あとは、Spring Cloud のようなネイティブ Spring プラットフォームを頼りに、サービス・ディスカバリー、登録、ロード・バランシングなどのタスクを実行することができます。

けれども、多言語アプリケーションのコンテキストの場合はどうなるでしょうか?さまざまな言語のマイクロサービスからなるシステムを管理するには、汎用のマイクロサービスとコンテナー・オーケストレーション・プラットフォームが必要になります。そこで力を発揮するのが Kubernetes です。このコード・パターンでは、「Office Space」という名前のアプリを構築します。そうです。映画「Office Space」の登場人物 Michael Bolton のアイデアから着想を得たアプリです。このコード・パターンを完了すると、Spring Boot マイクロサービスを含む多言語マイクロサービス・アプリケーションを Kubernetes クラスターにデプロイする方法がわかるようになります。

Flow

  1. Python で作成された Transaction Generator サービスがトランザクションをシミュレーションし、それらのトランザクションを Compute Interest マイクロサービスにプッシュします。
  2. Compute Interest マイクロサービスが利益を計算し、そのほんのわずかな金額を MySQL データベースに移して保管します。このデータベースは、同じデプロイメント内のコンテナー内部で実行することも、IBM Cloud のようなパブリック・クラウド上で実行することもできます。
  3. Compute Interest マイクロサービスが Notification サービスを呼び出して、該当する金額がユーザーのアカウントに預金されたことをユーザーに通知します。
  4. Notification サービスは OpenWhisk アクションを使用して、ユーザーに e-メール・メッセージを送信します。メッセージを Slack に送信して OpenWhisk アクションを呼び出すこともできます。
  5. さらに、メッセージを Slack に送信する OpenWhisk アクションを呼び出すこともできます。
  6. ユーザーが Node.js Web インターフェースにアクセスして、口座残高を取得します。

Related Blogs

IBM Developer へようこそ

新しい IBM Developer へようこそ! 私たちはこの新しいプロジェクトに大いに張り切っていますが、まずは皆さんについて、つまり開発者についてお話ししたいと思います。

続けて読む IBM Developer へようこそ

Call for Code Challenge 2018(9/28応募締切!)- まずは参加登録して、自然災害に役立つ IBM Cloud のサービスに触れてみよう

みなさまこんにちは! 年々、テレビのニュースや新聞を見て、異常気象による集中豪雨や猛暑が各地で発生していると感じている方は多いのではないでしょうか。自然災害による甚大な被害をもたらしているのは日本だけではありません。「自然災害」は、今、世界が立ち向かうべき最も大きな試練となっています。 IBMは、2018年5月24日、パートナー団体と共に「Call for Code」をいう取り組みを発表し、世界中のデベロッパーが最新の技術を駆使して、コードで世界にポジティブな変化を与える支援をはじめました。 2018年の Call for Code チャレンジでは、「自然災害」をテーマに自然災害を打ち破り、地域社会や自然災害対策を強化を目指し、IBM Cloud サービスを活用したソリューションを構築するコンペティッションを開催します。18歳以上の個人または最大5名までのチームで参加することができます。優勝チームには USD200,000 (2,200万円相当) が贈られます。 これを機に皆さんにも「Call for Code」にご参加いただき、クラウド、データ、AI、ブロックチェーンを活用するためのIBMのテクノロジーにも触れていただければと思います。詳しくはサイトをご覧ください。 Call for Code(日本語サイト) Call for Code への参加するまでの手引き(日本語解説資料) IBM Code Patterns : Watson を活用した AI やクラウドなどのアプリ開発に役立つサンプルコードを提供

続けて読む Call for Code Challenge 2018(9/28応募締切!)- まずは参加登録して、自然災害に役立つ IBM Cloud のサービスに触れてみよう

Related Links