オルタナティブ・ブログ > 『ビジネス2.0』の視点 >

ICT、クラウドコンピューティングをビジネスそして日本の力に!

2014年クラウド展望(13)DevOps時代のクラウドを活用した運用と開発

»

クラウドの普及により、アプリケーションの開発環境の拡張や、セルフサービス方式による柔軟なITインフラの変更、運用自動化のツールなど、DevOpsを実現するための環境が整いつつあります。

DevOpsにおける考慮点やクラウドを前提としたDevOpsの環境を整理しつつ、システム開発と運用のあり方を考察していきたいと思います。

DevOpsとは?

Development(開発)とOperation(運用)がともに協力することで、よりスピーディーに完成度の高いソフトウェアを作り上げる手法。オライリーが開催したイベント「Velocity 2009」で初めて紹介されています。

開発側は、お客さまニーズにあった最新のアプリやサービスの早期提供を重視するのに対し、運用側はお客さまに不具合などの症状が起きないように安定的な運用を重視するため、開発側と運用側の要望との間のトレードオフや壁の発生してしまい、新しいサービスを迅速に市場に投入するための運用と開発チームのコラボレーション(協働)による改善が重要視されるようになっています。

ガートナーが「gartner IT glossary devops」で定義するDeOpsでは、

多くの大手パブリッククラウドサービスプロバイダが、初期段階で
ITサービス提供を俊敏に行う必要性から用いた手法

人(と文化)を重視し、運用と開発チームのコラボレーションを改善する
(アジャイルマニュフェスト)

より良い技術を利用しようと試みる。特に自動化ツールの特徴は、
一層のプログラマブルかつダイナミックなインフラストラクチャの利用促進

の3つをあげています。

アジャイル・マニュフェストの「アジャイルソフトウェアの12の原則」では、DeOpsのあり方についても触れられています。

私たちは、ソフトウェア開発の実践
あるいは実践を手助けをする活動を通じて、
よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。
プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、
価値とする。

DevOpsに注目が集まる背景(3つの視点)

DevOpsに注目が集まる背景には、「開発手法」「クラウド」「自動化」の3つの視点があげられると思います。開発手法は従来のウオーターフォールから、アジャイル開発やリーンスタートアップの手法が用いられるようになっており、小刻みな改変によるスピードが重視されるようになっています。

また、アプリケーションのテスト環境の拡張やITインフラの変更要求が頻繁になり、開発者自身ががサーバやストレージの作成や、OSやミドルウェアの設定変更などを実施するケースも増えています。

背景には、Amazon Web Service のクラウドサービスやCloudStackやOpenStackなどのセルフポータルによるオープンなクラウド(IaaS)環境のコモディティ化に加えて、アプリケーションの開発運用環境を支援するPaaSサービスの充実などがあげられます。PaaSにはRubyやJavaなどの言語や、複数のデータベースなど、アプリ開発に必要なミドルレイヤの環境が充実しています。さらに、サービスの提供範囲がグローバルに広がっているのもクラウドサービス採用の一つの理由となっているでしょう。

開発者がローカル開発環境ならびにクラウド上での開発・実行環境を活用し、エンドユーザにアプリケーションやサービスw提供するモデルが一般的になっていくと考えられます。

開発運用においては、クラウドの導入で、サーバー環境の調達負荷を軽減し、運用技術者がサーバー設定などを代行できるようになってきています。さらに、徹底的な自動化を進めることで、少人数で大量のサーバーなどを運用することで、運用負荷の軽減と、開発側にリソースをシフトしていく動きが進んでいます。

自動化においては、インフラ構築運用の自動化、デプロイメント自動化、ビルド自動化、テスト自動化、バージョン管理、継続的インテグレーションなどがあげられます。クラウドでの開発運用において注目されているのが、Chefやpuppetに代表されるインフラ構築における運用自動化ツールです。

Chefの場合、サーバーやアプリケーションを自動的に構築および調整プロビジョ ニング機能、構成管理など「レシピ」と呼ぶ構築手順書で、目的のサーバを自動構築することができます。

日本国内では、クリエーションライン社が「Chef」サーバディスクリプションライセンス販売及び保守サポート、導入支援コンサルティング/トレーニングサービス、「Chef」導入インテグレーションサービスなどを提供しています。また、エクシード社は「マルチクラウド・オペレーレティング・フレームワーク」を利用し、システム構築・運用業務の「標準化」を促進による「自動化」を実現する「Cloudrop」を提供しています。

海外の事例では、Chefの商用版である「Private Chef」を全面採用し、大規模なデータセンターの運用自動化を実現しています。AWSはAWSのクラウドのユーザーであれば追加料金はかからず、無料で利用可能なAWS OpsWorksを提供しています。

DevOpsの3つの考慮点

DevOpsを展開していくためには、アークテクチャーの再構築にもなう開発運用プロセスの再構築が必要となります。

企画(人・組織・文化)の視点では、業務プロセス改善・標準化を図るとともに、DevOpsを採用することによるコストベネフィット分析や組織のガバナンス、コラボレーション型の組織設計などがあげられます。

開発・テストでは、アジャイル開発の適応、テストプロセスの標準化や再利用、ALMの最適化、テスト環境の改善や自動化といったように、DevOpsを考慮した開発運用プロセスの改善や標準化や自動化などの取り組みがあげられるでしょう。

開発運用のインフラやサービスにおいては、変化適応型のアーキテクチャ移行、クラウド活用によるリソース管理や最適化、仮想化基盤の推進、運用最適化における自動化、サービスや資産のライフサイクル管理といったようにDevOpsにおけるインフラやサービスの効率運用が必要となります。

これらの3つの考慮点からは、開発運用効率を高めるとともに、ユーザ目線のサービス開発運用環境を整備し、ビジネスへの貢献度合いを高めるといったアプローチにもつながると考えられます。

DevOpsの今後の展望

DevOpsによりクラウドを活用したアジャイル開発や、自動化などが進みますが、今後大きなテーマの一つとなるのが、グローバル化への対応です。世界で共通化するサービスを増やし、各国の法規制/習慣などの事情を踏まえてサービス内容をカスタマイズするといったケースが増えていくでしょう。また、BYODや、IOT、スマートマシンといったように新たな分野へのセキュリティ対策やモバイルデバイスを考慮した開発運用手法のあり方も重要となっていくでしょう。

 

Comment(0)