Pivotalは今日,Pivotal Cloud Foundry(PCF)のアップデートを発表した。PCFはクラウドネイティブなアプリケーションの構築,デプロイ,実行で人気の高いオープンソースプラットフォームの商用バージョンである。今回の1.6リリースが開発者に提供するのは,Spring CloudのNetflix OSSサービスへのネイティブアクセス,.NETアプリケーションのサポート,Dockerイメージのベータ版サポート,ソース管理および継続的インテグレーションにおけるALMツールとのインテグレーションなどだ。Pivotal Cloud Platformのゼネラルマネージャで副社長のJames Watters氏に詳細を聞いた。
オープンソースのCloud Foundry – これまで“プラットフォーム・アズ・ア・サービス(PaaS)”に分類されていたが,現在は“クラウドネイティブプラットフォーム”と呼ばれている – には,自己修復機能を備えたアプリケーションランタイム,オープンソースのプログラム言語とフレームワークのサポート,デプロイツール,集中型ログ,状態監視,アプリケーションサービスフレームワークなどが含まれている。Pivotalは2013年に,Cloud Foundtryとして最初の商用バージョンをまとめ上げた。 Webベースの管理ダッシュボード,一般的なインフラストラクチャを対象としたインストレーションバンドル,アプリケーションサービス・マーケットプレイス,プロフェッショナルサポートといった”エンタープライズ”機能の提供が特徴だ。Watters氏はInfoQに,最初のリリースはvSphere環境のみで動作していたこと,その後の1.xリリースでマルチクラウドサポートを重視したことなどを話してくれた。現在はvSphereの他,OpenStack, AWS, CneturyLinkといったクラウド上でネイティブに動作する。本日リリースされたPCG 1.6で,これにMicrosoft Azureが加わることになる。
Watters氏によると,PCFの新エディションでは“12 Factor”アプリ,あるいはクラウドネイティブなアプリを開発する教育機関を重視しているという。PivotalはJava,特にSpringに多大な投資をしている。レジリエントなネイティブアプリ開発の申し子とも言えるのがNetflixだ。同社は多数のオープンソースNetflixサービスのサポートをSpring Cloudというプロジェクトに加える上で,Pivotalとパートナシップを結んでいる。Spring Bootに加えて今回,Spring Cloud Serviceをサポートすることにより,PCFは,Watters氏の言う“独自の方法によるクラウドネイティブなアプリの実行と開発”を持つことになる。PCFでは,Spring Cloudを使用した以下のサービスが提供される。
- Config Server。ベースとなったCloud Foundryでは,環境変数を使用した簡単な共有設定が提供されていた。Config Serverより高機能な,Gitを使用したサービスである。開発/テスト/実運用環境を通じて動作し,Springベースのアプリをクリーンに統合する。
- Service Registry。NetflixのEurekaプロジェクトがベースのサービスは,PCF内で動作するSpringアプリにサービスディスカバリを提供する。依存対象サービス参照のハードコーディングに代わる,実行時のサービス登録と配置の機構として利用可能だ。
- Circuit Breaker Dashboard。レジリエントな分散システムはカスケード障害を防止する。PCFでは,NetflixのOSSでサーキットブレーカパターンを実装したSpring CloudサービスのHystrixを使用して,障害対応や,原因と思われるサービスが正常復帰するまでのフォールバック動作を実現する。
さらにWindowsベースの.NETアプリケーションも,PCFのサポート対象として正式に追加された。Pivotalのプレスリリースによると,
最新リリースに同梱された次世代ランタイムによって,.NETアプリケーションをPivotal Cloud Foundryで実行できるようになりました。今回.NETにサポート対象が拡張されたことにより,企業では,LinuxベースとWindowsベースのアプリケーションが混在する異機種環境サポートが実現します。.NETアプリケーションは,Windows Server 2012 R2のHyper-V仮想マシン上でネイティブに動作します。Pivotal Cloud Foundryではこれらのアプリケーションを,従来と同じコマンドで,既存アプリケーションと同じように,一貫性を持ったDay 2オペレーションのメリットを活用して管理することができます。
Watters氏の説明によると,ユーザの観点からは,.NETアプリはPCFの主要なオブジェクトのひとつになる。ネイティブサービスディスカバリ,状態監視,スケーリング,デプロイメントツールなどは,すべての対象言語とフレームワークに対して,まったく同じように機能する。ただし,Spring Cloudのサービスが.NETアプリでは動作しないため,Windows Server 2012の動作するサーバへのデプロイにリリース管理ツールのBOSHを使用することはできない。将来的にはこのギャップを克服するつもりだと,Watters氏は約束してくれた。
プラットフォームやマイクロサービスをめぐる最近の議論の中で,Dockerは重要な位置を占めている。Pivotalは今回,PCF環境でのDockerコンテナ実行の(ベータ)サポートを追加することで,この議論に加わることになる。これがどのように機能するものか,Pivotalは次のように説明している。
Dockerアプリケーションでスケジューリングや状態監視,ロードバランシング,エンタープライズアイデンティティ,ロギング,マルチクラウドサポートなど,Pivotal Cloud Foundryプラットフォームの機能を組込みで利用できるようになりました。現在ベータ版で提供中の新しいElastic RuntimeによるDockerイメージのサポートが実現することで,Pivotal Cloud Foundryは,現在のマーケットで最も先進的なコンテナ管理システムになります。Docker Hubのようなセキュアな公開レジストリにあるDockerイメージをベースとして,アプリケーションをPivotal Cloud Foundryにデプロイすることも可能です。
つまりPCFにプッシュするアプリに,Dockerイメージをプルしてプラットフォームにデプロイするレジストリへのリンクを含めることができるのだ,とWatters氏はInfoQに説明してくれた。さらに氏は,ここで言う“Dockerサポート”が,開発者が任意に集めたDockerイメージやステートフルなどを起動して,自由自在にオーケストレーションと管理を行うことができるという意味ではない,ということも明言している。例えばオフィシャルなCassandra Dockerイメージをデプロイして,開発者のアプリがバインド可能なサービスとしてPCFに公開するような操作はできない。Pivotalがイメージしているのは,開発者が自身の継続的インテグレーションプロセスからDockerイメージを構築する,という操作であり,PCFのDockerシナリオは,この限定的なシナリオを満たすためのものである。コードをデプロイすることと,汎用的なDockerオーケストレーションエンジンになることでは,提供するメカニズムがまったく違うのだ。
アプリケーションのライフサイクル管理を行うための組込みツールも追加された。具体的には,ターンキーで継続的インテグレーションないしデプロイメント機能を導入可能にすべく,定評のあるベンダと提携している。
Pivotal Trackerは一般的なソフトウェアプロジェクト管理ツールをベースとしているので,GitLabソースコードリポジトリやCloudBees Jenkins CI,バイナリアーティファクト管理のJFrog Artifactoryといったプラットフォーム管理ツールとの統合が可能です。現代的なアプリケーションデリバリツールチェーンのビルディングブロックを提供することによって,Pivotal Cloud Foundryは,マイクロサービスの開発とデプロイ,そしてCloud Nativeアプリケーションといった面から,その信頼性とスピードでソフトウェア開発組織を支援します。
GitHubは多くの重要なオープンソースプロジェクトのホームではあるが,それ自体はオープンソースではない。必要な機能を入手する方法としてのプルリクエストを受け入れるような,強力なOSSソースコントロールサービスを求めているWatters氏にとって,Pivotalが今回GitLabと新たに提携したことは,非常にエキサイティングな出来事だった。
Pivotalにとって,最も強力な競合相手と考えられるのは誰だろう?Watters氏によると,その栄誉に輝くのはAWSだ。AWSだけで十分であると考えているクラウドユーザは多い。Amazonがなければクラウドネイティブなアプリという概念自体もなかっただろう,とWatters氏は言う。しかし“ユーザが成功するためには,Amazon以上のものが必要なのです。” Pivotalにとって最高のユーザのある部分は,当初は自分たち自身でプラットフォーム開発を考えていたが,その後で“自分たちの組織にとって何が正しいのか”を自問した人たちだ,とWatters氏は考えている。