From cloud computing to function computing

Function Compute:その名の所以

クラウドコンピューティングとは、インターネットベースのコンピューティング方式で、共有されたソフトウェアおよびハードウェアリソースと情報を、サービスプロバイダーのインフラストラクチャをコンピューティングリソースとして利用し、さまざまな端末やデバイスにオンデマンドで提供できる仕組みです。そのため、「クラウド」で「ネットワークコンピューティングリソース」を指すのは非常に適切な比喩と言えます。

米国国立標準技術研究所 (NIST) は、クラウドコンピューティングにおける 3 つのサービスモデルを定義しています。すなわち、Software as a Service (SaaS)、Platform as a Service (PaaS)、Infrastructure as a Service (IaaS) です。

Alibaba Cloud のプロダクトは、これら 3 つのサービスモデルを完全にカバーしています。一例を挙げると、Itachi (SaaS アクセラレータ)、Function Compute (FC)、Elastic Compute Service (ECS) です。

PaaS を基盤としながらも PaaS とは一線を画すサーバーレスコンピューティングサービスは、Function as a Service (FaaS) と呼ばれることが多くなっています。Function Compute FC は、Alibaba Cloud のイベント駆動型フルマネージドサーバーレスコンピューティングサービスプロダクトです。Function Compute という製品名は、まさにこのようにして生まれたと言えるでしょう。

Function Compute:アプリケーションのコアに迫る

アプリケーションのコアはロジックとストレージであり、コードは主にビジネスロジックを実装し、データは永続化されます。

Function Compute FC の全体像は FaaS + BaaS です。

ここで言う関数とは、ビジネスロジック部分を含む計算関数を指し、FaaS が実装を担当します。データの永続性、メッセージプッシュ、アカウントシステムは BaaS が実装します。

ECS か FC か

Serverless サービスはサーバーがなくなるわけではありません。新しいアーキテクチャとして、従来のアプリケーション保守作業をさらに削減するものです。

クラウドサーバーベースの一般的な Web サービスを例にとると、一般的に次のようなプロセスがあります。

サービス提供の過程で、サーバーにはルーティング規則、認証ロジック、その他さまざまな複雑なビジネスコードが関与します。同時に、開発チームは開発に集中するだけでなく、サーバーの運用保守にも多くのエネルギーを費やす必要があります。たとえば、次のような問題に常に注意を払う必要があります。

・サーバーのパフォーマンスは突発的なユーザーリクエストに対応できるか、拡張はいつ行うのか

・サーバー上のスクリプトやビジネスコードは健全に稼働し続けているか

・外部からのネットワークセキュリティ脅威に対してデータセキュリティをどう確保するか

こうした多くの問題に直面すると、確かに大きな頭痛の種になります。しかし、サーバーベースのアーキテクチャから Serverless アーキテクチャに切り替えると、サービス提供のプロセスは次のようになります。

クライアントとデータベースが変更されない場合、サーバー側は Serverless アーキテクチャになります。分業に大きな変化が生じます。

たとえば、以前は開発チームが保守する必要があったルーティングモジュールと認証モジュールは、サービスプロバイダーが提供する API Gateway システムと認証システムに接続されます。開発チームはこの 2 つの部分のビジネスコードを保守する必要がなくなり、関連するルールを継続的に保守するだけでよくなります。アプリケーション構築を気にする必要はもうありません。ビジネスコードは関数粒度に分割され、異なる関数が異なる機能を表します。リクエスト量に応じてミリ秒レベルの拡張も可能です。ビジネスロジック以外のセキュリティやリソーススケジューリングの問題は、すべてクラウドベンダーが処理します。

開発と保守の容易さに加え、具体的な実装コストの面でもコスト削減と効率向上を実現できます。従来のプロジェクトサービスの 24 時間 365 日の稼働と比べて、Function Compute FC はイベント駆動型に基づいており、ユーザーがリクエストを発行したときにのみ関数がアクティブ化され実行されます。実行コストは使用量に応じて課金され、Savings Plan と比べても大幅なコスト優位性があります。

Function Compute FC:生産力を解放し、アプリケーションのビジネス自体にさらに集中

クラウドサーバーを使用することで、物理マシンルームやオペレーティングシステム層以下の運用保守を心配する必要がなくなりました。Function Compute FC を使用すると、オペレーティングシステムのインストール、コンテナ設定、ランタイム環境の構築が不要になり、環境プログラムのダウンを心配する必要もなくなりました。

Function Compute FC のサーバーレスアーキテクチャを採用した後、ユーザーはアプリケーション関連の関数のみを運用保守すればよく、ECS アーキテクチャの下で気にすべきことは 1 つだけ残ります。

