drupalによる大規模サイトの設計・実装において何に気をつけるべきか
TRANSCRIPT
Copyright (C) Digital Circus Corporation All Rights Reserved Page 2
プロフィール
田口 健
デジタルサーカス(株) 団長
Drupalの日本国内の普及・啓蒙活動に尽力中
Copyright (C) Digital Circus Corporation All Rights Reserved Page 3
デジタルサーカス株式会社
– 2008年よりDrupalのカスタマイズ開発を開始
– 日本のDrupal公式サポーティングパートナー第一号
– 国内の大規模サイトへのDrupal導入実績No.1
会社名 デジタルサーカス株式会社
設立 1999年2月
所在地 東京都港区南青山3-5-2 南青山第1韮澤ビル2階
TEL 03-5775-4406
WEB http://www.dgcircus.com/
資本金 8,284万円
従業員数 30名
事業内容 Drupalの導入・カスタマイズ
Copyright (C) Digital Circus Corporation All Rights Reserved Page 4
Drupalナビ
Drupal情報サイト「Drupalナビ」を運営
http://drupal-navi.jp/
Copyright (C) Digital Circus Corporation All Rights Reserved Page 6
DrupalはオープンソースCMS
Wikipediaより抜粋
http://ja.wikipedia.org/wiki/Drupal
Drupal(ドルーパル)は、プログラム言語PHPで記述されたフリーでオープンソースのモジュラー式フレームワークであり、コンテンツ管理システム (CMS) である。
Drupalは一般に、最も優れたWeb 2.0フレームワークの一つであると考えられている。
Copyright (C) Digital Circus Corporation All Rights Reserved Page 7
海外では巨大なシェア
– オープンソースCMSの御三家「Wordpress」「Drupal」「Joomla!」の合計で、CMS全体のシェアの72.3%を占める
– Drupalはそのなかでも最も大規模サイト向けのCMS
– 世界の2%のWebサイト(50サイトにひとつ)がDrupalで稼働中
(出典: W3Techs.com)
CMSマーケットシェア Drupal:5.1%
WEBサイトのCMS利用比率 Drupal:2%
WordPress
Joomla
Drupal
その他
CMS不使用
WordPress
Joomla
Drupal
その他
Copyright (C) Digital Circus Corporation All Rights Reserved Page 8
ハイエンド商用CMSと競合
ガートナー2014年レポートでWEBコンテンツ管理プラットフォームの市場でAdobe, Sitecore, IBM, HP, Oracle とともにリーダーとして選出
【Acquia】 DrupalのPaas
Drupal創始者がCTOを務める
(出典: Gartner)
Copyright (C) Digital Circus Corporation All Rights Reserved Page 9
Drupalの特徴
ライセンス無料
– Drupalはオープンソースソフトウェアとして提供され、商用/非商用問わず誰でも無料で利用可
豊富な機能
– ユーザー管理や多言語化などの機能は標準で実装され、数多くのモジュールを組み合わせることで多種の機能を実現する拡張性があるため、大規模WEBサイトに最適
優れたアーキテクチャ
– 高度に設計された堅牢なアーキテクチャは拡張性と細やかなセキュリティに配慮されており、カスタマイズによる拡張がしやすい構造
Copyright (C) Digital Circus Corporation All Rights Reserved Page 10
数々の受賞歴
Year Aword
2006 Packt Publishing「オープンソースCMSアワード」総合部門2位
2007 Packt Publishing「オープンソースCMSアワード」優勝
CNET「Webware 100」受賞
2008
Packt Publishing「オープンソースCMSアワード」優勝、2冠達成(総合部門、PHP部門で一位を獲得)
CNET「Webware 100」受賞
2009
Packt Publishing「オープンソースCMSアワード」2冠達成(PHP部門で一位を獲得、殿堂入り)
CNET「Webware 100」受賞
2010 Packt Publishing「オープンソースCMSアワード」殿堂入り部門2位
InfoWorld「Best of Open Source Software Awards」受賞
2011 InfoWorld「Best of Open Source Software Awards」受賞
2012 InfoWorld「Best of Open Source Software Awards」受賞
「オープンソースCMSアワード」で2年連続優勝ののち殿堂入り
海外ではCMSの代表的なパッケージとして非常に高い評価を獲得
Copyright (C) Digital Circus Corporation All Rights Reserved Page 11
海外の事例(官公庁系)
ホワイトハウス
オーストラリア政府
フランス政府
Copyright (C) Digital Circus Corporation All Rights Reserved Page 12
海外の事例(ポータル)
ワーナー・ブラザース
ワシントンポスト
エコノミスト
Copyright (C) Digital Circus Corporation All Rights Reserved Page 13
海外の事例(グローバル企業)
ジョンソン&ジョンソン
ダノン
メルセデス・ベンツ
Copyright (C) Digital Circus Corporation All Rights Reserved Page 16
Drupal 大規模サイト導入のポイント
機能/モジュール選定
インフラ設計
データ設計/データ移行設計
セキュリティ
パフォーマンスチューニング
SEO
保守運用
Copyright (C) Digital Circus Corporation All Rights Reserved Page 18
Drupalの構造
標準機能を構成する「コアモジュール」、追加インストール可能な「拡張モジュール」、自社専用にカスタマイズする「カスタムモジュール」コンテンツを格納する「データベース」、デザインを定義する「テーマ」から構成される。
テーマ データ
ベース コアモジュール
拡張モジュール
カスタムモジュール
コンテンツ更新
サイト管理者 WEBユーザー
サイトサクセス
Copyright (C) Digital Circus Corporation All Rights Reserved Page 19
標準機能/拡張モジュール
コンテンツ管理/会員管理/多言語化等の高度な標準機能に加え、拡張モジュール導入によりさまざまな機能を追加していくことが可能
Copyright (C) Digital Circus Corporation All Rights Reserved Page 20
巨大なオープンソースコミュニティ
世界中で開発されている拡張モジュールをインストールすることで機能を追加することができる。Drupal.orgに 3万本以上のDrupalモジュールが公開されており無料で利用可能。
利用可能な拡張モジュール 30,000 本以上
利用可能なデザインテーマ 2,000 件以上
登録デベロッパー 約40,000社
コミュニティユーザー 1,000,000 人以上
導入サイト数 1,000,000 サイト以上
対応言語 110言語
組織
Drupal Association
2828 SW Corbett Avenue, Suite #203
Portland, Oregon 97201, USA
Copyright (C) Digital Circus Corporation All Rights Reserved Page 21
贅沢な悩み
モジュールがたくさんありすぎてどのモジュールを選べばよいかわからない
→よく導入する定番モジュールは決まっている
→複数モジュール間の相性がある
→専門家によるコンサルティング/導入が必要
機能がありすぎでどれを使えばよいかわからない →利用しない機能はオフ(未使用状態)にできる
→ユーザー権限ごとに利用機能を制限できる
→不要なモジュールはアンインストールができる
Copyright (C) Digital Circus Corporation All Rights Reserved Page 22
ディストリビューション
業種・業界向けに最適なモジュールを組み合わせたパッケージが「ディストリビューション」として600個以上提供されています。
ECサイト用
ブログサイト用
イントラネット用
就職・転職サイト用
政府・公共機関用
教育機関用
ニュースサイト用
コミュニティサイト用
ホテルサイト用
Drupal Commons
Open Hotel
Copyright (C) Digital Circus Corporation All Rights Reserved Page 23
日本向けディストリビューション
デジタルサーカス(株)で日本市場に最適化したディストリビューションをご提供しています。
• 定番モジュール組込/検証済
• SEOやアクセス解析等の基本設定済
• 日本向けのデザインテンプレート
• マルチデバイス対応(スマホ/タブレット)
• 日本語マニュアル
• 日本語保守サポート
Copyright (C) Digital Circus Corporation All Rights Reserved Page 25
動作環境
利用可能なDrupalのメジャーバージョンはDrupal6&7
より機能が豊富で安定しているDrupal7の利用を推奨
Drupal 6 Drupal 7
動作環境
OS: Linux/Windows WWW Apache1.3~ Microsoft IIS 5~ Nginx 1.2~ PHP: 4.4.0~ DB: MySQL 4.1~ PostgreSQL 7.1~
OS: Linux/Windows WWW Apache1.3~ Microsoft IIS 5~ Nginx 1.2~ PHP: 5.2.5~ DB: MySQL 5.0.15~ PostgreSQL 8.3~
推奨 スペック
CPU: 2core 2.2GHz~ メモリ: 2GB~ HDD: 20GB~ (OS・プログラムファイル含む)
*Drual 8 は2015年内に正式リリース予定(現在はベータ版)
Copyright (C) Digital Circus Corporation All Rights Reserved Page 26
システム構成例
典型的な構成例 – WWWサーバ: ロードバランサにより複数台に振り分け
– 管理用サーバ: コンテンツ登録/更新用の専用サーバ
– DBサーバ: MySQLによるレプリケーション
– ステージングサーバ: 事前検証用のテストサーバ
MySQL
ステージング (Drupal+DB)
管理用サーバ (Drupal)
WWWサーバ(Drupal)
Copyright (C) Digital Circus Corporation All Rights Reserved Page 28
データ設計が重要
Drupalはデータを柔軟に管理するための高度な機能を標準装備
データの種類やボリュームに応じてDrupalの機能を最大限引き出せるようなデータ設計・実装が非常に重要
データタイプ 説明 データ例
コンテンツ サイトに掲載する基本要素
(ページ/記事)
お知らせ、サービス説明、IR情報
エンティティ コンテンツでは対応できない
特別なデータタイプ
複雑な商品、資料請求データ
タクソノミー コンテンツの分類や属性とな
るマスタ情報
カテゴリ、タグ
カスタムテーブル カスタマイズして利用したい
独自テーブル
注文履歴(業務システムと連携)
Copyright (C) Digital Circus Corporation All Rights Reserved Page 29
コンテンツとコンテンツタイプ
標準で用意されているコンテンツ入力項目(タイトル、本文、掲載フラグなど)に加えて、独自項目を管理画面から定義してオリジナルの「コンテンツタイプ」を登録することが可能
標準のコンテンツ登録画面
独自コンテンツ登録画面
Copyright (C) Digital Circus Corporation All Rights Reserved Page 30
データ移行
データ移行用のモジュールが豊富に存在
• 会員データ移行
• コンテンツ移行
• マスタ系データ移行
一括インポート/移行モジュール開発の2通り
静的コンテンツの大量移行は工数への影響大
• HTMLタグ入りコンテンツは検証&微調整必要
• 特にスマホ対応の場合
Copyright (C) Digital Circus Corporation All Rights Reserved Page 32
堅牢なセキュリティ
セキュリティ要求の高い多数サイトで採用
–Drupalのコアモジュールは、SQLインジェクション/クロスサイトスクリプティング/クロスサイトリクエストフォージャリーなどによるサイトへの攻撃への対策済
–国内大手企業サイト導入時のセキュリティ監査にも合格
Copyright (C) Digital Circus Corporation All Rights Reserved Page 33
セキュリティ強化機能
WEBサイトのセキュリティを高めるための豊富な機能
•権限グループ(ロール)の作成
•権限グループごとのアクセス制御
•組織単位でのアクセス制限
•パスワードの暗号化
•連続パスワード誤入力時のアカウント自動ロック
•IPアドレスによるアクセス制限
・・・・・など
Copyright (C) Digital Circus Corporation All Rights Reserved Page 34
専門のセキュリティチームの存在
Drupalコミュニティに専門のセキュリティチームが存在
セキュリティアップデートを頻繁にリリース
Drupalナビ http://drupal-navi.jp/
• Drupal.orgからセキュリティアップデートがほぼ毎週リリースされています。
• デジタルサーカス(株)では「Drupalナビ」でセキュリティアップデート情報を日本語で配信しています。
Copyright (C) Digital Circus Corporation All Rights Reserved Page 36
SEO優位性
Drupalで構築したWEBサイトは構造化され検索エンジンからクロールされやすくSEOに有利
【コンテンツ構造化】
コンテンツはデータベースに保存されトップページ/一覧ページ/まとめページなどに適切なリンクが自動で設置されます。
【URL最適化】
コンテンツに対して適切なURLを定義しサイト全体で統合されたURL体系の管理を行うことができます。
Copyright (C) Digital Circus Corporation All Rights Reserved Page 37
豊富なSEO機能
SEOに役立つ機能/モジュールが豊富に存在
• Metaタグ管理
• OGPタグ管理
• パンくずリスト表示
• アクセス解析(Google Analytics連携)
• 検索エンジン用サイトマップ自動作成
• リンク切れ自動チェック
• リダイレクト設定
・・・・・など
Copyright (C) Digital Circus Corporation All Rights Reserved Page 39
大規模サイトでの実績
The Weather Channel(Weather.com)
10億ユニークユーザー/月
2000万件のコンテンツ
Top 20 U.S. site (comScore)
Copyright (C) Digital Circus Corporation All Rights Reserved Page 40
強力なパフォーマンス対策機能
大規模サイトでの運用ノウハウと高アクセスに対処するためのモジュール/ソリューション
標準キャッシュ機能
• コンテンツページのキャッシュ
• 一覧ページのキャッシュ
• Javascript/CSSの圧縮
拡張機能
• memcached利用
• Varnish利用
• CDN利用
Copyright (C) Digital Circus Corporation All Rights Reserved Page 42
安定したサイト運営のための支援機能
サイトを安定して運用するための支援機能が標準/拡張モジュールで豊富に存在する
– コンテンツ管理
– ユーザー管理
– 権限管理
– ワークフロー管理
– 稼働状況表示
– ログ記録
– SEO支援
・・・・・など
Copyright (C) Digital Circus Corporation All Rights Reserved Page 43
Drupalの拡張性
Drupalは運用後の拡張性に優れたフレームワーク
– 管理画面での設定で相当の機能拡張が可能
デザインテーマの入れ替え
ページレイアウト変更
ワークフロー設定
– いつでも拡張モジュールのインストールが可能
最新のテクノロジーを好きなときに導入可能
– 高いカスタマイズ性
はじめからカスタマイズ前提で設計されているフレームワーク
世界中のエンジニアのベストプラクティスが集積
Copyright (C) Digital Circus Corporation All Rights Reserved Page 44
標準モジュール(コア) 拡張モジュール
セキュリティアップデート
更新内容やセキュリティ深刻度からアップデートの必要性を判断
Not critical たいして危険ではない
Less Critical 少し危険
Moderately Critical ほどほどに危険
Critical 危険
Highly Critical 超危険!
Copyright (C) Digital Circus Corporation All Rights Reserved Page 45
Drupal公式パートナーの存在
デジタルサーカス(株)はDrupal Associationに認定された日本におけるDrupal公式サポーティングパートナーです。