NASAのDrupal移植はどう行われたか

アイキャッチ画像 Umi->d

こんにちは、新入りエンジニアの新田です!今回は(読むのだけが)得意の英語を活かして海外の大型Drupal移植事例について調べてきました。Drupal移植を考えている企業の方々のご参考になれば幸いです。

NASA
(画像はDrupal.orgからお借りしました。)

ウェブサイトの最も基本的で重要な機能は、あるべき情報をあるべき場所に収納し、ユーザーが欲しい情報にアクセスできるようにすることですが、情報量が多くなれば多くなるほどその管理は困難になり、費用も上がっていきます。数あるCMSの中でも、Drupalは強力な情報マネジメント能力によって海外の多くの政府機関や自治体、大学などに選ばれ、巨大なサイトを構築することに役立ってきましたが、今回はその代表的な例として、25万ページ、140万コンテンツ、3テラバイトもの膨大な情報を有する NASAのオフィシャルサイト(NASA.govとその関連サイトのDrupal移植について紹介しようと思います。

初のDrupal移植

NASAがDrupal7への移植に踏み切ったのは2013年のことです。それまでは民間の有料CMSが使われていました。Drupal.orgによると、NASAがDrupalを選んだのは、実績があること、拡張性があること、コミュニティの大きさ、安全であること、そして「衝撃的なコストの低さ」が理由で、この移植で削減されたサイト維持費は年間数億円にも登るそうです。移植を担当したMonoboによると、制作はMobomo社員14名とNASA職員5名の協力により13週間のうちに行われ、既存のウェブサービスを止めることなく水面下で完了しました。

データベースのクラウド化

2013年のDrupal移植で実施された大きな変更の一つは、それまでNASAの自前のデータセンターで管理されていたウェブサイト用のデータをAWS(アマゾンウェブサービス)に移転することでした。NASAのサイトではたった一日で500以上のコンテンツエディターによる2000件以上のアップデートが行われ、閲覧数は100万ビューにも登ります。そのような莫大な負荷に対処するため、MobomoはアマゾンAZ(マルチアベイラビリティゾーン:サーバーやデータベースのコピーをいくつも作り、地理的に離れた場所に分散するサービス)を利用し対衝撃性を確保しました。2017年の皆既日食時は、同時に閲覧しているユーザーがなんと200万人を記録し、アクセスが集中した6時間の閲覧数は4000万ビューにも登りましたが、これも見事に乗り切りました。

Drupalのヘッドレス化

さらに、2015年のアップデートで、MobomoはNASAで使われているDrupalをヘッドレス化しました。ヘッドレスというのは直訳すると「頭が無い」ですが、サーバー側からJSONファイルを送り、クライアント側でAngularJS、EmberJS、React などのJSフレームワークを使って画面を組み立てることを言います。この方法を使うと、JSONファイルが軽量であるため、従来のDrupalテーマを使いHTMLを描画したものをサーバーから送る方法よりもページの反応速度を上げることができます。また、バックエンドとフロントエンドを切り離すことでメンテナンス性が向上するというメリットもあります。このアップデートではEmber.JSが使われました。

ユーザー中心主義&モバイル使用を第一に考えられたデザイン

政府機関のオフィシャルサイトである以上、カタログのように全ての情報が正しいカテゴリに分けられて配置されているということはとても重要ですが、NASAとMobomoはユーザーの視点から見た使いやすさを一番に考えて、Drupalのヘッドレス化と同時にデザインを設計し直しました。例えば、火星探査、宇宙ステーション、人工衛星から航空学まで、ジャンルに関係なく最新記事で使われている画像がトップ画面に上がってくるようにし、ユーザーが画像を見て興味を引かれた所に飛んで、その画像が何を意味しているのか知る、という使い方をできるようにしました。また、モバイル端末からも破綻なくサクサク操作でき、簡単に動画を見たり、各種ソーシャルメディアで共有できるように設計されました。

ウェビー賞受賞

リニューアル後のユーザーの反響を示す出来事として、ウェブ業界のオスカーと呼ばれるウェビー賞受賞について触れておこうと思います。ウェビー賞には審査員によって決められる賞と一般人の審査によって決められる賞がありますが、NASA.govは 2014年、2016年、2017年、 2018年の4回に渡って後者を受賞しました。NASAの思い切ったDrupal移植と、それに伴うシステムの大幅リフォームが正解だった証拠と言えるでしょう。

まとめ

NASAのDrupal移植は、Drupalの柔軟なバックエンド能力を活かしつつ、クラウド型のデータベースとJSフレームワークにそれぞれデータ管理とデザインを任せるという形で設計されました。これにより、レスポンシブで軽量でありながら、アクセスが集中した時でもサーバーをダウンさせることなく莫大な量の情報を捌けるウェブサイトが実現しました。もちろん、Drupalの変幻自在のコンテンツマネジメント機能を活かし、様々な種類の情報を、あらゆるレベルで有機的に結合したことにも注目すべきでしょう。NASAのウェブサイトはDrupalの可能性を見せてくれる最高のサンプルであることには間違いありません。

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。

Webプログラマー募集 私たちスタジオ・ウミは、共に技術を高め合い、共に価値ある仕事を追求できる仲間を探しています。