ITインフラストラクチャの自律化とは?
現在のクラウドコンピューティングやネットワークコンピューティングを、ITインフラストラクチャ面で支える技術として、「自律化(Autonomous)」が注目を集めています。ITインフラの自律化は、ITインフラ自身が常にステータスをチェックして、変化する状況に適応する仕組みです。
例えば、負荷増大や障害発生、セキュリティ侵害などを察知し、自己構成や自己修復などの動作を自動的に実行します。本稿では、インターネットにおける自律システム(Autonomous system)との混同を避けるため、ITインフラの自律化という言葉を用いています。
図1:インフラ自律化の例
まずは、自律化がにわかに注目を集めるようになった時代背景を振り返ってみましょう。ハードウェアの側面では、インフラ構成の複雑化に対応するために、20世紀末ごろから脳の仕組みを応用するという研究がなされました。インフラ自律化の萌芽(ほうが)は、2001年3月のIBMによるAutonomic Computingの提唱にさかのぼります。
当時は、Self-configuring、Self-healing、Self-optimizing、Self-protectingの4要素を機能としました。その後、2000年代においてはサービスプロバイダーからの発表が相次ぎました。当時の代表格として、IBMのAutonomic Computing、Hewlett-PackardのHP Utility Data Center、Sun Microsystems(現Oracle)のN1などが挙げられます。
一方で、ソフトウェアの側面においても、インフラ構成の複雑化に対応するために自律化の潮流が現れました。現在のコンフィグレーションツールの原型となったCFEngine(1993年, Mark Burgess氏)の登場以来、継続的なソフトウェア開発手法を土台としつつ、さらに開発に運用を含めた継続的な改善を続けるにはどうしたらいいかを、インフラ従事者の誰もが悩み続けていました。
エポックメイキングとなったのは、2008年から2009年に掛けてのDevOpsの取り組みです。例えば、O'Reilly Media主催の技術カンファレンス「Velocity 2009」においてJohn Allspaw氏らの講演「10 Deploys per Day - Dev and Ops Cooperation at Flickr」が注目を集めました。また、DevOpsをテーマにしたイベント「Devopsdays Ghent 2009」では、ITコンサルタントのPatric Debois氏が開発と運用の自動化について語っています。ここから、ソフトウェア面での企業のIT業務における開発と運用の間に生じていた溝を埋める活動が全世界の共感を生み、オープンソースソフトウェア(OSS)によるインフラ自律化の機運が高まりました。
表1:ITインフラの自律化を支えるOSSの例
このような時代背景を踏まえて、ITインフラの自律化は、ハードウェア面とソフトウェア面から段階的に醸成され、現在のクラウドやネットワークのITインフラを支えるのに十分な技術要素が整ったと筆者は考えています。なお、自律化という観点では、「Robotic Process Automation(RPA)」という潮流があります。RPAは業務の自律化に端を発しているという点でインフラ自律化とは一線を画していると考え、本稿ではITインフラの自律化を中心に解説しています。