SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
株式会社CMSコミュニケーションズ
1
Plone + AWS
スケールアウト可能な
ハイパフォーマンスPloneサイトを
クラウドに構築
Manabu TERADA
2015/6/13
Plone Symposium Tokyo 2015
株式会社CMSコミュニケーションズ
@terapyon
Owner of CMS communications Inc.
Chair of PyCon APAC 2013 in Japan
Plone Foundation Ambassador
Member of NVDA Japanese Team
About me
株式会社CMSコミュニケーションズ
Manabu TERADA
We use Plone for building web site
Universities, Public institutions
Engineering company
Supporting education tools
CMScom
2
Case Study by us
株式会社CMSコミュニケーションズ
http://www.osaka-u.ac.jp/
http://todai.tv/
http://www.osaka-cu.ac.jp/
http://ocw.kyoto-u.ac.jp/
http://ocw.osaka-u.ac.jp/
https://crdeg2.cf.ocha.ac.jp/ocha/plone
https://my.osaka-u.ac.jp/ (need login)
http://typemoon.com/
3
Case Study by us
株式会社CMSコミュニケーションズ 4
Case Study by us
株式会社CMSコミュニケーションズ 5
Case Study by us
株式会社CMSコミュニケーションズ 6
株式会社CMSコミュニケーションズ
Small system / Large system / System elements
システム構成の例
2
3
1
System structure for Plone
Contents of this session
How to use AWS?
AWSの使いどころなど。
Using Amazon Web Services (AWS)
Motivation
4 Q & A
7
なぜ、何かをしたいのか?
Ploneをホストする上で、どのように何をすべきか。
Speed Up (スピードアップ)
Support of large number of access (大量アクセス)
Cost down (コスト削減)
Flexible system (柔軟なシステム)
Motivation
株式会社CMSコミュニケーションズ 8
System structure (minimum)
株式会社CMSコミュニケーションズ 9
Plone (スタンドアローン)
1台の物理サーバ又はクラウドサーバ
管理者
管理用アクセス
パスワード必要
Apache (Webサーバ)
Ploneコアシステム

(アプリケーションサーバ)
ZODB
(データベースサーバ)
閲覧者
閲覧者
System structure (Large system)
株式会社CMSコミュニケーションズ 10
管理者
nginx (Webサーバ)
Ploneコアシステム

(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
CDN
System structure (Middle size)
株式会社CMSコミュニケーションズ 11
管理者
管理用アクセス
パスワード必要
nginx (Webサーバ)
Ploneコアシステム

(アプリケーションサーバ)
ZODB
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
株式会社CMSコミュニケーションズ 12
海外からもゲストが来ます。
nginx or Apache
フロントエンドでリクエストを受る
バーチャルホストやSSLを担当
構成要素の説明 (structural element)
Webサーバ
HAProxy
セッションを維持した振り分け
ロードバランス
Varnish
HTML / CSS / 画像などをキャッシュ
ロードバランシング機能
キャッシュサーバ
CloudFront や アカマイ
静的なコンテンツを別ネットワークから
CDN
System structure (Large system)
株式会社CMSコミュニケーションズ 13
管理者
nginx (Webサーバ)
Ploneコアシステム

(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
CDN
株式会社CMSコミュニケーションズ 14
海外からもゲストが来ます。
Zope / Plone サーバ
メモリとCPUを消費
ZEOで複数のアプリケーションサーバ
構成要素の説明 (structural element)
アプリケーションサーバ
memchaced
関数・メソッドをキャッシュ
Zope再起動でキャッシュを消さない
メモリキャッシュ
ZODB
Data.fs と blob
データベース
RelStorage / NEO
MySQL / PostgreSQL
その他のデータベース
System structure (Large system)
株式会社CMSコミュニケーションズ 15
管理者
nginx (Webサーバ)
Ploneコアシステム

(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
CDN
Webサーバ ・・・ nginxを使いましょう
キャッシュサーバ・・・Varnishをきちんとセットアップ
Plone 4 からのデフォルトblob化で効果あり
ZEO・・・負荷が高いのであれば導入検討
メモリキャッシュ・・・ZEOでキャッシュ共有可能
ZODBチューニングは難しいので、RelStrageなどを検討
キャッシュのチューニング/パージは、plone.app.caching
を設定
構成要素のまとめ
株式会社CMSコミュニケーションズ 16
Using Amazon Web Services (AWS)
株式会社CMSコミュニケーションズ 17
EC2
RDS
EBS
CloudFront
ElastiCache
S3
R53
System structure (on AWS)
株式会社CMSコミュニケーションズ 18
管理者
nginx (Webサーバ)
Ploneコアシステム

(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
CDN
EC2
System structure (on AWS)
株式会社CMSコミュニケーションズ 19
管理者
nginx (Webサーバ)
Ploneコアシステム

(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
CDN
DB
System structure (on AWS)
株式会社CMSコミュニケーションズ 20
管理者
nginx (Webサーバ)
Ploneコアシステム

(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Ploneコアシステム

(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
CDN
CDN
Using Amazon Web Services (AWS)
株式会社CMSコミュニケーションズ 21
EC2
RDS
EBS
CloudFront
ElastiCache
S3
EFS
R53
株式会社CMSコミュニケーションズ
Small system / Large system / System elements
システム構成の例
2
3
1
System structure for Plone
Summary of this session
How to use AWS?
AWSの使いどころなど。
Using Amazon Web Services (AWS)
Motivation
22
なぜ、何かをしたいのか?
One More thing
株式会社CMSコミュニケーションズ 23
Using CDN
株式会社CMSコミュニケーションズ 24
Only a few changing on
nginx config
Server Setting
株式会社CMSコミュニケーションズ 25
System structure w/o CDN
株式会社CMSコミュニケーションズ 26
nginx Varnish
Plone1
Plone2
Plone3
System structure w/ CDN
株式会社CMSコミュニケーションズ 27
nginx Varnish
Plone1
Plone2
Plone3
CDN
CloudFront
nginx Config
株式会社CMSコミュニケーションズ 28
location / {
if ($uri * .(jpe?g¦png¦gif¦pdf¦gz¦tgz¦bz2¦tbz¦zip¦tiff¦tif)$) {
set $no_plone A;
}
if ($uri * /(image¦(image_(?:[^/]¦(?!view.*).+)))$) {
set $no_plone A;
}
if ($uri * .(svg¦swf¦ico¦mp3¦mp4¦m4a¦ogg¦mov¦avi¦wmv¦flv)$) {
set $no_plone A;
}
if ($uri * .(css¦js)$) {
set $no_plone A;
}
if ( $http_user_agent != "Amazon CloudFront" ) {
set $no_plone "${no_plone}B";
}
if ($no_plone = AB) {
expires 1h;
rewrite ^ http://YOUR_SUBDOMAIN.cloudfront.net$request_uri? last;
}
proxy_pass http://to_varnish/VirtualHostBase/http/YOUR_DOMAIN:80/Plone/
VirtualHostRoot/;
}
Data delivery first time
株式会社CMSコミュニケーションズ 29
nginx Varnish
Plone1
Plone2
Plone3
CDN
CloudFront
1
Redirect
2
3
4
5
6
7
8
Data delivery
株式会社CMSコミュニケーションズ 30
nginx Varnish
Plone1
Plone2
Plone3
CDN
CloudFront
1
Redirect
2
Other usage
株式会社CMSコミュニケーションズ 31
Streaming video
株式会社CMSコミュニケーションズ
Streaming video with access control by Plone login
CloudFront provides Streaming and one time URL
system.
https://bitbucket.org/cmscom/c2.app.streamingaws
32
サンプル
株式会社CMSコミュニケーションズ 33
Thank youCMSPlone
株式会社CMSコミュニケーションズ 34
Q&ACMSPlone
株式会社CMSコミュニケーションズ
4
35

Contenu connexe

Similaire à Plone + AWS at Plone Symposium tokyo 2015

OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)NTT DATA Technology & Innovation
 
サーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalkサーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalkHirokazu Ouchi
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドMasanori Itoh
 
Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API GatewayTakuro Sasaki
 
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-Amazon Web Services Japan
 
20140924イグレックcioセミナーpublic
20140924イグレックcioセミナーpublic20140924イグレックcioセミナーpublic
20140924イグレックcioセミナーpublicjunkoy66
 
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムSatoshi Iijima
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon awstakaoka susumu
 
スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例schoowebcampus
 
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~Amazon Web Services Japan
 
CloudFormation で SAP
CloudFormation で SAPCloudFormation で SAP
CloudFormation で SAPiret Inc.
 
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行Amazon Web Services Japan
 
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪真吾 吉田
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AzareaCluster
 
[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008Toru Kimura
 
May the FaaS be with us!!
May the FaaS be with us!!May the FaaS be with us!!
May the FaaS be with us!!真吾 吉田
 
いまさら聞けない Amazon EC2
いまさら聞けない Amazon EC2いまさら聞けない Amazon EC2
いまさら聞けない Amazon EC2Yasuhiro Matsuo
 

Similaire à Plone + AWS at Plone Symposium tokyo 2015 (20)

OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
 
サーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalkサーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalk
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API Gateway
 
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
 
20140924イグレックcioセミナーpublic
20140924イグレックcioセミナーpublic20140924イグレックcioセミナーpublic
20140924イグレックcioセミナーpublic
 
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システム
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws
 
スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例
 
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
 
CloudFormation で SAP
CloudFormation で SAPCloudFormation で SAP
CloudFormation で SAP
 
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
 
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
 
[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008
 
May the FaaS be with us!!
May the FaaS be with us!!May the FaaS be with us!!
May the FaaS be with us!!
 
Amazon Web Servicesブース:UI×API×AWS 横田 聡
Amazon Web Servicesブース:UI×API×AWS 横田 聡Amazon Web Servicesブース:UI×API×AWS 横田 聡
Amazon Web Servicesブース:UI×API×AWS 横田 聡
 
いまさら聞けない Amazon EC2
いまさら聞けない Amazon EC2いまさら聞けない Amazon EC2
いまさら聞けない Amazon EC2
 

Plus de Manabu Terada

SI業界の営業の役割と存在意義を一緒に考えよう
SI業界の営業の役割と存在意義を一緒に考えようSI業界の営業の役割と存在意義を一緒に考えよう
SI業界の営業の役割と存在意義を一緒に考えようManabu Terada
 
私とコミュニティとPython
私とコミュニティとPython私とコミュニティとPython
私とコミュニティとPythonManabu Terada
 
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallPlone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallManabu Terada
 
Osc2015 Tokyo Spring Plone by terada
Osc2015 Tokyo Spring Plone by teradaOsc2015 Tokyo Spring Plone by terada
Osc2015 Tokyo Spring Plone by teradaManabu Terada
 
Plone conf 2014report by terada
Plone conf 2014report by teradaPlone conf 2014report by terada
Plone conf 2014report by teradaManabu Terada
 
PloneConf 2014 CDN terada
PloneConf 2014 CDN teradaPloneConf 2014 CDN terada
PloneConf 2014 CDN teradaManabu Terada
 
Planning plone Symposium Tokyo 2015
Planning plone Symposium Tokyo 2015Planning plone Symposium Tokyo 2015
Planning plone Symposium Tokyo 2015Manabu Terada
 
OSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaOSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaManabu Terada
 
PyCon JP 2014 plone terada
PyCon JP 2014 plone teradaPyCon JP 2014 plone terada
PyCon JP 2014 plone teradaManabu Terada
 
Varnish 4 Release Party in Tokyo (terada)
Varnish 4 Release Party in Tokyo (terada)Varnish 4 Release Party in Tokyo (terada)
Varnish 4 Release Party in Tokyo (terada)Manabu Terada
 
Ja sakai conf 2014 edx by Manabu TERADA
Ja sakai conf 2014 edx by Manabu TERADAJa sakai conf 2014 edx by Manabu TERADA
Ja sakai conf 2014 edx by Manabu TERADAManabu Terada
 
Fuzzy search on plone & search for east asian language
Fuzzy search on plone & search for east asian languageFuzzy search on plone & search for east asian language
Fuzzy search on plone & search for east asian languageManabu Terada
 
Reporting of PyCon APAC at ploneconf / PyCon BR
Reporting of  PyCon APAC at ploneconf / PyCon BRReporting of  PyCon APAC at ploneconf / PyCon BR
Reporting of PyCon APAC at ploneconf / PyCon BRManabu Terada
 
PyCon asiapacific 2013 bengkeat
PyCon asiapacific 2013 bengkeatPyCon asiapacific 2013 bengkeat
PyCon asiapacific 2013 bengkeatManabu Terada
 
PyCon APAC session Frontpage for iqbal
PyCon APAC session Frontpage for iqbalPyCon APAC session Frontpage for iqbal
PyCon APAC session Frontpage for iqbalManabu Terada
 
PyCon APAC 2013 Apac session terada
PyCon APAC 2013 Apac session teradaPyCon APAC 2013 Apac session terada
PyCon APAC 2013 Apac session teradaManabu Terada
 
グリーンコンサート視察報告 (寺田)
グリーンコンサート視察報告 (寺田)グリーンコンサート視察報告 (寺田)
グリーンコンサート視察報告 (寺田)Manabu Terada
 
Plone talk 201308_terada
Plone talk 201308_teradaPlone talk 201308_terada
Plone talk 201308_teradaManabu Terada
 

Plus de Manabu Terada (20)

SI業界の営業の役割と存在意義を一緒に考えよう
SI業界の営業の役割と存在意義を一緒に考えようSI業界の営業の役割と存在意義を一緒に考えよう
SI業界の営業の役割と存在意義を一緒に考えよう
 
私とコミュニティとPython
私とコミュニティとPython私とコミュニティとPython
私とコミュニティとPython
 
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallPlone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
 
Osc2015 Tokyo Spring Plone by terada
Osc2015 Tokyo Spring Plone by teradaOsc2015 Tokyo Spring Plone by terada
Osc2015 Tokyo Spring Plone by terada
 
Plone conf 2014report by terada
Plone conf 2014report by teradaPlone conf 2014report by terada
Plone conf 2014report by terada
 
PloneConf 2014 CDN terada
PloneConf 2014 CDN teradaPloneConf 2014 CDN terada
PloneConf 2014 CDN terada
 
Planning plone Symposium Tokyo 2015
Planning plone Symposium Tokyo 2015Planning plone Symposium Tokyo 2015
Planning plone Symposium Tokyo 2015
 
OSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaOSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_terada
 
PyCon JP 2014 plone terada
PyCon JP 2014 plone teradaPyCon JP 2014 plone terada
PyCon JP 2014 plone terada
 
WPD tokyo opening
WPD tokyo openingWPD tokyo opening
WPD tokyo opening
 
Varnish 4 Release Party in Tokyo (terada)
Varnish 4 Release Party in Tokyo (terada)Varnish 4 Release Party in Tokyo (terada)
Varnish 4 Release Party in Tokyo (terada)
 
Ja sakai conf 2014 edx by Manabu TERADA
Ja sakai conf 2014 edx by Manabu TERADAJa sakai conf 2014 edx by Manabu TERADA
Ja sakai conf 2014 edx by Manabu TERADA
 
Fuzzy search on plone & search for east asian language
Fuzzy search on plone & search for east asian languageFuzzy search on plone & search for east asian language
Fuzzy search on plone & search for east asian language
 
Reporting of PyCon APAC at ploneconf / PyCon BR
Reporting of  PyCon APAC at ploneconf / PyCon BRReporting of  PyCon APAC at ploneconf / PyCon BR
Reporting of PyCon APAC at ploneconf / PyCon BR
 
PyCon asiapacific 2013 bengkeat
PyCon asiapacific 2013 bengkeatPyCon asiapacific 2013 bengkeat
PyCon asiapacific 2013 bengkeat
 
PyCon APAC session Frontpage for iqbal
PyCon APAC session Frontpage for iqbalPyCon APAC session Frontpage for iqbal
PyCon APAC session Frontpage for iqbal
 
Pyconapac2014taiwan
Pyconapac2014taiwanPyconapac2014taiwan
Pyconapac2014taiwan
 
PyCon APAC 2013 Apac session terada
PyCon APAC 2013 Apac session teradaPyCon APAC 2013 Apac session terada
PyCon APAC 2013 Apac session terada
 
グリーンコンサート視察報告 (寺田)
グリーンコンサート視察報告 (寺田)グリーンコンサート視察報告 (寺田)
グリーンコンサート視察報告 (寺田)
 
Plone talk 201308_terada
Plone talk 201308_teradaPlone talk 201308_terada
Plone talk 201308_terada
 

Dernier

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Dernier (8)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

Plone + AWS at Plone Symposium tokyo 2015

  • 2. @terapyon Owner of CMS communications Inc. Chair of PyCon APAC 2013 in Japan Plone Foundation Ambassador Member of NVDA Japanese Team About me 株式会社CMSコミュニケーションズ Manabu TERADA We use Plone for building web site Universities, Public institutions Engineering company Supporting education tools CMScom 2
  • 3. Case Study by us 株式会社CMSコミュニケーションズ http://www.osaka-u.ac.jp/ http://todai.tv/ http://www.osaka-cu.ac.jp/ http://ocw.kyoto-u.ac.jp/ http://ocw.osaka-u.ac.jp/ https://crdeg2.cf.ocha.ac.jp/ocha/plone https://my.osaka-u.ac.jp/ (need login) http://typemoon.com/ 3
  • 4. Case Study by us 株式会社CMSコミュニケーションズ 4
  • 5. Case Study by us 株式会社CMSコミュニケーションズ 5
  • 6. Case Study by us 株式会社CMSコミュニケーションズ 6
  • 7. 株式会社CMSコミュニケーションズ Small system / Large system / System elements システム構成の例 2 3 1 System structure for Plone Contents of this session How to use AWS? AWSの使いどころなど。 Using Amazon Web Services (AWS) Motivation 4 Q & A 7 なぜ、何かをしたいのか?
  • 8. Ploneをホストする上で、どのように何をすべきか。 Speed Up (スピードアップ) Support of large number of access (大量アクセス) Cost down (コスト削減) Flexible system (柔軟なシステム) Motivation 株式会社CMSコミュニケーションズ 8
  • 9. System structure (minimum) 株式会社CMSコミュニケーションズ 9 Plone (スタンドアローン) 1台の物理サーバ又はクラウドサーバ 管理者 管理用アクセス パスワード必要 Apache (Webサーバ) Ploneコアシステム
 (アプリケーションサーバ) ZODB (データベースサーバ) 閲覧者 閲覧者
  • 10. System structure (Large system) 株式会社CMSコミュニケーションズ 10 管理者 nginx (Webサーバ) Ploneコアシステム
 (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ CDN
  • 11. System structure (Middle size) 株式会社CMSコミュニケーションズ 11 管理者 管理用アクセス パスワード必要 nginx (Webサーバ) Ploneコアシステム
 (アプリケーションサーバ) ZODB (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ)
  • 12. 株式会社CMSコミュニケーションズ 12 海外からもゲストが来ます。 nginx or Apache フロントエンドでリクエストを受る バーチャルホストやSSLを担当 構成要素の説明 (structural element) Webサーバ HAProxy セッションを維持した振り分け ロードバランス Varnish HTML / CSS / 画像などをキャッシュ ロードバランシング機能 キャッシュサーバ CloudFront や アカマイ 静的なコンテンツを別ネットワークから CDN
  • 13. System structure (Large system) 株式会社CMSコミュニケーションズ 13 管理者 nginx (Webサーバ) Ploneコアシステム
 (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ CDN
  • 14. 株式会社CMSコミュニケーションズ 14 海外からもゲストが来ます。 Zope / Plone サーバ メモリとCPUを消費 ZEOで複数のアプリケーションサーバ 構成要素の説明 (structural element) アプリケーションサーバ memchaced 関数・メソッドをキャッシュ Zope再起動でキャッシュを消さない メモリキャッシュ ZODB Data.fs と blob データベース RelStorage / NEO MySQL / PostgreSQL その他のデータベース
  • 15. System structure (Large system) 株式会社CMSコミュニケーションズ 15 管理者 nginx (Webサーバ) Ploneコアシステム
 (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ CDN
  • 16. Webサーバ ・・・ nginxを使いましょう キャッシュサーバ・・・Varnishをきちんとセットアップ Plone 4 からのデフォルトblob化で効果あり ZEO・・・負荷が高いのであれば導入検討 メモリキャッシュ・・・ZEOでキャッシュ共有可能 ZODBチューニングは難しいので、RelStrageなどを検討 キャッシュのチューニング/パージは、plone.app.caching を設定 構成要素のまとめ 株式会社CMSコミュニケーションズ 16
  • 17. Using Amazon Web Services (AWS) 株式会社CMSコミュニケーションズ 17 EC2 RDS EBS CloudFront ElastiCache S3 R53
  • 18. System structure (on AWS) 株式会社CMSコミュニケーションズ 18 管理者 nginx (Webサーバ) Ploneコアシステム
 (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ CDN EC2
  • 19. System structure (on AWS) 株式会社CMSコミュニケーションズ 19 管理者 nginx (Webサーバ) Ploneコアシステム
 (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ CDN DB
  • 20. System structure (on AWS) 株式会社CMSコミュニケーションズ 20 管理者 nginx (Webサーバ) Ploneコアシステム
 (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム
 (アプリケーションサーバ) Ploneコアシステム
 (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ CDN CDN
  • 21. Using Amazon Web Services (AWS) 株式会社CMSコミュニケーションズ 21 EC2 RDS EBS CloudFront ElastiCache S3 EFS R53
  • 22. 株式会社CMSコミュニケーションズ Small system / Large system / System elements システム構成の例 2 3 1 System structure for Plone Summary of this session How to use AWS? AWSの使いどころなど。 Using Amazon Web Services (AWS) Motivation 22 なぜ、何かをしたいのか?
  • 25. Only a few changing on nginx config Server Setting 株式会社CMSコミュニケーションズ 25
  • 26. System structure w/o CDN 株式会社CMSコミュニケーションズ 26 nginx Varnish Plone1 Plone2 Plone3
  • 27. System structure w/ CDN 株式会社CMSコミュニケーションズ 27 nginx Varnish Plone1 Plone2 Plone3 CDN CloudFront
  • 28. nginx Config 株式会社CMSコミュニケーションズ 28 location / { if ($uri * .(jpe?g¦png¦gif¦pdf¦gz¦tgz¦bz2¦tbz¦zip¦tiff¦tif)$) { set $no_plone A; } if ($uri * /(image¦(image_(?:[^/]¦(?!view.*).+)))$) { set $no_plone A; } if ($uri * .(svg¦swf¦ico¦mp3¦mp4¦m4a¦ogg¦mov¦avi¦wmv¦flv)$) { set $no_plone A; } if ($uri * .(css¦js)$) { set $no_plone A; } if ( $http_user_agent != "Amazon CloudFront" ) { set $no_plone "${no_plone}B"; } if ($no_plone = AB) { expires 1h; rewrite ^ http://YOUR_SUBDOMAIN.cloudfront.net$request_uri? last; } proxy_pass http://to_varnish/VirtualHostBase/http/YOUR_DOMAIN:80/Plone/ VirtualHostRoot/; }
  • 29. Data delivery first time 株式会社CMSコミュニケーションズ 29 nginx Varnish Plone1 Plone2 Plone3 CDN CloudFront 1 Redirect 2 3 4 5 6 7 8
  • 30. Data delivery 株式会社CMSコミュニケーションズ 30 nginx Varnish Plone1 Plone2 Plone3 CDN CloudFront 1 Redirect 2
  • 32. Streaming video 株式会社CMSコミュニケーションズ Streaming video with access control by Plone login CloudFront provides Streaming and one time URL system. https://bitbucket.org/cmscom/c2.app.streamingaws 32