The Ultimate Experience of Serverless Rapidly Deploying Functions
1. サーバーレス
1.1 サーバーレスの背景
クラウドコンピューティングの発展に伴い、従来の IT アーキテクチャや運用保守のあり方を変える多くの新技術が誕生しました。仮想マシン、コンテナ、マイクロサービスに代表される技術は、あらゆるレベルでクラウドサービスの技術力を向上させています。これらの技術により、アプリケーションや環境の一般的な機能をサービスとして提供できるようになりました。しかし、どこで適用されるかにかかわらず、企業の「コスト削減と効率化」を支援することは、技術革新の不変のテーマです。
サーバーレスアーキテクチャの登場により、飛躍的な変化がもたらされました。サーバーレスでは、ホスト管理、OS 管理、デプロイ、基礎ソフトウェアの運用保守、リソース割り当て、スケールアウト・スケールインはすべてクラウドベンダーが提供します。コンピューティング能力は、水道、電気、ガスのような公共サービスとして利用できるようになりました。つまり、サーバーレスサービスでアプリケーションを構築する場合、開発者はプロダクトコードに集中するだけでよく、クラウドサービスの動作環境の管理や運用から解放されます。コンピューティングリソースは、従来の「サーバー」を購入する形態から、対応する「サービス」を購入する形態へと移行しました。
Serverless = FaaS (Function as a Service) + BaaS (Backend as a Service)
サーバーレスの処理モデル:
1.2 サーバーレスの開発モード
サーバーレスでは、インフラの構築を伴わずにアプリケーションをデプロイでき、サービスのビルド、デプロイ、起動が自動的に行われます。ビッグデータアプリケーション開発を例に説明します。
従来の開発プロセスでは、まずビッグデータの用途に応じて、バックエンドのビッグデータプラットフォームの一連のコンポーネントをインストール・デプロイする必要がありました。データの収集、ストレージ、クリーニング、関連付けから、分析、マイニングに至るまで、全プロセスに関わるコンポーネントを準備します。その後ようやく、ビッグデータアプリケーションの開発に取り掛かることができました。アプリケーションの機能デバッグ、アプリケーションとプラットフォームのパフォーマンスチューニングを行い、最後にテストを経て本番公開します。さらに、ビッグデータプラットフォームの運用保守エンジニアがプラットフォーム全体を維持管理する必要もあります。このプロセス全体には複数のロールが関与し、ビッグデータプラットフォームの運用保守とチューニングには一定の技術的ハードルがあります。チューニングの効果は担当者の能力に大きく左右されます。優れたチューニング人材は、優秀なデータベース DBA と同様に、長期的なプロジェクト経験の蓄積が必要であり、重要な希少人材です。
サーバーレスに基づけば、すべてが非常にシンプルになります。クラウドベンダーはビッグデータコンポーネントの機能をサービスの形で提供します。従来の複雑なプラットフォーム構築プロセスから完全に解放され、ビッグデータアプリケーションのコードを記述してサーバーレスサービスにデプロイするだけでよくなります。今後、サーバーやビッグデータプラットフォームのコンポーネントの運用保守やチューニングに気を使う必要はありません。クラウドベンダーの専門チームが 24 時間 365 日のサポートを提供しています。そのため、ビッグデータアプリケーション開発エンジニアだけですべての作業を完結できます。もちろん、ビッグデータプラットフォームに関する一定の知見があれば、ビッグデータアプリケーション側のパフォーマンスチューニングにも大変有益です。少ない労力で大きな成果を得られることが多いです。
1.3 サーバーレスのコアバリュー
1. 運用保守の複雑さを軽減する
サーバーレスアーキテクチャはソフトウェアアプリケーションとサーバーを切り離し、サーバーはアプリケーション開発や運用の焦点ではなくなります。アプリケーションの本番公開前に、サーバーの台数や仕様を事前に計画する必要はありません。運用保守プロセスにおいて、特定のサーバーの状態を継続的に監視・維持する必要がなくなります。ユーザーはアプリケーション全体の状態だけに気を配ればよくなります。アプリケーション運用の全体的な複雑さが低下し、ソフトウェアアプリケーションの体験や改善、およびより高いビジネスバリューをもたらす領域にさらに集中できるようになります。
2. 運用コストを削減する
サーバーはユーザーが注目する管理対象のリソースではなくなり、運用の複雑さが軽減されます。アプリケーション運用に必要な時間と労力が大幅に削減されます。最適なケースでは、少数のアプリケーション管理者で、大量のリクエストを処理するアプリケーションシステムを管理できます。
3. 市場投入までの時間を短縮する
サーバーレスアーキテクチャでは、アプリケーションの機能はいくつかの粒度の細かいステートレスな関数に分解されます。関数間の境界がより明確になり、機能モジュール間の結合が大幅に低減されます。これにより、ソフトウェアアプリケーションの開発がより効率的になり、アプリケーション開発のイテレーションサイクルが短縮されます。
2. プロジェクト実践
2.1 Alibaba Cloud コンソールへのログイン
Alibaba Cloud の公式 Web サイトにアクセスした後、右上隅のログインボタンをクリックします。ユーザー名とパスワードを入力して、ダッシュボードにログインします。
2.2 Function Compute サービスへのアクセス
2.3 サービスの作成
サービス名を入力し、OK をクリックします。
2.4 関数の作成
関数名を入力し、ランタイムを選択して、作成をクリックします。ここでは Node.js 14 を例として使用します。
2.5 hello world のテスト
hello world の戻り値を確認します。テストをクリックすると、戻り値の結果が表示されます。
2.6 API Gateway の作成
Alibaba Cloud API Gateway サービスを見つけます。
グループを作成します。
グループ名を入力します。
API を作成します。
API 名を入力し、次へをクリックします。
HTTPS を選択し、ルートを入力します。
次へをクリックして、先ほど作成した Function Compute の関数を選択します。
リリースの説明を入力し、公開をクリックします。
グループ内で API Gateway の一時的なアドレスを見つけます。
Postman を使用して API を呼び出すことで、Function Compute の戻り値を取得できます。
3. まとめ
一般的に言って、社会が発展し成熟するほど、社会の分業はより明確になります。技術も同様です。長年の発展を経て、クラウドコンピューティングは、ユーザーがコアビジネスと必要なリソースだけに集中すればよい段階にまで進化しました。インフラストラクチャとプラットフォームはクラウドベンダーが一括して管理するようになりました。Alibaba Cloud のサーバーレスにより、サーバー側の運用保守や不慣れな領域に悩まされることなく、ビジネス開発とプロダクトの実現に専念できます。気にすべきことが減るということは、より多くのことを実現できるということです。サーバーレスアーキテクチャの台頭とともに、真のクラウドコンピューティング時代が到来したと言えます。技術の急速な発展に伴い、サーバーレスの将来には無限の可能性があります。
1.1 サーバーレスの背景
クラウドコンピューティングの発展に伴い、従来の IT アーキテクチャや運用保守のあり方を変える多くの新技術が誕生しました。仮想マシン、コンテナ、マイクロサービスに代表される技術は、あらゆるレベルでクラウドサービスの技術力を向上させています。これらの技術により、アプリケーションや環境の一般的な機能をサービスとして提供できるようになりました。しかし、どこで適用されるかにかかわらず、企業の「コスト削減と効率化」を支援することは、技術革新の不変のテーマです。
サーバーレスアーキテクチャの登場により、飛躍的な変化がもたらされました。サーバーレスでは、ホスト管理、OS 管理、デプロイ、基礎ソフトウェアの運用保守、リソース割り当て、スケールアウト・スケールインはすべてクラウドベンダーが提供します。コンピューティング能力は、水道、電気、ガスのような公共サービスとして利用できるようになりました。つまり、サーバーレスサービスでアプリケーションを構築する場合、開発者はプロダクトコードに集中するだけでよく、クラウドサービスの動作環境の管理や運用から解放されます。コンピューティングリソースは、従来の「サーバー」を購入する形態から、対応する「サービス」を購入する形態へと移行しました。
Serverless = FaaS (Function as a Service) + BaaS (Backend as a Service)
サーバーレスの処理モデル:
1.2 サーバーレスの開発モード
サーバーレスでは、インフラの構築を伴わずにアプリケーションをデプロイでき、サービスのビルド、デプロイ、起動が自動的に行われます。ビッグデータアプリケーション開発を例に説明します。
従来の開発プロセスでは、まずビッグデータの用途に応じて、バックエンドのビッグデータプラットフォームの一連のコンポーネントをインストール・デプロイする必要がありました。データの収集、ストレージ、クリーニング、関連付けから、分析、マイニングに至るまで、全プロセスに関わるコンポーネントを準備します。その後ようやく、ビッグデータアプリケーションの開発に取り掛かることができました。アプリケーションの機能デバッグ、アプリケーションとプラットフォームのパフォーマンスチューニングを行い、最後にテストを経て本番公開します。さらに、ビッグデータプラットフォームの運用保守エンジニアがプラットフォーム全体を維持管理する必要もあります。このプロセス全体には複数のロールが関与し、ビッグデータプラットフォームの運用保守とチューニングには一定の技術的ハードルがあります。チューニングの効果は担当者の能力に大きく左右されます。優れたチューニング人材は、優秀なデータベース DBA と同様に、長期的なプロジェクト経験の蓄積が必要であり、重要な希少人材です。
サーバーレスに基づけば、すべてが非常にシンプルになります。クラウドベンダーはビッグデータコンポーネントの機能をサービスの形で提供します。従来の複雑なプラットフォーム構築プロセスから完全に解放され、ビッグデータアプリケーションのコードを記述してサーバーレスサービスにデプロイするだけでよくなります。今後、サーバーやビッグデータプラットフォームのコンポーネントの運用保守やチューニングに気を使う必要はありません。クラウドベンダーの専門チームが 24 時間 365 日のサポートを提供しています。そのため、ビッグデータアプリケーション開発エンジニアだけですべての作業を完結できます。もちろん、ビッグデータプラットフォームに関する一定の知見があれば、ビッグデータアプリケーション側のパフォーマンスチューニングにも大変有益です。少ない労力で大きな成果を得られることが多いです。
1.3 サーバーレスのコアバリュー
1. 運用保守の複雑さを軽減する
サーバーレスアーキテクチャはソフトウェアアプリケーションとサーバーを切り離し、サーバーはアプリケーション開発や運用の焦点ではなくなります。アプリケーションの本番公開前に、サーバーの台数や仕様を事前に計画する必要はありません。運用保守プロセスにおいて、特定のサーバーの状態を継続的に監視・維持する必要がなくなります。ユーザーはアプリケーション全体の状態だけに気を配ればよくなります。アプリケーション運用の全体的な複雑さが低下し、ソフトウェアアプリケーションの体験や改善、およびより高いビジネスバリューをもたらす領域にさらに集中できるようになります。
2. 運用コストを削減する
サーバーはユーザーが注目する管理対象のリソースではなくなり、運用の複雑さが軽減されます。アプリケーション運用に必要な時間と労力が大幅に削減されます。最適なケースでは、少数のアプリケーション管理者で、大量のリクエストを処理するアプリケーションシステムを管理できます。
3. 市場投入までの時間を短縮する
サーバーレスアーキテクチャでは、アプリケーションの機能はいくつかの粒度の細かいステートレスな関数に分解されます。関数間の境界がより明確になり、機能モジュール間の結合が大幅に低減されます。これにより、ソフトウェアアプリケーションの開発がより効率的になり、アプリケーション開発のイテレーションサイクルが短縮されます。
2. プロジェクト実践
2.1 Alibaba Cloud コンソールへのログイン
Alibaba Cloud の公式 Web サイトにアクセスした後、右上隅のログインボタンをクリックします。ユーザー名とパスワードを入力して、ダッシュボードにログインします。
2.2 Function Compute サービスへのアクセス
2.3 サービスの作成
サービス名を入力し、OK をクリックします。
2.4 関数の作成
関数名を入力し、ランタイムを選択して、作成をクリックします。ここでは Node.js 14 を例として使用します。
2.5 hello world のテスト
hello world の戻り値を確認します。テストをクリックすると、戻り値の結果が表示されます。
2.6 API Gateway の作成
Alibaba Cloud API Gateway サービスを見つけます。
グループを作成します。
グループ名を入力します。
API を作成します。
API 名を入力し、次へをクリックします。
HTTPS を選択し、ルートを入力します。
次へをクリックして、先ほど作成した Function Compute の関数を選択します。
リリースの説明を入力し、公開をクリックします。
グループ内で API Gateway の一時的なアドレスを見つけます。
Postman を使用して API を呼び出すことで、Function Compute の戻り値を取得できます。
3. まとめ
一般的に言って、社会が発展し成熟するほど、社会の分業はより明確になります。技術も同様です。長年の発展を経て、クラウドコンピューティングは、ユーザーがコアビジネスと必要なリソースだけに集中すればよい段階にまで進化しました。インフラストラクチャとプラットフォームはクラウドベンダーが一括して管理するようになりました。Alibaba Cloud のサーバーレスにより、サーバー側の運用保守や不慣れな領域に悩まされることなく、ビジネス開発とプロダクトの実現に専念できます。気にすべきことが減るということは、より多くのことを実現できるということです。サーバーレスアーキテクチャの台頭とともに、真のクラウドコンピューティング時代が到来したと言えます。技術の急速な発展に伴い、サーバーレスの将来には無限の可能性があります。
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
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