Function Compute は全く新しい技術革命のようです。Function Compute FC の Serverless アーキテクチャを使用すると、

開発チームはサーバー自体を保守する必要がなくなり、サーバーのさまざまなパフォーマンス指標やリソース使用率を心配する必要もなくなります。チームの運用保守はアプリケーション自体の指標のモニタリングにさらに集中できます。

アプリケーションのデプロイは非常に簡単になります。基本的なコードをアップロードするだけでよく、Puppet、Chef、Ansible、Docker を使った構成管理が不要になり、運用保守コストが大幅に削減されます。

まとめると、従来のプロジェクトと比べて、Function Compute FC には以下のメリットがあります。

・ユーザーはサーバーなどのインフラストラクチャを購入・管理する必要がなく、運用保守コストが低く、セキュリティも高くなります。(クラウドサーバーのメリットを包含します。)

・ユーザーはビジネスロジックの開発にのみ集中し、Function Compute がサポートする開発言語でアプリケーションコードを設計、最適化、テスト、レビュー、アップロードできます。ワークフローと組み合わせることで、コードのコミットが自動的にデプロイされ、直接実行されます。

・Function Compute FC はイベント駆動型でユーザーリクエストに応答してアプリケーションをトリガーします。Alibaba Cloud の Object Storage Service (OSS)、API Gateway、Log Service、Table Store などのサービスとシームレスに統合でき、迅速なアプリケーション構築に役立ちます。

・運用保守を簡素化し、ログクエリ、パフォーマンスモニタリング、アラームなどの機能を提供して、障害のトラブルシューティングを迅速に行えます。

・パフォーマンスの問題を心配する必要がありません。アーキテクチャはさらに弾力的で、ミリ秒レベルのエラスティックスケーラビリティを備え、ピーク時の負荷に対応するための迅速なスケールアウトが可能です。

・使用コストが低く、オンデマンドで課金され、100 ミリ秒単位の課金をサポートします。実際に使用したコンピューティングリソースに対してのみ課金され、トラフィックのピークと谷が明確なユーザーアクセスシナリオに適しています。

Function Compute FC は、クラウドコンピューティングの「クラウドのような」ビジョンを真に実現しているように思えます。リソース使用率の最大化、アイドルリソースの無駄削減という環境理念と、学習コストと使用コストの削減という実用ニーズを見事に体現しています。

このような素晴らしい Function Compute をどう体験するか

Function Compute FC は、ランタイム環境、開発者ツール、関数トリガーなどの機能を提供します。同時に、Function Compute FC は無料実行回数 100 万回、無料リソース使用量 40 万 GB 秒を提供します。スモール規模のオンライン利用では、パブリックネットワークのトラフィックなどのリソースに対してのみ課金すれば済みます。

Function Compute の作成で最も一般的な方法は、コンソールでサービスと関数のサブページに入り、順次サービスと関数を作成することです。1 つのサービスは複数の関数で構成でき、1 つの関数は 1 つのサービスにのみ属することができます。

もちろん、Alibaba Cloud は Function Compute コンソールにワンクリックのアプリケーションページを提供しており、テンプレートやリポジトリからのインポートを通じて作成できます。

現在、パブリックベータのテンプレートセンターには、公式およびコミュニティソースの合計 56 個のアプリケーションまたはフレームワークテンプレートがあり、覆盖面は非常に広くなっています。公式ドキュメントのガイドに従えば、ゼロベースで FC アプリケーションを作成することが可能です。

複雑なものからシンプルに、長いものから短く

実践:Node.js + Serverless ベースの Web 短縮 URL リダイレクト

主な機能:

長短リンク間のマッピングを実現します。

概要:

ユーザーは指定された URL に対応する短縮リンクを作成できます。

ユーザーが短縮リンクにアクセスすると、対応する URL に自動的にリダイレクトされます。

前述の通り、Function Compute FC を使ったアプリケーション構築は一般的に FaaS + BaaS です。以下の実践プロジェクトでは BaaS データベースの使用を含み、便宜上クラウド開発プラットフォームを使ってアプリケーションを構築します。

アプリケーションのアーキテクチャ図は以下の通りです。

リソースの準備:

クラウド開発プラットフォームへの登録と、以下のサービスの有効化が必要です。

・API Gateway

・Function Compute

・Object Storage Service

・Log Service

・MongoDB Serverless インスタンス

データベース部分:

・MongoDB Serverless Edition を購入します。

・コレクションの新規作成は、テーブルの新規作成に相当します。コレクション links と logs を作成します。

・プログラムコードで Serverless インスタンスに接続し、フロントエンドの静的ページを完成させた後、ドメイン名をバインドしてオンラインテストを行うことができます。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

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