インフィニティソリューションズ株式会社ブログ

今後ソフトウェアとアプリはサーバレスに向かう!?

クラウドが広まるにつれて、自社でサーバを持たずシステムを運用することができるようになってきた。実際、当社も自社内にはサーバを持たず、クラウドに依存している。一方社内にサーバを持って運用している会社は多々ある。今後はどのようになっていくのか。ReadWriteWebによれば、サーバレスに向かうのだという。

Why The Future Of Software And Apps Is Serverless(何故ソフトウェアとアプリの将来はサーバレスなのか)

今やコンピュータリソースはオンデマンドで時間単位で利用できるようになっている。

‘This shift in timeframes and pricing is still in motion. Thinking about servers in terms of hours is really just a business construct. It makes sense from a pricing standpoint and from an architectural perspective.’

「タイムフレームと価格に関するこのシフトは、まだ動いている途中だ。時間単位でサーバのことを考えるのは実際ビジネス上の組み立てだ。価格とアーキテクチャの観点から意味があることだ。」

‘Web app teams typically look at loads across hour-long time slices and plan to scale based on these traffic patterns.’

「ウェブアプリチームは時間単位のスライスで負荷をみて、そのトラフィックパターンに基づいて計画を立てる。」

(Cited from ReadWriteWeb)

‘They can now autoscale or provision for more servers at particular times of day under heavy loads or if an app is growing in popularity.’

「今や一日のうちで負荷が高い時やアプリの利用が増えている場合には、より多くのサーバを使えるよう自動スケールしたり、プロビジョンすることができる。」

‘But this works only when you look at the world in terms of applications and blocks of servers to host them. The concept of an “application” in the cloud is quickly evolving.’

「しかしこの形は、アプリケーションとそれをホストするサーバのブロックの観点から見た場合にのみ意味がある。」

‘The monolithic application built on Ruby on Rails, Python and Django, or other Web app frameworks is giving way to a distributed system spread across a number of applications, processes and data stores. It’s no longer about building a “Web app.” It’s about building a distributed system of loosely coupled components in the cloud.’

「Ruby on Rails、Python、Django、あるいはその他のウェブアプリのフレームワークで構築された単一アプリはいくつものアプリケーション、プロセス、データストアにまたがった分散システムになっていく。もはや「ウェブアプリ」を構築するのではなく、クラウド上で疎結合されたコンポーネントからなる分散システムを構築することになるのだ。」

‘An increasing number of applications – mobile apps and systems of connected devices, for example – aren’t based on the notion of a server-based application. There are client apps and back-end data storage, but the processing is increasingly taking place asynchronously outside of an app framework. Runtime apps are often used to process all the inputs but that’s only because mobile compute clouds and processing tiers are only now coming on the scene.’

「ますます増加するアプリケーション、例えばモバイルアプリ、接続されたデバイスのシステムなどは、サーバベースのアプリケーションという概念には基づいていない。クライアントアプリやバックエンドのデータストレージが存在するが、処理はますます非同期でアプリのフレームワーク外で発生するようになる。ランタイムアプリは全てのインプットを処理することが多いが、それはモバイルのクラウドや処理層が登場しつあるところだからだ。」

‘When you think about sites that monitor prices in real-time across hundreds of retail sites or ones that process purchases, views, clicks, checkins and other indicators of interest to provide personalized recommendations, the processing and orchestration at the core of the application lies behind the scenes – the front-end app is just the delivery vehicle.’

「数百の販売サイトの価格をモニターするサイトや、購入、参照、クリック、チェックイン、その他、パーソナル向けのレコメンデーションに関連した指標を処理するサイトを考えれば、そのアプリケーションのコアの処理や統合は見えないところだ。フロントエンドのアプリはただ、それを届けるだけのものだ。」

‘But this changing focus doesn’t map so well into the world of applications and servers. Developers working in a distributed world are hard pressed to translate the things they’re doing into sets of servers. Their worldview is increasingly around tasks and process flows, not applications and servers – and their units of measures for compute cycles is in seconds and minutes, not hours. In short, their thinking is becoming serverless.’

「ただ、このフォーカスの変化は、アプリケーションとサーバの世界にうまくマッチしない。分散の世界で生きている開発者は、やっていることをサーバ群に翻訳するよう強いられている。この世界観はアプリケーションやサーバではなく、タスクやプロセスフローに出てきている。計算サイクルの単位は秒や分であって、時間ではない。早い話が彼らの考え方はサーバレスになってきているのだ。」

‘The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that developers no longer have to think that much about them. Computing resources get used as services without having to manage around physical capacities or limits. Service providers increasingly take on the responsibility of managing servers, data stores and other infrastructure resources. Developers could set up their own open source solutions, but that means they have to manage the servers and the queues and the loads.’

「『サーバーレス』の言葉は、サーバが関与しないということを意味しているのではない。単に開発者はもはやサーバのことを大して考えなくて良いということだ。コンピュータリソースは、物理的な容量や制限を管理することなく、サービスとなった。サービスプロバイダはますますサーバ、データストア、その他インフラのリソースを管理する責任を負う。開発者は独自にオープンソースのソリューションでセットアップできるが、それは自身でサーバ、キュー、負荷を管理しなければならないことを意味する。」

‘Multiply this effort by the number services an app might consume (task processing, message queues, SMTP servers, payment services), hosted services quickly start to look like the future of computing.’

「この動きがアプリが利用するサービス(タスク処理、メッセージキュー、SMTPサーバ、決済サービスなど)で行われていくと、ホストサービスはコンピューティングの将来像に見えてくる。」