
前回の記事(ゆゆゆに突きつけられた要求仕様)では、どんな要求があったかをまとめました。 今回は、その要求からプラットフォームやフレームワークの選定までの流れを書いていきます。
要求仕様
まず、要求仕様のおさらいです。
要求仕様
- 容量を気にせず画像を投稿したい
- 独自ドメインを使いたい
- ブログもつくりたい(Adsenseを後々にいれたい)
- 自分でページを増やせるようにしたい
- 画像は検索できるようにしたい
- SEO対策をページ毎に設定できるようにしたい
- スマホとPCでUIを変えたい
- 直リンクの場合は、固定のバナーを出したい
- httpsにしたい
- 独自デザインにしたい
実装方法
次に、実装方法について検討しました。- WordPress
- KeystoneJS
- フルスクラッチ
サイトのサーバ構成
実際にできたサイトの構成はこんな感じです。
- cloudflare
- CDNサービスで、cssや画像などをキャッシュしてくれます。キャッシュの有効期限が切れたときだけオリジンサーバにアクセスが来るため非力なサーバでも比較的高速である程度リクエストを捌けるようになります。
- Mailgun
- メール送信時に使います。メルマガの配信と開封数なども計測できるようです。今回はメールサーバを立てるのを省略するためにサービスを利用しました。
- Google Cloud Platform
- 永年フリーのプランもあるので、リクエストをさばけるうちはフリーでも良さそうです。
- Docker
- GCPで立てたLinuxサーバ上にDockerの環境を構築します。
- KUSANAGI
- 素のWordpressよりもかなり早いらしい。Dockerのイメージ(まだ試用版らしいです)が用意されているのも良いところです。
- Let’s Encrypt
- 無料のSSL認証局です。今回はこちらのDockerImageを利用しました。
CIは今後課題ですが、Dockerを使ったので環境の複製は簡単にできます。 次回は、(順番が違う気がしますが)開発環境の構築について書きたいと思います。