Special
» 2017年01月31日 10時00分 UPDATE

スピーディなビジネス展開を実現する「新たな仕組み」とは?:デジタルビジネス時代、「勝てる開発・運用」に変革する12の要件

IoT、X-Techをはじめ、国内でもデジタルビジネスが活発化し、システム開発・運用には一層のスピードと柔軟性が求められている。だが従来型のやり方では、現在の市場環境変化に追従することはもはや難しくなりつつある。では、デジタル時代に即した開発・運用の新しい「仕組み」とはどのようなものなのか? 日本ヒューレット・パッカードに話を聞いた。

[PR/@IT]
PR

デジタルビジネス時代、企業活動とITを連動させるためには

 デジタルトランスフォーメーションが国内でも急速に進んでいる。UberやAirBnBのように、テクノロジの力で生み出した新たな価値が既存の商流を変え、業界構造を破壊してしまう「デジタルディスラプション」も各業種で起こりつつある。およそ全てのビジネスをITが支えている今、IT活用の在り方そのものがビジネスの成果に直結する時代になっているのだ。

 特にIoTやX-Techといったデジタルビジネスは、ニーズの変化に応える「スピード」が勝負。ITサービスをいち早く開発・リリースし、市場の反響を受けて改善するDevOpsの開発・運用スタイルが不可欠となる。

 これを受けて、開発からリリースまでを高速化するCI/CD(継続的インテグレーション/継続的デリバリ)、アプリケーションの迅速・安全な改善に役立つマイクロサービスアーキテクチャ、あらゆるインフラへのデプロイを可能にするコンテナ技術など、高速化に寄与する各種技術が注目されている。競合が多くニーズの変化が速いデジタルビジネス時代、アプリケーションの開発・運用スタイルにも時代に即した大幅なモダナイズが求められているのだ。

ALT 佐田邦広氏 日本ヒューレット・パッカード シニアテクニカルコンサルタント HPソフトウェア事業統括 ITマネジメントプリセールス本部 テクニカルコンサルティング部

 20年以上にわたってIT運用管理製品の提供に携わってきた日本ヒューレット・パッカードのシニアテクニカルコンサルタント、佐田邦広氏は「こうした状況はこの10年で最も大きな環境変化です」と指摘する。

 「デジタルトランスフォーメーションという言葉が示すように、ITがビジネスに対して果たす役割はかつてないほど大きくなっています。特にIoTやX-Techのようなデジタルビジネスの領域で、ビジネス部門とIT部門が共にITサービスを企画・開発・運用する例が増えていることは象徴的だと思います。ほぼ全てのビジネスをITが支えている以上、ビジネスとITが分断された状態から脱却して、企業活動の中にITを位置付け、ビジネスに連動する形で“アプリケーションライフサイクル全体”を高速かつスムーズに回すことが求められているといえるでしょう」

“アプリケーションライフサイクルの高速化”を阻むものとは?

 だが、ビジネス展開のペースに合わせて「アプリケーションライフサイクル全体を高速に回す」ことは決して簡単ではない。

 まず開発においては、スピードを担保する上で「自動化をライフサイクル全体にどう広げていくか」が課題となる。例えばDevOpsにおいて、CIツール、CDツールなどを導入するケースは増えてきた。だがインテグレーションやテスト、デプロイといった各ステップの自動化はできても、それぞれをつなげた“一連のプロセスの自動化”には至っていない例が多い。

 「結果として、デプロイ頻度は思うように増えず、リリースまでの期間を短縮できていないケースが目立ちます。各ステップの自動化には、Jenkinsなどのオープンソースソフトウェアを使っているケースが多いですが、そうしたツール同士の連携には高度なスキルと手間が求められることも“つながっていない”大きな原因と考えます」

 また、自動化の前提として、「環境をコードで管理するInfrastructure as codeを実現できていない」「Dockerなどコンテナ技術にしても“どのコンテナイメージを、どのタイミングで、どうビルド、リリースするか”といったアプリケーションライフサイクル管理機能がないために、テスト環境としての利用にとどまっている」といった例も多い。結果、たとえCIで開発を高速化できていても、デプロイが人手作業のままであるためにリリースに時間がかかってしまうケースも目立つ。

 一方で、スピーディなビジネス展開を支える上で、大きな変化が求められるのが運用管理だ。具体的には大きく2つの要件が求められている。

 1つは「開発者やビジネス部門のユーザーが求めるリソースを、迅速に配備できること」。例えば開発者は、開発のスピードを担保するため、デプロイ先を迅速に入手する必要がある。この点で、クラウドを利用してセルフサービスでデプロイ先を入手したいというニーズが多いのは周知の通りだ。ビジネス部門でも「ITリソースを迅速に調達したい」と考える向きは多い。それも顧客管理などのSaaSアプリケーションだけではなく、昨今はITサービス開発に向けて、音声認識や人口知能、AR/VRといった技術の可能性を探る環境を入手するために、IaaSを利用したいというニーズも増えつつある。

 もう1つは、「複数のインフラを確実・効率的に管理できること」。近年、システムのパフォーマンスとコスト効率を両立する上で、システムの特性・要件などに応じてインフラを使い分けることがカギとされている。この点で、オンプレミスの物理・仮想環境/プライベートクラウドとパブリッククラウドを組み合わせたハイブリッドクラウド、複数のパブリッククラウドを使うマルチクラウドの導入企業が増えている。だがこのように管理対象が増え、構成が複雑化した中でも、安定的に運用できなければ、メリットを享受するどころか、ビジネスそのものを阻害してしまう。

 「開発においては、CI/CDによって一連のリリースパイプラインをつなげることで、アプリケーションライフサイクル全体のスピードと確実性を向上させることが求められます。一方、運用管理においては、複雑化したインフラを効率的に管理しながら、開発部門やビジネス部門のリクエストに俊敏に応えられなければなりません。特に運用管理については、従来、効率化やコスト削減、安定運用が大きなミッションでしたが、現在は“サービス基盤の提供者”として、利益に寄与する役割が求められているのです」

課題解決に向けて「12 Factor」を意識せよ

 では、こうした課題はどのように解決すれば良いのだろうか? 佐田氏はその参考として、Herokuが提唱する俊敏性、管理性、拡張性の高いSaaSアプリケーションを作成するためのマニフェスト「The Twelve-Factor App」を挙げる。以下のように、ニーズの変化に応じてスピーディに開発、リリース、改善するためのポイントがコンパクトにまとめられている。

要件 内容
I. コードベース バージョン管理されている1つのコードベースと複数のデプロイ
II. 依存関係 依存関係を明示的に宣言し分離する
III. 設定 設定を環境変数に格納する
IV. バックエンドサービス バックエンドサービスをアタッチされたリソースとして扱う
V. ビルド、リリース、実行 ビルド、リリース、実行の3つのステージを厳密に分離する
VI. プロセス アプリケーションを1つもしくは複数のステートレスなプロセスとして実行する
VII. ポートバインディング ポートバインディングを通してサービスを公開する
VIII. 並行性 プロセスモデルによってスケールアウトする
IX. 廃棄容易性 高速な起動とグレースフルシャットダウンで堅牢性を最大化する
X. 開発/本番一致 開発、ステージング、本番環境をできるだけ一致させた状態を保つ
XI. ログ ログをイベントストリームとして扱う
XII. 管理プロセス 管理タスクを1回限りのプロセスとして実行する

※参考リンク:The Twelve-Factor App

 「12 Factorは、クラウドサービスを開発・運用するための一般的な方法論として活用することができます。開発者、運用者、ビジネス部門のユーザーがこの考え方に基づいてアプリケーションを共に作り上げていくことで、顧客ニーズに合ったサービスが展開できると考えます」

「Codar」と「Cloud Service Automation」で実現する“デジタルビジネス時代のソフトウェアライフサイクル”

 では具体的には、こうした12 Factorをどのように実現すればよいのだろうか。佐田氏はその実践に大きく寄与するソリューションとして、「HPE Codar(以下、Codar)」と「HPE Cloud Service Automation(以下、CSA)」を挙げる。

 Codarはリリースパイプライン管理、インフラのコード化、各種自動化、連携などの機能によりCI/CDを実現する製品だ。すなわち、開発からリリースまで各ステップの作業を自動化するとともに、一連のリリースパイプラインを繋げることで、アプリケーションライフサイクル全体を確実・高速に回す環境が整う

ALT 図1 「Codar」はCI/CDを実現する。一連のリリースパイプラインを一気通貫で管理、自動化する

 具体的には、CIツールのJenkinsなどと連携し、バージョンやビルドごとに、インフラ構築、デプロイ、テスト、ステージング、本番へのリリース判定まで、リリースパイプラインを一気通貫で管理、自動化できる。その際、デプロイ、テスト、承認などのアクションを設定しておき、何らかのイベントが発生した際に自動的に各アクションを実行することも可能だ。

ALT 図2 リリースに至る各ステップを、自社のスタイルに合わせて連携、自動化できる

 またアプリケーションのデプロイ時に、データベースやAPサーバを自動的に結合してアプリケーションを構成したり、アプリケーションが要求する「プラットフォームに合致した構成」を自動的に候補として提示したりすることができる。こうした開発支援機能により、直感的なアプリデザインが可能になるという。

 一方、CSAはハイブリッドクラウド環境を統合管理する製品だ。各種管理機能によりヘテロジニアスなインフラを効率的に管理しながら、リクエストされたサービスを迅速に提供できる環境が整う。

 特徴は大きく3つ。1つはセルフサービスポータル機能により、各種サービスをカタログ化し、リクエストされたサービスを自動的に構築・配備できること。これにより、開発部門のユーザーだけではなく、高度なITリテラシがないビジネス部門のユーザーにとっても、必要なリソースを、いつでも容易に入手できる環境が整う。

