ここから本文です

Hashicorp、Chef、Mesosphereが語る「ビジネス差別化」の鉄則

@IT 7月8日(金)6時10分配信

 市場環境変化が速い現在、ビジネス展開の「スピード」が差別化の一大要件となっている。これに伴い、およそ全てのビジネスを支えるITシステム/サービスの開発・運用スタイルにも“変革”が求められている――

【その他の画像】DC/OSとは?

 2016年5月24日、25日にわたって開催されたde:code 2016。マイクロソフトは、基調講演をはじめさまざまな機会を捉えて、オープンソースコミュニティとの距離を縮めつつあることを強調していた。事実、まるでオープンソースカンファレンスやデブサミを連想させるようなセッションも複数行われた。その中から、「DevOps」や「Infrastructure as Code」といったキーワードで、“ITをエンジンにした企業変革”を支援するツールを提供している3社の講演内容を紹介しよう。

●インフラもアプリと同じ感覚でロールバックを実現――Hashicorp

 アプリケーションの開発と展開、運用を、手作業を介さず、それもさまざまなプラットフォームの差異を意識することなく効率的に実現するため、「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に取り組んでいるエンジニアにとって分かりやすいものだろう」とハシモト氏は述べる。

●手作業の摩擦を減らし、「武器」作りに専念できる環境を整えるDC/OS――Mesosphere

 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など新しいテクノロジをうまく活用し、どんなモダンなフレームワークでも稼働させるための基盤となっていくものだ」

 今後もさまざまなオープンソースソフトウェアパッケージをどんどん取り込んでいく予定だという。ウィリアムズ氏は「日本でもコミュニティの立ち上げやコンテンツ提供などを進めていく。ぜひ参加してほしい」と来場者に呼び掛けた。

●「ソフトウェアもコンテナもインフラも、全てはコードである」

 「DevOpsのトレンドとともに誕生し、歩んできた」と自らを表現するChef。同社のパートナーエンジニアリング担当バイスプレジデント、ジェームズ・ケーシー氏は、「Powering High Velocity Development for your Infrastructure」というセッションの中で、「アジャイルや自動化のためのツールを提供し、この破壊的な動きを加速していく」と述べた。

 Chefはサーバをはじめとするインフラやアプリケーションの構成管理を自動化するツールだ。しかも各種設定をコード化することで、柔軟に運用できるようになる。ケーシー氏は「Chefはインフラをアプリと全く同じように扱えるようにすることを目指したツール」と説明する。

 ただ、ツールだけがあってもDevOpsが実現できるわけではない。Chefは確かに、手作業ありきの高コストなプロセスを、「あっという間に効率化できるツール」だ。だがDevOpsには「自動化ツールだけではなく、クラウドというダイナミックなインフラ、それに「ミスが起きたときには一体となって原因を突き止め、修復していくという企業文化の3つの要素が必要だ」とケーシー氏は語る。

 「問題が起きたら、みんなで何が間違っているのかを理解し、改善する文化が醸成されれば、動きはさらに加速し、周囲を広く巻き込んでいくことができる。DevOpsは企業にとってプラスになるだけではなく、エンジニアにとっても、周囲の人々を手助けできるという意味でプラスになる。これが大切だ」

●テスト駆動型インフラによって、セキュリティやコンプライアンスへの寄与も

 ケーシー氏はまた、「Chefの機能やDevOpsは、開発プロセスの効率化とスピードアップだけではなく、セキュリティ基準やコンプライアンスを満たした環境を効率的に実現する目的にも活用できる」と説明する。

 「われわれはソフトウェア開発を安全かつ迅速に進められるようにすることを目指している。だが、たとえどれほど素早く開発できたとしても、問題や脆弱性があれば、結局ビジネスが苦しむことになる」

 その解決策として、「コンプライアンスとは、本質的にはテスト。テスト駆動型開発(TDD)によってパッケージの有無やセキュリティ設定をテストし、修正していけば、コンプライアンスや統制を効かせることができる」と同氏は述べる。

 そのために同社が用意しているツールが、「Chef Compliance」だという。ケーシー氏はChef Complianceを用いてシステム環境をスキャンし、クリティカルなセキュリティ問題の有無やポートのオープン状況などを確認するデモンストレーションを紹介した。

 すでに、ITシステムのコンプライアンス担保にChefを活用している事例もあるという。その一例がインテュイットだ。

 「インテュイットのシステムでは似たようなアプリケーションが多々稼働しており、しかもそれぞれサイロ化していた。その上、これらのアプリが動作するインフラは少しずつ異なっており、デプロイチームも5つあった。加えて、セキュリティは絶対に担保しなければならないという要件もある中で、プロジェクトチームを立ち上げ、対話を通じて企業文化の共通化を図り、DevOpsを広げていった」

 同氏は「長年の試行錯誤を通じて、ソフトウェア開発に関してはさまざまなベストプラクティスが蓄積されてきた。それらはインフラにも適用可能だ」と主張する。

 「例えばTDDを活用すれば、早い段階で欠陥を見つけ出し、少ない負担で修正できる。問題を修正し、コードを修正するサイクルを回すことによって、安定し、高品質で、シンプルで、しかも理解しやすいコードになる。インフラにもこのTDDのプロセスを適用すべきだ。“Test Driven Infrastructure”によって、最後のデプロイ段階で問題が発覚しておじゃんになるのではなく、少しずつ改善できるインフラが実現できる」

 同様に、「セキュリティチームや監査チームもまた、TDDのメリットを生かし、より迅速かつ正確な内部監査やコンプライアンスを実現できる」と説明する。Chefではそれを支援するため、Chef Complianceに加え、ChefSpecやRubocop、FoodCriticといったチェックツールも提供している。

 「ソフトウェアもコンテナもインフラも、全てはコード。同じように、コントロールもまたコードの中に組み込まれることになる」――Chefの活用範囲は、今後ますます広がることになるだろう。



 IoT、FinTechトレンドの本格化に象徴されるように、ITによるビジネス差別化は各業種における重要なテーマとなっている。もはや従来通りのやり方では、今求められているスピード・品質には応えられなくなりつつある。これにどう対応するか――3つの講演は、“いま企業が獲得すべき競争力”の具体像を示唆するものだったといえるのではないだろうか。

[高橋睦美,@IT]

最終更新:7月8日(金)6時10分

@IT

TEDカンファレンスのプレゼンテーション動画

暗闇で光るサメと驚くほど美しい海洋生物たち
波のほんの数メートル下で、海洋生物学者であり、ナショナルジオグラフィックのエクスプローラーかつ写真家のデビッド・グルーバーは、素晴らしいものを発見しました。海の薄暗い青い光の中で様々な色の蛍光を発する驚くべき新しい海洋生物たちです。彼と一緒に生体蛍光のサメ、タツノオトシゴ、ウミガメ、その他の海洋生物を探し求める旅に出て、この光る生物たちがどのように私たちの脳への新たな理解を明らかにしたのかを探りましょう。[new]