かつてのマイクロソフトのカンファレンスでは考えられなかったほど、オープンソースソフトウェアへのコミットが目立ったde:code 2016。そのセッションの中から、「DevOps」や「Infrastructure as Code」を掲げてビジネスニーズの迅速な実現に取り組む、オープンソース畑の3社の講演を振り返る。
市場環境変化が速い現在、ビジネス展開の「スピード」が差別化の一大要件となっている。これに伴い、およそ全てのビジネスを支えるITシステム/サービスの開発・運用スタイルにも“変革”が求められている――
2016年5月24日、25日にわたって開催されたde:code 2016。マイクロソフトは、基調講演をはじめさまざまな機会を捉えて、オープンソースコミュニティとの距離を縮めつつあることを強調していた。事実、まるでオープンソースカンファレンスやデブサミを連想させるようなセッションも複数行われた。その中から、「DevOps」や「Infrastructure as Code」といったキーワードで、“ITをエンジンにした企業変革”を支援するツールを提供している3社の講演内容を紹介。6月30日に公開したリポート記事「もはやウオーターフォールだけでは戦えない理由」に続いて、今求められている“変革”のポイントを探る。
アプリケーションの開発と展開、運用を、手作業を介さず、それもさまざまなプラットフォームの差異を意識することなく効率的に実現するため、「Vagrant」「Terraform」「Packer」「Vault」といったツールをオープンソースとして提供しているHashiCorp。
同社のCEOであるミッチェル・ハシモト氏は、「Building Automated Tooling for Datacenters」と題するセッションの中で、「なぜこんなに多くのオープンソースのツールを提供しているのかというと、より迅速で、より安全なアプリケーション開発サイクルを実現するためだ」と述べる。つまり、ソフトウェアを書き、パッケージし、デプロイするといった一連のプロセスにおいて、スピードとセキュリティという2つの要素を両立させることがミッションだという。
ハシモト氏はHashiCorpが提供するツールの中から、「TerraForm」を中心に紹介した。これはクラウド上のインフラ構成をコードとして定義し、柔軟にオーケストレーションできるようにするツールだ。複数のクラウド基盤をサポートしており、「Datacenter as a Code」を実現する。
「TerraFormはネットワークやストレージ、ロードバランサー、仮想マシンをはじめとする複数のリソースを、依存関係を保持したまま同時進行で構築したり、変更したりすることができる。時には、自分ではとても思いつかないようなゼロダウンタイムでの効果的な変更方法も教えてくれる」
このTerraFormの機能を企業での開発用に強化したのが、「TerraForm Enterprise」だ。複数の開発者によるコラボレーションを意識し、定義内容のレビューや検証、承認といったプロセスを組み入れているという。
「TerraForm Enterpriseの特徴の1つは、100%のInfrastructure as Codeを実現すること。そして、Microsoft AzureやAWS、CloudFlareといった複数のクラウドプラットフォームをまたいで1つのワークフローを実現できることだ。さらに、リソース間の依存関係を可視化することもでき、単一障害点(SPOF)がどこにあるかを一目で把握できる」
中でも、インフラの世界では難しかった「ロールバック」を、ソースコードと同じように実現できることがポイントだという。「TerraForm EnterpriseではGitHubでのコミットと同じように、いつ、何が、誰によってトリガーされたのかを把握できる」(同氏)。インフラを新たに構築したり、変更を加えたりする際には、チームメンバーが「その内容は適切で安全か」を検証し、承認後にマージされる――つまり、インフラが実際に変更される仕組みとしている。
「ただ、どんなによくできた計画でも期待を満たさないことはある。そうした場合に備えたロールバックは必須だ」
そこでTerraForm Enterpriseでは、何か不具合が生じた場合にはSlackなどを通じて通知し、履歴を確認して、直近の変更内容や差分を確認した上で、そのコミットをロールバックできる。まさにアプリケーションと同じ感覚だ。「ロールバックも含めて、インフラをまさにアプリケーションのように扱うことができる。このアプローチは、DevOpsに取り組んでいるエンジニアにとって分かりやすいものだろう」とハシモト氏は述べる。
セッション動画:「Building Automated Tooling for Datacenters」(Channel 9)
Mesosphereのアーロン・ウィリアムズ氏は、「How to run containers in production, at scale!」と題するセッションで、あらためてDevOpsの意義を説明した。同氏は「あらゆる企業はソフトウェア企業になる」という、マイクロソフトCEOのサティア・ナデラ氏の言葉を引用し、「ITはもはやコストセンターではなく、企業の競争力を高める武器。UberやNetflixといった企業は優れたソフトウェアを作り出すことによって業界を一変させた。つまりDevOpsは業界の変革をもたらすものだ」と力説した。
同社が提供するDC/OS(Data Center Operating System)は、その名が示す通り「データセンター向けのOS」だ。データセンターは複数のサーバをはじめ、多様なリソースで構成されているが、DC/OSはそれを丸ごと1台のコンピュータのように扱えるようにする。
DC/OSは30種類以上のオープンソースソフトウェアを活用したもので、Mesosphereが独自に開発した部分も含め、2016年4月にオープンソース化された。セッションでは同社のStathy Touloumis氏も登場し、キーノートの際と同様、DC/OSを用いてMicrosoft Azure上にクラスタを構築し、KafkaやCassandra、Xamarinといったアプリケーションを導入してTwitterクローンの「Tweeter」を動作させるというデモンストレーションを交えながら、その機能を紹介した。
「個別にノードを管理するのではなく、1000ノード単位をまとめて1つのリソースプールとし、その上であらゆるワークロードを動かせるようにすることがDC/OSの目的だ。これによって、モダンな分散型アプリケーションの展開も、より迅速に行えるようになるだろう。つまり、(各ノードの管理など、こまごまとした作業にとらわれない環境を作ることで)競争力を高めるための武器作りに専念し、DevOpsへの変革を推進できる」
現にユーザー企業の1社であるオートデスクでは、既存の多数のワークロードを最適化して1つのクラスタにまとめたことによって、AWSのインスタンスを66%削減、コストも57%改善できたという。エンジニア視点での効果としては、「これまでワークロードの運用に18人の技術者が必要だったものが、たった1人のDevOpsエンジニアで運用できるようになったことがポイントだ」。
「LinuxがさまざまなITシステムの基盤となっているのと同じように、DC/OSはDockerなど新しいテクノロジをうまく活用し、どんなモダンなフレームワークでも稼働させるための基盤となっていくものだ」
今後もさまざまなオープンソースソフトウェアパッケージをどんどん取り込んでいく予定だという。ウィリアムズ氏は「日本でもコミュニティの立ち上げやコンテンツ提供などを進めていく。ぜひ参加してほしい」と来場者に呼び掛けた。
セッション動画:「How to run containers in production, at scale!」(Channel 9)
Copyright © ITmedia, Inc. All Rights Reserved.