hitode909の日記

趣味はマリンスポーツですの日記です

東ダンスネットワークのサイトをPythonからNode.JSに書き換えた

今日の重ね着は2011年に作ったウェブサービスで、年に1回くらいは壊れては直しているので、今年も直すことになるのは驚くべきことではないのだけど、重ね着は東ダンスネットワークのサイトの一コンテンツという扱いで、東ダンスネットワークのGoogle App EngineのプロジェクトはPython2で実装されていて、いつまでPython2のまま運用するのかという問題があった。
久しぶりに動かそうとしたら、そもそも手元で起動しなくなっていて、がんばってpyenvの設定をするか…とか考えたけど、Pythonを勘で書き続けるよりはもうちょっと様子がわかる言語にしよう、とNode.JSで書き直すことにした。


もともとはapp.yamlでルーティングして、エンドポイントごとにいろんな.pyファイルが動いていたのを、1つのJSのファイルにして、app.yamlでこまごまルーティングするのはやめた。 Pythonのランタイムではapp.yamlを見て手元で動かすことができるけど、Nodeだとnpm startするのであとはよろしく、という雰囲気なようだった。
Expressなどのフレームワークを使うと、こういうURLに対してはこれをやる、というのは何の苦労もなく書けるので、app.yamlでやらずにNodeのプロセス内でルーティングするのは納得感がある。app.yamlはGoogle App Engine側にもともとある仕組みだけど、ローカル実行を捨てて、手元ではnpm startして開発してください、という割り切り方になっているのはおもしろいと思った。


あとは、Google App Engineを触るたびに思うのは、まずはデプロイして、動作確認して、うまく動いたらトラフィックを向けていく、というのが何の手間もなく用意されてるのはすごく楽だと感じる。ユースケースがマッチしたら仕事でも使っていきたい。この良さを長年個人開発では享受できているので、仕事でデプロイとかで周り苦労していると、なんでこんな苦労をしているのか?と思ってしまう。
なぜかというと、すでに他のクラウド上に構築されていたらマルチクラウド構成担ってしまうので避けたい、とか、今ある仕組みから移行すると、今の仕組みと新しい仕組みの両方をしばらくメンテナンスすることになるけど、学習コストや管理コストなどを見たときに割に合うのか、という検討とか、本当に要件的にこれでよいのか、といった検証のコストを払っていない、というだけなので、払いたい、という話。


東ダンスネットワークのサイトではいろんなサービスがホスティングされているように見えるけどほとんどぶっ壊れていて、動いてるのはbonとiromiruと重ね着くらい、という状況。bon3は気に入ってたので壊れたのは悲しい。直したい。
higashi-dance-network.appspot.com