ALT 図3 セルフサービスポータル機能により、各種サービスをカタログ化。開発者、ビジネス部門のユーザーが、必要なサービスを手軽・迅速に入手できる環境が整う《クリックで拡大》

 より具体的には、ランブックオートメーション機能を持つ運用自動化ツール「HP Operations Orchestration software」(以下、OO)と連携させて利用する。CSAのセルフサービスポータルがユーザー要求の“受付窓口”となってリクエストを受け付け、OOにその情報を渡す。するとOOが、CSAで決定したプロビジョニング先情報やポリシー/ワークフローに沿って、自動的にサーバのプロビジョニングなどを行う仕組みだ。

ALT 図4 CSAのセルフサービスポータルでユーザーからのリクエストを受け付け、OOを使って任意の環境に自動的にリソースを配備する《クリックで拡大》

 2つ目の特徴は、新たなサービスを直感的に作れるサービスデザイン機能を持つこと。以下の画面イメージのように、管理コンソールのGUIを使って、サーバ、ストレージなど、各種コンポーネントをつなぎ合わせることで新しいサービスを作り、サービスメニュー化することができる。サービスをデプロイ、アンデプロイするフローも自動的に作成されるため、管理者はサービスをデザインする以上の手間と時間をかけることなく、リクエストされたサービスを迅速にメニュー化できる。

ALT 図5 新たなサービスを直感的に作れるサービスデザイン機能により、必要なサービスを迅速にメニュー化できる《クリックで拡大》

 さまざまなハードウェア、マルチハイパーバイザーに対応する他、あらゆるパブリッククラウドと連携できるオープン性も大きな特徴だ。サードパーティー製品との連携用APIも提供し、物理、仮想を問わず、オンプレミスからパブリッククラウドまで、自社のITインフラ全体を一元管理できる。OpenStackに対応している点も見逃せない。

最も大切なのは、開発、運用、ビジネス部門が共通のゴールを目指して協働すること

 CSAとCodarは、それぞれに多数の導入事例がある。例えば家具量販店のイケアでは、デプロイ作業に多くの手作業が発生し、作業の品質や所要時間に課題を抱えていた。具体的には、「150のアプリをデプロイしても最初の実行で正しく動いたアプリはゼロ」「デプロイには5時間、開発から本番リリースまで3カ月」という状況だったという。そこでCodarを導入し、リリースパイプライン管理やツール連携、ワークフローによる自動化を推進した結果、本番リリースまでの時間を20分に、デプロイ時間を2分半にまで短縮した。

 CSAの事例としてはインターネットサービスプロバイダーのソネットが挙げられる。同社はサービス基盤として、オンプレミスのVMware環境、OpenStackによるプライベートクラウド環境、CloudStackによるパブリッククラウドを組み合わせたハイブリッド環境の運用に着手している。こうした中、ビジネス部門の多様なニーズに迅速に応えるためにCSAを導入。単一のサービスポータルから仮想サーバ環境をセルフサービスで自動的に構築・配備できる環境の整備を行っている。

 こうしたCSAとCodarを組み合わせることで、スピーディにアプリケーションを開発、リリースし、ニーズの変化に応じて迅速・柔軟に改善する――まさしくDevOpsを実践できる環境が整う。

ALT 図6 CodarとCSAを組み合わせることで、開発からリリース、その後の改善まで、アプリケーションライフサイクル全体をビジネス展開のスピードに連動させる仕組みが整う《クリックで拡大》

 特にデジタルビジネスは迅速にリリースするだけではなく、安定的に運用し、状況を見て改善し続けることが求められるが、CSA、Codarにより、インフラを迅速・柔軟に配備できること、任意のインフラに自動的にデプロイできることは、競合に先駆けてサービスをリリース・改善する上で強力な武器になるといえるだろう。

ALT 「何より大切なのはツールではなく、開発、運用、ビジネス部門が共通のビジネスゴールを目指し、ツールを使いこなすこと」

 またデジタルビジネスに限らず、社内向けのサービスを迅速に配備できることは、ビジネス展開のスピードアップに大いに貢献するはずだ。

 ただ、佐田氏は、「ツールさえ導入すれば、ビジネスに寄与できるわけではありません」と強調する。

 「CSAやCodarを導入するメリットは、ビジネス展開に必要な業務やITのさまざまプロセスを連携させ、簡単に管理できるようにすることです。何より重要なことは、こうしたEnd2Endのプロセス連携を行う仕組みを使いながら、ビジネス部門、開発部門、運用部門の三者が協働して、同じビジネスゴールを目指す体制、文化を醸成することと考えます。弊社としては、製品を通じて多くの企業のデジタルトランスフォーメーション推進を支援していきたいと考えています」

関連ホワイトペーパー

wp

クラウド活用のメリットを最大化する鍵――運用の自動化で利便性を向上

社内ITインフラにクラウドを利用する際、さまざまなリクエストに人力で対応することは容易ではない。利用者、管理者、それぞれ向けのポータルを備え、ハイブリッドクラウド環境のライフサイクルを万全に管理できるツールで自動化を図るポイントを紹介する。

 ⇒ダウンロードする


Copyright© 2017 ITmedia, Inc. All Rights Reserved.


提供:日本ヒューレット・パッカード株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2017年2月28日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。