サーバーレスコンピューティングとは

サーバーレスコンピューティングは、技術メディア、技術展示会、業界カンファレンスで注目を集めています。「サーバーレス」の概念は 2006 年から存在しますが、比較的新しいコンセプトです。多くの人々が、サーバーレスはコンピューティングモデルの自然な進化であると考えています。本記事では、サーバーレスコンピューティングの主要な概念を解説し、Alibaba Cloud のイベント駆動型フルマネージドコンピューティングサービスである Function Compute を紹介します。

コンピューティングモデルの進化

過去数十年にわたり、エンタープライズ IT は物理サーバーから仮想マシン、そしてコンテナ化技術へと急速に進化してきました。
コンピューティングの最初の世代は Von Neumann アーキテクチャに基づき、固定プログラムを採用していました。これらのプログラムは通常、実行するハードウェアと密接に結合されていました。ディスクベースのストレージに移行するにつれ、オペレーティングシステムは実行するハードウェアへの依存度が低くなりました。しかし、ソフトウェアアプリケーションは「モノリス」のようになり、ユーザーインターフェースとデータアクセスのコードが 1 つのプラットフォーム上で動作する単一のプログラムに統合されていました。これらのモノリスは自己完結型であり、機能の変更には大規模な改修が必要でした。オペレーティングシステムのハードウェアへの依存度は低下した一方で、アプリケーション自体は特定のオペレーティングシステムへの依存度が高まりました。2000 年代初頭、新しいアプリケーションを起動する際には、まず新しいサーバの購入を計画する必要がありました。つまり、物理サーバがアプリケーションの構築単位だったのです。
2001 年頃、ハードウェアがコモディティ化し (特に x86 ベースのアーキテクチャ)、仮想化技術が急速に普及し始めました。VMWare などの企業が広めたハイパーバイザーソフトウェアにより、仮想マシンを簡単に作成できるようになりました。1 台の物理デバイスで多数の仮想マシンを実行できるようになったことで、物理サーバーを購入する必要性が減り、アーキテクチャの基本構成単位は物理サーバーから仮想マシンへと移行しました。
仮想化によりマシンの運用が容易になりましたが、仮想ディスクイメージは非常に大きく扱いにくく、変動するコンピューティングワークロードが必要とするスケールには対応しにくいものでした。コンテナ技術はオペレーティングシステムレベルの仮想化を実現し、より軽量な代替手段として登場しました。その過程で、他にもいくつかの重要な発展がありました。主なものを紹介します。
  • 2009 年:Heroku は Platform as a Service を普及させ、ビルドパックによるコンテナ化された 12 ファクターアプリケーションを実現しました
  • 2010 年:OpenStack は非常に多様なベンダーを集結させ、オープンソースの Infrastructure as a Service を創出しました
  • 2011 年:オープンソース PaaS である CloudFoundry は、同様のツールと共に、アプリケーション開発ライフサイクル全体での継続的デリバリーを支援し、DevOps の推進を加速しました。Cloud Foundry のコンテナベースのアーキテクチャは、さまざまなクラウドサービスプロバイダー上で任意のプログラミング言語のアプリケーションを実行しました
  • 2013 年:Docker(LCX、Union ファイルシステム、cgroups を組み合わせた)はコンテナ化の標準規格を確立し、開発者コミュニティに瞬く間に普及しました

What is serverless

まとめると、コンテナ化技術により、マイクロサービスベースのアーキテクチャの構築とデプロイが容易になり、さらなる疎結合と大幅なスケーラビリティの向上を実現しました。
サーバーレスコンピューティングは、コンピューティングモデルの自然な進化形です。これらの概念について詳しく見ていきましょう。

サーバーレスの主要な課題

コンテナ技術を使用しても、依然として多くの課題が残っています。その中には以下が含まれます。
  • 容量計画は容易ではありません。インフラストラクチャエンジニアは、CPU、メモリ、ネットワークや I/O 帯域幅の要件など、どれくらいの数やサイズ、どのマシンタイプを設定する必要があるかを事前に計画する必要があります。過大評価はコスト増加につながり、過小評価はビジネスに悪影響を及ぼす可能性があります。
  • マシンレベルの自動スケーリングは煩雑です。スケールアウトに数分かかる場合もあり、リアルタイムの自動スケーリングと負荷分散の管理には多大な計画策定が必要です。
  • フォールトトレランス、運用、保守についても同様の課題が存在します。
