eBookを見る - CA Technologies

リリース自動化の実際:
アプリケーションをオンデマ
ンドで確実にデプロイし、
アプリケーション・エコノミー
で成功を収めるための 6 つ
の方法
顧客の満足の絶え間ない追求
現在のアプリケーション・エコノミーではすべての企業がソフトウェ
め に は、 アジャイル 方 式、 マイク ロ サ ー ビ ス・アー キ テ ク チ ャ、
ア企業となっており、顧客はますます増えるデジタル・チャネルを通
DevOps プラクティス、継続的デリバリなど、開発と運用を根本的に
じて企業に接続できることを期待しています。企業は顧客価値を創出
変える多数の要素が必要になります。
し提供するために、再検討と改革を行う必要があります。
変革を成功させるには、継続的デリバリが必要です。継続的デリバリ
先発者利益の獲得に向けた競争は過熱しており、顧客を引き付け維
は、高品質なアプリケーションをいつでもどこでも迅速に確実にデリ
持することは以前にも増して困難になっています。つまり、ユーザが
バーするために役立つ、新しいビジネスの必須要件です。では、継続
求めるタイプの製品やサービスを期待される品質レベルで提供しなけ
的デリバリを実現するにはどうすればいいでしょうか ? アプリケーショ
れば、それを提供できる競合他社に顧客を奪われてしまいます。
ン・デリバリ・パイプラインのエンドツーエンドの自動化を、絶えず
追求する必要があります。
このアプリケーション・エコノミーで成功を収めるには、企業はデジ
タル・トランスフォーメーションを実行する必要があります。そのた
94
%
のエグゼクティブが、以前よりも
アプリケーションをもっと迅速に
リリースしなければならないとい
う重圧にさらされています。 1
1
2015 年に CA の委託で Vanson Bourne によって実施された調査
2
CA Release Automation に
よる継続的デリバリの実現
CA Release Automation を使用すると、以下が可能に
現在、平均的なアプリケーション・デリバリ・パイプラインには、企
なります。
業の継続的デリバリの目標達成を妨げる多数のボトルネックがいま
だにあります。
•
成果物の管理、モデル化、追跡によって、各種の環境にまたがりア
プリケーション・リリースを簡略化し合理化する
アプリケーションと環境の複雑性や、ソフトウェア開発ライフサイク
ル(SDLC)のステージ間での手作業による受け渡し、バラバラのツー
•
ル(Jenkins、Docker、Chef )のその場しのぎの統合など、従来の「ソ
ワークフローを環境から分離することで、信頼性を高め、複数のア
プリケーションと環境の間で再利用する
フトウェア工場」がアプリケーション・エコノミーでの成功に向けて
•
最適化されていないことに開発および運用チームは気づきつつあり
主要なサードパーティ・ソリューションのためのアクション・パックと
プラグインの包括的なセットによって、現在の環境とシームレスに統
ます。
合する
継続的デリバリへの移行のどの地点にあっても、SDLC のサイロを結
•
び、より確実で迅速なアプリケーション・デプロイへの道を開くた
直観的でパワフルなワークフロー・エンジンを使用してデプロイを簡
単に設定し、リリースの追跡とロールバックを行い、チーム間に透明
めに、CA Release Automation が重要なソリューションであること
性を確保する
はおわかりいただけるでしょう。
•
IT コンプライアンス、監査、レポート作成のためにリリース・プロセ
スを統制し追跡する
3
CA Release Automation の 6 つの一般的な使用事例
CA Release Automation の中心は継続的デリバリ・パイプラインの制御で、リリースを加速し、アジャイル・アプリケーション・デプ
ロイの規模と複雑性を管理します。しかしその概念の深さと幅広さを理解するには、CA Release Automation がさまざまなデプロイ・
シナリオでどのように使用できるかを知ると役立ちます。
次のページでは、さまざまな一般的な使用事例に CA Release Automation がもたらすプラスの影響について説明します。
デプロイの自動化の開始
モバイル・アプリケーションのリリース
継続的デリバリ・ツール・チェーンのオー
ケストレーション
多数のアプリケーション / マイクロサービ
ス環境におけるデプロイの最適化
高度なリリース・タイプの実行(カナリア・
デプロイなど)
サービスとしての継続的デリバリの提供
4
使用事例 1:
デプロイの自動化の開始
大部分の企業にとって、小規模な低リスクのアプリ
ケーションは、CA
Release Automation を使用した
継続的デリバリへの移行を始めるのに最適です。そ
の狙いは安全な環境で自動化プロセスをテストし、
成功すれば、そこで得た教訓をもっと大規模なチー
ムやプロジェクトに適用することです。
CA Release Automation の中核となる考え方は、デ
プロイ・プロセスと環境アーキテクチャの両方をモ
Molina Healthcare の 完 全 子 会 社
Molina Medicaid Solutions は、CA
Release Automation を 使 用 し て リ
リースのデプロイにかかる時間を数時
間から 45 分以内へと短縮しました。2
ジュール形式で設計することで、高度に再利用可能
なコンポーネントとインフラストラクチャの定義を
提供し、新しいプロジェクトを迅速に容易に立ち上
げ稼動できるようにすることです。
モジュール形式のデプロイを行うと、インフラスト
ラクチャの違いにかかわらず、開発から本番までど
の環境でも実行できる、環境に依存しないプロセス
の開発が可能になります。アクションをワークフロー
に組み込むことで、アプリケーションが依存してい
る各コンポーネントを表せます(サーバ、ミドルウェ
ア、DB、ロード・バランサーなど)。その後、ティア
間でワークフローをリンクさせると、エンドツーエン
ドのデプロイを表せます。
2
Molina Medicaid Solutions ケース・スタディ .
5
モジュール形式の環境アーキテク
チャでは、環境をスケーリングして
仮想化とプロビジョニングのテクノ
ロジをシームレスに採用することが
CA Release Automation はサーバ・
可能でます。
タイプを抽象化として使用して各種ティアを表し、ま
た、環境へのデプロイの一部を成す他のコンポーネ
ントを表します。これらをスケーリングすれば数百
の サ ー バ を 表 す こ と が で き、CA
Release
Automation がシステムのキャパシティに合わせて
ルールベースのアプローチによってそれぞれにデプ
ロイを行います。
このようにデプロイ・プロセスを自動化すると、プロ
セスの再作業が減り、複雑性が低減して生産性が向
上するため、チームはより多くの高品質なアプリケー
ションを迅速に市場に投入できます。
その 結果、組 織の 全 員 がアプリケーションと
チームに CA Release Automation を活用したい
と思うようになります。
使用事例 2:
継続的デリバリ・ツール・チェー
ンのオーケストレーション
アプリケーションの規模とビジネスにとっての重要性が増すに伴い、アプリケーションの複雑化、
分散化、多層化も進んでいます。通常このようなデプロイでは管理の必要な複雑な依存関係が
多く、時間とリソースを大量に必要とするため、時間がかかりエラーの発生しやすいリリース・プ
ロセスになります。
このような依存関係の中に、現在の複合的なアプリケーション環境の一部を構成するツールや
サービス、たとえば Jenkins のような継続的統合ツール、Amazon
Web Services や Azure のよ
うなクラウド環境、Chef や Docker などのインフラストラクチャ・プロビジョニング・ツール、F5
のようなロード・バランシング機能、さらには ServiceNow のような変更およびサービス管理ツー
ルなどがすべて存在しているのです。
ハイブリッド環境で機能する数少ない
ツールの 1 つです。Microsoft®、
Java ™、.NET、PHP や、過去に
社内システムを開発するために
顧客が使用したレガシー・デプロイ
環境とも連動します」。3
また、いくつかのツールはアプリケーション・デリバリ・プロセスの特定の領域を自動化するも
– Arvind Mehrotra 氏、NIIT Technologies、インフ
のの、エンドツーエンドに接続してアプリケーション・リリースに幅広い管理を提供できるツール
ラストラクチャ管理サービス担当プレジデント
はありません。
CA Release Automation は以下を提供し、継続的デリバリ・ツール・チェーンの規模と複雑性の
管理に役立ちます。
•
どんな環境ともシームレスに連携できる、すぐに使用できる 125 の統合機能
•
リリース・パイプライン全体のオーケストレーションに役立つ 1,800 のアクション
•
新しいツールとテクノロジの採用に役立つ Rapid Development Kit
•
コミュニティがサポートする追加のアクション・パック
CA Release Automation は、継続的デリバリの目標達成に必要な包括的な可視性、一貫性、ガ
バナンス、エンドツーエンドの自動化を提供します。
3
「CA Release Automation は
NIIT Technologies ケース・スタディ
6
使用事例 3:高度なリリース・
タイプの実行(カナリア・
デプロイなど)
ここ何年も従来型の企業は、Netflix、Facebook、Etsy などの新興企業が先頭に立っ
て進めてきたアプリケーション・デリバリのイノベーションに驚かされてきました。
その例の 1 つがカナリア・デプロイでしょう。この方法ではアプリケーションの変更を、
任意のユーザのサブセットにインクリメンタルにロールアウトします。要するに、これら
のユーザは炭鉱でのカナリアの役目を果たし、機能をテストして期待通りに動作するこ
とが確認されたら、ユーザ全体にリリースをロールアウトするというものです。
CA Release Automatio を使用すれば、本番で複数のユーザ・グループと並行してアプ
リケーションの 2 つ以上のインスタンスを実行するプロセスを、容易に自動化できます。
ほとんどのユーザは現在のアプリケーションとのインタフェースを続行しますが、ロー
ド・バランサーによって一部のユーザを新しいビルドへと移動させることができます。
これによる明白なメリットは、2 つのアプリケーションの性能を並べて確認し比較でき
ることです。
アプリケーションがカナリア環境で首尾よく機能するということは、もっと多くのユー
ザあるいは全ユーザにロールアウトできる状態にあるということです。そしてこのロー
ルアウトも継続的デリバリ・プロセスの一部として CA
Release Automation で自動的
に実行できます。すべてのユーザへのデプロイによってビジネスクリティカルなバグや
エラーが明らかになった場合は、ロード・バランサーによってユーザを前のバージョン
に移動させることで、すぐに変更を「ロールバック」できます。
7
使用事例 4:モバイル・
アプリケーションのリ
リース
すべての企業がソフトウェア企業になったということは、顧客が所有し愛用して
いる無数のモバイル・デバイス向けの専用アプリケーションや互換性のあるアプ
リケーションが、大多数の企業によって構築されている可能性が高くなります。
定義されテストされるユーザ・プラットフォーム、ビジネス・ロジック、バックエ
ンド・システムの新たな多様性によって、モバイル・アプリケーションのデプロイ
CA Release Automation の実装以来、ING は
タイムトゥマーケットを 20 週間から 4 日間へ
と短縮しました。4
に は 独 自 の 複 雑 な 問 題 が 発 生して い ま す。 ありが た い こと に CA
Release
Automation を使用すれば、プロセスが大幅に簡略化され、複雑なモバイル・ア
プリケーションのデプロイに伴うボトルネックを排除できます。
これで複雑性については解決しますが、新しいアプリケーション、機能、更新を
求める顧客の飽くことのない要望についてはどうすればいいでしょうか。ますま
す増大する顧客の期待に応えるには、デプロイの規模を拡大する方法を見つける
必要があります。
CA Release Automation は高品質なモバイル・アプリケーションを迅速に着実な
ペースでリリースできるようにするための一貫性と制御機能を提供します。ツール
に内在するアプリケーション、環境、ワークフローのための柔軟なテンプレート
機能によって、複雑な手作業の操作を確実で反復可能な、エラーのないプロセ
スに変えることができます。
4
ING ケース・スタディ
8
使用事例 5:
多数のアプリケーション /
マイクロサービス環境への
デプロイの最適化
近年はアプリケーション・アーキテクチャも進化し、単一のクライアント / サーバの
構成から小規模のサービス群がそれぞれ固有のプロセスを実行し、軽量の API を通
して通信する
「マイクロサービス」へとスタイルが変化しています。マイクロサービス
・
アーキテクチャは機能の各要素を異なるサービスに組み込むため、変更が起きると
アプリケーション全体の再構築とデプロイを必要になるモノリシックなアプリケー
ションよりも、更新とスケーリングが容易になっています。実際、多くのアプリケー
ションが同じ基盤のマイクロサービスを使用していることもあり、その場合、多数
のアプリケーションにまたがって一度で更新を行えます。
マイクロサービスを使用したアプリケーションの構築の問題点は、サービス更新の
追跡が難しいことと、その更新が適切なアプリケーション・リリースに行われてい
ることを確認するのが困難なことです。このようなマイクロサービスの多くは権限の
及ばないクラウドやサードパーティ環境に常駐していることが多いため、さらに複
雑さが増しています。
CA Release Automation はすべてのアプリケーション・コンポーネント(マイクロサー
ビス・アーキテクチャと共に使用されることが多い Docker コンテナ)のモデル化、
抽象化、追跡を自動的に行うため、マイクロサービス・アプリケーションのデプロイ・
プロセスが簡略化されます。さらに、一般的に使用されている幅広い開発ツールや
リリース・ツールとの、すぐに使用できる統合機能が備わっており独自の継続的デリ
バリ・パイプラインのオーケストレーションが容易になります。
9
使用事例 6:
サービスとしての継続的デリバリの
提供
CA Release Automation の機能を最大限に生かせるようになり、デプロイ・プロ
セスを評判の円滑なマシンへと転換させたら、サービスとしての継続的デリバリ
(CDaaS)を、社内のさまざまな部門やグループ、あるいは顧客やパートナーへと
提供することを検討するようになるかもしれません。
考え方はとてもシンプルです。継続的デリバリ・プロセスに現在存在する自動化
をすべて抽出し、その前部にセルフサービス機能を配置するというものです。こ
れによって開発チームはいつでも必要なときに独自の環境を設定し、リソースを
割り当て、アプリケーションをデプロイし、テストを実行できます。その後、プ
ロジェクトが終了したら、自動的にリソースを解放し他のチームが使えるようにで
きます。IT はこのサービスに対して他部門に「課金」することも可能です。
CDaaS には以下の 2 つのメリットが考えられます。
1. 開発チームとテスト・チームが必要なリソースを使用するために他のグループ
を待つ必要がなく、ボトルネックが解消され、パイプライン上をかつてないほ
ど速くより多くのプロジェクトが移動できます。
2. 人材と技術リソースをもっと効率的に使用できます。IT 運用チームは戦略的
な高価値のアクティビティにより多くの時間をかけられるようになり、開発リ
ソースはコードの記述よりスクリプトのデプロイへとアプリケーションに集中
できます。
10
あなたのビジネスに当てはまる使用事例
はいくつあるでしょうか ?
アプリケーション・デプロイの自動化に着手したばかりの場合も、モバイル・アプリケーションやマイクロサービス
など、さらに複雑な開発シナリオを検討している場合も、CA Release Automation はコストの削減、エラーの削減、
アプリケーションのこれまで以上に速い反復を可能にします。アプリケーション・リリース・プロセスを制御し、ア
プリケーション・エコノミーで成功するための方法を見つけるには、CA までお問い合わせください。
詳細については継続的デリバリを参照するか、または #ReleaseAutomation の会話をフォローしてください。
CA Technologies(NASDAQ:CA)は、企業の変革を推進するソフトウェアを作成し、アプリケーション・エコノミーにおいて企業がビジネス・チャンスを獲得できるよ
う支援します。ソフトウェアはあらゆる業界であらゆるビジネスの中核を担っています。プランニングから開発、管理、セキュリティまで、CA は世界中の企業と協力し、
モバイル、プライベート・クラウドやパブリック・クラウド、分散環境、メインフレーム環境にわたって、人々の生活やビジネス、コミュニケーションの方法に変化をも
たらしています。詳細については ca.com/jp をご覧ください。
© Copyright CA 2015. All rights reserved. この文書は情報提供のみを目的としており、 いかなる種類の保証も行いません。 Microsoft は米国その他
各国における Microsoft Corporation の登録商標または商標です。 Java および Java ベースのすべての商標とロゴは、 米国およびその他の国における
Oracle Corporation の商標です。 本書に記載されているすべての商標、 商号、 サービス ・ マーク、 ロゴは、 該当する各社に帰属しています。 機
能に関する記述は、 本書に記載された顧客に固有のものである可能性があり、 実際の製品性能は異なる場合があります。
CS200-161097