谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

AWS Amplify ConsoleからNetlifyに乗り換えました

前回、AWS Amplify Consoleすげー! ってエントリーを書きました。
http://d.hatena.ne.jp/cero-t/20181203/1543851175


ただ、世の中にはそういうサービスが普通にあったんですね、ということをNetlifyを使ってみて気づきました。
https://www.netlify.com/


自分がサイトを立ち上げた後に、海外のFEXL勢が「fexl.tokyoを真似してサイト立てたよー」って言ってNetlifyのURLを送ってきたのが、Netlifyを知ったきっかけでした。
Netlifyは静的サイトを提供できるサービスで、Hugoにも対応しています。Hugoのファイルを置いたGitHubリポジトリを指定するだけで、CDNにデプロイされる流れはAmplify Consoleと同じです。もちろん独自ドメインにもSSLにも対応しています。

NetlifyとAmplify Consoleを比べてみて

そんなNetlifyとAmplify Consoleを両方使って比べた感想です。


まず、デプロイされたページの表示スピード。これはAmplify Consoleのほうが上でした。
きちんとベンチマークを取ってないんですけど(←取っとけや)、Amplify Consoleで使ってるCloudFrontはページをリロードしても「ローカルに置いてあるサイトかな?」って誤解するぐらい素早く表示されるんですが、Netlifyのほうは「一瞬だけ、表示に時間が掛かる」という感じでした(←だからベンチ取っとけや)


ただAmplify Consoleのほうが勝ってるのはそれだけかなと。
Netlifyにはフォームを置いてユーザーのデータを保存したり、AWS Lambdaを呼び出したりする機能がありますが、Amplify Consoleには今のところそういう機能が何もありません。AWSのことですからいずれ機能追加されるでしょうけど、今のところは素のビルドとデプロイしかありません。


また、コンテンツを更新した後のCDNへの反映なのですが、Amplify Consoleでは事前に決めたTTLが経過するまで反映されません。デフォルトではTTLが5秒とかになっていて短すぎるのですが、だからと言って24時間にすると、運が悪ければコンテンツを更新してから24時間近くCDNには反映されなくなっちゃいます。一方で、Amplify Consoleはコンテンツを更新すれば即CDNに反映されます。
AWSのCloud Frontにはコンテンツをinvalidateして、すぐにコンテンツを更新する仕組みがあるはずなのですが、Amplify Consoleではその機能が使えないんですよね。いずれアップデートされて使えるようになるのでしょうけど。
あと、Netlifyは小規模サイトであれば無料で運用できるので、コミュニティ活動で使う場合にはちょっと嬉しい感じです。


ちなみに地味に嬉しいのが、Netlifyはプルリクを受けつけると(プルリクをマージしてなくても)それも別のURLでデプロイしてくれるところです。URLは命名規則が決まっているので、プルリクを送ってくれた外部の協力者は、すぐにそのURLにアクセスして自分のプルリクした内容をプレビューすることができます。この辺も地味にかなり嬉しい機能です。


そんなわけで、fexl.tokyoのサイトはNetlifyに移動しました。
この辺りの分野は経験がまったくなかったので、ヘェェェっていう驚きばかりで新鮮ですね。


春にはこのブログも(はてダが)終了となるため移転を考えていたのですが、Netlifyで運用しようかなぁというのが最近のお気持ちです。どうしようかなぁ。