2017年12月18日 08時00分 公開
特集/連載

Computer Weekly製品導入ガイドDevOpsツールの選択とコントロール

組織がビジネス機能の継続的な開発とデリバリー、統合のためにDevOpsに目を向ける中で、慎重なコントロールが不可欠とされる。

[Clive Longbottom,Computer Weekly]
Computer Weekly

 従来のウオーターフォール方式やカスケード方式のソフトウェア開発では、定められた期間にコードを開発し、システムやアプリケーション管理と組み合わされていた。だが、組織はそうした方式からよりアジャイルなアプローチへと移行しつつある。継続的インテグレーションと継続的な開発、継続的なデリバリーを通じた迅速な機能プロビジョニングの必要性の高まりに伴い、多くの企業が“DevOps”の採用に目を向けている。

Computer Weekly日本語版 12月6日号無料ダウンロード

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 DevOpsでは開発とテストと運用のチームが結束し、この3分野を通じたコードとアプリの動きのスリム化を図る。ただしこのプロセスでは大規模なコントロールを行って適切なフィードバックを繰り返し、全てが円滑に運ぶ態勢を徹底させ、悪影響を最低限に抑えながらビジネスにとって最も望ましい成果を出さなければならない。

開発者主導型の転換

 組織にとっての問題は、DevOpsの成長が急であり、トップダウンでの管理ではなくボトムアップの成長である点だ。DevOpsツールの多くはオープンソースソフトウェアだ。組織内の個人が、自分にとって魅力のあるツールをダウンロードして使い始めることに、何の障害もない。

 多くの開発あるいは運用担当者にとって、このチャンスに背を向けるのはあまりに惜しい。開発者は、今ある統合開発環境(IDE)と連携できるダウンストリームシステムを求めてきた。それは「IBM Rational Software Architect」や「Microsoft Visual Studio」のような商用製品だったり、「Eclipse」や「Anjuta」のようなオープンソースだったり、「Atlassian Jira Software」や「CA Project Portfolio Management」のようなソフトウェアプロジェクト管理ソフトウェアだったりすることもある。

 それは開発や運用スタッフによる「Jenkins」「Chef」「Puppet」のようなツールの利用増大につながった。Jenkinsはソフトウェアのバージョン管理プロセスを自動化できる。また、「Perforce」「CVS」「Subversion」「Git」「AccuRev」といった既存のバージョン管理ツールと連携できるプラグインや、継続的なデリバリーのためのスリム化されたプロセスを備える。ChefとPuppetは、DevOpsの「Ops」側に重点を置いてスタートしたツールで、構成管理定義を使って作成した機能パッケージを自動的に運用環境にプロビジョニングできる。

選択肢の拡大

 こうしたツールの機能は、初めて市場に登場したPuppet(2005年)、Chef(2009年)、Jenkins(2011年)以来、大幅に進歩した。

 それぞれの機能は互いに交差する部分が増え、完全なDevOps環境を構築するために別のポイントツールを導入する必要性は以前に比べると薄れている。

 チームワークとフィードバックループに対するサポートが強化されたことで、当初は個人のためのポイントツールだったものがグループに完全対応するようになり、業務委託先やコンサルタントといった会社を横断して、分散した拠点間で連携するグループにも対応できるようになった。

 この3大ツールの他にも、各種オープンソースライセンス下で利用できる同じ分野のツールとして「Ansible」や「Salt」などがある。「Docker」や「Kubernetes」のコンテナソフトウェア管理システムのようなツールもある。「Ubuntu」を統合したエンタープライズサポート型のアプローチ向けには、Canonicalが「Juju」を通じて独自のKubernetesディストリビューションを提供している。コンテナオーケストレーションの分野において、Kubernetesは急速に新しい勢力になりつつある。Kubernetesを支援するCloud Native Computing Foundation(CNCF)には、Amazon Web Services(AWS)、Google、Microsoft、IBM、Intel、Twitterなどがメンバーとして名を連ねる。

 もう1つのオープンソースシステムである「Cloud Foundry」も、前述した他のほとんどのオープンソースツールと同様に、やはり有償サポート付きのシステムが提供されている。Cloud FoundryはDevOpsにうまく合った一連の自動化機能を提供し、他のアップストリームおよびダウンストリームシステムに高いレベルのサポートを提供できる。Cloud FoundryもCNCFのメンバーで、ある程度Kubernetesと重複する部分はあるものの、コンテナ化された環境を超えた到達度でははるかに先を行く。Cloud Foundry内の別のプロジェクトである「KuBo(Kubernetes on BOSH)」は、アプリケーションコードや仮想マシン、コンテナが混在する環境向けにCloud FoundryとKubernetesの統合スタックを提供している。

ツール過多

 個々の開発者やシステム管理者が独自の道を行く状況は、IT環境全体にさまざまなツールが混在する状況につながり、組織にとっては問題になりかねない。この状況には以下の2つのいずれかのやり方で対応できる。

この記事を読んだ人にお薦めの関連記事

注目テーマ

ITmedia マーケティング新着記事

news123.jpg

アドエビスに「シナリオコンバージョン」機能
ロックオンは、マーケティングプラットフォーム「アドエビス」をバージョンアップし、「...

news119.jpg

テレビ東京、IRIS.TVの動画パーソナライゼーション機能をモバイルアプリに採用
ブライトコーブは、業務提携を締結しているIRIS.TVの動画パーソナライゼーション機能がテ...

news061.jpg

世界の広告費成長率、デジタルが2桁成長でテレビ超え――電通イージス・ネットワーク予測
電通イージス・ネットワークは、世界59カ国・地域から収集したデータに基づき、「世界の...