麦星 - arcturus technologies- 

テクノロジー関連情報と日常的な何かを発信しています

サーバーレスなWEBアプリケーション

ども、うし@tangniuwanです。

先日、サーバーレス(Function Compute)でフレームワークを使用したWEBアプリケーションを試しに構築してみたもの
若干、削除に手間取ったので、情報共有がてら削除の手順について記事にしました。

色んな言語とフレームワークが使えるので、調子こいて結構な数のWEBアプリケーションを作ってしまいました。。 (かなり便利なので、使わない手はないです。)ただ、消すのは面倒。。

ちなみに、使用可能な言語と、フレームワークは以下になります。
基本、ボタン1つ2つクリックするとデプロイまで出来ます。

言語 ランタイム フレームワーク 関連URL 備考
Node.JS 6.10 / 8.9.0 / 10.15.3 Express https://expressjs.com/ja/
Nuxt.js https://nextjs.org/
Nuxt.js https://ja.nuxtjs.org/
Egg.js https://eggjs.org/ 中国産
Java Java8 Spring Boot(jar) https://spring.pleiades.io/
Tomcat/Jetty(war) https://github.com/eclipse/jetty.project
Go 不明 Gin https://gin-gonic.com/
Beego https://beego.me/
PHP 7.2.7 Laravel http://laravel.jp/
ThinkPHP https://github.com/top-think 中国産
Python 2.7/3.6 n/a コード(ZIP )をアップロードして起動コマンドとリスナーポートを指定すれば利用可能になります。
.NET Core .NET Core 2.1 n/a コード(ZIP )をアップロードして起動コマンドとリスナーポートを指定すれば利用可能になります。
Container n/a n/a ACR(Alibaba Cloud Container Registry)からコンテナイメージを指定してデプロイするだけで利用可能です。

※参考:https://www.alibabacloud.com/help/doc-detail/74712.htm

こう見ると、今までは、アジア圏以外のフレームワークが主流だったのが、中国産のフレームワークが増えてきたなーという印象です。

フレームワークを使用したWEBアプリケーションの削除

さて、本題の削除方法についてです。

個人的には、
Function Compute に限らず、一つ一つのプロダクトや、コマンドなどを理解するより構成を理解する方が重要だと認識しています。
そして、この「Function Compute」 を利用した「フレームワークを使用したWEBアプリケーション」の構成は以下の様な構成になっています。

構成を理解する

構成は以下のような感じです。(間違ってたらご容赦ください。)

フレームワークを使用したWEBアプリケーション」は、ボタン1つ2つで作成できるのですが
削除は以下の構成図の小さい単位(コード・トリガー||バージョン・エイリアス<関数<サービス||カスタムドメイン)から削除し、
最終的にアプリケーションを削除します。

f:id:tangniu:20210130001147p:plain

削除手順

  1. 前述の通り、まず、トリガーを削除します。
    f:id:tangniu:20210130002719p:plain

  2. バージョンを削除します。
    f:id:tangniu:20210130002722p:plain
    f:id:tangniu:20210130002725p:plain

  3. エイリアスを削除します。
    f:id:tangniu:20210130002728p:plain
    f:id:tangniu:20210130002731p:plain

  4. 関数を削除します。
    f:id:tangniu:20210130002734p:plain
    f:id:tangniu:20210130002737p:plain

  5. サービスを削除します。
    複数のサービスがある場合、上記1~5の手順を繰り返します。
    f:id:tangniu:20210130002739p:plain
    f:id:tangniu:20210130002743p:plain

  6. カスタムドメインを削除します。
    f:id:tangniu:20210130003941p:plain

  7. プロダクトが異なるのですが、Resource Orchestration Service (ROS)に
    スタックが生成されているので削除(リリース)します。
    f:id:tangniu:20210130004416p:plain

以上で綺麗に削除ができました。

作るのは簡単でも削除はなかなか面倒いですね。。

でわ