2014年にStatic Siteムーブメントは到来するのか
近頃、個人的に"Static Site"に流行の兆しを感じている。
"Static Site"とは、広義ではhtmlやjavascriptのような静的コンテンツのみで構築されたwebサイトのことを意味する。一昔前の"Static Site"と言えば、html5+css3でリッチコンテンツ風に構築されたwebサイトのことが思い浮かぶ。最近では、その意味合いが徐々に変化し始めて、"Static Site"と言うと"Static Site Generator"によって構築された"Moden Static"なwebサイトを意味する場面が増えてきたように感じる。静的コンテンツで構成される"Static Site"は、CGIやDBを贅沢に利用するCMSのような動的コンテンツとは対極的な位置付けにある。ここで一度、これらの特徴を箇条書きでおさらいしておこう。
■ 静的サイト
- HTML / CSS / JavaScript などの静的コンテンツで構成される
- 双方向コンテンツを直接実装することは難しい。(しかし、外部の双方向コンテンツサービスをサイト内にincludeしてしまえば良い)
- バックアップが楽(DBのバックアップが不要)
- キャッシュが効きやすく、表示処理が高速
- コーディングの知識が必須
■ 動的サイト
- PHPなどで作られたCGIや、DBを繋ぎ込んだ動的コンテンツで構成される
- 代表的なものとしてはWordPressなどのようなCMSが挙げられる
- CMSを使えばコードを書くのが苦手な人でもリッチコンテンツを作成できる
- CMSの仕様から外れた定形外的なコンテンツは実装しにくい
- 利用しているCMSの開発が止まると、脆弱性対応などのアップデートが困難になる
- 双方向コンテンツの実装が比較的容易
- 運用にあたってはCGIやDBの知識が必須
- デザイナーと編集者とインフラ運用の作業分担がしやすい
"Modern Static"において欠かせないのは"Static Site Generator"の存在だ。"Static Site Generator"は、"Static Site"をビルドするためのツール群のことを指す。"Static Site Generator"自身は、phpやrubyで実装されることが多い。代表的な"Static Site Generator"としてはJekyllやOctopressなどが存在する。これら以外にも多様な種類の"Static Site Generator"が存在する。これらについてはstaticsitegenerators.netで一覧がまとまっているので確認しておくと良い。
"Static Site Generator"上でファイルを編集してビルドすると、htmlやcssやJavaScriptで構成された静的サイトが出力される。この出力された内容をテストして問題がなければ、それをインターネット上に存在するホスティングスペース上に設置(publish)すればwebコンテンツを公開できる。"Static Site Generator"は、まったく初めて取り扱う場合でもLinuxかMac環境を持っているエンジニアなら概ね30分~60分もあればweb上に"hello world"的なコンテンツを公開できると思う。"Static Site"ならCGIの脆弱性に対応する必要もなければ、webサーバとDBサーバの繋ぎ込み作業も必要ない。コンテンツの配信環境において、phpやrubyのバージョンやモジュールの依存関係を気に病みながらセキュリティアップデートする必要もなくなる。(前述のとおり、"Static Site Generator"自身はphpやrubyなので、"Static Site Generator"による開発環境の構築の時点ではバージョンやモジュールの依存関係に悩まされることはある...)
これらのメリットは、運用に手間をかけたくない開発者にとっては十分なほどのメリットだ。本格的なシステム開発のようなカオティックなコーディング作業が必要というわけでもないので、Macによる開発環境を持っているがITには詳しくないデザイナーが"Modern Static"に移行するハードルも決して高いものではないと思う。つまり、コンテンツの供給側となるデベロッパー側の人々は、既に迅速に"Modern Static"に対応できる"Modern Static Ready"な環境を持っていると言える。しかし、コンテンツの供給者側の思惑だけではムーブメントにはなりえない。なぜ今になって"Static Site"がじわじわと盛り上がっているかというと、これはスマートフォンの流行と関係があると考えられている。これまでの企業向けの"Static Site"と言えば、そこにFLASHの存在が欠かせなかった。だが、FLASHはSEO対策が難しいというハードルが存在している。そして、今なによりもFLASHの再生にはプラグインが必要であるために、あらゆるスマートフォン上で動くコンテンツではない。今やスマートフォンに対応できないコンテンツは、ビジネス上の重大な欠陥として扱われてしまう時代が到来している。
FLASHの抜けた穴を埋めるかのようにhtml5やJavaScriptの表現力は進化を続けている。html5やJavaScriptだけでも相当複雑なコンテンツを構築することが可能だ。今やCGIやDBが絶対に必要なコンテンツは限定される。そこで世界的に"Static Site"の定義の見直しと再構築が進みつつある中で"Modern Static"の概念が新たな"Static Site"として台頭しつつある。それらの"Modern Static"をよりスピーディにデプロイするためのサービスとして、Braceが2013年12月にローンチした。
- Dropboxを使ってスタティックサイトを簡単容易にホストするBrace(Techcrunch)
何より素晴らしいのは、Braceを使えば、極論だがコンテンツ開発者はサーバやネットワーク運用の知識がほぼ必要ではなくなる。これはwebホスティングにおけるSaaSとも言える。世界中の誰しもがビルドしたコンテンツをより素早くインターネット上に配信することが可能になる。特にエンジニアリングリソースが枯渇している地域や組織においてのユーザー獲得が期待できるのではないかと思う。
一方で、 "Modern Static"のためのホスティングスペースとして利用され始める兆しがあるのが、従来型のレンタルサーバ事業者が提供するホスティングスペース上などではなく、Amazon S3やDropBoxなどのようなクラウドストレージサービス上のスペースだ。たしかに、これらのクラウドストレージ上のパブリックな保存領域に保管されたコンテンツはURLを持てるためにコンテンツ公開に不便はない。しかも、"Static Site"には従来型のレンタルサーバサービスが提供しているCGIやDB機能は原則として不要だ。従来型のホスティング事業を運営している国内のホスティング事業者が、これらの"Modern Static"の動きに対してどう反応するかには個人的に強く関心を惹かれる。もはや、彼らにとってのライバルは国内に存在する競合のホスティング事業者などではなく、Amazon やDropBoxという巨人なのかもしれない。巨人に横からあっという間に踏み潰される可能性はもはや0ではないということだ。
今後も、これらの動きには注目していきたい。