SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Hong Kong Drupal User Group 
(HKDUG) 
Introduction of High Availability (HA) 
on Web Application 
DrupalCamp Hong Kong 
2014 Sep 13th
Edison Wong 
● CEO, PantaRei Design 
– hswong3i@pantarei-design.com 
● Drupal developer & contributor 
– https://drupal.org/user/33940 
● HKDUG Co-founder 
– https://groups.drupal.org/drupalhk 
● Startup founder 
– 2009 - PantaRei Design founded 
– 2010 - YBHK applicant 
– 2011 - ITF SERAP applicant 
– 2011 - HKSTP Incu-Tech applicant
PantaRei Design 
● Hong Kong based Free and Open Source Software (FOSS) service 
provider 
– Content Management System (CMS) with Drupal 
– Cloud hosting with Amazon Web Services (AWS) 
● Business Partnership 
– 2012 - AWS Consulting Partner 
– 2013 - Acquia Partner 
– 2013 - Atlassian Experts 
– 2014 - Rackspace Hosting Partner 
● FOSS Contributor 
– 2008 - Hong Kong Drupal User Group Co-founder 
– 2012 - Drupal Services Provider
Outline 
● Web Application Hosting 
● Fault Tolerance & High Availability 
● Related Drupal Modules
Web Application Hosting 
● LAMP 
– a.k.a. Linux, Apache, MySQL and PHP 
– Most common system architecture for Drupal 
● Ubuntu 14.04 LTS 
– Apache 2.4 
– MySQL 5.5 
– PHP 5.5 
– Drupal 7.x compatible
Web Application Hosting (cont.) 
● Virtualmin 
– http://www.virtualmin.com/ 
– FOSS Web-based system management GUI 
● Manage (almost) everything for virtual hosting 
– DNS (Bind9) 
– Mail (Postfix) + spam filter (Spamassassin) + virus filter (ClamAV) 
– Web (Apache) + PHP 
– Database (MySQL, PostgreSQL) 
● Our one-line script for installation (Ubuntu 14.04 LTS): 
– https://github.com/phpshift/virtualmin-installer
Web Application Hosting (cont.) 
● AWS (Amazon Web Service) 
– CDN (Content Delivery Network) 
– AZ (Available Zone) 
– RDS (Relational Database Service) 
● Can scale-out and scale-up in a flexible style 
– EC2 
– Elastic Load Balancing 
– Auto Scaling
Fault Tolerance & High Availability 
● Hot Spare ($$$$$) 
– Real-time sync and replacement on failure 
– Usually combine with performance scale-out 
● Warm Spare ($$) 
– Maybe async and replace during failure 
– May not as powerful as master setup 
● Cold Spare ($) 
– Usually periodically backup to similar setup 
– May even just backup useful data for restore 
– Need more time for resume during failure
Fault Tolerance & High Availability 
(cont.) 
● About 99.99% 
– 1m (weekly), 4m19s (monthly) or 52m33s (yearly) 
● Solution 
– Implement multiple layer, e.g. web, application, 
database, storage, etc 
– Each layer coming with failover and recovery 
solution 
– e.g. MySQL in master-slave replication (or AWS 
RDS)
Related Drupal Modules 
● CDN 
– https://www.drupal.org/project/cdn 
● Varnish 
– https://www.drupal.org/project/varnish 
● Memcache 
– https://www.drupal.org/project/memcache 
● Entity cache 
– https://www.drupal.org/project/entitycache
Related Drupal Modules (cont.) 
$conf['page_cache_invoke_hooks'] = FALSE; 
$conf['lock_inc'] = './profiles/drustack/modules/contrib/memcache/memcache-lock.inc'; 
$conf['cache_backends'][] = './profiles/drustack/modules/contrib/memcache/memcache.inc'; 
$conf['cache_backends'][] = './profiles/drustack/modules/contrib/varnish/varnish.cache.inc'; 
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; 
$conf['cache_class_cache_page'] = 'VarnishCache'; 
$conf['cache_class_cache_update'] = 'DrupalDatabaseCache'; 
$conf['cache_default_class'] = 'MemCacheDrupal'; 
$conf['memcache_key_prefix'] = $databases['default']['default']['database']; 
$conf['memcache_servers'] = array( 
'localhost:11211' => 'default', 
); 
$conf['memcache_bins'] = array( 
'cache' => 'default', 
);
Q&A
References 
● http://aws.amazon.com/architecture/ 
● http://docs.aws.amazon.com/cloudhsm/latest/gs 
g/ha-best-practices.html 
● http://www2.safenet-inc.com/AWS-guides/Luna 
_High_Availability_and_Load_Balancing_TN201 
3_revA.pdf 
● http://www.slideshare.net/BarcampSaigonOrganize 
r/high-availability-how-to-get-9999-service-ava 
ilabilty-designing-clusters-dos-donts
I Need More Help! 
● Read documents from Drupal Community 
– https://drupal.org/documentation 
● Join Hong Kong Drupal User Group 
– Event organizing: http://www.meetup.com/drupalhk 
– Technological discussion: https://groups.drupal.org/drupalhk 
– Business connection: 
http://www.linkedin.com/groups/?gid=6644792 
– General sharing: https://www.facebook.com/groups/drupalhk 
● Contact us for one (1) month free-trial support service 
– http://pantarei-design.com/services/support/#support-service-plan 
s
Thank You 
● Please feel free to contact us: 
– Unit 207, 2/F IC Development Centre, No.6 Science 
Park West Avenue, Hong Kong Science Park, 
Shatin, N.T. 
– +852 3576 3812 
– http://pantarei-design.com/ 
– sales@pantarei-design.com

