使い勝手が向上
Netflixの継続的デプロイツール「Spinnaker」がKubernetesとの連携を強化
NetflixとGoogleが主導する継続的デプロイツール「Spinnaker」とKubernetesの連携機能が刷新され、企業にとっての魅力が増している。
NetflixとGoogleが主導する継続的デプロイツール「Spinnaker」のKubernetesとの連携機能が改善された。企業のDevOpsチームにとって、より魅力的になったといえるだろう。Spinnakerを利用することで、DevOpsチームは継続的デプロイを高速化できる。
Spinnakerではパイプライン(実行したいタスクに関する一連の処理)を用いて継続的デプロイを実行する。このパイプラインは非常に細かくカスタマイズできる。だがNetflixによる初期設定では、DevOpsチームがアプリケーションの継続的デプロイの導入で得られる優位性がほとんどない。Spinnakerではなく、別のオープンソースのパイプラインツール「Jenkins」を採用しているユーザーもいる。そちらの方が使いやすいためだという。これまでSpinnakerとKubernetesのコンテナクラスタの連携について改善が求められていたが、その機能が2018年10月中旬に実装された。
Spinnakerの新しい機能
SpinnakerのKubernetesプラグイン(以下「プロバイダー」)のバージョン2は次の特徴を備える。以前使われていたJavaライブラリではなく、Kubernetesネイティブのコマンドラインインタフェース(CLI)「kubectl」と統合された。カスタムリソースを定義できるため、Kubernetesと併せて使うことでサードパーティー製のインフラコンポーネントを管理しやすい。
つまりKubernetesプロバイダー バージョン2では、任意のコンテナイメージのKubernetesマニフェストを自動で生成する。そして、Spinnakerパイプラインの一環として、ステージング環境用、テスト環境用、運用環境用といった具合に、複数バージョンのマニフェストが生成される。IT運用管理者はKubernetesプロバイダー バージョン2を使用して、セキュリティを目的としたKubernetesクラスタへのアクセス制限を実施できる。
多国籍メディア企業のSchibsted Media GroupでDevOpsエンジニアスタッフを務めるガード・リーメスタ氏は次のように語る。同社はノルウェーに拠点を置き、Kubernetesプロバイダー バージョン2を早くから導入している。「もはやKubernetesプロバイダーは恐ろしいものではなく、Kubernetesのコードと非常に近くなった。つまりSpinnakerによって、ローカル環境で使用しているものと同じバージョンのKubernetesをクラウドでも使用できるようになった」
継続的デプロイの実現を後押しするSpinnakerパイプライン
NetflixがSpinnakerのパイプラインツールを社内用に作成したのは2014年のことだ。Spinnakerがオープンソースコミュニティーにリリースされた2015年に、Googleも同プロジェクトに参加した。2017年6月のSpinnaker バージョン1.0のリリース以降、パイプラインを使ったアプローチはクラウド化があまり進んでいない企業の注目を集めるようになった。
「2013年からに7回にわたって継続的デプロイに挑戦してきたが、全て失敗した」とモバイルデバイスのセキュリティ会社Lookoutに所属するブランドン・リーチ氏は言う。同氏は同社の継続的デプロイ部門のシニアエンジニアリングマネジャーを務める。同社では4つのJenkinsパイプラインを導入して安定的に運用していたが、より優れたアプローチを探していた。そして2018年にSpinnakerを採用した。
「Spinnakerではリリースの観点からインフラを調整できる。どのような方法でリリースするかを検討すれば、それに合わせたインフラが提供される。インフラ定義ソフトウェアの『Terraform』を使用したブルーグリーンデプロイメント(2つの環境を切り替えてバージョンアップを実施する手法)よりもはるかに円滑な方法だ」とリーチ氏は語る。
オンライン印刷サービス会社のVistaprint USAでは、継続的インテグレーションツール「Bamboo」やJenkinsをベースにした継続的デプロイシステムを、Spinnakerのパイプラインに置き換えた。同社は小企業向けにマーケティング資料のカスタム印刷を提供している。Vistaprint USAではパイプラインの刷新を計画していた。プロビジョニング中のBambooビルドをスピンアップするのに2日以上掛かるようになり、テストが完了するまでリリース作業を中断しなければいけなくなったためだ。同社は社内で作成したデプロイ用コードと組み合わせてSpinnakerとJenkinsをテストおよび比較した。その結果、使いやすさの点でSpinnakerに軍配が上がった。
「基本的なSpinnakerパイプラインは1日で稼働させられた。さらに1日半で実際にデプロイすることができた」と述べるアンドリュー・ドブソン氏は、Vistaprint USAでソフトウェアエンジニアを務める。
Spinnakerパイプラインでは核心部分のインフラ構成タスクが抽象化されるため、ユーザーは具体的な処理を意識しなくてもよいが、Spinnakerのコードに手を加えることも可能だ。Lookoutのリーチ氏はSpinnakerのインフラプロバイダーを独自に作成した。Kubernetesではなく、Amazon Web Servicesのコンテナ管理サービス「Amazon Elastic Container Service」(Amazon ECS)でコンテナオーケストレーション環境を扱うためだ。一方でSchibsted Media Groupのリーメスタ氏は、Spinnakerパイプラインツールと同社独自のデプロイデーモンを連携させている。
Spinnakerパイプラインユーザーのウィッシュリスト
Spinnakerパイプラインは、企業が継続的デプロイの初期段階を乗り切るのに役立つ。だがユーザーが洗練されていくにつれ、より多くの機能が期待されるようになる。例えば継続的インテグレーション段階前のSpinnakerパイプラインにおける成果物の自動評価、プロモート、ロールバックなどだ。ユーザーによると、Spinnakerパイプラインでステートフルアプリケーションのデプロイを実行するためのAPIが改善され、CLIの安定化や簡素化が遂行される可能性があるという。Netflix内でもまだα版の段階である宣言型のパイプラインツールが利用可能になることを切望するユーザーもいる。
Vistaprint USAのドブソン氏は次のように述べる。「Spinnakerコミュニティーでは、方法を気にせずにデプロイできるようにするための取り組みが進められている。つまり新しい技術が用いられても、内部の仕組みを更新できるようにしている」
Spinnakerパイプラインのロードマップには、成果物のプロモート機能、α版のCLIを使いやすくするための強化が含まれている。さらにユーザーの要望に基づいたステートフルなアプリケーション導入APIの更新、オープンソースとしての管理プロジェクトの運営委員会なども含まれている。
「Netflixの全てのステートフルサービスは、アプリケーションのデリバリーに組み込めるようSpinnakerのAPIを使用している。当社で利用している分散データベース『Apache Cassandra』やメッセージサービス『Apache Kafka』でも、オーケストレーション済みのデプロイを実行したことがある。いずれはこうした機能の一部をSpinnakerに組み込むことになるだろう」とNetflixでデリバリーエンジニアリング部門のディレクターを務めるグローバー氏は語った。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品レビュー
「電子帳簿保存法対応」実践術:タイムスタンプ付与などの要件の手軽な実現方法 -
事例
「大企業のデジタル化」成功事例集【コクヨ、九州電力、ヨネックスなど21社】 -
製品資料
“顧客管理の課題”を簡単に解決する方法とは? -
製品資料
契約管理の“あるある課題”をノーコード開発で解決するためのポイント -
製品資料
揺らぐ境界防御 いま企業が特に警戒すべき「3つのセキュリティ課題」とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
2
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
3
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
4
継続利用は4割どまり M365 Copilotが「効く業務」と期待外れの境界
-
5
画面をティッシュで拭くのはNG Dellが推奨するPCの正しいお手入れ方法
-
6
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
7
VDI運用の“生きたノウハウ”を共有 歴史あるユーザー会の魅力とは?
-
8
メインフレームは死なず AI活用で20年来の高収益をたたき出す基幹システムの底力
-
9
VMware離れを食い止めるか? 今「VCF 9.1」が再評価される理由
-
10
「GitHub Copilot」3000人に配布も基本機能しか使われない 保険大手が得た教訓
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
4
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
8
AIエージェントで成果は出る? 調査結果に見る費用対効果の実態
-
9
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
10
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー