9
継続的な配信 : 展開パイプラインの 自動化 ホワイトペーパー Deployment Automation

継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

継続的な配信 : 展開パイプラインの 自動化

ホワイトペーパーDeployment Automation

Page 2: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

目次 ページ

継続的な配信の重要性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

ビルドプロセスと展開プロセスの分断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

展開パイプラインの自動化と統合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

ツールチェーン全体の統合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

展開パイプラインのモデル化、管理、視覚化 . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

アプリケーション中心型のDeployment Automation . . . . . . . . . . . . . . . . . . . . . . 6

まとめ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Page 3: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

1www.microfocus.com

継続的な配信の重要性

継続的な配信とは、ソフトウェアの配信形態の 1 つです。いつでも本番リリースできるよう

にソフトウェアをビルドし展開する必要があります。この条件を満たすには、ビジネスニー

ズに応じて、実行ファイルの開発からビルド、テスト、そして展開に至るまでソフトウェ

アの変更を継続的に統合し、本番リリースできる状態にします。これが、今日のエンター

プライズ IT で見られるソフトウェア配信方法の大きな変化です。

継続的な配信はエンタープライズ IT にとってなぜ重要なのでしょうか。それは、継続的な

配信によって、顧客の期待に迅速に応えると同時に、コストを抑えながら製品の品質を改

善することができるからです。

_______________________________________________________________

図 1

継続的な配信の必要性

継続的な配信では、顧客の期待に迅速に応えると同時に、コストを抑えながら製品の品質を改善することができます。

Page 4: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

2

ホワイトペーパー継続的な配信: 展開パイプラインの自動化

継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

る方法を見つけることです。継続的な配信では、市場投入スピードが鍵になります。立案

から展開まですばやく行動し、競合他社に先んじることが重要です。市場投入スピードには、

フィードバックループと価値創出までの時間の短縮が求められます。フィードバックルー

プが短いほど、早期に問題を発見、修正、調整でき、より短期間で成果を挙げられます。

この俊敏性は企業の競争力を確実に高めます。これが、Amazon 社や Netflix 社といった企

業がそれぞれの市場で優位に立ち、周辺市場へと勢力を広げ、市場をリードしている理由

です。このような企業は、市場の変化に迅速に対応し、競合他社よりも早く新しい機能やサー

ビスを提供しています。

継続的な配信で使用される主な方式は、展開パイプラインです。これは、アプリケーション

のビルド、展開、テスト、リリースプロセスを自動的に行う仕組みです。アプリケーション

に変更が加えられるたびに、展開パイプラインのインスタンスが生成されます。

_______________________________________________________________

継続的な配信では、市場投入スピードが鍵になります。立案から展開まですばやく行動し、競合他社に先んじることが重要です。市場投入スピードには、フィードバックループと価値創出までの時間の短縮が求められます。

図 2

展開パイプラインの概要

Page 5: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

3www.microfocus.com

展開パイプラインでは、ソフトウェアの開発からリリースまでを効果的に行えますが、自

動展開パイプラインを組織全体に配置する方法が課題となっています。組織は、開発およ

びビルドプロセスで開始して継続的な統合で終了するインクリメンタルアプローチをとる

傾向にあります。継続的な統合は、展開パイプラインの基盤となるものです。

ビルドプロセスと展開プロセスの分断

展開パイプラインは、継続的な統合のプロセスを基盤としています。継続的な統合 (CI) が

なければ、継続的な配信もあり得ません。継続的な統合によって、開発チームは開発環境

内でコードの統合、ビルド、テストを自動化できます。Jenkins などの CI サーバを使用す

ることで、開発環境とビルド環境が統合および自動化されます。ビルドはさまざまな方法

で開始できます。たとえば、バージョン管理システムでのコミット、クローン的メカニズ

ムによるスケジューリング、他のビルドの完了時点での新しいビルドの実行、特定のビル

ド URL の要求といった方法があります。

_______________________________________________________________

問題は、多くのソフトウェアプロジェクトにおいて、ビルドが完了しても、ビルドプロセ

スと展開プロセスが大きく分断されていることです。開発プロセスとビルドプロセスは開

発チームが担当しますが、展開プロセスは一般に他のチームが担当します。展開パイプラ

インでのビルドの展開とテストには、開発チームとは異なるツール、スクリプト、プロセ

スが使用されます。CI サーバとツールチェーンの統合レベルが低いか統合すら行われてい

ないケースが多く見られます。事実上のハンドオフが発生すると、開発チームは主に手作

業でリリース予定バージョンをテスト環境や運用環境に展開します。この分断は、展開作

業が増えるに従ってボトルネックとなり、展開の質の低下やリリースサイクルの長期化と

それに伴うコスト増の原因になります。

継続的な統合 (CI)がなければ、継続的な配信もあり得ません。継続的な統合によって、開発チームは開発環境内でコードの統合、ビルド、テストを自動化できます。

開発プロセスとビルドプロセスは開発チームが担当しますが、展開プロセスは一般に他のチームが担当します。展開パイプラインでのビルドの展開とテストには、開発チームとは異なるツール、スクリプト、プロセスが使用されます。

図 3

組織内で継続的な配信を阻害するプロセスの分断

Page 6: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

4

ホワイトペーパー継続的な配信: 展開パイプラインの自動化

展開パイプラインの自動化と統合

Micro Focus の Deployment Automation は、Jenkins などの継続的な統合ツールとシームレ

スに連動し、展開パイプライン全体を自動化することで、この分断の問題を解決します。

Deployment Automation では、ツールチェーン全体を統合し、パイプライン全体にわたっ

てリリース予定バージョンの展開を管理および視覚化して、開発プロセスと運用プロセスを

つなげます。すべてアプリケーション中心の観点から行います。

_______________________________________________________________

図 4

Deployment Automationによる展開パイプラインの自動化

_______________________________________________________________

Page 7: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

5www.microfocus.com

ツールチェーン全体の統合

Deployment Automation は、柔軟性、堅牢性、拡張性に優れたプラグインアーキテクチャ

によって 80 以上のツールチェーン統合をサポートします。プラグインは、基本的な処理機

能のほか、サードパーティツールとの統合機能も提供します。Deployment Automation には、

一般的な展開プロセスの多くに対応したプラグインが付属しています。また、テストツール、

ミドルウェアツール、データベース、サーバ、他の展開ターゲットなどさまざまなツール

に対応したプラグインも用意されています。

Jenkins との統合は簡単です。Deployment Automation Jenkins プラグインをダウンロード

し、インストールして設定するだけです。Deployment Automation は自動テストツールと

統合されるため、展開プロセスの中で自動テストを開始できます。さらに、Chef、AWS、

または VMware 用のプラグインを使用してアプリケーションスタック全体のプロビジョ

ニングを自動化することもできます。対応プラグインの一覧は、弊社のドキュメントセン

ターでご確認いただけます。

展開パイプラインのモデル化、管理、視覚化

展開パイプラインは、ソフトウェアのバージョン管理からリリースに至るまでのプロセスを

モデル化します。変更が加えられるたびに、新しい展開パイプラインのインスタンスが生

成されます。アプリケーションや変更内容によっては、展開パイプラインは異なる環境や

経路に分かれる場合があります。これらの環境への展開は、順番または並行で行われる場

合と、オプションのステージとして提示されて手動で選択する場合があります。管理する

展開パイプラインの数は、アプリケーション、チーム、要件、環境の数に応じて増える可

能性があります。

Deployment Automation を導入すると、すべての展開パイプラインの包括的な管理が容易

になります。展開パイプラインおよび関連する環境すべてを簡単に作成、インポート、エ

クスポート、視覚化できます。オプションで、パイプラインの最初の環境でのみ展開プロ

セスを要求することも可能です。その後は、後続の環境に限定して進行できます。これに

より、同じ設定がパイプラインの各環境に確実に適用されます。

自動プロモーションが選択されている場合には、リリース予定バージョンは最初の環境へ

の展開に成功すると、次の段階に自動的に進みます。その環境への展開が成功すると、

アプリケーションはパイプラインシーケンスの次の環境に自動的に進みます。各プロモー

ションに問題がなければ、自動プロモーションは環境から環境へとパイプラインの最終環

境まで継続されます。

展開パイプラインビューでは、各パイプラインでの各環境の使用状況が総合的に表示され、

展開対象と展開場所をすぐに把握できます。すべてこのビューだけでわかります。

Deployment Automationには、一般的な展開プロセスの多くに対応したプラグインが付属しています。また、テストツール、ミドルウェアツール、データベース、サーバ、他の展開ターゲットなどさまざまなツールに対応したプラグインも用意されています。

Deployment Automationを導入すると、すべての展開パイプラインの包括的な管理が容易になります。

Page 8: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

6

ホワイトペーパー継続的な配信: 展開パイプラインの自動化

アプリケーション中心型の Deployment Automation

今日のアプリケーションを構成するコンポーネントは、複数の作成元から集められ、さま

ざまなアプリケーション層、プラットフォーム、リソースに展開されます。これらのアプ

リケーションの展開を成功させるには、調整とオーケストレーションが不可欠です。一緒

にテストしたアプリケーションコンポーネントを一緒に展開することが重要です。アプリ

ケーションプロセスとスナップショットをサポートする Deployment Automation が、この

問題を解決します。

アプリケーションプロセスは、手動で、またはトリガ条件やユーザ定義スケジュールによ

る自動で実行できます。コンポーネントに定義されたプロセスが複数ある場合は、アプリ

ケーションが実行プロセスとその順番を判断します。たとえば、n 層のアプリケーションに

Web 層とデータベース層が含まれている場合は、承認後に Web 層とデータベース層が同時

に展開されます。アプリケーションプロセスは、コンポーネントを特定のリソースに展開

するための展開ステップをすべて含む関連コンポーネントプロセスを呼び出します。

スナップショットは、その環境でのアプリケーションの最新状態を示します。また、同時

に展開するコンポーネントバージョンの組み合わせを指定します。スナップショットは、

アプリケーションを展開する前に作成するモデルです。アプリケーションに用いる各コン

ポーネントの正確なバージョンを 1 つのスナップショットで指定します。スナップショット

が作成されると、Deployment Automation は指定された環境でのアプリケーションに関す

る情報を収集します。この情報にはコンポーネントバージョンも含まれます。

ほとんどのケースでは、スナップショットはパイプライン全体を通して適用されます。ス

ナップショットは環境内のアプリケーションの状態に基づいて作成されるため、その時点

でのさまざまなコンポーネントバージョンがキャプチャされます。

まとめ

継続的な配信は、顧客に価値を提供する方法を劇的に改善しますが、導入には困難を伴う

場合があります。継続的な配信の基盤である継続的な統合を導入した組織は多くあります

が、展開およびリリースプロセスのシームレスな移行と自動化に問題を抱えています。

Deployment Automation では、展開パイプライン全体をアプリケーション中心の観点から

統合、管理、自動化できます。

一緒にテストしたアプリケーションコンポーネントを一緒に展開することが重要です。アプリケーションプロセスとスナップショットをサポートするDeployment Automationが、この問題を解決します。

Page 9: 継続的な配信 展開パイプラインの 自動化 - Micro Focus...2 ホワイトペーパー 継続的な配信: 展開パイプラインの自動化 継続的な配信の目標は、高品質の有益なソフトウェアを短期間で効率的かつ確実に提供す

162-JA0098-001A | S | 07/18 | © 2017 Micro Focus. All rights reserved. Micro Focusおよび Micro Focusロゴは、英国、米国、およびその他の国における Micro Focus、その子会社、関連会社の商標または登録商標です。その他すべての商標は、該当する所有者により所有されています。

お問い合わせ先:www.microfocus.com