SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

イベントレポート

SpringOne Platform 2018 参加レポート~活用の場が広がるリアクティブ関連機能、急速に勢いを増すKubernetes関連技術への対応

Kubernetes、Istio、Knative

 昨年からSpringOneでも見かけるようになったKubernetes関連のセッションですが、PKSの発表から1年が経過した今年は大幅にその数を増しています。

 Kubernetes関連技術の中でも多くの開発者から高い関心が寄せられているIstioについては、「Tale of Two Frameworks: Spring Cloud and Istio」という興味深いセッションがありました。同セッションでは、マイクロサービスアーキテクチャーの実現手段としてSpring CloudとIstioの2つを対比し、どちらかを選定する際に考慮すべきポイントが語られています。

 Istioを採用する場合、アプリケーションを実装する上で特定のプログラミング言語やフレームワークに縛られることはないという大きなメリットがあります。一方で、すでに4年近い実績のあるSpring Cloudと比べて2018年7月にバージョン1.0がリリースされたばかりのIstioはまだ実績が少ないことや、すべての通信をサイドカーが仲介することに起因するパフォーマンス上のオーバーヘッドは考慮に入れる必要があるという点が注意点として挙げられていました。

 また、Istioを採用した場合であってもサーキットブレーカのフォールバックなど、アプリケーション固有の実装が必要な箇所が残るという点についても説明されていました。

 Kubernetes関連技術としてもう一つ目立って取り上げられていたのがKnativeです。KnativeはGoogle Cloud Next'18で発表されたばかりのプロダクトで、Kubernetes上でサーバーレスを実現するための各種機能を提供しています。

 Pivotalは昨年のSpringOneで、同じくKubernetes上でサーバーレスを実現する手段としてriffを発表していました。riffの設計の一部はPivotalの手でKnativeに持ち込まれ、その上でriffにはKnativeを前提とした再構築が施されたそうです。

図の中央部がKnative上に再構築されたriffを表している
図の中央部がKnative上に再構築されたriffを表している

 Mark Fisherさんのセッション「Introduction to Knative」ではKnative自体の紹介として、複数リビジョンのアプリケーションのルーティングを切り替えるデモや、gitリポジトリ上のソースコードからビルドテンプレートを用いてコンテナイメージを作成して起動するデモが披露されました。

 Scott AndrewさんとEric Bottardさんのセッション「riffing on Knative」でもriffを用いて同様にソースコードからコンテナイメージを作成するデモがありました。riffではKnativeのデモに登場していたyamlの記述を一切行うことなく、同様の操作がCLIで簡単に行われており、その手軽さが強調されていました。

SpinnakerはCloud Foundryサポートへ

 PivotalのJon SchneiderさんのMain Stageの講演ではマルチクラウド対応の継続的デプロイメントツールであるSpinnakerが紹介されました。

 近年ではアプリケーションの実行基盤としてクラウド環境が当然のように使われていますが、クラウドの変化は激しく、仮想マシン、コンテナ、サーバーレスとさまざまな形態が登場しています。そのため、アプリケーションのデプロイ方法を複数のクラウド環境に対応させていく必要性も増してきています。Spinnakerはこのようなマルチクラウドの世界に対応していくためのツールとして注目を集めています。

 SpinnakerはもともとNetflix社が開発していたツールで、現在ではGoogle社、Amazon社、Microsoft社、Pivotalなどが開発に参加しています。対応しているクラウド環境も、AWS、Azure、GCP、Google App Engine、OpenStack、Kubernetesと多岐にわたっており、今後リリース予定のバージョン1.10ではCloud Foundryサポートのプレビュー版も含まれるとのことです。

 Spinnakerは2つの重要なコンポーネントを持ちます。

 1つはInventoryで、複数のクラウド環境にデプロイしたアプリケーションを一覧として管理・閲覧するためのビューを提供します。

 もう一つはPipelinesで、アプリケーションをデプロイするための一連の動作をパイプラインとして定義することができます。

InventoryとPipelinesが一体となっていることがSpinnakerの特徴
InventoryとPipelinesが一体となっていることがSpinnakerの特徴

 また、Spinnakerはクラウド環境へのデプロイにおけるいくつかのベストプラクティスを一般化します。例えば、SpinnakerはBlue-Greenデプロイメント(SpinnakerではRed-Blackデプロイメントと呼ぶ)をサポートしており、クラウド環境ごとのやり方を考えなくてもSpinnakerの設定だけでBlue-Greenデプロイメントを簡単に実現することができます。その他にも、カナリア分析、ロールバック、ヘルスチェックなどがサポートされています。

 Jonさんは「Spinnaker and the Distributed Monorepo」というセッションでもSpinnakerの紹介をされており、こちらでは実際のデモ画面を見せながらSpinnakerのより詳細な説明をされていました。セッション中は参加者から多くの質問が飛び出し、注目度の高さがうかがえました。

次のページ
ユーザー企業のDX事例も多数

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

イベントレポート連載記事一覧

もっと読む

この記事の著者

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

【NTTソフトウェアイノベーションセンタ】岩塚卓弥、堅田淳也 【NTTデータ】岩本純佳、Jia Xiaozhou、鈴木友也 【NTTコムウェア】角田誠、山本佑也

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11180 2018/11/02 14:00

イベント

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

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

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

メールバックナンバー