こんにちは、サイオステクノロジー技術部 武井です。私は、マイクロソフトが実施しているテクニカルカンファレンス「Ignite」に参加するためにフロリダのオーランドということろに来ております。Igniteが実施している期間中に、「ほぼ」リアルタイムレポートをお届けしたいと思います。今回は「Java on Azure: Building Spring Boot microservices」について記載します。
本セッションは以下のような方向けです。
Azure Spring Cloudの基本的なアーキテクチャと使い方のわかりやすい解説を聞きたい!!
では、セッションの内容をご説明いたします。
アーキテクチャ
Azure Spring CloudはSpring Bootでマイクロサービスを開発するためのマネージドサービスです。サービスの概要は以下のとおりです。まだプライベートプレビューされたばかりで情報も少ないです。App Componentsはブラウザなどのユーザーのデバイス、Spring Cloud ComponentsはマイクロサービスへのリクエストのエンドポイントとなるAPI Gateway、Spring Cloud Appsは、マイクロサービス本体、Spring Cloud ComonentsはService Discoveryなどのコンポーネントが配置されています。
内部の構成は以下のとおりです。Azure Spring CloudはAzureの様々なリソースから構成されていることがわかります。マイクロサービスが配置されるのはAKS(Azure Kubernetes Services)のようです。
ただし、これはマネージドサービスです。開発者はこの内部のアーキテクチャについて詳しいことを知っている必要はありません。以下のスライドにもAzureとPivotalに任せとけよって書いてあります。
デモ
さて、お待ちかねのデモです。結論から行ってしまうと本当に簡単でした。Azure CLIでAzure Spring Cloudのリソースを作成して、Spring Bootのお作法に従いアプリを作成して、Azure CLIでデプロイするだけです。なんて素敵なんでしょう。
Azure CLIでAzure Spring Cloudのリソースを作成します。Spring Cloudのサービスとアプリケーションを作成します。そのときにCPU数やメモリ、インスタンス数を指定します。
設定情報を格納しているサーバーを指定します。Spring Cloudではapplication.propertiesに設定を格納ではなく、Config Serverと呼ばれるところで一括管理するようです。
最後にアプリケーションをデプロイします。もちろんjarファイルはそれぞれのアプリケーションをビルドした成果物なので、アプリケーションは作り込み必要はあります。
大まかな作業としてはこれだけで、Spring Bootでマイクロサービスを作成できます。
まとめ
今までは、マイクロサービスを作成するためには、サーバーやOS、APIゲートウェイを用意したり、サービス間通信のためのメッセージングサービスを用意したり、、、。でもそんなめんどくさいことはぜーんぶAzureがやってくれます。開発者はよりコーディングに専念できるわけです。
現場からは以上でした。