SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

SpringOne Platform 2019 参加レポート~VMwareとPivotalの今後の関係、開発者が直面するクラウドネイティブの複雑さと、それを扱うための考え方

  • X ポスト
  • このエントリーをはてなブックマークに追加

Pivotal PlatformとPAS on Kubernetes

 これまでPivotalはPivotal Application Service(PAS)とPivotal Container Service(PKS)を合わせてPivotal Cloud Foundry(PCF)の名前でアプリケーションプラットフォームを展開してきましたが、この度PCFは「Pivotal Platform」という名前でリブランディングされました。

Pivotal Application Service(PAS)の新バージョンである2.7が発表された
Pivotal Application Service(PAS)の新バージョンである2.7が発表された

 コンテナオーケストレーション技術としては、PASはDiegoを、PKSはKubernetesをそれぞれ採用しています。両者のうち、PASではワン・コマンドでアプリケーションのデプロイなどを簡単に行える「cfコマンド」が利用可能ですが、PKSでは利用できません。ユーザのKubernetesに対するニーズが高まっている現状を受け、Kubernetes上でも同様の開発者体験(いわゆる「cf experience」)を可能にする、「cfコマンドが使えるKubernetes」であるPAS on Kubernetesが開発されました。

 VMwareのビジョンの中でも語られた通りKubernetesの利用は広がっており、Pivotalとしてもコンテナ技術としてKubernetesへ注力していく姿勢が強調されていました。

PAS on Kubernetes
PAS on Kubernetes

Azure Spring Cloud

 Microsoft CorporationとPivotalは合同で、Spring Bootで作成したアプリケーションをAzure 上で簡単にデプロイおよび操作できるサービス、Azure Spring Cloudを発表しました。Azure Spring CloudはSpring Cloudのコンポーネントをフルマネージドサービスとして提供します。実行環境はAzure Kubernetes Serviceであり、Pivotal製のKubernetesのリソースコントローラーであるkpackを採用しています。Main Stageではデモも行われ、Azure Cliによるアプリケーションのブルー・グリーンデプロイの様子や、Azure Monitorを使った分散アプリの監視のしやすさを説明してくれました。現在はプライベートプレビューを実施中であり、今後の発展に期待の膨らむサービスです。

クラウドネイティブにおける4つの重要な考え方

 2日目のキーノートでは、PivotalのMark FisherさんとCornelia Davisさんから開発者が直面するクラウドネイティブソフトウェアの複雑さと、それを扱うための考え方について紹介がなされました。

 クラウドネイティブソフトウェアの複雑さは高度に分散され、かつ継続的な変更が行われるという性質からもたらされており、そうしたソフトウェアの開発ではImmutable、Reactive、Reconciliation、Composableの4つの考え方が重要になると語られました。

クラウドネイティブの4原則
クラウドネイティブの4原則

 これらの考え方についての紹介をまとめると以下のようになります。

  • Immutable:副作用を行う計算は存在せず、すべての変数は書き換えられることがないという考え方
  • Reactive:リクエスト/レスポンスという関係ではなく、他のコンポーネントからやってきたイベントへの反応の連鎖でシステムを構築する方法
  • Reconciliation:ソフトウェアについて望ましい状態と現状とをそれぞれ「何であるか」という観点で比べ、チェックするという考え方
  • Composable:小規模の関数を合成することで全体のシステムを構築するという考え方

 Immutableのもたらす恩恵としては、repeatability(繰り返し同じ実行を再現することができる性質)が挙げられていました。例えばkpackはすでにビルドされたコンポーネントをアップデート(変更)するわけではなく、単純にコンポーネントのビルドだけをするため、任意のバージョンにソフトウェアを戻しても繰り返しビルドを行うことができます。Reactiveの紹介では具体例として、kpackがbuildpackのアップデートやコードコミットのイベントに反応してビルドを行う仕組みや、reactor・fluxモデルを用いた購買履歴に広告を関連付けるユースケースが示されました。Reconciliationについては、望ましい状態を宣言的に記述するスタイルが重要であり、特にAPIは宣言的なスタイルで用いられるべきであることが強調されました。最後に、Composableの達成はソフトウェアがImmutable、Reactive、Reconciliationに従っているかに左右されており、それぞれの考え方が関連し合っていることを再度強調していました。

次のページ
Spring Framework 5.2/Spring Boot 2.2

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

SpringOne Platform 2019参加チーム(SpringOne Platform 2019サンカチーム)

【NTTソフトウェアイノベーションセンタ】岩塚 卓弥、栗原 伸豪、山口 大輔 【NTTデータ】久保田 瞬、齊加 匠、朱 力、宮舘 康夫 【NTTコムウェア】角田 誠、金子 輝良

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11805 2019/12/02 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング