Weaveworksは、コンテナとマイクロサービスのデプロイメント、監視、管理作業の簡略化を目的とする、Weave CloudSaaSプラットフォームの新機能をリリースした。その内容は、1) 履歴監査を備えたインシデント管理、インスタントクエリ、カスタマイズ可能な分析機能とダッシュボード、2) リリースの自動化とKubernetesと継続的デリバリパイプラインの時間指定ロールバック、3) リソース-コンテナマッピングを含む高度なKubernetesトラブルシュート、などだ。さらに、長期的なデータストレージとレポート機能を備えた有償サービスとして、Cloud Enterprise Editionティアが新たに設定されている。
Weave Cloudは、開発者による“マイクロサービスおよびコンテナベースのアプリケーションのデプロイ、管理、監視作業を容易に”することを目的としたマネージドクラウドサービスで、KubernetesやMesosphere、DCOS、AWS ECS、Docker Swarmなど、すべてのコンテナオーケストレーションプラットフォームをサポートする。
Weave Cloudが提供する機能は次のものだ。
- リリース管理: ポリシによるアプリケーションの自動デプロイメントを実現する。ビルドパイプラインを実装するように構成することで、最新機能を継続的に運用に供用することが可能になる。
- 視覚化: アプリケーションとマイクロサービスのコンテナ内での接続を監視し、理解することにより、複雑なトラブルシューティングや最適化を支援する。
- 管理: クラスタ内のコンテナとサービスを個別に管理し、複雑なアプリケーションやサービス、個々のコンテナの操作を容易にする。
- 監視: アプリケーションとクラスタ、さらにはアラートやダッシュボードまでを、あらゆる面から検査する。
- ネットワーク: 各コンテナをセキュアな仮想ネットワークで接続することにより、複雑なコンテナクラスタの接続とスケーリングを簡素化する。
Weave Cloud プラットフォームは、WeaveworksのオープンソースコンポーネントであるWeave Net、Weave Scopre、Weave Flux、Weave Cortexを組み合わせたものだ。
Weave Fluxは、コンテナイメージの継続的デリバリを可能にする。コンテナオーケストレータの現在の状況とコンテナイメージの最新バージョンとの照合が可能で、新たなバージョンが検出された時には、デプロイメントを自動実行する。さらに、各ステップでバージョン管理を自動的に更新することにより、デプロイの再現性、被監査性、可逆性を保証する。
Weave Netは、複数のホスト間でDockerコンテナを接続する仮想オーバーレイネットワークを構成し、コンテナの自動検出を可能にする。Weave Netの導入によって、複数のコンテナで構成されるマイクロサービス形式のアプリケーションの、1) 単一ホスト、2) 複数ホスト、あるいは 3) クラウドプロバイダとデータセンタ間での運用と相互通信が可能になる。Weave Netはマルチキャスト(一般的にパブリッククラウドサービスではサポートされていない)を含む、完全なレイヤ2ネットワークをエミュレートする。アプリケーションはこのネットワークを、あたかもすべてのコンテナが同一のネットワークスイッチに接続されているように、ポートマッピングの設定やアンバサダ/サイドカーコンテナ、あるいはリンクなどを設定する必要なく利用できる。
Weave Scope: Weave Scopeは、Kubernetesなどのコンテナオーケストレータ内で実行中のコンテナの、リアルタイムマップを自動的に生成する。これによって人間であるオペレータが、ネットワーク通信や関連メトリックの可視化、検査、試験を行なうことが可能になる。個々のアプリケーションコンテナに加えて、インフラストラクチャ全体のビューを提供することにより、コンテナ化された分散アプリケーションの潜在的問題の検出を容易にする。
Weave Cortexは、PrometheusとAPI互換のコンテナ監視ソフトウェアで、マルチテナントかつ水平スケールアウト可能なクラスタリングをネイティブにサポートする。Prometheusは、CNCF(Cloud Native Computing Foundation)がホストするオープンソースプロジェクトのひとつで、元は大規模なマイクロサービスデプロイメントの監視ニーズを満足する目的でSoundCloud用に開発されたものだ。Weave CortexはPrometeusと同じクエリ言語(PromQL)、データモデル、構成可能な警告を提供する。Prometheusのローカルストレージモデルでは、データの所在と永続性は単一のマシンに制限されているが、CortexではAmazon DynamoDBやS3などのクラウドネイティブなストレージを使用することにより、より大規模なデータの保持が可能になる。
ベルリンで開催されたCloudNativeCon 2017で、InfoQはWeaveworks CEOのAlexix Richardson氏と会話し、Weave Cloudを開発した動機について聞くことができた。
私たちはWeave Cloudを、アプリケーション開発者のオペレーションプラットフォームとして開発しました。クラウドあるいはコンテナのベンダに依存しないことを特に意識して設計されています。
Weave Cloudの目標は、アプリケーションを開発から運用に移行する上での障害を取り除くことです。開発者チームは、運用上の複雑なオーバーヘッドを必要とせず、マイクロサービスないしコンテナベースのアプリケーションを容易に監視、デプロイ、管理、接続が可能であるべきです。
さらに、ローカル環境で開発とテストを行なったアプリケーションのデプロイとスケーリングを行なう場合に、開発者が直面する問題についても聞いてみた。
開発の着手が容易なことは大切ですが、それと同じように、開発から実運用にアプリケーションを簡単に移行できることや、作業効率を継続的に確認できることも重要だと考えていました。ユーザと共同で作業する過程において、大規模なデプロイメントでは避けられない問題である、監視、対策、修正という‘Day 2’問題が解決困難なことが分かったからです。Weave Cloudは、コンテナベースのアプリケーションのデプロイメントと実行のライフサイクル全体にわたって、共通のインターフェースとエクスペリエンスを提供します。
新たに設けられたWeave Cloud Enterprise Edition(EE)ティアでは、Weave Cloud標準サービスに対して、データストレージ(13ヶ月保持される監視およびログデータ用ストレージ1TB)とレポート機能が追加されている。さらに詳細な情報は、Weave CloudのWebサイトで確認することができる。また、同社のオープンソースプロジェクトは、すべてWeaveworks GitHubアカウントにある。
この記事を評価
- 編集者評
- 編集長アクション