Serverless App Engine (SAE) を使用すると、基盤となるインフラストラクチャを維持する必要なく、コードパッケージやイメージを使用してアプリケーションをデプロイおよびホストできます。 SAEは、コンテナを簡単に使い始めるのに役立ちます。 クラスターやサーバーを管理および保守することなく、アプリケーションの設計と構築に集中できます。 SAEは、アプリケーションのライフサイクルを管理し、リソース使用率を最大化するのに役立ちます。 SAEは、モニタリングおよびO&M機能も提供します。 このトピックでは、アプリケーションホスティング機能、およびSAEでサポートされているアプリケーションタイプとデプロイ方法について説明します。
アプリケーションのデプロイ方法
次の表に、SAEでサポートされている主流のアプリケーションと展開方法を示します。
アプリケーション | デプロイ方法 | 関連ドキュメント |
Native Spring Cloudアプリケーション | WAR、JAR、およびイメージ | |
ネイティブDubboアプリケーション | WAR、JAR、およびイメージ | |
HSF | WAR、JAR、およびイメージ | HSFアプリケーションをSAEにホストする |
Java、PHP、Python以外のプログラミング言語でのアプリケーション | イメージ | |
PHPアプリケーション | 画像とZIP | |
Pythonアプリケーション | 画像とZIP |
Spring Cloud、Dubbo、およびHigh-Speed Service Framework (HSF) フレームワークを使用して開発されたアプリケーションをSAEにデプロイできます。 アプリケーションランタイム環境は、選択したデプロイ方法によって異なります。
WARパッケージを使用してSpring CloudまたはDubboアプリケーションをデプロイする場合は、apache-tomcatバージョンのランタイム環境を選択します。
JARパッケージを使用してSpring CloudまたはDubboアプリケーションをデプロイする場合は、[標準Javaアプリケーションランタイム環境] を選択します。
WARまたはJARパッケージを使用してHSFアプリケーションをデプロイする場合は、EDAS-Containerバージョンのランタイム環境を選択します。
SAEを使用すると、Java、PHP、Python、Node.js、Goなどの複数のプログラミング言語を使用して構築されたアプリケーションをホストできます。
SAEでは、SAEコンソールおよびAPI操作を呼び出すことで、アプリケーションをデプロイできます。 SAEでは、JenkinsやTerraformなどの継続的インテグレーションおよび継続的デプロイメント (CI/CD) ツールも使用できます。コードを送信した後にアプリケーションを自動的にデプロイするには、Maven、IntelliJ IDEA、Eclipseなどのプラグインを使用します。
アプリケーションをSAEに初めてデプロイするときは、SAEコンソールでアプリケーションを作成して、ビジネスコードをアプリケーションにプッシュする必要があります。
アプリケーション展開の詳細設定
SAEは、起動コマンド、環境変数、ホストバインディング、ヘルスチェック、ログ収集、永続ストレージなど、複数の詳細設定を提供します。 ビジネス要件に基づいて、アプリケーションの作成時または作成後に詳細設定を構成できます。 アプリケーションの作成後に詳細設定を構成すると、アプリケーションが再起動されて設定が有効になります。 業務中断などの予測できないエラーを防ぐために、オフピーク時に詳細設定を構成することを推奨します。
アプリケーションホスティングの特徴
アプリケーションをSAEにホストした後、数回クリックするだけでSAEコンソールでアプリケーションのライフサイクルを管理できます。 これは、O&Mプロセスを単純化する。
機能 | 説明 |
リソース管理 | 名前空間はアプリケーションを論理的に分離するために使用され、ConfigMapsはアプリケーション構成を格納するために使用されます。 詳細については、「名前空間の管理」をご参照ください。 |
アプリケーションの展開 |
|
アプリケーション管理 | アプリケーションをSAEにデプロイした後、ビジネス要件に基づいてアプリケーションのインスタンスタイプ、セキュリティグループ、およびvSwitchを変更できます。 詳細については、「アプリケーションの管理」をご参照ください。 |
アプリケーションの接続 | アプリケーションをSAEにデプロイした後、アプリケーションは、インターネットまたは仮想プライベートクラウド (VPC) 経由でリソースにアクセスして、特定のビジネスタスクを完了する必要があります。 この場合、Server Load Balancer (SLB) インスタンスをバインドしたり、NATゲートウェイとelastic IPアドレス (EIP) を設定したり、アプリケーションインスタンスをEIPに関連付けたりできます。 詳細については、「アプリケーションアクセス」をご参照ください。 |
アプリケーションO&M | SAEは、基本的なO&Mタスクの実行に役立つwebshell機能を提供します。 たとえば、ログをアップロードおよびダウンロードして、アプリケーションの定期チェックを実行できます。 インスタンスの起動に失敗した場合は、SAEのワンクリックデバッグ機能を使用して問題を特定して解決できます。 詳細については、「アプリケーションO&M」をご参照ください。 |
ワンクリックで開始および停止 | SAEでは、開発、テスト、またはステージング環境で開発された複数のアプリケーションを名前空間で一度に起動および停止できます。 詳細については、「ワンクリックで開始および停止機能を使用したアプリケーションの管理」をご参照ください。 |
スケーリング | アプリケーションインスタンスの数を変更して、アプリケーションのワークロードに基づいてアプリケーションの計算能力を調整できます。 アプリケーションインスタンスのワークロードが予想よりも高い場合は、手動スケーリング機能を使用してインスタンスを追加できます。 アプリケーションがアイドル状態の場合、アプリケーション内のインスタンス数を減らして、リソースの使用率と費用対効果を向上させることができます。
|
ログ管理 | ログを使用して、アプリケーションでO&Mタスクを実行するときに問題を特定できます。 詳細については、「ログ管理」をご参照ください。 |
モニタリングとアラート | SAEはApplication Real-Time Monitoring Service (ARMS) と統合して、主要なパフォーマンス指標の監視に役立ちます SAEにデプロイされているアプリケーションの 詳細については、「モニタリング」をご参照ください。. |
分散構成管理 | SAEを使用すると、アプリケーション設定を一元管理できます。 アプリケーション開発中に生成された多数のパラメーターと変数を構成ファイルに抽出し、そのファイルをSAEにアップロードできます。 詳細については、「構成管理の概要」をご参照ください。 |