これは 2021 年 6 月時点のスナップショットです。このブログについて書きます。 この図がブログのアーキテクチャを示しています。

コア
このブログは Linode の VPS 上で動いています。ブログは Docker コンテナの中にあり、コンテナ(アプリ)の管理には Dokku を使っています。Dokku はスクリプトベースの PaaS で、OSS です。Heroku の代替として作られているので、Heroku の buildpack がそのまま使えます。ありがたいことに、コードをプッシュするだけでどんなアプリケーションでも Dokku 上で動かせます。
費用: 月額 $10
CI/CD
記事を書き終えたら、すぐに GitHub にプッシュします。 デプロイは GitHub Actions が面倒を見てくれます。GitHub Actions の前は、Oracle に買収される前の Wercker や Travis CI を使っていましたし、短い期間ですが Circle CI も使っていました。
費用: 無料
アセット管理
画像は AWS S3(Simple Storage Server)に保存し、AWS CloudFront 経由で配信しています。 この部分は別の記事に書こうかと思案中です。AWS に詳しい人なら一瞬ですべて理解できるでしょうが、かつての私のようにまったく経験がない人には、短い説明では何が起きているのか分からないと思うからです。
費用: 月額 $0.01(このサイトの人気次第です)
DNS
DNS サーバーには Cloudflare を使い、ドメインは Namecheap で管理しています。
費用: 無料(ドメイン代を除く)
モニタリング
- Google Analytics
言うまでもなく、あなたのアクセスもしっかりカウントしていますよ。
費用: 無料
コミュニケーション
以前はメールサーバーをいくつか自前で構築していましたが、雑に作ったメールサーバーは脆いということが分かりました。 Gmail の代わりに Fastmail を使っています。Fastmail は有料サービスなので広告がありません。Gmail では私は「商品」ですが、Fastmail では「顧客」です。
とはいえ、メールを送ってもらっても構いませんが、Twitter の DM のほうがありがたいです。@junkpiano
費用: 年額 $35
今後
自作の CMS(コンテンツ管理システム)を開発中です。最初の目標は、画像や PDF などのアセットを整理することです。テキスト編集は大仕事なので、今すぐ自分で実装するつもりはありません。記事はこれからも VSCode で書いていきます。
このブログは静的サイトですが、将来的には動的サイトになるかもしれません。どうなるかは分かりません。諦めなければ、ここで何かが起こるはずです。
費用: N/A
まとめ
わずかな費用でブログを構築する方法を紹介しました。まだ自分のブログを持っていないなら、ぜひ作ってみてください。良いポートフォリオになりますよ。