160809 Arckitecture

写真拡大

数年前から「サーバレス」や「Lambda」、「NoOps」といった単語が広まっている。2011年に大きな話題を呼んだレポートの存在を知らない人はいないだろう。さて、一部のビジネスオーナーたちが開いているカクテルパーティでは、そろそろこういった考えを見直すべき時が来るのではないかと噂されているらしいが、本当にそんな時は来るのだろうか?

いいや、来ないだろう。

電気が産業革命にとって欠かせない要素であったように、サーバレスアーキテクチャも企業にとって無くてはならない重要なものである。

サーバレスアーキテクチャは、エンジニアがシステムの「運用」ではなく「ビジネス」に注力できるようになる画期的な試みだ。トースターやiPhone、冷蔵庫を電源につなぐような感覚と同じレベルの手軽さで、その処理能力を我々に提供してくれる。産業革命を支えてきたものは水車から水蒸気、電気と変遷してきたが、ソフトウェアの場合は専用サーバからクラウドコンピューティング、サーバレスという変遷を辿るだろう。

水蒸気や石炭の力を手に入れるまでの間、人一人が集めることのできるエネルギー以上の電気を生み出すために人々は自然の力を利用していた。たとえば、水車である。かつて人間は、水の力、川の力を利用して電力を生み出していたわけだが、私はこれと現在のサーバ企業が“身動きの取れないデカブツ”的な意味で似た役割を果たしていると考えている。

 

サーバ企業は今日における「水車」だ

商売にもシステム開発にも、何事にも「流れ」というものがある。その流れの始まりの部分を担っているのが、現在のサーバ企業だ。

ソフトウェアで商売をしようと思えば、まずデータセンターが必要となるだろう。また、そこには自分の会社のラベルの貼られた機材が必要であり、それを動かせる人も必要だ。新しいプロジェクトともなれば、それに伴うサーバも必要となる。どの道を進もうと多くの時間を必要とするのは目に見えている。欲しくなったときすぐに水車を用意できるだろうか? いや、できない。サーバの予算を組み、実際に購入し、サーバを構築してようやく運用できるようになるのだ。

水蒸気発電と石炭発電が開発、実用化されたとき、製造における生産性が飛躍的に上がった。動力源となるものは、もう水車のように身動きの取れない状況にない。どこでも調達でき、これまでよりもずっと多くのエネルギーを少ないリソースで生み出すことができるようになった。かつてFordは、イリノイ州に一日数百台の車を生産できる、巨大なリバー・ルージュ工場を建設した。AWSは、それと同じような道を「Webサービス」を売りだした際に歩んでいる。

コロケーション施設にサーバをおいていた昔とは状況が異なり、現在はAWSがこれに代わっている。これで別のサーバが必要になったとしても問題ない。昔のようにモノが届くのをひたすら待つ時代は終わったのだ。

「自分がやらなくても誰かがハードウェアを運用してくれる現在、エンジニア兼オーナーの私はかなり助かっている。何も待つ必要がないだけでなく、かつてフルタイムで正社員を雇って数ヶ月かけていた作業は、より早く、より安価に行えるようになった」と元OpsCode、TripIt、現在はChairishのCTOを務めるアンディー・デンマーク氏は語る。

産業革命の最終的な波は、電気であった。かつてのFordは、自社の車生産のための発電所を所有していたが、いまや工場は自分たちでそこに発電所を作り、何千マイルもの距離をへて電気を得ることができるようになった。

 

サーバレスは極めて「自然的」な帰結である

サーバレスへの移行もこれと同じことだ。エンジニアたちはどのサーバでコードが実行されるのかを気にせず、APIを投げ込むだけで済む。AmazonのLambdaでは、AWSのインスタンスのことを気にすることなく、ただそのインフラ上で機能を実行するだけだ。どのサーバで実行されるかを気にする必要はない。

「小さな非営利団体であるWordnik.tにとって、AWSのLambdaは非常に助かる。たとえば、Ed-Tech系クライアントのために大規模なAPIの試作を最低限のコストと開発時間で行うことができるようになった。テスト用にAPIを数百回程度呼ぶためだけに年中サーバを立ち上げ続けずに済む」と、Wordnik.tのCEOであるエリン・マッキーン氏は言う。

サーバレスアーキテクチャがビジネスに与える影響とはなにか? つまり、サーバの運用を誰かに任せ、ソフトウェアとハードウェアの管轄を完全に分けてしまうことで、ことをより早く上手に運べるようになるということになる。

「サーバを自前で用意せず、マネージドサービスを活用してシステムを構築する」。もしこれが何やら厄介なものに思えるようであれば、自分のビジネスのコアコンピテンスがサーバの運用であるのか、それともソフトウェア開発であるのかを考えてみてほしい。少ない負担で結果を大きくしたいのか? それともハードウェアを運用したいのか?

当然だが、自分たちでサーバを維持することに意味がある企業も少なからず存在する。そして、レガシーソフトウェアをサーバレスアーキテクチャに移行するのは簡単にはいかないだろう。日本においてもかなりのレガシーシステムを刷新する必要がある。かなりの労力が必要となるが、時間はあまり残されていない。

しかし、サーバレスはアプリケーションのビジネス価値をつくり上げる正しい方法であり、それはあたかも電話を電話線に繋ぐかのように簡単に行うことができるのだ。重い腰を上げるのは大変かもしれないが、一気に身軽になれるチャンスである。しない手はない。

ReadWrite[日本版] 編集部
[原文4]