オープンソースカンファレンス osc 2014 エンタープライズ 東京 owncloud...
TRANSCRIPT
1
法人向けオンラインストレージマルチデバイスファイル共有ソリューション
株式会社ビーグッド・テクノロジー
BeGood Technology
まずはじめに。
ご来場いただき、誠にありがとうございます。
BeGood Technology
今日のお話
1. ownCloudの説明(20分)
歴史
機能紹介
拡張性
エコシステム
2. 性能検証の検証結果報告(15分)
3.(株)ビーグッドテクノロジーとownCloudビジネス(10分)
BeGood Technology
自己紹介
経歴 : システム開発、データベース周り(MySQLとかOracleとか)
今は(株)ビーグッド・テクノロジーの経営者です。
ownCloudの好きな機能: Server to Server Sync
その他 : apacheとかMySQLとかサーバーチューニング新しいオープンソースを探すのが好き。
梶原 稔尚(かじわら としひさ)1959年11月11日生まれ岐阜県岐阜市生まれ
bonybeat
BeGood Technology
〜概要紹介〜
owncloudってなんですか?
Dropboxのようなファイル共有・同期環境を、社内DC・学内DC・クラウドとか(要するにどこにでも)
構築できるオープンソースサーバーソフトウェアです。
BeGood Technology
操作画面
操作画面はこんな感じです。
BeGood Technology
動作環境
owncloudを動かすのに必要なソフトウェアです。
Linux(RedHat,Debian,CentOS,Ubuntu)
WindowsServer(2008)
Apache
MySQL/Mariadb
phpapc/xcache/opcacheはお好みで
ownCloud
IISNginx
PostgreSQL
その他、Lighthttpdとか
Oracle
OS
データベース
Webサーバ
APサーバ
アプリ
BeGood Technology
ownCloudの歴史
Frankさん(Frank Karlitschek)が、2010年にサンディエゴで開催されたCampKDEのキーノートスピーチで 「自由にデータを保存できるプラットフォームが必要だ!」といって開発を始めたのが始まりです。
フランクさんはこの人です。
この辺りのお話は、以下参照。<私が ownCloud を開発しオープンソースにした理由>https://jp.linux.com/news/linuxcom-exclusive/418653-lco20140704
BeGood Technology
その後
Frankさんは、2011年にownCloud社を設立
ver.3.0を2012年1月にリリース
ver.4.0を2012年5月にリリース
このあたりでowncloudを見つけた
気にいってメールを送ってパートナーになった
ver.5.0を2013年5月にリリース(日本語対応が完了)
ver.6.0を2013年11月にリリース
ver.7.0を2014年7月にリリース
ver.8.0を2014年年末にリリース?
BeGood Technology
User Data Manifest を発表
User Data Manifesto
http://userdatamanifesto.org/
1. データを自分で保持できること。
2. どこにデータがあるか明確にできること。
3. データストレージがどこにあるか選択できること。
4. 権限を管理できること。
5. データの権限情報を自分で選べること。
6. データが保持されて秘匿されていること。
7. いつでも自由に使えること。
8. サーバーのソフトウェアは、透明性を持っていること。
BeGood Technology
そうこうしていると
世界を震撼させる事件発生2013年6月、エドワード・スノーデンがNSAを告発
NSAの「PRISM」が世界中のデータを監視
ヨーロッパは、大混乱(アメリカが俺たちを監視してた。友達だと思ってたのに。)
BeGood Technology
そうは言ってもね。
データ共有のWebサービスって便利ですよね…。
そうです。便利です。
「一回使ってしまって、
その便利さを知ってしまうと後戻りすることは難しい。」
BeGood Technology
そこで、
「owncloud」です!
1. データを外に預けなくていい。
2. 自社で管理できる。
BeGood Technology
ownCloudの機能について
BeGood Technology
ファイル保存
ownCloudは、ブラウザ上でのドラッグ&ドロップによるアップロード、ダウンロード、直感的な操作性での利用が可能です。
ファイルをブラウザへドラッグ&ドロップ PDFはownCloud上で直接閲覧が可能
BeGood Technology
同期機能
ownCloud専用のデスクトップ用クライアントアプリケーションを使用すると、フォルダごとに同期されるため、アップロードやダウンロードを意識せず共有が可能になります。
BeGood Technology
ファイル共有
ownCloudは、同じownCloudにアカウントを持っている方とファイル、フォルダの共有ができます。アカウントがない場合は、URLで共有できます。
簡単にファイルを共有
BeGood Technology
マルチデバイス対応
ownCloudはスマートデバイス(iOS・Android)専用のアプリがあります。(有料:99円~100円)
BeGood Technology
マルチデバイス対応
ownCloudは、その他のWebDAVクライアントでも接続可能です。
無料で汎用性が高いのは以下でしょうか。
BeGood Technology
管理面では?
BeGood Technology
アカウントの管理
ユーザーの作成、管理者権限の付与、グループの作成、ユーザーのグループ付与、グループ管理者の権限付与ができます。
BeGood Technology
その他管理面
リモート共有の許可/不許可、共有の制限や期限の強制、SSL接続強制が可能です。
BeGood Technology
既存アカウント管理システムとの連携
既に導入されているLDAPやActive Directory等のアカウント管理システムとownCloud間でID連携する事が可能です。
ID/PW問合せ
権限可否応答
既存アカウント管理システムとの連動
Active Directory
BeGood Technology
外部ストレージとの連携
ownCloudから外部のストレージサービスへ連携機能が搭載されています。Amazon S3、Dropbox、Google Drive等の既存のストレージに接続することが可能です。
データ保存
外部ストレージ
BeGood Technology
既存のファイルサーバーと連携
SAMBA/CIFSマウントを利用して社内のWindowsファイルサーバーをownCloudからマウントすることで、既存の社内ファイルサーバーの運用はそのままで、ownCloudからオンラインストレージとて利用が可能です。 データ保存
BeGood Technology
WebDAVを利用したネットワーク接続
WebDAVで接続可能なので、Windows、MacOS、Linuxのデスクトップから接続できます。
BeGood Technology
セキュリティ ownCloudはオンラインストレージとして最も重要な要素であるセキュリテイーを
担保するために様々な仕組みが用意されています。
暗号化
SSL暗号化技術を利用した拠点間のセキュアなファイル交換が可能です。また、ownCloudはファイルを暗号化してからストレージに格納させることが可能です。
アンチウィルス
オープンソースのサーバー用アンチウィルスソフト「Clam AntiVirus」が標準サポートされています。
選択可能な共有方法
ownCloudのアカウントを持たない相手とのファイルの共有も可能です。簡単な操作でダウンロードURLを生成でき、パスワード設定はもちろん、必要以上に公開し続けるといったセキュリティ事故を防ぐダウンロードの有効期限の設定(時限公開制御)も可能です。
よりセキュアな環境へ
ownCloudはインターネットに接続できる環境であればどこからでも利用可能です。さらにIPアドドレスを使用したフィルタリングやVPNや専用線等を利用したよりセキュアなシステム構成で構築することも可能です。
BeGood Technology
拡張性は?
BeGood Technology
プラグイン/APIによる機能拡張
ownCloudは機能拡張や他システムとの連携のためのAPIやプラグインによる機能追加といった仕組みが用意されています。
他のシステムからアクセスや管理機能を制御するためのREST APIが用意されています。機能追加に関してはプラグイン形式による機能追加が可能です。
ownCloud Applications -http://apps.owncloud.com
BeGood Technology
サードパーティー製のプラグイン
プラグインに関しては、ownCloudが運営するサードパーティー製のプラグインのダウンロード可能なサイト (ownCloud Applications)も存在し、管理画面より導入が可能です。http://apps.owncloud.com
BeGood Technology
ownCloud で広がるエコシステムownCloud の目指すところ、
user data manifestohttps://userdatamanifesto.org/を元に
ownCloud上で動く、Webサービスを代替えするアプリが様々に開発されています。
簡単にご紹介します。
BeGood Technology
ownCloud の様々な機能拡張
Gmailの代替えを目指すWebメーラー
・RounbCube・Rainloop
Rainloopは、ニリアコットさんでも提供中「ニリアコットの仕事: ownCloudの使い方2014(7系)」http://niriakot.blogspot.jp/2014/07/owncloud.html
http://apps.owncloud.com/content/show.php/RainLoop+Webmail?content=165254
BeGood Technology
ownCloud の様々な機能拡張
Google Calendar の代替えとして
・ownCloud Calendarアプリ
BeGood Technology
ownCloud の様々な機能拡張
Google News Reader の代替えとして
・ownCloud Newsアプリ
ownCloud News Reader
CloudNews –ownCloud News Reader
アプリもあります(有料)
BeGood Technology
ownCloud 8の開発状況ニュース
ownCloud 8のリリースに向けて、ownCloud社のJos Poortvlietさんが、定期的に投稿しているownCloud開発状況ニュース
・URLリンクが短くなるそうです。(開発中)
http://yourcloud.com/index.php/s/3jd8fjv9sjd7fkl
October 7, 2014
ownCloud development for the first two weeks of September | ownCloud.org
http://owncloud.org/blog/owncloud-development-for-the-first-two-weeks-of-september/
September 26, 2014
ownCloud development in August Part II | ownCloud.org
http://owncloud.org/blog/owncloud-development-in-august-part-ii/
September 25, 2014
ownCloud development in August Part I | ownCloud.org
http://owncloud.org/blog/owncloud-development-in-august-part-i/
August 9, 2014
ownCloud development week 29 and 30 | ownCloud.org
http://owncloud.org/blog/owncloud-development-week-29-and-30/
BeGood Technology
大規模な環境でも使えるの?↓
試してみました
BeGood Technology
シナリオ
アカウント数3万人
全員が30分以内に以下を実行する!
ログイン
画面表示
ファイルアップロード
ログアウト
ログイン→一覧表示→勤怠表ファイルアップロード→ログアウト
BeGood Technology
システム構成1
Active Directory
App DB Server 1
App DB Server 2
Load
Balancer
JMeter Server1
JMeter Server2
NFS Server
ASUSTeK H81I-PLUS
Core i5-4440S CPU @ 2.80GHz 2 x
8192 MB
128GB SSD Corsair Performance
Pro CentOS 6.5
nginx, php-fpm, ownCloud,
MariaDB
Supermicro
113TQ-R700WB
Xeon E5-2630 @
2.30GHz
6 x 8192 MB
8 x 1TB RAID 6
CentOS 6.5LoadMaster 2200
VIA C7
4Port GigaE
Single arm+DSR
950Mbps L4
throughput
Requests per second
(HTTP L7): 25,000
LoadMaster 2200
ASUSTeK H81I-PLUS
Supermicro
113TQ-R700WB
JMeter Client
All network connections are 1GigE
nginx×2ノード+MariaDB(GaleraCluster)×2ノード
ASUSTeK H81I-PLUSMariaDB
Galera Cluster
BeGood Technology
性能検証結果(システム構成1)
Response Time、 Error(Upload部分)
Response Time、 Error(ログインからログアウトまで)
response_time(ミリ秒) スループット(1秒あたり)
error発生率平均 90%ライン
425 695 19.62 PV 0.0%
response_time(ミリ秒) スループット(1秒あたり)
error発生率平均 90%ライン
230 390 136.81PV 0.0%
BeGood Technology
社内で検証したサーバーはこんな感じ
サーバ構成図では、分かりづらいところがありますが、
システム構成1の実態は以下のような環境でした。
BeGood Technology
AWS+S3
を検証してみました
BeGood Technology
システム構成2
AmazonLinux(m3-
xlarge)
nginx, php-fpm,
ownCloud
EC2(m3-xlarge)×3ノード+ RDS(m3-xlarge)×1ノード
JMeter
Client
JMeter
Server1
JMeter
Server2
Web1local
cache
upload
buffer
Gateway
instance
Web2
Web3
m3-xlarge
Storage
Gateway Amazon S3
BeGood Technology
性能検証結果(システム構成2)
Response Time、 Error(Upload部分)
Response Time、 Error(ログインからログアウトまで)
response_time(ミリ秒) スループット(1秒あたり)
error発生率平均 90%ライン
458 594 19.62 PV 0.0%
response_time(ミリ秒) スループット(1秒あたり)
error発生率平均 90%ライン
196 400 136.81PV 0.0%
BeGood Technology
AWS+GlusterFS
を検証してみました
BeGood Technology
Gluster,Inc が開発した分散ファイルシステムで Redhat が買収して現在に至ります。Redhat は「Red Hat Storage Server」という GlusterFSの商用版の位置づけの製品もリリースしています。
• Linux上で動作する分散ファイルシステム• コモディティハードウェアのみで構成• スケーラブル• サーバの動的追加・削除が可能• データ冗長化機能• 負荷分散機能
GlusterFSとは?
BeGood Technology
システム構成3
EC2(m3-xlarge)×3ノード+ RDS(m3-xlarge)×1ノード
JMeter
Client
JMeter
Server1
JMeter
Server2
AmazonLinux(m3-
xlarge)
nginx, php-fpm,
ownCloud
Web1
Web2
Web3
m3-xlarge
Replicated
Volume
Replicated
Volume
BeGood Technology
性能検証結果(システム構成3)
Response Time、 Error(Upload部分)
Response Time、 Error(ログインからログアウトまで)
response_time(ミリ秒) スループット(1秒あたり)
error発生率平均 90%ライン
2638 3352 19.19 PV 0.0%
response_time(ミリ秒) スループット(1秒あたり)
error発生率平均 90%ライン
1362 1908 134.04 PV 0.0%
BeGood Technology
総括
ownCloud自体の成熟度はかなり高い
検証を行った各構成のボトルネックは、アプリではなく、インフラ環境であり、インフラの増強や構成変更でスケールしたことからownCloud自体の成熟度はかなり高いと言える。
実はノウハウが必要な環境構築
ロギング、PHPセッション、ジョブ管理、負荷分散構成、opcache、ulimit、GaleraClusterのinnodb_flush_log_at_trx_ commitプロパティ等、構築には実はノウハウが必要です。(でした)
以外にMySQLがボトルネックになる場合がある
前述のような負荷をかけるとMySQLへのクエリーが3000/秒とかになって最初のボトルネックになった。MySQLをクラスター化したり、AWSならRDSをm3-xlargeにしたりして解消した。
BeGood Technology
総括
最終的にはストレージの処理能力が課題
オンラインストレージということもあり、ストレージへのコス
トは高めです。「NAS」や(AWSの場合)ではストレージゲ
ートウェイが最終的なボトルネックとなりました。
BeGood Technology
東京エレクトロンデバイスさん+bashoさんと共同で
S3互換のオブジェクトストレージ
+
を検証しています
BeGood Technology
RiakCSはどういうものか?
RiakCSは、KVS型のNoSQLであるRiakを基盤として開発されたオープンソースのオブジェクトストレージソフトウェアです。Basho Technologies, Inc.によって開発されています。
Amazon S3プロトコルと互換性をもっており、データは自動的に複製され複数のサーバに保存されます。容易にサーバーが拡張ができるように設計されており、特殊なハードウェアを利用せずにデータを柔軟に格納できます。サーバーハードウェアの障害時にも容易にサービスを継続・復旧することができるようになっています。
RiakCSには、以下のような特徴が有ります。・1GBを越えるファイルのサポート・単一障害点が無いことによる低い管理コストと耐障害性・安価なハードウェアで容量を容易に増やすことができる拡張性・障害発生時の対応の容易さ、復旧操作のしやすさ。
BeGood Technology
システム構成4
nginx×2ノード+MariaDB(GaleraCluster)×2ノード+Riak/RiakCS×3ノード
DB Server 1
(MariaDB01)
DB Server 2
(MariaDB02)
Load
BalancerJMeter Server1
ASUSTeK H81I-PLUS
Core i5-4440S CPU @ 2.80GHz
2 x 8192 MB
128GB SSD Corsair Performance
Pro
CentOS 6.5
nginx, php-fpm, ownCloud
LoadMaster 2200
VIA C7
4Port GigaE
Single arm+DSR
950Mbps L4 throughput
Requests per second
(HTTP L7): 25,000
LoadMaster 2200
ASUSTeK
H81I-PLUS
ASUSTeK
H81I-PLUS
App Server 1
(ownCloud01)
ASUSTeK
H81I-PLUS
App Server 2
(ownCloud02)
ASUSTeK
H81I-PLUS
DB Server 3
(DB01)
ASUSTeK
H81I-PLUS
BeGood Technology
性能検証結果(システム構成4)
Response Time、 Error(Upload部分)
Response Time、 Error(ログインからログアウトまで)
response_time(ミリ秒) スループット(1秒あたり)
error発生率中央値 90%ライン
553 1347 8.3PV 0.0%
response_time(ミリ秒) スループット(1秒あたり)
error発生率中央値 90%ライン
327 1179 33.0PV 0.0%
15000ユーザーで計測
BeGood Technology
かなり安価なサーバーを横に並べて検証した結果です。RiakCSとownCloudは、接続時にREST APIプロトコルで動作するので、NFSとくらべてどうしてもオーバーヘッドが有るのですが、・障害点が無いことによる低い管理コストと耐障害性・安価なサーバーを並べていくことで大容量を実現できる拡張性が大きなメリットではないかと思います。今後、もっとサーバーを横に並べていった場合の性能が劣化しないかどうかを検証して、ホワイトペーパーとして発表したいと思います。
これまでオブジェクトストレージはREST APIのみの提供であることが多く、使いにくい面もあったが、ownCloudというWebインターフェースと組み合わせることにより、利用用途や利用シーンが広がっていくものと考えられます。
BeGood Technology
今後の検証予定
GlusterFSで動作しているので当然動作するのですが、RedHatさんからテスト用のライセンスがお借りできたので念のため検証しています。
レッドハットさんからは、2014年10月の「Red Hat Storage Server 3」発表時に、
モバイルの分野ではownCloud社と協業し、企業内にDropboxタイプのクラウドストレージを構築するownCloud Enterprise EditionとRed Hat Storageの組み合わせを推進する。
とプレスリリース頂いています。
BeGood Technology
ownCloudが動作するクラウド
クラウドやホスティング系(もっとあると思いますが)
・ニリアコット
・オーエフ・テック
・NTTスマートコネクト
・AWS MarketPlace
・IDCFrontier
・RapidSite
・さくらインターネット
・SoftLayer
BeGood Technology
検証ネタを募集中
うちのクラウド、うちのストレージも検証しろや。
というご要望があれば是非ご連絡下さい。
BeGood Technology
(株)ビーグッド・テクノロジーの
ownCloud関連ビジネス
BeGood Technology
商用サポート(コンサル、構築、保守サービス)
ビーグッド・テクノロジーは、ownCloudの国内唯一の正式パートナーです。
株式会社ビーグッド・テクノロジー ownCloud 担当
0 3 - 5 8 4 6 - 2 1 5 1
電話でのお問い合わせ
受付時間:平日9:00~17:00
メールでのお問い合わせ
受付時間:24時間受付中
株式会社ビーグッド・テクノロジー
〒113-0034 東京都文京区湯島3丁目31−6 大塚ビル 3F
http://www.begood-tech.com/
http://owncloud.jp
59
BeGood Technology
独自プラグイン開発1 日本語全文検索機能
日本語でownCloudに保管したドキュメントを全文検索 日本語に対応した全文検索機能をownCloudアプリケーションとして組み込み
可能です。
保管・共有された大量のファイルから特定のキーワードを含むファイルを探し出したいというニーズは、ownCloudに限らず全てのファイルサーバ・オンラインストレージにあります。BegoodTechnologyでは、ownCloudに組み込みが行える全文検索アプリケーションを開発しました。本アプリケーションをインストール・設定することでownCloudで管理されている全ての文章ファイル※
へ、その内容に対する全文検索が可能です。※ PDF 、MS Office等多数
教育機関に採用することで過去論文へのアクセスや、研究の過程で蓄積されていくファイルを学術データベースとすることが可能となります。
利用シーン
60
BeGood Technology
独自プラグイン開発1 日本語全文検索機能
日本語全文検索機能のアーキテクチャ
項目 内容
全文検索エンジン Mroonga(Groonga)
形態素解析エンジン MeCab
テキスト抽出 Apache Tika
対応フォーマット HTML、XML、MS Powerpoint、MS Word、PDF、TEXT、ODF、SXW
登録
検索全文検索画面から対象のファイルを検索
ファイルをブラウザへアップロード
全文検索DB
定期的に新しいファイルをインデックス化※全てのファイルを再インデックスする機能も有り
全文検索アプリ
61
オープンソースの全文検索エンジンMroongaを利用させてもらいました
検索項目の追加等カスタマイズについて別途承ります。
BeGood Technology
独自プラグイン開発2 監査ログ機能
ユーザ操作をログに保存する監査ログ機能 標準機能では出力されないログイン・ログアウト、ファイルアップロード・ダウン
ロード、ファイル共有等のユーザ操作をログに保存することが可能です。ログインIDに限らず、アクセス元のIPについても記録するので、どこからアクセスされたかを知ることができます。
様々な業務でクラウドやBYODといったワードが当たり前のようになっている昨今、利用者のセキュリティに関する意識が高まっています。その中でユーザの操作を記録する監査ログは、セキュリティ対策のアプローチとして有効な手段の一つです。本アプリケーションをインストールすることでWebブラウザやモバイル端末等全ての端末から行われたアップロード・ダウンロード、共有操作等をログに保存することが可能です。また、ログローテション機能を兼ね揃えています。
62
BeGood Technology
独自プラグイン開発2 監査ログ機能
監査ログ機能のアーキテクチャ
項目 内容
ロギング項目 時間、アクセス元IP、ユーザID、処理概要、処理詳細、パラメータ
ロギング処理 ログイン・ログアウト、ファイルダウンロード・アップロード、ファイル移動・コピー・削除、フォルダ移動・コピー・削除、共有操作
ログフォーマット Json形式
ログローテーション 1日に1回※月単位のフォルダに、ログを日付名でリネームしローテション
出力
ローテション
ownCludへの各種操作
指定ユーザの個人フォルダに圧縮したローテションファイルを保存
監査ログアプリ
63
BeGood Technology
特定の共有フォルダにfirewallを設定することで、機密文書へのアクセスを制限
64
ownCloudは、PCやモバイルデバイスでどこにいても、Web経由で自身のファイルやグループ共有されたフォルダにユニバーサルアクセスできることが強みです。
しかしながら、機密文書等が格納されているフォルダについては自社内からのアクセスのみとしたい等、フォルダに対してIPフィルターを仕掛けたいという要望が多数ありました。
本アプリケーションをインストールすることで、共有を行っているフォルダに対して、IPフィルターを設定することが可能となり、指定したIP以外からのアクセスを禁止します。設定したフォルダ以外へのアクセスは可能なので、ownCloudの利便性は損ないません。
社内
自宅
独自プラグイン開発3 IPフィルター(firewall)
BeGood Technology
独自プラグイン開発3 IPフィルター(firewall)
IPフィルター機能のアーキテクチャ
項目 内容
設定項目 共有フォルダ、IPアドレス
IPアドレス設定形式 CIDR (例:192.168.10.0/24)
フィルター対象 すべての端末からの参照・ダウンロード処理
IPアドレス設定
各ユーザの個人設定画面から自身が共有しているフォルダに対して設定
IPフィルターアプリ
65
社内
自宅
許可されているIPアドレスからのアクセスの場合、フォルダへのアクセスを許可
許可されているIPアドレス以外からのアクセスの場合、フォルダへのアクセスを許可
BeGood Technology
ownCloudを基盤としたシステム開発
66
某家電メーカーデジタルペーパー端末のバックエンドとして、ownCloudが採用されています。
デジタルペーパー端末を活用し、会議・授業の資料の配布や検索を可能にするソリューションのバックエンドを支えています。
ownCloud既存のファイル管理・WebDav機能をフル活用し、ソリューションに必要な付加機能のアドオン開発を行いました。
BeGood Technology
Japan ownCloudユーザーグループやってます。
http://owncloud.jp/forum/
Japan ownCloud UserGroup略して JOUG(ジョウグ)って呼んでください。
BeGood Technology
ご清聴ありがとうございました。
BeGood Technology
①性能検証結果についての詳細資料はowncloud.jpから
ダウンロード可能です。
②RiakCSの検証結果の詳細は、ホワイトペーパーを
近日中に公開します。
http://owncloud.jp