もう70年以上前の1943年、当時IBMの社長を務めていたThomas J. Watson氏は、聴衆に対して「コンピュータの世界的な市場規模は5台程度だろう」と発言したとされている。実はWatson氏が実際にこの発言をしたという確証はないのだが、これは史上もっとも悲観的な未来予想の1つだったと言えるだろう。
しかし結局のところ、コンピュータは社会のあらゆる場所で使われるようになった。
この発言が誰のものかはさておき、当時のコンピュータは真空管を使った巨大な機械であり、非常に巨大な問題を解くために設計されていた。それから見れば、現在の社会のあらゆる場所に散らばるコンピュータは、世界中のデータセンターで構成されるハイパースケールクラウドを基盤に構築されつつある、新しい惑星のようなコンピュータの辺縁にある延長部分にすぎない。
そしてもし、その新しい視点から世界を見れば、本当に重要なコンピュータは5つしかない。Amazonの「AWS」、Googleのクラウド、Microsoftの「Azure」、Facebook、そして(おそらく)Baiduだ。
その他のものの大部分は、それらのハイパースケールシステムをポケットの中やデスクの上、あるいはプライベートクラウドに延長したものであり、それ以外のものも、近い将来にそうなるだろう。
これが、従来のソフトウェアの作り方が破綻し始めている原因だ。
何十年も使ってきた、同期を前提とした手続き型の密結合コンピューティングモデルは、使えなくなるわけではないが、非効率的になっている。
この新しい惑星規模のコンピュータは、おなじみのPCやスマートフォンだけでなく、ウェアラブルデバイスや壁のスクリーン、Amazonの「Echo」から「Apple Watch」に至るまでのたくさんのIoTハードウェア、自動車のスクリーンなどの新しいエンドポイントとも結びついている。
この変化の1つの側面は、アプリケーションの実行場所はもはや問題ではないということだ。コンテナによってユーザー領域が仮想化されたおかげで、スマートフォンでも、PCでも、クラウド上のサーバでも同じコードを実行可能であり、最新のコアルータやスイッチでコンテナがサポートされているため、ネットワーク上でもコードを実行できる。コンピューティングやストレージだけでなく、クラウドの中心であるネットワークも仮想化されている。ユーザーインターフェースに柔軟なウェブの技術を利用できるため、どんなプラットフォームでも応答性の高いインターフェースが利用できる。
今クラウドと呼ばれているもののほとんどは、このような未来への足がかりにすぎない。IaaS(サービスとしてのインフラストラクチャ)は、われわれのアプリケーションをデータセンターから切り離すために重要なツールではあるが、そのモデルは過去15年間ほど使われてきたn階層モデルにすぎない。