クラウドネイティブな開発を可能に
理想的な「クラウドで開発/テスト、オンプレミスで本番運用」をどう実現する?(2/2 ページ)
「クラウドで開発/テスト、オンプレミスで本番運用」を実現するツール
ゼロから始める場合、ソフトウェアのリリースパイプラインを完全に自動化するツールチェーン(順番に組み合わせて使われる一連のツール)の利用を考えよう。
ソース管理
最も広く使われているソース管理ツールである「Git」は、分散バージョン管理システムを提供する。多くの継続的テストおよびインテグレーションツールは、Gitと簡単に連係する。WebベースのGitリポジトリホスティングサービスである「GitHub」も、多くの企業で使われている。アプリケーションチームは、パブリックおよびプライベートソースコードリポジトリをセットアップし、コードベースの作成を社内外の人と協力して進めることができる。コードベースはテスト環境や本番環境で引き続き使用される。
継続的インテグレーション
クラウドのテスト環境へのコードデプロイの自動化に関しては、継続的インテグレーション(CI)サーバを試すとよい。CIサーバは、ソース管理リポジトリにコミット(アプリケーションコードの変更)がないかポーリングし、最新の変更に基づいて一連のステージをトリガーするようにセットアップできる。
例えば、オープンソースのCIサーバ「Jenkins」(あるいはそのライバルの「TeamCity」「Travis CI」「CircleCI」「Codeship」)を使って、GitHubリポジトリにアプリケーションコードの変更がないかポーリングができる。変更がコミットされていたら、Jenkinsはそのコードをビルドし、単体テストを行い、CloudFormationテンプレートを起動して、テスト環境のデプロイをトリガーする。テスト環境が立ち上がったら、別のジョブがアプリケーションをテスト環境内のサーバにデプロイする。こうした仕組みによって、アプリケーションコードは全てのテストに合格するまで、本番サーバにデプロイされないようになっているが、アプリケーションコードが全てのテストに合格したら、運用チームは、手動でサーバにデプロイするか、サーバへのデプロイを自動実行するタスクを起動することができる。
パフォーマンス、ロード、ユーザーインタフェーステスト
パフォーマンスやユーザーインタフェース(UI)のテストでは、アプリケーションが本番稼働時に予想されるユーザーロードを処理でき、スケーリングしても、適切に機能することが確認される。オンプレミスとクラウドベースの両方のリソースでロードテストとパフォーマンステストを行えるツールでは、ApicaとBlazeMeterの製品が、人気がある。また、「Ghost Inspector」は、Webサイトのバグやその他のUIの問題を検出するための優れたツールだ。
クラウドネイティブなDevOpsツール
AmazonとMicrosoftは、シンプルでクラウドネイティブなソフトウェアライフサイクル管理ツールを開発済みだ。これらのツールは、オンプレミスインフラと、パブリッククラウドを使用するハイブリッドインフラで、アプリケーションを柔軟に管理することを目的としている。
「AWS CodeDeploy」は、「Amazon Elastic Compute Cloud」(Amazon EC2)インスタンスや、自社所有サーバへのアプリケーションコードのデプロイを自動化する。「AWS CodePipeline」は、統合された継続的デリバリ(CD)パイプラインを、クラウド上に構築する。このパイプラインは、ソース管理リポジトリに変更がないかポーリングし、CIサーバでビルドやテストを実行させ、クラウド上の開発インスタンスに、あるいはCodeDeployエージェントが動作するプライベートサーバにコードをデプロイする。
Microsoftのクラウドベースの「Visual Studio Team Services」も、こうしたAWSのDevOpsツールセットと機能的に似ている。Release Management機能によってIT部門は、アプリケーションチームが任意のサーバにコードをデプロイできるように、自動化されたリリースパイプラインを構築できる。
CIサーバは、オンプレミスでもクラウドでも動作する。また、クラウドサーバは、1つのクラウドのサーバでなくても構わないが、オンプレミスサーバは、開発およびテストサーバとは異なるクラウドプラットフォームでも使用できる。例えば、AWS CodeDeployエージェントをAzure VMで動作させることも可能だ。
全てを実際に機能させる
今では、開発とテストをパブリッククラウドで行い、本番アプリケーションをオンプレミスで運用するハイブリッドアプローチを実行するための技術はそろっている。だが、最大の問題の1つは、その環境の複雑さだろう。
そのため、担当者が職務を遂行するには、一定のリソースが必要になる。その中には、パブリッククラウドプラットフォームや、アプリケーションのパイプラインを形成する特定のCI/CDツールに関する研修やトレーニングが含まれるだろう。
また、IT部門の全てのチームがハイブリッドクラウドのアプローチに取り組む必要がある。例えば、オンプレミスのネットワークチームやセキュリティチームが、規制や社内セキュリティポリシーの順守のために、オンプレミスからクラウドへのデータの流れを理解しなければならない場合があるかもしれない。目的が何であれ、DevOpsチームと他チームの仕事上の連係を促進することが、パブリッククラウドからオンプレミス本番サーバへの継続的なデプロイの成功を確実なものにする。全てのチームが大きな目標の達成に貢献できるが、そのためには協力し合わなければならない。一丸となってこの仕事に取り組むことが重要だ。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー