Serverless App Engine (SAE) はアプリケーションの概念を抽象化し、コードパッケージやイメージからアプリケーションをデプロイおよびホスティングできます。SAE を使用すると、クラスターやサーバーを管理することなく、コンテナー技術を簡単に採用できます。お客様はアプリケーションの設計と構築に集中でき、SAE は完全なアプリケーションライフサイクルを処理し、リソース使用率を最大化し、モニタリングおよび運用保守 (O&M) サービスを提供します。このトピックでは、SAE がサポートするアプリケーションの種類、デプロイメントメソッド、およびホスティング機能について説明します。
アプリケーションのデプロイメントメソッド
次の表は、SAE がサポートするアプリケーションとデプロイメントメソッドを示しています。
アプリケーション | デプロイメントメソッド | リファレンス |
ネイティブ Spring Cloud アプリケーション | WAR、JAR、およびイメージ | |
ネイティブ Dubbo アプリケーション | WAR、JAR、およびイメージ | |
HSF | WAR、JAR、およびイメージ | |
Java、PHP、Python 以外のプログラミング言語のアプリケーション | イメージ | |
PHP アプリケーション | イメージと ZIP | |
Python アプリケーション | イメージと ZIP |
サービスフレームワークの観点から、Spring Cloud、Dubbo、および HSF フレームワークで開発されたアプリケーションを SAE にデプロイできます。ただし、アプリケーション実行環境はデプロイメントメソッドによって異なります。
WAR パッケージを使用して Spring Cloud または Dubbo アプリケーションをデプロイする場合、実行環境として [apache-tomcat] バージョンを選択します。
JAR パッケージを使用して Spring Cloud または Dubbo アプリケーションをデプロイする場合、[Standard Java Application Runtime Environment] を選択します。
WAR または JAR パッケージを使用して HSF アプリケーションをデプロイする場合、実行環境として [EDAS-Container] バージョンを選択します。
技術スタックの観点から、SAE は Java、PHP、Python、Node.js、Go などのさまざまな言語で記述されたアプリケーションのホスティングをサポートしています。
コンソールからのデプロイや API の使用に加えて、SAE はさまざまな継続的インテグレーションおよび継続的デプロイメント (CI/CD) ツールやプラグインとも統合されています。サポートされている CI/CD ツールには、Jenkins、Terraform、 があります。サポートされているプラグインには、Maven、IntelliJ IDEA、Eclipse があります。これらの統合により、コードを送信した後の自動デプロイが可能になります。
アプリケーションを SAE に初めてデプロイする場合は、SAE コンソールでアプリケーションを作成し、ビジネスコードをプッシュしてください。
アプリケーションデプロイメントの高度な設定
アプリケーションの高度な設定には、起動コマンドの設定、環境変数の設定、Hosts バインディングの設定、ヘルスチェックの設定、ログ収集サービス、永続ストレージ があります。これらの設定は、アプリケーションの作成時または作成後に構成できます。アプリケーションの作成後に高度な設定を構成する場合、設定を有効にするにはアプリケーションを再起動する必要があります。ビジネスの中断やその他の予測不能なエラーを防ぐため、オフピーク時に高度な設定を構成することをお勧めします。
アプリケーションホスティングの機能
SAE にアプリケーションをホストした後、コンソールからアプリケーションの完全なライフサイクルを管理できます。これにより、O&M が簡素化されます。
シナリオ | 特徴 |
リソース管理 | 名前空間を使用してアプリケーションを論理的に分離し、設定項目を使用して必要なアプリケーション構成を保存します。詳細については、「名前空間の管理」をご参照ください。 |
アプリケーションのデプロイメント |
|
アプリケーション設定 | アプリケーションを SAE にデプロイした後、必要に応じてインスタンスタイプを変更したり、セキュリティグループと vSwitch を切り替えたりできます。 |
アプリケーションアクセス | アプリケーションを SAE にデプロイした後、そのサービスはインターネットリソースや他の VPC にアクセスする必要があることがよくあります。これは、CLB インスタンスをアタッチするか、NAT Gateway と EIP を構成するか、EIP をアプリケーションインスタンスにアタッチすることで実現できます。詳細については、「アプリケーションのアクセスとトラフィック管理」をご参照ください。 |
アプリケーションの O&M | SAE は Webshell を介した基本的な O&M タスクをサポートしています。たとえば、ログをアップロードおよびダウンロードしてアプリケーションを診断できます。インスタンスの起動に失敗した場合、SAE のワンクリックデバッグ機能を使用して問題を特定できます。詳細については、「アプリケーションの O&M」をご参照ください。 |
ワンクリックでの開始と停止 | SAE は、同じ名前空間内の開発、テスト、およびプレリリース環境のアプリケーションのワンクリックでの開始と停止をサポートしています。詳細については、「アプリケーションに対するバッチ操作の実行」をご参照ください。 |
弾性スケーリング | インスタンス数を変更して計算容量を増減させることで、アプリケーションをスケーリングできます。インスタンスの負荷が高い場合は、手動で新しいアプリケーションインスタンスを追加します。アプリケーションがアイドル状態の場合は、インスタンス数を減らしてリソースを効率的に使用し、コストを削減します。
|
ログ管理 | アプリケーションの O&M 中に、ログを使用して問題を特定し、診断できます。詳細については、「ログ管理」をご参照ください。 |
モニタリングとアラート | SAE は Application Real-Time Monitoring Service (ARMS) と統合されており、SAE にデプロイされたアプリケーションの主要なメトリックに対するモニタリングおよびアラート機能を提供します。詳細については、「アプリケーションモニタリング」および「アラート管理」をご参照ください。 |
分散構成管理 | SAE は、アプリケーション構成の集中管理をサポートしています。アプリケーション開発中に生成された多くのパラメーターと変数を構成ファイルに抽出し、SAE にアップロードできます。詳細については、「構成管理」をご参照ください。 |