すべてのプロダクト
Search
ドキュメントセンター

Function Compute:概要

最終更新日:Aug 28, 2024

サーバーレスアプリケーションセンターは、サーバーレスアプリケーションの開発とアプリケーションのライフサイクルの管理に使用される統合プラットフォームです。 サーバーレスアプリケーションセンターでは、ビジネスロジックに集中し、サーバーレスアプリケーションを効率的に開発およびデプロイし、GUIでO&Mを実行し、アプリケーションのライフサイクルを管理できます。 このトピックでは、Serverless Application Centerの概念、利点、および機能について説明します。

使用上の注意

課金

Serverless Application Centerは無料です。 ただし、特定のテンプレートまたは環境を使用する場合にアクセスされるAlibaba Cloudサービスによって課金される場合があります。 Alibaba Cloudサービスの課金の詳細については、対応するサービスの料金ページをご覧ください。

権限

Serverless Application Centerでアプリケーションをデプロイするときは、Function Computeに必要な権限が付与されていることを確認してください。 たとえば、特定のサービスおよび機能リソースをデプロイし、Virtual Private Cloud (VPC) 、Apsara File Storage NAS (NAS) 、Simple Log serviceなどの他のAlibaba Cloudサービスにアクセスする場合には、いくつかの権限が必要です。 まず、RAMロールをアプリケーションまたは環境に関連付け、Function Computeを信頼できるサービスとして設定する必要があります。 その後、Service Application Centerは、AssumeRole操作を呼び出してSecurity Token Service (STS) トークンを取得し、RAMロールを引き受けてAlibaba Cloudサービスにアクセスできます。

承認を簡素化するために、Serverless Application CenterはデフォルトのロールAliyunFCServerlessDevsRoleを提供します。 このロールは、Service Application Centerによってアクセスされる一部のAlibaba Cloudリソースに対する権限を持ちます。 Resource Access Management (RAM) コンソールにログインして、AliyunFCServerlessDevsRoleロールの権限を表示できます。

AliyunFCServerlessDevsRoleロールの権限は粗粒です。 他のRAMロールをアプリケーションまたは環境に割り当てたり、関連するポリシーをRAMロールにアタッチして、きめ細かい権限を付与することもできます。

説明

最小特権の原則に従うために、アプリケーションのサービスの指定されたロールを直接再利用しないことをお勧めします。 アプリケーションの役割とサービスの役割は、さまざまなシナリオで使用されます。

  • アプリケーションロールは、アプリケーションデプロイ中にAlibaba Cloudサービスにアクセスするためのアクセス制御リンクで使用されます。 たとえば、アプリケーションロールを使用して、VPCとvSwitchの作成、Container Registryイメージの作成とアップロード、または関数の更新を行うことができます。

  • サービスロールは、関数の呼び出し時にAlibaba Cloudサービスにアクセスするためのデータリンクで使用されます。 たとえば、サービスロールは、elastic network Interface (ENI) のマウント、Container Registryイメージのプル、および関数実行ログのSimple Log serviceへの書き込みに使用できます。

メリット

Serverless Application CenterはGitOps機能を提供し、アプリケーションを効率的にデプロイおよび管理するのに役立ちます。 Serverless Application Centerを使用してアプリケーションをデプロイする場合、アプリケーションをビルド、パック、または発行する必要はありません。 Serverless Application Centerは、クラウド内のアップストリームとダウンストリームのサービスを効率的に接続し、ベストプラクティスを簡単に蓄積するのに役立ちます。 以下の項目では、Serverless Application Centerの利点について説明します。

  • 開発者はコンソールを使用して、サーバーレスアプリケーションのハングをすばやく簡単に取得できます。

  • 科学的、安全かつ安定した方法で、サーバーレスアプリケーションの開発、作成、更新、運用、保守、反復を支援します。

  • 開発者は従来のリソースを管理し、アプリケーションに統合できます。 このようにして、開発者は散在するリソースではなく、ビジネスやアプリケーションに集中できます。

特徴

Serverless Application Centerは、web開発フレームワーク、webアプリケーション、人工知能、オーディオおよびビデオ処理、ファイル処理など、10のカテゴリで約100の人気のあるアプリケーションを開発者に提供します。 サーバーレスアプリケーションセンターでは、軽量のマーケットプレイスアプリケーション、KodBoxアプリケーション、およびwebページの記録、QRコードの生成、PDFファイルへの透かしの追加に使用されるアプリケーションを作成してテスト実行できます。 数回クリックするだけで、Django、Flask、SpringBoot、Expressなどのフレームワークを作成することもできます。 開発者は、サーバーレスアプリケーションセンターのGitOps機能を使用してカスタムアプリケーションを開発および公開し、複雑なビジネスシナリオで特定の要件を満たすことができます。

Serverless Application Centerでは、テンプレートを使用したり、サーバーレスアプリケーションをインポートしたりしてアプリケーションを作成できます。 s.yamlファイルなどのビジネスコードおよびリソース記述ファイルを含むアプリケーションをServerless Application Centerにすばやくインポートし、環境の分離やパイプラインの作成などの操作を実行できます。

説明
  • Serverless Application Centerは、開発者がアプリケーションをテストしてカスタムアプリケーションを開発できるさまざまなアプリケーションケースを提供します。 カスタム要件がある場合は、カスタムアプリケーションを開発することを推奨します。 これにより、Serverless Application Centerの機能パッケージも強化されます。

  • さまざまなアプリケーションテンプレートがServerless application Centerに統合されています。 Function Computeテクニカルサポートチームは、これらのテンプレートを管理する責任を負いません。

用語

申請

特定の操作を実行するサーバーレスプログラム。 アプリケーションは、1つのコードリポジトリ、複数の環境、および複数のパイプラインに関連付けることができます。

アプリケーションと機能の違い

  • 関数は、ZIPパッケージ、JARパッケージ、WARパッケージ、イメージなどのコード成果物をホストし、コードの実行およびO&Mステータスに焦点を当てます。 この関数は、コード成果物をロードおよび実行するためのさまざまなランタイムを提供します。

  • アプリケーションは、GitHub、Codeup、Gitee、GitLabコードなどのソースコードに基づいています。 アプリケーションは、サーバーレスソフトウェアの開発と配信のプロセス全体に焦点を当てています。 アプリケーションは、コードリポジトリ、関数、およびインフラストラクチャリソースをホストします。 さまざまな組み込みアプリケーションテンプレートとDevOps機能が提供され、開始から運用までの完全なワークフローを実装します。

environment

アプリケーションのソースコードを開発するためのワークスペース。 環境は、テスト環境、プレリリース環境、および本番環境に分類されます。 環境の役割を次に示します。

  • リージョン、VPC、Apsara File Storage NAS (NAS) レベルでの分離など、物理的な分離を許可します。

  • 管理対象データベースやストレージなど、Backend-as-a-Service (BaaS) 機能を提供します。

  • インスタンスの仕様やメモリサイズなど、差別化された機能の設定を許可します。

相互に分離された環境にアプリケーションをデプロイし、環境を使用してアプリケーションの差別化された設定を構成できます。 以下の項目は、典型的なシナリオを説明します。

  • テスト、プレリリース、本番環境など、さまざまな環境を使用して、R&Dのイテレーション要件を満たします。

  • サービスがデプロイされている各リージョンまたはゾーンに本番環境をデプロイして、ディザスタリカバリを実装します。

  • 各リージョンに1つの環境をデプロイして、最適なパフォーマンスとレイテンシを実現します。 たとえば、中国 (北京) 、中国 (杭州) 、中国 (深セン) の各リージョンに1つの環境を展開し、中国本土以外の市場にサービスを提供するワークロードにはシンガポールと米国 (バージニア) の各リージョンに1つの環境を展開できます。

  • サービスの異なるテナントを異なる環境にデプロイして、マルチテナントを実装します。

  • 相互に隔離された環境を使用して、規制コンプライアンス要件を満たします。 たとえば、ヨーロッパのデータ保護法では、ヨーロッパのユーザーデータをヨーロッパに保存する必要があります。 したがって、ヨーロッパのユーザーデータを保存するために独立した環境をヨーロッパに展開し、他のリージョンのワークロードを他の環境に展開することが必須です。

  • ドリル環境でサービスを展開して、プロモーションドリルと検査を実装します。

CI / CD

Serverless Application Centerは、継続的インテグレーションおよび継続的デプロイメント (CI/CD) シナリオで発生する定義と実行の問題を解決するのに役立つサーバーレスパイプライン機能を提供します。 サーバーレスアプリケーションセンターでは、ビルド-配置-承認-起動プロセス (パイプライン) をテンプレートとして事前に定義できます。 手動でパイプラインを実行するか、コードが変更されたときにパイプラインを実行するように指定して、コードをサーバーレスアプリケーションに公開することができます。

パイプラインは次の方法でトリガーできます。

  • 手動操作

    環境管理ページで、[今すぐデプロイ] をクリックするか、再デプロイする別のバージョンを選択して、パイプラインの実行をトリガーできます。

  • Gitイベント

    パイプラインは、コードリポジトリの変更時にトリガーできます。 変更の例には、コードプッシュ、ならびにプル要求 (PR) およびマージ要求 (MR) 動作が含まれる。

パイプラインがトリガーされると、デプロイバージョンが作成され、コードコミット、アプリケーション構成、環境構成、およびパイプライン構成のスナップショットが記録されます。 バージョン管理機能を使用して、クイックロールバックを実装できます。

パイプラインテンプレート

環境またはアプリケーションを作成するプロセスで、パイプラインテンプレートを事前設定する必要があります。

タスク

タスクはパイプライン実行の基本単位です。 パイプラインは複数のタスクで構成されます。 異なるタスクは、異なる独立したインスタンスで実行されます。 タスクは、アプリケーションのプリセットプログラムを実行します。 スクリプトは、ユーザ定義の方法で実行することができる。