Contenu connexe

Tendances

Scaling wordpress for high traffic
Scaling wordpress for high trafficScaling wordpress for high traffic
Scaling wordpress for high traffic
Roshan Bhattarai
 
Roshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sitesRoshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sites
wpnepal
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sites
drupalcampest
 
NoSQL Database in .NET Apps
NoSQL Database in .NET AppsNoSQL Database in .NET Apps
NoSQL Database in .NET Apps
Shiju Varghese
 
CONCEPTUAL DRAFT FOR ENTERPRISE WEBSITE DEVELOPMENT PROPOSITION
CONCEPTUAL DRAFT FOR ENTERPRISE WEBSITE DEVELOPMENT PROPOSITIONCONCEPTUAL DRAFT FOR ENTERPRISE WEBSITE DEVELOPMENT PROPOSITION
CONCEPTUAL DRAFT FOR ENTERPRISE WEBSITE DEVELOPMENT PROPOSITION
Patrick Ogbuitepu
 

Tendances (19)

Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
Scaling wordpress for high traffic
Scaling wordpress for high trafficScaling wordpress for high traffic
Scaling wordpress for high traffic
 
Roshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sitesRoshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sites
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sites
 
High Available WordPress
High Available WordPressHigh Available WordPress
High Available WordPress
 
Implementing High Performance Drupal Sites
Implementing High Performance Drupal SitesImplementing High Performance Drupal Sites
Implementing High Performance Drupal Sites
 
Introduction to Web Designing
Introduction to Web DesigningIntroduction to Web Designing
Introduction to Web Designing
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 
NoSQL Database in .NET Apps
NoSQL Database in .NET AppsNoSQL Database in .NET Apps
NoSQL Database in .NET Apps
 
Expert guide for PHP
Expert guide for PHPExpert guide for PHP
Expert guide for PHP
 
Caching
CachingCaching
Caching
 
Level Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress PerformanceLevel Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress Performance
 
MongoDB and MongoMK Source Event
MongoDB and MongoMK Source EventMongoDB and MongoMK Source Event
MongoDB and MongoMK Source Event
 
Web Optimization Level: Paranoid
Web Optimization Level: ParanoidWeb Optimization Level: Paranoid
Web Optimization Level: Paranoid
 
Redis - The Universal NoSQL Tool
Redis - The Universal NoSQL ToolRedis - The Universal NoSQL Tool
Redis - The Universal NoSQL Tool
 
Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)
 
Web Ninja
Web NinjaWeb Ninja
Web Ninja
 
CONCEPTUAL DRAFT FOR ENTERPRISE WEBSITE DEVELOPMENT PROPOSITION
CONCEPTUAL DRAFT FOR ENTERPRISE WEBSITE DEVELOPMENT PROPOSITIONCONCEPTUAL DRAFT FOR ENTERPRISE WEBSITE DEVELOPMENT PROPOSITION
CONCEPTUAL DRAFT FOR ENTERPRISE WEBSITE DEVELOPMENT PROPOSITION
 
Common Pitfalls for your Drupal Site, and How to Avoid Them
Common Pitfalls for your Drupal Site, and How to Avoid ThemCommon Pitfalls for your Drupal Site, and How to Avoid Them
Common Pitfalls for your Drupal Site, and How to Avoid Them
 

En vedette