これらの課題の一部は、オープンソースや商用のソリューションで対処できますが、依然としてリソースのコミットメントが必要であり、特に中小企業にとっては容易に実行できるものではありません。
サーバーレスコンピューティングでこれらの課題をどのように解決できるかを見ていきましょう。

サーバーレスコンピューティング

サーバーレスアーキテクチャは、FaaS (Functions as a Service) や BaaS (Backend as a Service) とも呼ばれ、ステートレスで一時的なコンテナを介してアプリケーションを実行します。コンテナはイベントが発生し、アクションの必要性がトリガーされた瞬間に作成されます。つまり、イベント駆動型です。アプリケーションは 1 つまたは複数の関数としてバンドルされ、プラットフォームにアップロードされた後、その時の需要に応じて実行、スケーリング、課金されます。サーバーレスとは「サーバーがない」という意味ではありません。インフラストラクチャのオーケストレーションの詳細がユーザーから見えないよう隠され、サーバーレスプラットフォームプロバイダーが管理しているということです。

What is serverless

サーバーレス技術の主な特徴には以下が含まれます。
  • サーバーレスコンピューティングで DevOps を簡素化 サーバーレス技術の主な利点の一つは、サーバーを意識せずにアプリケーションやサービスを構築・実行できることです。サーバーレスコンピューティングでは、プロビジョニング、スケーリング、サーバーの詳細管理が不要になります。開発者はインフラストラクチャの管理から解放され、ビジネス機能の構築に集中できます。サーバーレスは、ほぼあらゆるタイプのアプリケーションやバックエンドサービスに適用できます。
  • 第二の利点は、サーバーレスがマイクロサービスベースのアーキテクチャに最適であることです。各サービス間の高い疎結合性を実現し、マイクロサービスベースのアーキテクチャ開発を促進します。ロールバックも簡素化され、継続的なロールアウトに基づくアーキテクチャの開発を大きく支援します。
  • 第三に、サーバーレス技術は従量課金を実現し、実際に消費したリソースに対してのみ課金されます。コンピューティングコストについても、実際に使用したコンピューティングリソースに対してのみ課金されるため、従来のコンピューティング手法よりも大幅にコストを削減できます。
  • 高可用性が自動化され、標準で組み込まれます
サーバーレスコミュニティは急速に成長しており、サーバーレスコンポーネントを使用した Web、モバイル、データ処理のバックエンドが数多く構築されています。サーバーレスアプローチを活用する一般的なユースケースには、チャットボット、ビッグデータ処理、機械学習IoT などがあります。

Alibaba Cloud Function Compute のご紹介

Alibaba Cloud は、開発者がサーバーレスの取り組みを始めるために必要なツールをすべて提供しています。中核サーバーレスプロダクトである Function Compute は、あらゆる規模の企業の俊敏性を飛躍的に高め、運用コストを削減し、経営リソースをビジネス上重要な成果に集中させることができます。Function Compute のほか、ストレージ、分析、メッセージングなど、多くのクラウドプロダクトがサーバーレスで提供されています。たとえば、Alibaba Cloud が最初にリリースしたクラウドサービスである Object Storage Service (OSS) は、サーバーレスストレージサービスです。ユーザーは基盤サーバーでのデータ保存方法を意識する必要がなく、実際に消費したストレージリソースに対してのみ課金されます。

What is serverless

Alibaba Cloud の Function Compute は、イベント駆動型のフルマネージドコンピューティングサービスです。Function Compute を使用すると、管理のオーバーヘッドを気にすることなく、あらゆるタイプのアプリケーションやサービスを迅速に構築できます。Function Compute はコンピューティングリソースを自動的に確保し、コードを弾力的かつ安定的に実行します。
Function Compute は、ログ検索、パフォーマンスモニタリング、アラートなどの機能を提供します。実際に消費したリソースに対してのみ課金される従量制で、実行されなかったアプリケーションコードには料金が発生しません。
Alibaba Cloud の Function Compute プロダクトの詳細や、サーバーレスコンピューティングを活用した一般的なシナリオについては、こちらのリンクをご覧ください。

関連記事

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.