お安くPocをするためのPocする環境を作った
何を行っているのだこいつはと言われるかもしれないですが、
色々仮説検証したい時があるじゃないですか、
とくにSEO系の検証をするときってわざわざ1からさいと立ち上げないと思うし、
だいたいデザイン < コンテンツ になるのでそれ用に柔軟な環境を立ち上げました。
必要な費用は500円から構築する爆速開発
選んだ環境は
lolipop(wordpress)
cloudfront(reverse proxyを兼ねるCDNとして)
vercel(svelte kitをhosting)
heroku(hasura graphql)
※商用利用はできないのであくまでニーズがあるかどうかを図るための環境です。
ちなみに今の自分は、環境構築は多分すべて合わせて30分かからないくらいで構築できます。
どんな人に向いているか
何かしらNoCodeでは実現できないアプリケーションを検証したい場合
...言いたいことはわかります。NoCodeでは実現できないアプリケーションを構築してPoCするってそんなの博打もいいところだって?本気でやるなら色んな人にアンケートや聞き込みをしてもっと確度を高めたほうがいいって?わかるよ。でも、作りたい気持ちは抑えられないのでサクッと作りたい時があるじゃないか。
1. ムームードメインでドメインと一緒にlolipopサーバーを申し込みます。500円/month
いまならlolipopサーバーを申し込むことでドメイン代はただになる
このドメインは、予備用のドメインです。本当に使いたいドメインとは別で取得してください。
2. もうひとつ本当に使いたいドメインを購入します。
このドメインに対してcloudfrontを割り当てて、
cloudfront
-> wordpress
-> vercel
として複数のサイトを組み合わせます。
3. cloudfrontを構築します。
terraformでテンプレートを作っているのでacmの取得からなにやら完全に自動化させます。
4. wordpressの設定を編集
wordpressはhttps限定でアクセスさせておかないとやはりセキュリティ上危ないですし、これから紹介する、簡単な問合せフォームはwordpressで対応するのでいくつか対応することがあります。
SITE_URLとHOST周りの変数を動的に切り替わるようにして、cloudfront -> wordpress間はhttpsで通しても、wordpress内部のリンクがちゃんとcloudfrontのドメインのものになるように指定する
5. hasuraの設定ページからherokuでhasuraを立ち上げる(一瞬)
何かしら複雑なものを作るのに、データベースやらapiが必要ですがapiなんて作りたくないじゃないのでhasuraを使います。
6. vercelでsveltekitをhostします。これは一瞬です。
Next.jsマスターであれば、Next.js使ったらいいですし、NuxtならNuxtがいいと思います。
ただ、なんにせよFrontendのrevreseproxyをうまく設定させたいので、spaの単一urlだと困ります。
Next.jsは環境構築も、buildも遅いし、学習コスト死ぬほど高いのでSvelteKitがおすすめです。
一瞬でキャッチアップできます。
7. CloudFrontで、redirectのlocationを書き換えます。
wordpressのredirectのlocation設定が、環境変数いじっても変わらないでrequestヘッダーのhost名を見てる缶があるので、locationのbodyをcloudfront functionsでcloudfrontのカノニカルurlに変更します。
まとめ
結局何がいいのか、殆どの部分はフルスクラッチで書きたくないのです。ベータユーザーの登録とか、登録したユーザーを管理画面でみれるようにしたりとか、LPページはブロックエディターでサクッと作ってしまいたいのです。人を連れてくるところはだいたいwordpressに頑張ってもらっています。アプリケーションの部分はコアなところになるのでそこはフルスクラッチで書きたいのです。
現状で私はこの構成で3つサイトを立ち上げてます。お金は、月500円とあとは3つ分のドメイン代ですかね。cloudfrontも1TBまでなら無料なので。wordpressはsubdomainごとに立ち上げられるので、この構成で25サイトまでなら同じおかねの感じで立ち上げ可能です。はかどります。
手が相手ひまになったらterraformなり、修正したwp-configとか、cloudfront functinosなり公開しますね。そんなに難しくないのでみなさんならこの雑記みたいな感じでもたちあげられると信じてます。
Discussion