Amazon AWS and Drupal
Amazon AWS and DrupalAmazon AWS and Drupal
Amazon AWS and Drupal
pixelcat
 
Newswriting I syllabus
Newswriting I syllabusNewswriting I syllabus
Newswriting I syllabus
chellc14
 
2 Installation of Drupal
2  Installation of Drupal2  Installation of Drupal
2 Installation of Drupal
Wingston
 
Freshman Fileshare
Freshman FileshareFreshman Fileshare
Freshman Fileshare
lexshinn06
 
Drupal camp.sg 2012 session - Drupal in the cloud
Drupal camp.sg 2012 session - Drupal in the cloudDrupal camp.sg 2012 session - Drupal in the cloud
Drupal camp.sg 2012 session - Drupal in the cloud
Muhammad Nurazhan Moin
 
Step by step how to create database with phpmyadmin
Step by step how to create database with phpmyadminStep by step how to create database with phpmyadmin
Step by step how to create database with phpmyadmin
Fathimah Azkiya
 

En vedette (14)

Amazon AWS and Drupal
Amazon AWS and DrupalAmazon AWS and Drupal
Amazon AWS and Drupal
 
Web hosting presentations by hostindia.net
Web hosting presentations by hostindia.netWeb hosting presentations by hostindia.net
Web hosting presentations by hostindia.net
 
Installing wordpress using wamp on your windows machine
Installing wordpress using wamp on your windows machineInstalling wordpress using wamp on your windows machine
Installing wordpress using wamp on your windows machine
 
Newswriting I syllabus
Newswriting I syllabusNewswriting I syllabus
Newswriting I syllabus
 
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
 
2 Installation of Drupal
2  Installation of Drupal2  Installation of Drupal
2 Installation of Drupal
 
Freshman Fileshare
Freshman FileshareFreshman Fileshare
Freshman Fileshare
 
Drupal camp.sg 2012 session - Drupal in the cloud
Drupal camp.sg 2012 session - Drupal in the cloudDrupal camp.sg 2012 session - Drupal in the cloud
Drupal camp.sg 2012 session - Drupal in the cloud
 
Scaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWSScaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWS
 
New: Two Methods of Installing Drupal on Windows XP with XAMPP
New: Two Methods of Installing Drupal on Windows XP with XAMPPNew: Two Methods of Installing Drupal on Windows XP with XAMPP
New: Two Methods of Installing Drupal on Windows XP with XAMPP
 
Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloud
 
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and moreScaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
 
Step by step how to create database with phpmyadmin
Step by step how to create database with phpmyadminStep by step how to create database with phpmyadmin
Step by step how to create database with phpmyadmin
 
Amazon Ec2 Application Design
Amazon Ec2 Application DesignAmazon Ec2 Application Design
Amazon Ec2 Application Design
 

Similaire à Hong Kong Drupal User Group - Sep 13th

Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Handrus Nogueira
 
Hadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual MachinesHadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual Machines
DataWorks Summit
 

Similaire à Hong Kong Drupal User Group - Sep 13th (20)

[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
 
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015
 
DrupalCamp SP 2015 - Escalando PHP e Drupal- Performance ao infinito e além!
DrupalCamp SP 2015 -  Escalando PHP e Drupal- Performance ao infinito e além!DrupalCamp SP 2015 -  Escalando PHP e Drupal- Performance ao infinito e além!
DrupalCamp SP 2015 - Escalando PHP e Drupal- Performance ao infinito e além!
 
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
 
Escalando PHP e Drupal: performance ao infinito e além! - DrupalCamp SP 2015
Escalando PHP e Drupal: performance ao infinito e além! - DrupalCamp SP 2015Escalando PHP e Drupal: performance ao infinito e além! - DrupalCamp SP 2015
Escalando PHP e Drupal: performance ao infinito e além! - DrupalCamp SP 2015
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
Pure Speed Drupal 4 Gov talk
Pure Speed Drupal 4 Gov talkPure Speed Drupal 4 Gov talk
Pure Speed Drupal 4 Gov talk
 
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes][BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotCloud
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansible
 
DrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performanceDrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performance
 
Introduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azureIntroduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azure
 
Advanced Web Hosting
Advanced Web HostingAdvanced Web Hosting
Advanced Web Hosting
 
Rock Solid WordPress
Rock Solid WordPressRock Solid WordPress
Rock Solid WordPress
 
Apache Spark Introduction @ University College London
Apache Spark Introduction @ University College LondonApache Spark Introduction @ University College London
Apache Spark Introduction @ University College London
 
Drupal performance optimization Best Practices
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best Practices
 
Hadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual MachinesHadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual Machines
 
Apache Marmotta - Introduction
Apache Marmotta - IntroductionApache Marmotta - Introduction
Apache Marmotta - Introduction
 
EWD 3 Training Course Part 1: How Node.js Integrates With Global Storage Data...
EWD 3 Training Course Part 1: How Node.js Integrates With Global Storage Data...EWD 3 Training Course Part 1: How Node.js Integrates With Global Storage Data...
EWD 3 Training Course Part 1: How Node.js Integrates With Global Storage Data...
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sites
 

Plus de Wong Hoi Sing Edison

Plus de Wong Hoi Sing Edison (20)

[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution][HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
 
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes][HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
 
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes][HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
 
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes][HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
 
[HKDUG] #20180512 - Fix Hacked Drupal with GIT
[HKDUG] #20180512 - Fix Hacked Drupal with GIT[HKDUG] #20180512 - Fix Hacked Drupal with GIT
[HKDUG] #20180512 - Fix Hacked Drupal with GIT
 
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
 
[20160314][CUHK][CSCI4140]Life of an Agile Team]
[20160314][CUHK][CSCI4140]Life of an Agile Team][20160314][CUHK][CSCI4140]Life of an Agile Team]
[20160314][CUHK][CSCI4140]Life of an Agile Team]
 
