5月の技術講座

2014-05-07

テーマ: 自由なコンピューティング&自由なネットワークとサイト運用

開催日時 2014年5月28日(水曜日)18:30 〜 19:45

場所:東京体育館第三会議室

2014年5月よりFSIJのサイト運用を移行することになりました。

これまでコロケーションサービスを利用し、自身のコンピュータでネットワークサービスを運用してきました。

今後は、管理の権限が集中することを避けられる分散型の運用を行います。

そこで、今月の会では、自由なコンピューティングを理念とし、自由なネットワークを標榜する場合、どのようなことが問題になるのかを議論します。

概要

自分自身のコンピューティングを自分自身で(なんとか)制御する、ということを前提とした場合、サイト運用において、難しいことがでてきます。

直接には、「便利」で「普及している」ので、「プロプライエタリの方式を導入しよう」、とはできません。

それは、なにが問題なのでしょうか?たとえば、比較的安価なネットワークサービスを利用しようと考えた場合、自身のコンピュータを使った場合と比較して「どれくらい制御できるだろうか?」と考えてみてください。運営している側に大切なデータが渡ってしまったり、アクセスする方のデータが渡ったりしてしまわないでしょうか。自由ソフトウェア(だけ)で管理運用ができるでしょうか。

今回、サイトの移行に伴い、自由ソフトウェア運動の理念を大切にしよう、と以下の二点を考えました。

  • サービスは自由ソフトウェアだけで運用する
    • 保守に使うツールも自由ソフトウェアだけを前提とする
  • 読者に不自由なソフトウェアを利用することを強いない
    • 不自由なJavaScriptのダウンロードを前提にすること(など)をしない

また、運用面では、以下の三点を考慮しました。

  • 管理の権限が集中することを避ける
  • 分散型の運用ができる
  • 記録が残る

具体的構成

  • ドメインネームレジストラの選定

    組織としてのドメイン管理が無理なくできるようにする。 複数の担当者が「パスワードを共有する」というようなムチャをすることなく運用。

    また、Webのインタフェースだけでしか変更ができないのは望ましくない。 Webのインタフェースの利用が、不自由なJavaScriptのダウンロードを前提にする、のは許容できない。

  • 分散型の運用方式

    WebサイトはstaticにGitリポジトリで管理する。

    Webサイトの元となる文書を「ソースコード」と捉え、そこからツールで生成し、 提供するHTMLを「バイナリ」として捉える。両方共にリポジトリで管理する。

    ほかの人がWebサイトの「バイナリ」を持っていってサービスを運用することが、簡単にできる構成とする。

    たとえば、極端には、月ごとに持ち回りで物理的なサーバを移す、というように。

  • レジストラのアカウントを作り、ノードを用意する

    • 分散型の運用に加わる場合、http/git/smtp のサービスを "virtual host" に対して準備する
    • Gitリポジトリをコピーする
    • レジストラのDNSのエントリを変更する