これは 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

まとめ

わずかな費用でブログを構築する方法を紹介しました。まだ自分のブログを持っていないなら、ぜひ作ってみてください。良いポートフォリオになりますよ。