Function compute 最新ver3.0でデプロイする！

## はじめに
https://qiita.com/advent-calendar/2023/alibaba1

この記事は、『Alibaba CloudのkubernetesやServerless製品（SAEなど）でサービス立ち上げてみよう by Alibaba Cloud Advent Calendar 2023』の記事です:santa:
長いw:joy:

## Function compute 最新ver3.0 とは？

Function compute ver3.0を知ったきっかけは、久しぶりにFunction computeにログインしたら、ver3.0に関する大量のアップデート情報が表示されたこと。<br>
こんな画面です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/3fd94ede-6dd7-2c5c-d56e-b317e1db98ae.png)
<br>
なんじゃ、こりゃ。としばし驚く。。<br>
左上に Function compute ver3.0 と記載されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/97773706-5585-645f-869b-fee849973599.png)
知人の画面には、ver3.0 と表示されておらず、UIが違ったので、移行のタイミングなどがあるのかもしれません。
ver3.0の情報は、ひょっとするとレアかもしれないということで、ver3.0に関して今回、調べたことや知見を共有したいと思います！

Function compute ver3.0では、大きくわけて次の２つのアップデートがありました。
- 価格値下げおよびGPU無料割り当て

- 機能のアップグレード

それぞれ、詳細を見てみます。
### 価格値下げおよびGPU無料割り当て
#### 価格値下げについて
2023 年 11 月 1 日から約29％から76％値下げされる。価格設定は、vCPU 使用率に基づく。
もともと割安なFunction computeが、さらに最大76％値下げされるとのこと！

#### GPU無料割り当てについて
新規ユーザー向けのUSD 29.7 相当のトライアル プランが開始。
- 3 か月間有効
- 1 million GB-secondsのGPU使用
- 500,000 vCPU-secondsのvCPU使用
- 2 million GB-secondsのメモリ使用
- 800万回のFunction呼び出し
えーっ。Function computeでGPUが使用できるの！！
知らなかった。。どうも、Function computeでのGPU使用は、ver3.0以前に実現していた様子！

#### 機能のアップグレード
なんと、６つも機能アップデートがありました。
- Function管理でServicesがなくなり、各種機能がFunction単位の管理となる
- HTTP ハンドラーとイベント ハンドラーが統一された。
- カスタム ドメイン名は HTTP トリガーに依存しなくなり、対応するFunctionに直接リダイレクトできるようになった。
- Functionの承認を簡素化するためのしくみが導入され、ロールなしでロギング、VPC、非同期呼び出しなどの機能を使用できるようになった。
- 自動スケーリングが導入された。
- ユーザーの既存のサービスおよび機能と互換性のある新しいAPIおよびコンソール操作インターフェースのセットを提供します。

### ver3.0でデプロイする
さっそく、ver3.0でFunctionをデプロイしてみます。
Custom runtime「のみ」になっていました。Standard runtimeが無くなっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/45dd5992-838a-ab72-cf9a-343dddda84e7.png)
Python3.10が選択するだけで利用できるようになっていました。
<br>
「Web Function」で、「Use Sample Code」を選択してサンプルコードをデプロイしてみます。
実行すると、以下のような見慣れない画面が表示され、デプロイが進行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/e2506659-5f96-a7ec-5cb0-295762d759fd.png)
「Loading online IDE」ってどいういうこと？
デプロイされた画面を見て、なるほどと納得。。
Visual Studio Code (VSCode)そっくりのUIが表示されました！
ひゃー。UIがけっこう変わっている！！VS codeの画面になっているよ！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/34e474dc-cacd-6627-b3a4-a04243a5f445.png)
OpenVSCode Serverと表示されています。
調べて見ると、OpenVSCode Serverは、オープンソースプロジェクトで開発されたWEBブラウザで利用できるIDEのようです。
いろいろ試してみましたが、Visual Studio Code (VSCode)と同じ機能が利用出来ました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/3908121f-3ca1-a715-cdc9-7551f89af74c.png)
ターミナルを開いて、pipコマンドやpythonコマンドを実行してみたり、いろいろ試してみました。VSCode)とまったく同じことができます。
Function computeで、VSCodeが利用できるなんて、なんだか感動！

