Serverless application life cycle management platform

サーバーレスアーキテクチャの普及と応用が進むにつれ、サーバーレスツールチェーンの不足、複雑な更新・デプロイプロセス、リソースの分散、管理の難しさといった課題も浮き彫りになってきました。2020 年 11 月の Serverless Devs 開発者ツールのオープンソース化により、ツールチェーン不足に起因する問題はある程度解消されましたが、開発者は依然として実践的な業務において、アプリケーションへの集中、サーバーレスアーキテクチャ全体に対する運用・保守、リソース全体の管理といった課題に直面しています。そのため、サーバーレスアプリケーションのライフサイクル全体を支援するアプリケーション管理プラットフォームの構築が特に重要となっています。

2022 年 5 月 9 日、約 10 か月にわたる開発と検証を経て、Serverless Application Center が正式にリリースされました。

サーバーレスアプリケーションプラットフォーム

Serverless Application Center は、Alibaba Cloud のサーバーレスアプリケーションライフサイクル管理プラットフォームです。Serverless Application Center を使用すると、ユーザーは追加のクローン、ビルド、パッケージング、公開操作なしに、迅速にアプリケーションをデプロイして管理できます。Serverless Application Center は、クラウドの上下流サービスとの迅速な連携を可能にし、ベストプラクティスを簡単に蓄積できます。

Serverless Application Center の開設アドレス:https://fcnext.console.aliyun.com/applications/

Serverless Application Center のリリースは、一方では Serverless Devs ツールチェーンとの連携を通じて、サーバーレスアプリケーションのフルライフサイクル管理機能のさらなる充実を図ります。他方では、開発者がサーバーレスアーキテクチャをより迅速に体験し、より簡単に使い始め、より科学的かつ直感的にサーバーレスアプリケーションを管理できるよう支援することを目標としています。同時に、Serverless Application Center は「Serverless On Serverless」の試みとして、新機能として開発者にサポートと利便性を提供するだけでなく、大量のユーザーがサーバーレスアーキテクチャを利用し、サーバーレスアーキテクチャに基づいた大規模なサーバーレスアプリケーションをデプロイするためのベストプラクティスとなることを目指します。

Serverless Application Center の目標

Serverless Application Center は、サーバーレスアプリケーションのライフサイクル管理プラットフォームとして、いくつかの重要な役割を担っています。

• 開発者がよりシンプルで便利かつ迅速なホワイトスクリーン操作を通じて、サーバーレスアプリケーションを体験し、簡単に始められるようにする。

• サーバーレスアプリケーションの開発、作成、更新、運用、保守、反復をより科学的で安全かつ安定的に行えるようにする。

• 従来のリソースをアプリケーションディメンションで集約・管理し、開発者がビジネスとアプリケーションそのものに集中できるようにする。リソースが異なるプロダクトページに分散することのないようにする。

そのため、Serverless Application Center の当初の目標はシンプルで純粋なものとなりました。使いやすさと利便性の追求です。

ワンステップでサーバーレスへの旅を始めよう

Serverless Application Center は、サーバーレスアプリケーションの OnBoarding プロセスにおけるユーザーのハンズオン複雑性を大幅に軽減します。開発者はホワイトスクリーン操作を通じて、シンプルな設定で比較的複雑なアプリケーションケースを迅速に作成でき、これらのアプリケーションケースは二次開発、学習、体験の重要なリファレンスとして機能します。

こちらのリンクをクリックして動画をご覧ください。

https://others-file-system.oss-cn-beijing.aliyuncs.com/appstore/202204102343.mp4

動画で示されているように、ユーザーはアプリケーションページで適切なアプリケーションを見つけて作成ボタンをクリックするだけで、アプリケーションを素早く作成できます。アプリケーション作成後、関連するテストドメイン名が提供され、すぐに体験できます。

現在、アプリケーションセンターでは、モールケース、音声・動画処理、Web フレームワークなど約 5 カテゴリにわたる 20 以上の人気アプリケーションの迅速な体験を提供しています。Django、Express、Flask、SpringBoot といった従来のフレームワークのワンクリックデプロイから、Zblog や WordPress などのブログやコンテンツ管理システムの迅速な作成と利用、CDN のバックアップソース、オンラインストレージやクラウドデスクトップのワンクリック作成、動画トランスコーディング、分割、圧縮まで、Serverless Application Center は開発者がサーバーレスへの旅をワンステップで始められるよう支援します。

ツールとの 1 から N の連携

テンプレートアプリケーションの素早い作成に加えて、開発者は GitHub などのコードリポジトリからプロジェクトを作成できます。

こちらのリンクをクリックして動画をご覧ください。

https://others-file-system.oss-cn-beijing.aliyuncs.com/appstore/202204102343%281%29.mp4

動画で示されているように、開発者が GitHub コードリポジトリを通じてプロジェクトを作成する場合、Serverless Application Center はアプリケーション自体を作成するだけでなく、アプリケーションコードを指定されたリポジトリに配置し、開発者はケースやテンプレートに基づいてプロジェクトの二次開発を行えます。

特筆すべき点として:

• Serverless Application Center で作成されたすべてのアプリケーションは、Serverless Devs 仕様に準拠したアプリケーションです。つまり、開発者は Serverless Devs 開発者ツールを使用して、アプリケーションの開発、デバッグ、デプロイなどの関連操作を実行できます。

たとえば、開発者が Clone で指定リポジトリに配置したアプリケーションは、ローカルで開発やマルチモーダルデバッグ(ローカルデバッグ、エンドツーエンドクラウドデバッグ、クラウドデバッグなど)を行え、完了後にコードをコードリポジトリにプッシュするか、リリースを作成することでビジネスを更新できます。

• Serverless Application Center は、ケースアプリケーションを通じてリファレンスと二次開発用のテンプレートアプリケーションを素早く作成できるだけでなく、Serverless Devs 仕様に準拠した既存のアプリケーションを直接インポートしてアプリケーションセンターにホストし、サーバーレスアプリケーションセンターの関連機能を体験できます。

アプリケーションディメンションに基づくリソース管理

ご存知の通り、サーバーレスアプリケーションにはデータベースリソース、メッセージミドルウェアリソース、オブジェクトストレージ、ログサービスなど多くのプロダクトが関与します。つまり、完全なサーバーレスアプリケーションは通常、FaaS プロダクトと多くの BaaS プロダクトの有機的な組み合わせです。そのため、サーバーレスのユーザーは多くのリソースを管理する必要に直面しますが、これらの管理対象リソースは異なるプロダクトページに存在することが多く、後期の管理、運用、保守に大きな不便と複雑さをもたらします。

以下の図に示すように、Serverless Application Center はアプリケーションディメンションに基づいてリソースを表示・管理します。

アプリケーションディメンションの作成と更新、およびアプリケーションディメンションでのリソースの表示と管理を通じて、Serverless Application Center は分散していたリソースをさらに抽象化し、開発者がアプリケーションディメンションを通じてより明確かつ直感的にアプリケーションの運用、保守、管理を行えるようにします。

実装

「自ら進んで試すことで、より多くの開発者にサービスを提供できる可能性があります。Alibaba 社内では既にサーバーレスアーキテクチャを採用した大量のビジネスが実装されていますが、まだ「典型的」とは言えません。「Serverless On Serverless」として、サーバーレスアーキテクチャが社内で多数のアプリケーションを持ちながら他の業界やビジネスにもサービスを提供し、チーム自体にもさらなる価値を生み出す方法を探ることで」、Serverless Application Center はサーバーレスアーキテクチャの中で生まれ、サーバーレスアーキテクチャの中で育ったクラウドネイティブアプリケーションとなりました。

Serverless Application Center は、サーバーレスアーキテクチャ自体の柔軟性を活かし、FaaS プロダクトと BaaS プロダクトを有機的に組み合わせることで、最小限の時間とコストで高可用性かつコスト効率に優れたバックエンドサービスを構築しています。

HTTP トリガー(API ゲートウェイ)を通じて、基本ビジネス関数はクライアント側でユーザーが発信したリクエストや GitHub などのコードリポジトリから送信された WebSocket 通知を受信し、これらの情報に対して権限認証や ID 認証などの基本処理を行います。その後、メッセージミドルウェアを経由して(一部のイベントはメッセージミドルウェアを経由しません)、異なるイベントが異なるビジネス関数に送信され、ビジネス処理が行われます。作成や更新などのデプロイ関連イベントがある場合は、さらにデプロイ関数に配布されてビジネスデプロイが実行されます。プロセス全体を通じて、メタデータ、キャッシュデータ、ログ情報などは Proxy モジュールを経由して対応する BaaS プロダクトに継続的に保存されます。

プロジェクト構築全体を通じて、ビジネス担当者は全体的なアーキテクチャの設計と関連するビジネス関数の開発・デプロイに集中するだけでよく、プロジェクト内の BaaS プロダクトの運用・保守や FaaS プロダクトの柔軟性はすべてプラットフォームが実装・担当します。これにより、開発者はより価値のあるビジネスロジックにエネルギーを注げ、ビジネスの研究開発効率を大幅に向上させ、ビジネスイノベーションの反復効率を加速し、プロジェクトのローンチサイクルを短縮できます。

Serverless Application Center の「Serverless On Serverless」部分の実装方法については、今後の技術共有や記事で詳しく紹介します。

ロードマップ

Serverless Application Center はベータ版をリリースしていますが、まだ一定の不足があります。現在、関連する開発チームが継続的に改善と最適化を行っています。まだ多くの機能が更新予定で、さらなる改善が必要です。主な項目として以下が挙げられます:

• アプリケーション作成:

• より多くのコードリポジトリのサポート:

• Gitee

• GitLab

• Codeup

• より多くのトリガー方式のサポート:

• GitHub Action トリガー

• Cloud effect トリガー

• Jenkins トリガー

• アプリケーション管理:

• アプリケーション削除機能

• アプリケーションディメンションのモニタリングとアラーム機能

• アプリケーションディメンションのリソース編集機能

• オンラインアプリケーション編集機能

• Serverless Devs 開発者ツールとアプリケーションセンターの連携機能

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.