Drupal In The Cloud

3,147
-1

Published on

My talk for DrupalCamp Essen in February 2010 about high performance Drupal infrastructure.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,147
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • How to use agile Cloud infrastructure resources to obtain optimal efficiency in Drupal operations.
  • As always, Dilbert has the answer.
  • 40 yrs, computer science. Linux 1994, Drupal 2007.
    IT manager at two of the biggest ISPs in Germany, WEB.DE and 1&1.
    Today Head Honcho at Freistil-Consulting: Services for IT Management, both in the infrastructure + leadership sense
  • 40 yrs, computer science. Linux 1994, Drupal 2007.
    IT manager at two of the biggest ISPs in Germany, WEB.DE and 1&1.
    Today Head Honcho at Freistil-Consulting: Services for IT Management, both in the infrastructure + leadership sense
  • Every topic could be a seperate talk.
    Book raffle: After talk question whose answer is hidden in my talk.
  • Every topic could be a seperate talk.
    Book raffle: After talk question whose answer is hidden in my talk.
  • Every topic could be a seperate talk.
    Book raffle: After talk question whose answer is hidden in my talk.
  • What‘s important when your Drupal website grows?
  • Standard installation: LAMP stack and Drupal all on one server.
    When you need more performance, you‘ll have two options.
  • Vertical scaling means using a bigger server.
  • Distributing the load
    Seperate the different functions of the LAMP+Drupal stack.



  • More than one server for each function not only gives even more performance,
    but also higher availability.
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront
  • perlbal, IPVS
    Squid, HAproxy
    Varnish, Boost, AuthCache, Memcache
    Akamai, Amazon CloudFront



  • DRBD (Distributed Replicated Block Device)
  • DRBD (Distributed Replicated Block Device)
  • DRBD (Distributed Replicated Block Device)
  • DRBD (Distributed Replicated Block Device)
  • DRBD (Distributed Replicated Block Device)
  • DRBD (Distributed Replicated Block Device)
  • Infrastructure you have to maintain and pay for!
  • Infrastructure you have to maintain and pay for!
  • Infrastructure you have to maintain and pay for!
  • Infrastructure you have to maintain and pay for!
  • Infrastructure you have to maintain and pay for!

  • Abstraction of a) IT infrastructure, b) locations
  • Abstraction of a) IT infrastructure, b) locations
  • Abstraction of a) IT infrastructure, b) locations
  • Abstraction of a) IT infrastructure, b) locations







  • EC2 instance types: On-demand, Reserved, Spot








  • Instance parameters: Location, Size, EBS and AMI.
  • Instance parameters: Location, Size, EBS and AMI.
  • Instance parameters: Location, Size, EBS and AMI.
  • Instance parameters: Location, Size, EBS and AMI.
  • Instance parameters: Location, Size, EBS and AMI.
  • Instance parameters: Location, Size, EBS and AMI.







  • To operate a cluster infrastructure like I described, you‘ll also need additional services, for ex...
  • To operate a cluster infrastructure like I described, you‘ll also need additional services, for ex...
  • To operate a cluster infrastructure like I described, you‘ll also need additional services, for ex...
  • To operate a cluster infrastructure like I described, you‘ll also need additional services, for ex...
  • To operate a cluster infrastructure like I described, you‘ll also need additional services, for ex...
  • To operate a cluster infrastructure like I described, you‘ll also need additional services, for ex...
  • To operate a cluster infrastructure like I described, you‘ll also need additional services, for ex...


  • Running Drupal on a Cloud service gets you...
    But to operate a more complex Drupal infrastructure efficiently, you‘ll need...
    Let‘s spend the rest of the time for questions! First, my question...
  • Running Drupal on a Cloud service gets you...
    But to operate a more complex Drupal infrastructure efficiently, you‘ll need...
    Let‘s spend the rest of the time for questions! First, my question...
  • Running Drupal on a Cloud service gets you...
    But to operate a more complex Drupal infrastructure efficiently, you‘ll need...
    Let‘s spend the rest of the time for questions! First, my question...
  • Running Drupal on a Cloud service gets you...
    But to operate a more complex Drupal infrastructure efficiently, you‘ll need...
    Let‘s spend the rest of the time for questions! First, my question...




  • Drupal In The Cloud

    1. 1. Drupal in the Cloud High Performance & High Availability © 2010 Freistil- Consulting http://www.freistil- consulting.de 1
    2. 2. 100% Buzzword compliant! Drupal in the Cloud High Performance & High Availability © 2010 Freistil- Consulting http://www.freistil- consulting.de 1
    3. 3. Why move to the Cloud? 2
    4. 4. Why move to the Cloud? 2
    5. 5. Jochen Lillich 3
    6. 6. Jochen Lillich @geewiz 3
    7. 7. Jochen Lillich @geewiz @freistil 3
    8. 8. Topics of this talk 4
    9. 9. Topics of this talk •High Performance Drupal 4
    10. 10. Topics of this talk •High Performance Drupal •Cloud Computing 4
    11. 11. Topics of this talk •High Performance Drupal •Cloud Computing •Drupal on Amazon EC2 4
    12. 12. 5
    13. 13. High Performance Drupal 5
    14. 14. Standard Installation LAMP 6
    15. 15. Vertical Scaling LAMP 7
    16. 16. Horizontal Scaling LAMP 8
    17. 17. Separation of Concerns 9
    18. 18. Separation of Concerns Web Frontend 9
    19. 19. Separation of Concerns Web Frontend Database 9
    20. 20. Separation of Concerns Web Frontend Database File Storage 9
    21. 21. Redundancy Web Frontend Database File Storage 10
    22. 22. Frontend Scaling 11
    23. 23. Frontend Scaling • Load Balancing 11
    24. 24. Frontend Scaling • Load Balancing • Caching 11
    25. 25. Frontend Scaling • Load Balancing • Caching • Static files 11
    26. 26. Frontend Scaling • Load Balancing • Caching • Static files • Anonymous requests 11
    27. 27. Frontend Scaling • Load Balancing • Caching • Static files • Anonymous requests • Logged in users 11
    28. 28. Frontend Scaling • Load Balancing • Caching • Static files • Anonymous requests • Logged in users • PHP code 11
    29. 29. Frontend Scaling • Load Balancing • Caching • Static files • Anonymous requests • Logged in users • PHP code • Database requests 11
    30. 30. Frontend Scaling • Load Balancing • Caching • Static files • Anonymous requests • Logged in users • PHP code • Database requests • CDN 11
    31. 31. Frontend Scaling • Load Balancing • Caching • Static files • Anonymous requests • Logged in users • PHP code • Database requests • CDN • Solr Search 11
    32. 32. Database Scaling 12
    33. 33. Database Scaling •Replication 12
    34. 34. Database Scaling •Replication •MySQL Proxy 12
    35. 35. Database Scaling •Replication •MySQL Proxy •MySQL Cluster 12
    36. 36. Storage Scaling 13
    37. 37. Storage Scaling •Proprietary Storage Systems 13
    38. 38. Storage Scaling •Proprietary Storage Systems •Central File Systems 13
    39. 39. Storage Scaling •Proprietary Storage Systems •Central File Systems •File System Cloning 13
    40. 40. Storage Scaling •Proprietary Storage Systems •Central File Systems •File System Cloning •Tool-based 13
    41. 41. Storage Scaling •Proprietary Storage Systems •Central File Systems •File System Cloning •Tool-based •Kernel-based 13
    42. 42. Storage Scaling •Proprietary Storage Systems •Central File Systems •File System Cloning •Tool-based •Kernel-based •Cluster FS 13
    43. 43. Summary 14
    44. 44. Summary •Horizontal Scaling gives you 14
    45. 45. Summary •Horizontal Scaling gives you •high performance and 14
    46. 46. Summary •Horizontal Scaling gives you •high performance and •high availability 14
    47. 47. Summary •Horizontal Scaling gives you •high performance and •high availability •at the cost of 14
    48. 48. Summary •Horizontal Scaling gives you •high performance and •high availability •at the cost of •more infrastructure 14
    49. 49. 15
    50. 50. Cloud Computing 15
    51. 51. Cloud Computing 16
    52. 52. Cloud Computing •Virtual computing resources 16
    53. 53. Cloud Computing •Virtual computing resources •highly abstracted 16
    54. 54. Cloud Computing •Virtual computing resources •highly abstracted •broadly shared 16
    55. 55. Cloud Computing •Virtual computing resources •highly abstracted •broadly shared •rapidly provisioned 16
    56. 56. Providers 17
    57. 57. Providers •Infrastructure Platforms 17
    58. 58. Providers •Infrastructure Platforms •Amazon Web Services 17
    59. 59. Providers •Infrastructure Platforms •Amazon Web Services •Rackspace Cloud 17
    60. 60. Providers •Infrastructure Platforms •Amazon Web Services •Rackspace Cloud •GoGrid 17
    61. 61. Providers •Infrastructure Platforms •Amazon Web Services •Rackspace Cloud •GoGrid •Application Platforms 17
    62. 62. Providers •Infrastructure Platforms •Amazon Web Services •Rackspace Cloud •GoGrid •Application Platforms •Google App Engine 17
    63. 63. Providers •Infrastructure Platforms •Amazon Web Services •Rackspace Cloud •GoGrid •Application Platforms •Google App Engine •EngineYard 17
    64. 64. Amazon Web Services 18
    65. 65. Pros & Cons 19
    66. 66. Pros & Cons •Advantages 19
    67. 67. Pros & Cons •Advantages •Minimal CapEx 19
    68. 68. Pros & Cons •Advantages •Minimal CapEx •Easy resource management 19
    69. 69. Pros & Cons •Advantages •Minimal CapEx •Easy resource management •Challenges 19
    70. 70. Pros & Cons •Advantages •Minimal CapEx •Easy resource management •Challenges •Automation 19
    71. 71. Pros & Cons •Advantages •Minimal CapEx •Easy resource management •Challenges •Automation •Legal issues 19
    72. 72. 20
    73. 73. Drupal on EC2 20
    74. 74. Instance Creation 21
    75. 75. Instance Creation •User Interface 21
    76. 76. Instance Creation •User Interface •AWS Console 21
    77. 77. Instance Creation •User Interface •AWS Console •EC2 CLI 21
    78. 78. Instance Creation •User Interface •AWS Console •EC2 CLI •AMI 21
    79. 79. Instance Creation •User Interface •AWS Console •EC2 CLI •AMI •Ubuntu 21
    80. 80. Instance Creation •User Interface •AWS Console •EC2 CLI •AMI •Ubuntu •Mercury 21
    81. 81. Deployment 22
    82. 82. Deployment •Manual 22
    83. 83. Deployment •Manual •SFTP 22
    84. 84. Deployment •Manual •SFTP •SSH + Drush 22
    85. 85. Deployment •Manual •SFTP •SSH + Drush •VCS 22
    86. 86. Deployment •Manual •SFTP •SSH + Drush •VCS •Automatic 22
    87. 87. Deployment •Manual •SFTP •SSH + Drush •VCS •Automatic •Puppet / Chef / BCFG2 22
    88. 88. Deployment •Manual •SFTP •SSH + Drush •VCS •Automatic •Puppet / Chef / BCFG2 22
    89. 89. System Management 23
    90. 90. System Management •Monitoring 23
    91. 91. System Management •Monitoring •Nagios / ICINGA 23
    92. 92. System Management •Monitoring •Nagios / ICINGA •Amazon CloudWatch 23
    93. 93. System Management •Monitoring •Nagios / ICINGA •Amazon CloudWatch •Failover / Scaling 23
    94. 94. System Management •Monitoring •Nagios / ICINGA •Amazon CloudWatch •Failover / Scaling •DIY 23
    95. 95. System Management •Monitoring •Nagios / ICINGA •Amazon CloudWatch •Failover / Scaling •DIY •Clustering software 23
    96. 96. System Management •Monitoring •Nagios / ICINGA •Amazon CloudWatch •Failover / Scaling •DIY •Clustering software •Amazon Auto Scaling 23
    97. 97. Example infrastructure Firewall Load Balancer Application Repository Frontend Servers Staging Webserver Production Webserver Cluster Backend Servers Database Storage Search Cluster Cluster Cluster 24
    98. 98. 25
    99. 99. Conclusion 25
    100. 100. Summary 26
    101. 101. Summary •Flexible resource handling 26
    102. 102. Summary •Flexible resource handling •Minimal capital expenses 26
    103. 103. Summary •Flexible resource handling •Minimal capital expenses •Efficiency needs automation 26
    104. 104. Summary •Flexible resource handling •Minimal capital expenses •Efficiency needs automation •Effectiveness needs experience 26
    105. 105. Get the book! What‘s the name of the Amazon Machine Image that provides you with a complete Drupal installation including APC, Varnish and Solr Search? 27
    106. 106. Your questions? jochen@freistil-consulting.de http://www.freistil-consulting.de 28
    107. 107. Your questions? jochen@freistil-consulting.de http://www.freistil-consulting.de Thank you. 28

    ×