#### テスト機能の拡充
そして、テスト機能も拡充されていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/d2273ffd-9383-3fc8-2a52-baca731d3d32.png)
<br>
Test Eventを様々なイベントテンプレートから選択して作成することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/556c0812-726d-e9e3-9daa-5283f8941a3f.png)

#### Overviewの表示
「Overview」の「>」の展開マークを表示するとOverviewを表示する事が出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/d6dc636b-c7b2-0e39-897e-a9f4e308fe9d.png)
アーキテクチャを視覚的に表示してくれるのは、有難いですね。
複雑な構成になると、よりありがたみが増す機能だと思います。

#### デプロイの実行
Function computeでのデプロイ・再デプロイは「deploy」ボタンを押すだけで、とても簡単です。テストもデプロイもコンソールで簡単にできるのが素晴らしいですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/f1115481-e052-7cf3-ac7e-ff6256fcf83c.png)

#### 古いバージョンのFunction computeに戻す
古いバージョンに戻す機能も実装されていました。
「Back to Function Compute 2.0」ボタンから古いバージョンに戻す事ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/867be4be-e15e-dd66-79bf-e017136bfca8.png)

### GPUを利用する
なんと、Function computeでは、サーバーレスGPUが利用できます。
サーバーレス GPU についてのドキュメントはこちら :point_down:
https://www.alibabacloud.com/help/en/fc/use-cases/introduction-to-serverless-gpus?spm=a2c63.p38356.0.0.77bb7367hzAlCg
サーバーレスGPUの最大の魅力は、使った分のみの課金だけでよいということ！
このドキュメントの更新日は「Updated at: 2023-10-24 18:52」となっていたので、GPU機能は比較的最近実装されたと思われます。
<br>
サーバーレス開発でGPU アプリケーションをデプロイするデモの手順はこちら :point_down:
https://www.alibabacloud.com/help/en/fc/use-cases/best-practices-for-ai?spm=a2c63.p38356.0.0.74b37367TAqkOk

### おまけ
今回、ver3.0について調べたり試したりしてみたのですが、最初に久々にFunction computeにログインした「そもそも」のきっかけは、「LLMアプリをサーバーレスでデプロイしたい」だったんです！
AliEaterというAlibaba Cloudコミュニティでの『Alibabaが開発したマルチ言語対応LLM Qwenを試してみた』の発表をきっかけに、『Qwenをサーバーレスでデプロイしてみたい』と思ったのですね。
https://alibabacloud.connpass.com/event/302754/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/f13eb6aa-8a4e-6397-4e23-51dd38c3e85a.png)
<br>

QwenはOSSで利用できるマルチ言語対応LLMで、『日本語性能がOSSの中では最強レベル』というウワサの優秀LLMです。
huggingfaceでモデルが無償で公開されているので、誰でもデプロイできますよ！
https://huggingface.co/Qwen
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/50d4a838-aad0-7178-1e27-0347add671a6.png)
<br>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2316075/9b062940-96ba-9621-442f-84e57c1c303f.png)

## さいごに
Function compute は、私がAlibaba Cloudで最初に触れたサーバーレスのサービスです。
いろいろなことが出来るのにリクエス受付分だけしかコストがかからない格安コストに感動した思い出のあるサービスです。
ver3.0になり、VSCodeと同じ操作になりましたので、ますます使い勝手がよくなりました。
非情に格安なので、お試しで何かデプロイしてみるのにお勧めのサービスです。まだ使った事の無い方は、ぜひ、一度お試し下さい！:relaxed:
<br>

https://qiita.com/advent-calendar/2023/alibaba1

この記事は、『Alibaba CloudのkubernetesやServerless製品（SAEなど）でサービス立ち上げてみよう by Alibaba Cloud Advent Calendar 2023』の記事です:santa: