【書評】The DevOps 逆転だ!究極の継続的デリバリー

この本は、システムを開発する人・運用する人にとっては必見でしょう。

少し前から流行っているDevOpsという概念をちゃんと理解しようと、一冊読んでみました。そしたら、やはりDevOpsってこれからのシステム開発・運用に必須なんだなってことがよく理解できましたよ。

 

システムに存在する「変化したい人」と「変化したくない人」の対立

情報システムでは、一般的に「開発」と「運用」という2つの大きなフェーズが存在します。「開発」がシステムを作り上げる役割で、「運用」は作り上げられたシステムが正常に動くために必要な作業を実施します。

そして、システムは運用が始まった後でも、継続的に変更を加える必要があります。不具合の修正、顧客ニーズに応えるためなど、様々な理由があります。

このとき、既に動いているシステムに変更を加えることになるのですが、それが「開発」と「運用」の対立を生じさせます。

情報システムは様々な構成要素で作られており、些細な変更であっても、システムに影響を及ぼす可能性があります。そのため、慎重にテストや準備を行ってから、変更を反映したいと考えます。これが「運用」側の立場です。

一方でシステムを変更したい「開発」側としては、不具合が発生していたり、顧客との競争に負けてしまうことを恐れて、早く変更を反映したいと考えます。

この対立は、「変化しない方が安定的にシステムが動く」という事実と、「変化を加えてサービスを改善しないと顧客が離れる」というビジネスデマンドとの矛盾から生じている、根が深いものです。

 

SIerのビジネスモデル

上記を反映して、旧来型のSIerのビジネスモデルでは、「2年かけて開発して、5年運用する」というようなフェーズを明確に分けた契約が行われてきました。また運用中は、四半期に一度の小さな変更を加えるなど、比較的小さめな変化に止めていました。

こういう形だと、開発した後は大きく変化できないというデメリットが生じることになります。変化のスピードが早くなっている昨今で、数年同じシステムが使われることになるのは、企業の競争優位性を低下させることにもなりかねません。

 

1時間に1000回変更を加える驚異的なAmazon

一方で、クラウドサービスや新しい技術の登場で、全く別のシステム管理をする企業が登場してきました。Amazonは頻繁に自社のサイトやシステムに変更を加えており、多いときは1時間に1000回変更を行うこともあります。

Amazon.comでは11秒ごとに新しいコードがデプロイされている。そして最も多いときで1時間に1079回デプロイが行われた。これには機能追加だけでなくバグフィクスなども含まれるが。平均で1万、最大で3万ものホストがデプロイを受け取る。

Amazonは1時間に最大1000回もデプロイする。クラウドネイティブなデプロイとはどういうものか? AWS re:Invent基調講演(Day2 AM) - Publickey

 

なぜこれを実現できるのかといえば、多くの要因は「自動化」にあります。ITはすごい自動化が進んでいるというイメージを持っている人もいるかもしれませんが、意外にマンパワーに依存している部分はまだまだ多く存在しており、それが故に機動的な情報システムを実現できない場合があります。

しかし、システムに変更を加えるための作業を自動化することで、様々な人的作業を削減し、安全かつスピーディに情報システムに変更を加えることが可能になるのです。

 

DevOpsの根幹にあるのは「ザ・ゴール」

今回読んだ「DevOps」は小説形式で書かれているのですが、そのエッセンスは「ザ・ゴール」にあります。

 

生産管理の名著として知られる「ザ・ゴール」が本書の中で登場した時は懐かしいなと思いましたが、同時に「生産管理の考え方(制約理論やスループットなど)が、情報システムにも当てはまるのかな?」とやや疑問でした。しかし、原理を突き詰めていくと、工場とITシステムで行われていることが、ビジネスに対して同じように捉えることができるのがわかり、とても驚きました。ITでも、スループットを向上させ、ビジネスに貢献することを明確に示すことができるのですよ。

 

これから情報システムが本当にビジネスに貢献するためには、「安定と迅速な変化」を両立させる必要があります。それがこのDevOpsにあるのです。

というわけで、システムを管理する立場にある人は、一読すると良いでしょう。読みやすい本ですし。