BarCamp Hong Kong 2015 - AuthBucket - Open Source Identity Management System
BarCamp Hong Kong 2015 - AuthBucket - Open Source Identity Management SystemBarCamp Hong Kong 2015 - AuthBucket - Open Source Identity Management System
BarCamp Hong Kong 2015 - AuthBucket - Open Source Identity Management System
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
 
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
 
DruStack- a mobile-friendly web content management system (cms
DruStack- a mobile-friendly web content management system (cmsDruStack- a mobile-friendly web content management system (cms
DruStack- a mobile-friendly web content management system (cms
 
drustack a mobile-friendly web content management system (cms)
drustack   a mobile-friendly web content management system (cms)drustack   a mobile-friendly web content management system (cms)
drustack a mobile-friendly web content management system (cms)
 
CUHK CSCI 4140 2015 Spring Guest Lecture - Agile Development
CUHK CSCI 4140 2015 Spring Guest Lecture - Agile DevelopmentCUHK CSCI 4140 2015 Spring Guest Lecture - Agile Development
CUHK CSCI 4140 2015 Spring Guest Lecture - Agile Development
 
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro WorkshopOpen Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
 
IT Entrepreneurship Talk - City University of Hong Kong
IT Entrepreneurship Talk - City University of Hong KongIT Entrepreneurship Talk - City University of Hong Kong
IT Entrepreneurship Talk - City University of Hong Kong
 
OSS Community Meeting - OSS Community Management for Dummy
OSS Community Meeting - OSS Community Management for DummyOSS Community Meeting - OSS Community Management for Dummy
OSS Community Meeting - OSS Community Management for Dummy
 
Barcamp Hong Kong 2014 - Introduction to GIT
Barcamp Hong Kong 2014 - Introduction to GITBarcamp Hong Kong 2014 - Introduction to GIT
Barcamp Hong Kong 2014 - Introduction to GIT
 
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management SystemBarcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
 
Hong Kong Drupal User Group - Nov 8th
Hong Kong Drupal User Group - Nov 8thHong Kong Drupal User Group - Nov 8th
Hong Kong Drupal User Group - Nov 8th
 
Entrepreneurship Talk
Entrepreneurship TalkEntrepreneurship Talk
Entrepreneurship Talk
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Hong Kong Drupal User Group - Sep 13th

  • 1. Hong Kong Drupal User Group (HKDUG) Introduction of High Availability (HA) on Web Application DrupalCamp Hong Kong 2014 Sep 13th
  • 2. Edison Wong ● CEO, PantaRei Design – hswong3i@pantarei-design.com ● Drupal developer & contributor – https://drupal.org/user/33940 ● HKDUG Co-founder – https://groups.drupal.org/drupalhk ● Startup founder – 2009 - PantaRei Design founded – 2010 - YBHK applicant – 2011 - ITF SERAP applicant – 2011 - HKSTP Incu-Tech applicant
  • 3. PantaRei Design ● Hong Kong based Free and Open Source Software (FOSS) service provider – Content Management System (CMS) with Drupal – Cloud hosting with Amazon Web Services (AWS) ● Business Partnership – 2012 - AWS Consulting Partner – 2013 - Acquia Partner – 2013 - Atlassian Experts – 2014 - Rackspace Hosting Partner ● FOSS Contributor – 2008 - Hong Kong Drupal User Group Co-founder – 2012 - Drupal Services Provider
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Outline ● Web Application Hosting ● Fault Tolerance & High Availability ● Related Drupal Modules
  • 10. Web Application Hosting ● LAMP – a.k.a. Linux, Apache, MySQL and PHP – Most common system architecture for Drupal ● Ubuntu 14.04 LTS – Apache 2.4 – MySQL 5.5 – PHP 5.5 – Drupal 7.x compatible
  • 11. Web Application Hosting (cont.) ● Virtualmin – http://www.virtualmin.com/ – FOSS Web-based system management GUI ● Manage (almost) everything for virtual hosting – DNS (Bind9) – Mail (Postfix) + spam filter (Spamassassin) + virus filter (ClamAV) – Web (Apache) + PHP – Database (MySQL, PostgreSQL) ● Our one-line script for installation (Ubuntu 14.04 LTS): – https://github.com/phpshift/virtualmin-installer
  • 12.
  • 13. Web Application Hosting (cont.) ● AWS (Amazon Web Service) – CDN (Content Delivery Network) – AZ (Available Zone) – RDS (Relational Database Service) ● Can scale-out and scale-up in a flexible style – EC2 – Elastic Load Balancing – Auto Scaling
  • 14.
  • 15. Fault Tolerance & High Availability ● Hot Spare ($$$$$) – Real-time sync and replacement on failure – Usually combine with performance scale-out ● Warm Spare ($$) – Maybe async and replace during failure – May not as powerful as master setup ● Cold Spare ($) – Usually periodically backup to similar setup – May even just backup useful data for restore – Need more time for resume during failure
  • 16. Fault Tolerance & High Availability (cont.) ● About 99.99% – 1m (weekly), 4m19s (monthly) or 52m33s (yearly) ● Solution – Implement multiple layer, e.g. web, application, database, storage, etc – Each layer coming with failover and recovery solution – e.g. MySQL in master-slave replication (or AWS RDS)
  • 17.
  • 18. Related Drupal Modules ● CDN – https://www.drupal.org/project/cdn ● Varnish – https://www.drupal.org/project/varnish ● Memcache – https://www.drupal.org/project/memcache ● Entity cache – https://www.drupal.org/project/entitycache
  • 19. Related Drupal Modules (cont.) $conf['page_cache_invoke_hooks'] = FALSE; $conf['lock_inc'] = './profiles/drustack/modules/contrib/memcache/memcache-lock.inc'; $conf['cache_backends'][] = './profiles/drustack/modules/contrib/memcache/memcache.inc'; $conf['cache_backends'][] = './profiles/drustack/modules/contrib/varnish/varnish.cache.inc'; $conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; $conf['cache_class_cache_page'] = 'VarnishCache'; $conf['cache_class_cache_update'] = 'DrupalDatabaseCache'; $conf['cache_default_class'] = 'MemCacheDrupal'; $conf['memcache_key_prefix'] = $databases['default']['default']['database']; $conf['memcache_servers'] = array( 'localhost:11211' => 'default', ); $conf['memcache_bins'] = array( 'cache' => 'default', );
  • 20. Q&A
  • 21. References ● http://aws.amazon.com/architecture/ ● http://docs.aws.amazon.com/cloudhsm/latest/gs g/ha-best-practices.html ● http://www2.safenet-inc.com/AWS-guides/Luna _High_Availability_and_Load_Balancing_TN201 3_revA.pdf ● http://www.slideshare.net/BarcampSaigonOrganize r/high-availability-how-to-get-9999-service-ava ilabilty-designing-clusters-dos-donts
  • 22. I Need More Help! ● Read documents from Drupal Community – https://drupal.org/documentation ● Join Hong Kong Drupal User Group – Event organizing: http://www.meetup.com/drupalhk – Technological discussion: https://groups.drupal.org/drupalhk – Business connection: http://www.linkedin.com/groups/?gid=6644792 – General sharing: https://www.facebook.com/groups/drupalhk ● Contact us for one (1) month free-trial support service – http://pantarei-design.com/services/support/#support-service-plan s
  • 23. Thank You ● Please feel free to contact us: – Unit 207, 2/F IC Development Centre, No.6 Science Park West Avenue, Hong Kong Science Park, Shatin, N.T. – +852 3576 3812 – http://pantarei-design.com/ – sales@pantarei-design.com