Microsoft AzureにはApp Serviceという便利なPaaSがあって、趣味でWebアプリケーションを作ったらとりあえずそのFreeプランでホスティングしている。
App ServiceのFreeなど無料や低料金なプランは、一定時間アクセスがないと動作が停止する。アクセスがあったら再開する。これによってリソースを節約することで無料なり安価でPaaSが提供されているのだろう。
このアクセスがなかったら停止する振る舞いはPaaSでは一般的(Herokuなんかもそうのはず)で、一定時間アクセスがないと動作が停止する
の一定時間より短い間隔で定期的にアクセス、常に動作しているようにするややダーティなプラクティスが存在する。
AzureならLogic Appsで定期的にHTTPRequestを発生させられるだろう。
しかし、僕らにはMackerelのURL外形監視がある。なんと、URLを指定するだけで、1分毎にアクセスして、応答時間の記録まで採ってくれる。便利。
今回常に動作していて欲しいWebアプリケーションを作っているので、さしあたってこれでAllways onっぽい動作を得てみた。便利。
なお、定期的にアクセスしていれば無制限に動き続けるわけではなくて、Freeなどのプランにはリソース使用料の上限(クォータ)が設けられている。これを超えると一定時間止まる。
https://docs.microsoft.com/en-us/azure/app-service/web-sites-monitor
なので安心して? Always on的な動きをしてもらっている。