DevOpsの導入を検討したいとき、はじめに知っておきたいこと

  • このエントリーをはてなブックマークに追加

DevOpsの導入を検討したいとき、はじめに知っておきたいこと

アジャイルから拡張した形の、開発・運用の新しいスタイルとして流行しつつあるDevOps。今まで、その名前を耳にしながら静観していたエンジニアの方もいると思いますが、ますますの盛り上がりと、顧客や世間から要求される短い期間でのリリース要望に、DevOps導入の検討をはじめている方も多いのではないでしょうか。

とはいえDevOpsが何か、またDevOpsにはどのようなメリットがあるのかを把握しなければ効果的な導入はありえません。そこで今回は、DevOpsの考え方や、重要なキーワードであるオープンソース、そしてクラウドサービスであるマイクロソフトAzureとの相性など、DevOpsの扉をノックする際に知っておいたほうがよい事柄をご説明しましょう。

DevOpsとは

まずDevOpsとはソフトウェアの開発の概念のひとつです。開発チーム(Development)と運用チーム(Operations)が協力しあって開発を進めていくもので、そのふたつを合わせてDevOpsという言葉で表現しています。

ソフトバンク C&Sでは、DevOpsを「ビジネスの価値を最大化することを目標とし、迅速かつ高品質なソフトウェア開発を実践する継続的な組織活動」と定義しています。

開発にあたり、市場の要求をいち早くキャッチするには、リリース後のシステムを管理する運用チームからのフィードバックが欠かせません。こまめなリリースとこまめなフィードバック。そしてそれを次の開発につなげるという、スピード感あふれるサービスの開発と切っても切り離せない概念がDevOpsです。

そして、DevOpsを導入することで、以下のようなメリットが生まれます。

企業価値の向上
新たな製品、サービスを迅速にリリースすることで、高い競争力を獲得し、事業をさらなる成長へと導きます。

顧客満足度UP
変化の激しい市場ニーズや顧客の声に柔軟に対応し、高品質なサービスを継続して提供することができます。

新しい領域への挑戦
組織の生産性が向上し、新たなビジネスの機会を創出します。未開拓の領域への、チャレンジにつながります。

ところで、DevOpsで多く使われるのが「オープンソースソフトウェア(以下OSS)」と呼ばれるものです。そのOSSとは何でしょうか。

OSSとは

OSSとは、ソースコードが公開され、改良や再配布などが行えるソフトウェアです。

アプリケーション間をAPI(Application Programming Interface)で緩やかに結合できるコンパクトなOSSは、重厚長大なパッケージソフトに比べて変化に対応しやすいものです。

またOSSは短期間でのリリースのために必須となる、環境構築やテストの自動化などのソリューションにも優れており、大手のソフトウェア開発会社もOSSに対抗するパッケージをつくるよりも、OSSの組み合わせ技術やサポートに注力するビジネスを検討しています。DevOpsはOSSでなければならないというルールはありませんが、DevOpsでの運用を考えるのであれば、OSSの活用が現実的でしょう。

また、OSSを束ねるOS(オペレーティングシステム)にはLinuxがよく用いられます。そして、これらを配置するサービスとしては、マイクロソフトが提供しているAzureなど、クラウドサービスがよく用いられています。

Azureと DevOps

変化の激しいDevOps時代のシステム開発では、オンプレミスに比べ、スペックを柔軟に変更でき、稼働した分だけのコストを支払うAzureのようなクラウドサービスは、まさに適しているといえるでしょう。

そして、クラウドサービスを利用する場合には、そのサービスがサポートしているOSSの数が多ければ多いほどDevOpsを活用しやすくなるのですが、Azureはその条件に合致しています。

こう聞いて「マイクロソフトってパッケージ製品の会社でしょう?」と思われる方はそろそろ認識を改めた方がよいかもしれません。Azureでは新規に立ち上げられる仮想マシンのOSの40%がLinuxベースだともいわれており、また、マイクロソフト自体が2016年にはLinux の普及をサポートする非営利のコンソーシアムである The Linux Foundation のプラチナメンバーになるなどOSSへの貢献を続けています。

結果、Azureでの稼働を確認し、対応を表明しているOSSも日に日に増え続けているのです。

またPaaS(Platform as a Service)やIaaS(Infrastructure as a Service)で速やかに開発環境・テスト環境を整えられるのはもちろん、既存のオンプレミスで動いているシステムと連携を取れるAzure Stackというサービスもあるので、段階的な移行を検討している場合にも優しいサービスがそろっています。

DevOpsは目的ではなく手段

このようにAzureとDevOpsの組み合わせは、サービスのリリースサイクルを早め、市場に対して常に先手を打つ攻めの姿勢を取るためには有効な開発スタイルです。

そこで、DevOpsを導入するためにはどうしたらよいか知りたい、具体的に検討を進めたいという方は、ぜひ以下のリンクからホワイトペーパーをダウンロードしてみてください。DevOpsを現場で活かすために役立つことが記されています。

資料ダウンロードはこちらから!

photo:Thinkstock / Getty Images