SlideShare a Scribd company logo
How to host a
SilverStripe website.
The right way.
This presentation
● About Twisted Bytes
● Basic Server Setup
● Silverstripe specifics
● From small to big
About us
● Hosting company without servers
● Helping developers
● Deliver your product → end-users
● Based in Enschede, The
Netherlands
● Twitter: @twistedbytes_nl
● http://www.twistedbytes.nl
About me
● Developer → sysadmin
● Linux, run & maintain servers
● Know software dev & sys admin
● Twitter: @DerkGortemaker
Basic
Webserver:
Apache or
Nginx
Database:
MySQL/MariaDB or
PostgreSQL or
MongoDB/NoSQL
Runtime:
PHP
Access /
Deployment
Monitoring Backup
server
setup
Basic
server
setup
● Apache or Nginx
○ .htaccess is useful
● Time spent in
webserver vs application
Webserver:
Apache or Nginx
Basic
server
setup
● MariaDB is good for most jobs
○ default in most distributions by
now.
○ Easy to make an master-master
● Everything else needs a good reason
Database: MySQL/MariaDB or
PostgreSQL or MongoDB/NoSQL
Basic
server
setup
● Use PHP with php-fpm
○ Apache event MPM
● Enable opcode cache
● PHP 7 around the corner (end 2015)
○ silverstripe is not compatible :-(
Runtime: PHP
Basic
server
setup
● HHVM could be a good choice
○ Busy site
○ 1 maybe 2 sites on a server
○ many cpu cores
● http://www.twistedbytes.
nl/blog/php-vs-hhvm-silverstripe-
english/
● Runs Silverstripe
● PHP 7 is easier to maintain, HHVM
Runtime: HHVM
Basic
server
setup
● FTP/SFTP
● SSH
○ mariaDB ssh tunnel
● GIT
○ capistrano
○ deploy.php
Access / Deployment
Basic
server
setup
● As a service or “Home Grown”
● Local and Remote
● Metrics and Alerting
● Log Files
Monitoring (sucks)
Basic
server
setup
● What is the worst that can happen?
● How to restore?
● Can you reach the backup?
● Can you rebuild the server?
● What to Backup?
Backup
Silverstripe specifics
● php-fpm + opcache
● Give MariaDB memory
● Keep some memory free for Linux cache
● More memory = more FS and database
caching
● More cores = more speed for busy sites
● Busy site: HHVM is an option
Silverstripe specifics
● silverstripe-cache
○ Files or MemCache
● What’s up with this:
○ Rewrite file every request, with lock?
○ zend_cache---
i18nZend_Translate_RailsYaml_Options
○ zend_cache---internal-metadatas---
i18nZend_Translate_RailsYaml_Options
Silverstripe specifics
assets
● Scaling problem.
● Needs shared filesystem, none found yet
○ Glusterfs works, but slow
○ NFS works, but single point
○ Big NFS clusters are “expensive”
● Solved by silverstripe-cloudassets?
○ assets to S3 (or Swift)
Growth: small → big (1)
● What are you trying to solve?
○ Faster site
○ Survive a failure
Growth: small → big (2)
● What’s slowing down the site/page
○ Database
○ Profile code
■ Waiting
● Remote api
● Disk IO
● Xdebug + (win|k)cachegrind
● NewRelic / Blackfire
Growth: small → big (3)
● Simplest option = make the server bigger
● Split servers or add servers?
○ Split → multiple failure points
○ Add servers → more capacity
● At every level add failover
Growth: small → big (4)
● Caching
○ silverstripe-cache
■ silverstripe-staticpublishqueue
○ Varnish
○ Cloudflare / CDN
We like to hear from you!
Want to learn about a better way to do hosting? Or
have some ideas about what you are missing?
Please contact us to exchange ideas.
info@twistedbytes.nl

More Related Content

What's hot (17)

PPTX
NYT Web Archive
Justin Heideman
 
PDF
From One to a Cluster
guestd34230
 
PDF
Work WIth Redis and Perl
Brett Estrade
 
PDF
Roshan Bhattarai: Scaling WordPress for high traffic sites
wpnepal
 
PPTX
Scaling wordpress for high traffic
Roshan Bhattarai
 
PDF
Update on Crimson - the Seastarized Ceph - Seastar Summit
ScyllaDB
 
PDF
Screaming Fast Wpmu
djcp
 
PDF
Phorum MySQL tricks
guestd34230
 
PPT
Top4top Showcase
ay4
 
PDF
2013 - Brian Stanley - Memcached, Cached all the things
PHP Conference Argentina
 
PDF
Cache hcm-topdev
Thanh Chau
 
PDF
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
ScyllaDB
 
PDF
Using Ceph in OStack.de - Ceph Day Frankfurt
Ceph Community
 
PPTX
ops300 Week5 storage (1)
trayyoo
 
PPT
Mysql cluster
JS Lee
 
PDF
Scaling Redis: Dmitry Polyakovsky
Redis Labs
 
PDF
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Severalnines
 
NYT Web Archive
Justin Heideman
 
From One to a Cluster
guestd34230
 
Work WIth Redis and Perl
Brett Estrade
 
Roshan Bhattarai: Scaling WordPress for high traffic sites
wpnepal
 
Scaling wordpress for high traffic
Roshan Bhattarai
 
Update on Crimson - the Seastarized Ceph - Seastar Summit
ScyllaDB
 
Screaming Fast Wpmu
djcp
 
Phorum MySQL tricks
guestd34230
 
Top4top Showcase
ay4
 
2013 - Brian Stanley - Memcached, Cached all the things
PHP Conference Argentina
 
Cache hcm-topdev
Thanh Chau
 
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
ScyllaDB
 
Using Ceph in OStack.de - Ceph Day Frankfurt
Ceph Community
 
ops300 Week5 storage (1)
trayyoo
 
Mysql cluster
JS Lee
 
Scaling Redis: Dmitry Polyakovsky
Redis Labs
 
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Severalnines
 

Similar to StripeEu Twistedbytes Presentation (20)

ODP
MNPHP Scalable Architecture 101 - Feb 3 2011
Mike Willbanks
 
PDF
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
Grant Norwood
 
PDF
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
grantnorwood
 
PDF
Scale Apache with Nginx
Bud Siddhisena
 
PDF
Memcached Code Camp 2009
NorthScale
 
PPT
FOWA Scaling The Lamp Stack Workshop
dlieberman
 
PPS
Scalable Web Architectures - Common Patterns & Approaches
Cal Henderson
 
PPS
Scalable Web Arch
royans
 
PDF
High Performance WordPress II
Barry Abrahamson
 
PDF
Silverstripe a leading CMS
Cyber-Duck
 
ODP
Modern Application Stacks
chartjes
 
PDF
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
varien
 
PDF
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
MagentoImagine
 
PDF
How we build caibangzi.com
Robin Lu
 
KEY
Drupal High Availability High Performance 2012
Amazee Labs
 
PPTX
How to Build High Performance : WordPress
Dylan Burris
 
PDF
Nginx pres
James Fuller
 
PPTX
Moving to the Cloud: AWS, Zend, RightScale
mmoline
 
PDF
Scalable Architecture 101
ConFoo
 
PDF
Liz Quilty – Security, Scaling & High End Hosting for WordPress sites
WordCamp New Zealand
 
MNPHP Scalable Architecture 101 - Feb 3 2011
Mike Willbanks
 
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
Grant Norwood
 
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
grantnorwood
 
Scale Apache with Nginx
Bud Siddhisena
 
Memcached Code Camp 2009
NorthScale
 
FOWA Scaling The Lamp Stack Workshop
dlieberman
 
Scalable Web Architectures - Common Patterns & Approaches
Cal Henderson
 
Scalable Web Arch
royans
 
High Performance WordPress II
Barry Abrahamson
 
Silverstripe a leading CMS
Cyber-Duck
 
Modern Application Stacks
chartjes
 
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
varien
 
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
MagentoImagine
 
How we build caibangzi.com
Robin Lu
 
Drupal High Availability High Performance 2012
Amazee Labs
 
How to Build High Performance : WordPress
Dylan Burris
 
Nginx pres
James Fuller
 
Moving to the Cloud: AWS, Zend, RightScale
mmoline
 
Scalable Architecture 101
ConFoo
 
Liz Quilty – Security, Scaling & High End Hosting for WordPress sites
WordCamp New Zealand
 
Ad

Recently uploaded (20)

PPT
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
PDF
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
PPTX
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
PPTX
Template Timeplan & Roadmap Product.pptx
ImeldaYulistya
 
PPTX
L1A Season 1 Guide made by A hegy Eng Grammar fixed
toszolder91
 
PDF
DevOps Design for different deployment options
henrymails
 
PPTX
英国学位证(RCM毕业证书)皇家音乐学院毕业证书如何办理
Taqyea
 
PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PPTX
ZARA-Case.pptx djdkkdjnddkdoodkdxjidjdnhdjjdjx
RonnelPineda2
 
PPTX
Powerpoint Slides: Eco Economic Epochs.pptx
Steven McGee
 
PDF
Internet Governance and its role in Global economy presentation By Shreedeep ...
Shreedeep Rayamajhi
 
PPTX
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
PDF
How to Fix Error Code 16 in Adobe Photoshop A Step-by-Step Guide.pdf
Becky Lean
 
PPTX
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
PPTX
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
PDF
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PPTX
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
PDF
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PPTX
internet básico presentacion es una red global
70965857
 
PDF
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
Template Timeplan & Roadmap Product.pptx
ImeldaYulistya
 
L1A Season 1 Guide made by A hegy Eng Grammar fixed
toszolder91
 
DevOps Design for different deployment options
henrymails
 
英国学位证(RCM毕业证书)皇家音乐学院毕业证书如何办理
Taqyea
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
ZARA-Case.pptx djdkkdjnddkdoodkdxjidjdnhdjjdjx
RonnelPineda2
 
Powerpoint Slides: Eco Economic Epochs.pptx
Steven McGee
 
Internet Governance and its role in Global economy presentation By Shreedeep ...
Shreedeep Rayamajhi
 
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
How to Fix Error Code 16 in Adobe Photoshop A Step-by-Step Guide.pdf
Becky Lean
 
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
internet básico presentacion es una red global
70965857
 
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
Ad

StripeEu Twistedbytes Presentation

  • 1. How to host a SilverStripe website. The right way.
  • 2. This presentation ● About Twisted Bytes ● Basic Server Setup ● Silverstripe specifics ● From small to big
  • 3. About us ● Hosting company without servers ● Helping developers ● Deliver your product → end-users ● Based in Enschede, The Netherlands ● Twitter: @twistedbytes_nl ● http://www.twistedbytes.nl
  • 4. About me ● Developer → sysadmin ● Linux, run & maintain servers ● Know software dev & sys admin ● Twitter: @DerkGortemaker
  • 5. Basic Webserver: Apache or Nginx Database: MySQL/MariaDB or PostgreSQL or MongoDB/NoSQL Runtime: PHP Access / Deployment Monitoring Backup server setup
  • 6. Basic server setup ● Apache or Nginx ○ .htaccess is useful ● Time spent in webserver vs application Webserver: Apache or Nginx
  • 7. Basic server setup ● MariaDB is good for most jobs ○ default in most distributions by now. ○ Easy to make an master-master ● Everything else needs a good reason Database: MySQL/MariaDB or PostgreSQL or MongoDB/NoSQL
  • 8. Basic server setup ● Use PHP with php-fpm ○ Apache event MPM ● Enable opcode cache ● PHP 7 around the corner (end 2015) ○ silverstripe is not compatible :-( Runtime: PHP
  • 9. Basic server setup ● HHVM could be a good choice ○ Busy site ○ 1 maybe 2 sites on a server ○ many cpu cores ● http://www.twistedbytes. nl/blog/php-vs-hhvm-silverstripe- english/ ● Runs Silverstripe ● PHP 7 is easier to maintain, HHVM Runtime: HHVM
  • 10. Basic server setup ● FTP/SFTP ● SSH ○ mariaDB ssh tunnel ● GIT ○ capistrano ○ deploy.php Access / Deployment
  • 11. Basic server setup ● As a service or “Home Grown” ● Local and Remote ● Metrics and Alerting ● Log Files Monitoring (sucks)
  • 12. Basic server setup ● What is the worst that can happen? ● How to restore? ● Can you reach the backup? ● Can you rebuild the server? ● What to Backup? Backup
  • 13. Silverstripe specifics ● php-fpm + opcache ● Give MariaDB memory ● Keep some memory free for Linux cache ● More memory = more FS and database caching ● More cores = more speed for busy sites ● Busy site: HHVM is an option
  • 14. Silverstripe specifics ● silverstripe-cache ○ Files or MemCache ● What’s up with this: ○ Rewrite file every request, with lock? ○ zend_cache--- i18nZend_Translate_RailsYaml_Options ○ zend_cache---internal-metadatas--- i18nZend_Translate_RailsYaml_Options
  • 15. Silverstripe specifics assets ● Scaling problem. ● Needs shared filesystem, none found yet ○ Glusterfs works, but slow ○ NFS works, but single point ○ Big NFS clusters are “expensive” ● Solved by silverstripe-cloudassets? ○ assets to S3 (or Swift)
  • 16. Growth: small → big (1) ● What are you trying to solve? ○ Faster site ○ Survive a failure
  • 17. Growth: small → big (2) ● What’s slowing down the site/page ○ Database ○ Profile code ■ Waiting ● Remote api ● Disk IO ● Xdebug + (win|k)cachegrind ● NewRelic / Blackfire
  • 18. Growth: small → big (3) ● Simplest option = make the server bigger ● Split servers or add servers? ○ Split → multiple failure points ○ Add servers → more capacity ● At every level add failover
  • 19. Growth: small → big (4) ● Caching ○ silverstripe-cache ■ silverstripe-staticpublishqueue ○ Varnish ○ Cloudflare / CDN
  • 20. We like to hear from you! Want to learn about a better way to do hosting? Or have some ideas about what you are missing? Please contact us to exchange ideas. [email protected]