Postmanでコールドスタート問題に立ち向かう

# はじめに

Postmanの日本上陸、おめでとうございます！🎉

https://www.postman.com/jp/events/postman-japan-launch/

さっそく、言語設定を日本語に変更してみました。

![スクリーンショット 2023-12-03 19.19.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/288fcc8f-3699-314b-bdea-6c0c97a253ae.png)

# 日本上陸イベントでのLightning Talk登壇

川崎さん (https://twitter.com/yokawasa) からお声がけいただき、登壇発表させていただきました！

https://www.postman.com/jp/events/postman-japan-launch/

![スクリーンショット 2023-12-03 19.39.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/2eaf23ae-d848-b7ae-335e-3aabed282768.png)

# Postmanとの出会い

最初はクラウドサービス(IBM Cloud)のサービス監視でシンプルに利用していました。

![スクリーンショット 2023-12-03 20.38.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/686f51ae-fd1c-6f9e-6c25-2b3192be7349.png)

![スクリーンショット 2023-12-03 20.38.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/374ce9be-485c-7e8e-0624-ffd04d83ec1a.png)

## IBM Cloud Foundryの終了

2022年5月31日にサービス終了が発表され、2023年6月1日に終了しました。

# コールドスタート問題とは

AWS Lambdaのコールドスタート問題が有名ですが、Lambda関数実行時にコンテナ生成〜デプロイパッケージの展開〜ランタイム起動・初期化〜関数の実行まで一定時間を要する(レイテンシーが発生する)ことで、ユースケースやアプリケーションによっては問題が発生します。

例えば、テキストベースのチャットアプリケーションでは問題なくても、対話型の音声アプリケーションになると無音の時間が長くなったり、タイムアウトでエラー処理になるとユーザー体感が劣化します。

# サービス監視とコールドスタート問題の回避に利用

現在はサービスが終了しているLINE Cloveスキルで俳句アプリケーション「５７５メーカー」を提供していました。

クラウドアプリケーションプラットフォームのHerokuでNode-RED(Node.jsベースのビジュアルプログラミングソフトウェア)を動かしていました。

https://qiita.com/kitazaki/items/b9f795198c5e2258be22

Herokuはアクセスがない(Node.jsアプリケーションが動作していない)場合、30分程度でスリープ(コールドスタートになる)仕様でした。

アクセスが少ない時間帯に、Postmanに擬似アクセス(ヘルスチェック)をしてもらうことでコールドスタート問題を回避していました。

## Herokuの無料プランの廃止

2022年8月25日にHerokuの無料プランが廃止されると発表され、2022年11月28日に終了しました。

https://qiita.com/kitazaki/items/970a10cbd1059c89aca5

## LINE Clovaのサービス終了

2022年10月26日にLINE Clovaのサービス終了が発表され、2023年3月30日に終了しました。

# Node-RED実行環境の代替え先を探す旅

ハンズオンイベントなどで一時的に利用できる環境(Katacodaは2022年6月15日にサービス終了)や無料枠があるクラウドサービスが少なくなっています。
最近はサービス終了後の代替え先を見つけることがライフワークになっています。

## Katacodaの代替え先

killercodaを見つけました。

https://killercoda.com/

https://lpi.or.jp/news/event/page/20230520_01/20230520_linuc.pdf

## Node-REDを継続して動かせる環境

https://qiita.com/kitazaki/items/970a10cbd1059c89aca5

## Postman vs UptimeRobot

Postmanと並行して、UptimeRobotを使い始めました。
今後、サービス内容を比較していきます。

### Postman

![postman_dashboard.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/c7454344-03a9-cd6d-e9b4-65189d5350d4.jpeg)

デイリーレポートとウィークリーレポートがメールで送られてきますが、個人的にはウィークリーレポートの方が役に立っています。

![スクリーンショット 2023-12-03 21.00.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/a3b1514e-c8ae-e28d-5410-e09b6ad815c7.png)

サービスが連続して停止(利用できない状態が継続)している場合、自動でヘルスチェックを停止してくれます。(この時はドメイン名が1年後に失効してしまい、残念ながら救済できませんでした。)

![スクリーンショット 2023-12-03 21.03.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/8bdd8b88-75f3-b11b-64d9-ab3597c3d7a8.png)

問題を解決した後にメールで通知されます。

![スクリーンショット 2023-12-03 22.21.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/f0578e73-7b2b-6838-199e-453feab5aee3.png)

### UptimeRobot

ダッシュボードの画面はPostmanと似ています。こちらはサービスがDown(停止)した時とUp(回復)した時のみメールで通知されます。

![スクリーンショット 2023-12-03 19.29.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/b0933a8b-b5de-7cad-cc8b-538c6b294c41.png)

![スクリーンショット 2023-12-03 22.15.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/124b1e97-528e-ec2b-8160-b16be6ccdfe8.png)

![スクリーンショット 2023-12-03 22.15.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/8a29ded1-4c9a-aef9-1181-73e7cb1f8b91.png)