Enterprise rails hosting 3 ways to scale - 2011-10

  • 39,572 views
Uploaded on

Your project is evolving just fine, you have a steady, non-linear growth and your roadmap is tightly packed. You feel hosting issues become more and more time consuming. So what to do? In this talk we …

Your project is evolving just fine, you have a steady, non-linear growth and your roadmap is tightly packed. You feel hosting issues become more and more time consuming. So what to do? In this talk we will see that the answer to this question is not as easy as: "we'll jump into the cloud". More than this three different ways to solve this problem will be presented: high-end hardware, commodity hardware and a cloud deployment scenario. This gives you options to choose from. For each scenario an exemplary system design illustrating its hosting structure will be shown. We will workout individual pros and cons which need to be considered carefully in respect to your individual requirements. In order to support your decision making we will draft a rough decision tree to help you picking the best possible scenario for your situation. So at the end of the talk should be able to plan your next scale out step, easily.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
39,572
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
12
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Enterprise Hosting for Ruby on Rails Julian Fischer fischer@enterprise-rails.de http://www.enterprise-rails.deSamstag, 15. Oktober 11
  • 2. IntroductionSamstag, 15. Oktober 11
  • 3. Introduction About meSamstag, 15. Oktober 11
  • 4. About me Julian Fischer ‣Twitter: http://www.twitter.com/railshoster ‣E-Mail: fischer@enterprise-rails.deSamstag, 15. Oktober 11
  • 5. About me Julian Fischer ‣Twitter: http://www.twitter.com/railshoster ‣E-Mail: fischer@enterprise-rails.de ‣ CEO of Avarteq GmbHSamstag, 15. Oktober 11
  • 6. About me Julian Fischer ‣Twitter: http://www.twitter.com/railshoster ‣E-Mail: fischer@enterprise-rails.de ‣ CEO of Avarteq GmbH ‣ Lecturer „Ruby on Rails“ @ HTWdSSamstag, 15. Oktober 11
  • 7. About me Julian Fischer ‣Twitter: http://www.twitter.com/railshoster ‣E-Mail: fischer@enterprise-rails.de ‣ CEO of Avarteq GmbH ‣ Lecturer „Ruby on Rails“ @ HTWdS ‣ Ruby und Ruby on Rails programmerSamstag, 15. Oktober 11
  • 8. About me Julian Fischer ‣Twitter: http://www.twitter.com/railshoster ‣E-Mail: fischer@enterprise-rails.de ‣ CEO of Avarteq GmbH ‣ Lecturer „Ruby on Rails“ @ HTWdS ‣ Ruby und Ruby on Rails programmer ‣ Entperise-Rails.de - Head of HostingSamstag, 15. Oktober 11
  • 9. Introduction About Avarteq GmbHSamstag, 15. Oktober 11
  • 10. About Avarteq GmbH @railshosterSamstag, 15. Oktober 11
  • 11. About Avarteq GmbH ‣ Founded in Nov. 2008 from two existing companies. @railshosterSamstag, 15. Oktober 11
  • 12. About Avarteq GmbH ‣ Founded in Nov. 2008 from two existing companies. ‣ Involvment of Key-Systems GmbH manages ~2,5 * 10^6 domains for customers of 200+ countries. @railshosterSamstag, 15. Oktober 11
  • 13. About Avarteq GmbH ‣ Founded in Nov. 2008 from two existing companies. ‣ Involvment of Key-Systems GmbH manages ~2,5 * 10^6 domains for customers of 200+ countries. ‣ Team size: ~20 people >16 full-time @railshosterSamstag, 15. Oktober 11
  • 14. Introduction Assumptions for this talkSamstag, 15. Oktober 11
  • 15. Assumptions for this talk @railshosterSamstag, 15. Oktober 11
  • 16. Assumptions for this talk ‣ Ruby and Ruby on Rails architectures to be hosted. @railshosterSamstag, 15. Oktober 11
  • 17. Assumptions for this talk ‣ Ruby and Ruby on Rails architectures to be hosted. ‣ Hosting basics you know what a LB is and what it does. @railshosterSamstag, 15. Oktober 11
  • 18. Assumptions for this talk ‣ Ruby and Ruby on Rails architectures to be hosted. ‣ Hosting basics you know what a LB is and what it does. ‣ You aresuitable hosting solution a methodology toto see determine a interested in for you. And you don‘t need Ruby code in a presentation to like it :-) @railshosterSamstag, 15. Oktober 11
  • 19. Assumptions for this talk ‣ Ruby and Ruby on Rails architectures to be hosted. ‣ Hosting basics you know what a LB is and what it does. ‣ You aresuitable hosting solution a methodology toto see determine a interested in for you. And you don‘t need Ruby code in a presentation to like it :-) @railshosterSamstag, 15. Oktober 11
  • 20. Hosting today and in the near futureSamstag, 15. Oktober 11
  • 21. The future of hosting can be found in the cloud.Samstag, 15. Oktober 11
  • 22. But not on EC2.Samstag, 15. Oktober 11
  • 23. US Cloud providers do to hosting what Starbucks did to coffee. From $1 with free refill to ...Samstag, 15. Oktober 11
  • 24. More and more free or achievable cloud technologies emerge.Samstag, 15. Oktober 11
  • 25. Hosting today and in the future @railshosterSamstag, 15. Oktober 11
  • 26. Hosting today and in the future ‣ Eucalyptus @railshosterSamstag, 15. Oktober 11
  • 27. Hosting today and in the future ‣ Eucalyptus ‣ OpenStack @railshosterSamstag, 15. Oktober 11
  • 28. Hosting today and in the future ‣ Eucalyptus ‣ OpenStack ‣ vCloud @railshosterSamstag, 15. Oktober 11
  • 29. Hosting today and in the future ‣ Eucalyptus ‣ OpenStack ‣ vCloud ‣ ... @railshosterSamstag, 15. Oktober 11
  • 30. Many „smaller“ clouds will become available within the next few years.Samstag, 15. Oktober 11
  • 31. Additional abstraction layers will be established. Helping to stay independent or even mash up existing clouds.Samstag, 15. Oktober 11
  • 32. Abstraction via servicesSamstag, 15. Oktober 11
  • 33. „Start an instance on an internal cloud, then with the same code start another on EC2 or Rackspace. Deltacloud protects your apps from cloud API changes and incompatibilities, so you can concentrate on managing cloud instances the way you want.“ http://incubator.apache.org/deltacloud/Samstag, 15. Oktober 11
  • 34. Client side abstractionSamstag, 15. Oktober 11
  • 35. Fog „Collections provide a simplified interface, making clouds easier to work with and switch between.“ https://github.com/geemus/fogSamstag, 15. Oktober 11
  • 36. So be prepared for the cloud. Design your app scalable.Samstag, 15. Oktober 11
  • 37. BUTSamstag, 15. Oktober 11
  • 38. For now Consider your options. Pick carefully.Samstag, 15. Oktober 11
  • 39. Making a decision requires options to choose from.Samstag, 15. Oktober 11
  • 40. Know your options!Samstag, 15. Oktober 11
  • 41. 3 Hosting Scenarios OverviewSamstag, 15. Oktober 11
  • 42. 3 Hosting Scenarios @railshosterSamstag, 15. Oktober 11
  • 43. 3 Hosting Scenarios ‣ Cloud Hosting @railshosterSamstag, 15. Oktober 11
  • 44. 3 Hosting Scenarios ‣ Cloud Hosting ‣ Commodity Hardware Cluster @railshosterSamstag, 15. Oktober 11
  • 45. 3 Hosting Scenarios ‣ Cloud Hosting ‣ Commodity Hardware Cluster ‣ High End Hardware Cluster @railshosterSamstag, 15. Oktober 11
  • 46. 3 Hosting Scenarios Cloud HostingSamstag, 15. Oktober 11
  • 47. Cloud Hosting Urban LegendsSamstag, 15. Oktober 11
  • 48. Urban Legends @railshosterSamstag, 15. Oktober 11
  • 49. Urban Legends ‣ Cloud technologies are wonderful @railshosterSamstag, 15. Oktober 11
  • 50. Urban Legends ‣ Cloud technologies are wonderful ‣ People become euphoric @railshosterSamstag, 15. Oktober 11
  • 51. Urban Legends ‣ Cloud technologies are wonderful ‣ People become euphoric ‣ Marketing people oversimplify advantages @railshosterSamstag, 15. Oktober 11
  • 52. Urban Legends ‣ Cloud technologies are wonderful ‣ People become euphoric ‣ Marketing people oversimplify advantages ‣ People want do believe @railshosterSamstag, 15. Oktober 11
  • 53. #1 Go to the cloud and get rid of sys ops.Samstag, 15. Oktober 11
  • 54. Urban Legends @railshosterSamstag, 15. Oktober 11
  • 55. Urban Legends ‣ The hole decision process should be accompanied by an experienced sys op. You don‘t need plenty of workhours here but you definitely want to have advice here and there. @railshosterSamstag, 15. Oktober 11
  • 56. Urban Legends ‣ The hole decision process should be accompanied by an experienced sys op. You don‘t need plenty of workhours here but you definitely want to have advice here and there. ‣ You‘re still running will needservices. Depending on how custom your system is you unix sys ops helping to configure your services accordingly. Template configs from the community might not fit your scenario. How much memory do you got? You have to adapt cache sizes, number of Passenger processes to be spawned, ... @railshosterSamstag, 15. Oktober 11
  • 57. Urban Legends @railshosterSamstag, 15. Oktober 11
  • 58. Urban Legends ‣ Whoconfigurationyour chef recipies? Who writes your service writes templates? Who tweaks your database? @railshosterSamstag, 15. Oktober 11
  • 59. Urban Legends ‣ Whoconfigurationyour chef recipies? Who writes your service writes templates? Who tweaks your database? ‣ Everyactuallya mistery failure? sporadic networkbe there but got is. Library dependency issues, Which shouldn‘t problems, spontenously failing processes, ... @railshosterSamstag, 15. Oktober 11
  • 60. Urban Legends ‣ Whoconfigurationyour chef recipies? Who writes your service writes templates? Who tweaks your database? ‣ Everyactuallya mistery failure? sporadic networkbe there but got is. Library dependency issues, Which shouldn‘t problems, spontenously failing processes, ... ‣ Who recovers production databases. failures? Taking your backups and refills from serious @railshosterSamstag, 15. Oktober 11
  • 61. Who gets up at night?Samstag, 15. Oktober 11
  • 62. Not having a sys op means ...Samstag, 15. Oktober 11
  • 63. Urban Legends @railshosterSamstag, 15. Oktober 11
  • 64. Urban Legends ‣ Makingaa mistakes potentially causing aroles have different so hard to be sys op and programmer at once. These lot of trouble. It‘s perspectives, by nature. @railshosterSamstag, 15. Oktober 11
  • 65. Urban Legends ‣ Makingaa mistakes potentially causing aroles have different so hard to be sys op and programmer at once. These lot of trouble. It‘s perspectives, by nature. ‣ Accpeting drawbacks by not focusing on service configurations, ... @railshosterSamstag, 15. Oktober 11
  • 66. Urban Legends ‣ Makingaa mistakes potentially causing aroles have different so hard to be sys op and programmer at once. These lot of trouble. It‘s perspectives, by nature. ‣ Accpeting drawbacks by not focusing on service configurations, ... ‣ Havingsys op tasks can be considered a sys op. opsifsbd. looks performing people acting like sys Even he/she like a programmer :-) @railshosterSamstag, 15. Oktober 11
  • 67. #2 Go to the cloud and have no outages any more.Samstag, 15. Oktober 11
  • 68. Urban Legends @railshosterSamstag, 15. Oktober 11
  • 69. Urban Legends ‣ Data center issues can‘t caused by switches, routes, experience, there will be network outages be avoided From broken wires, whatever. http://rh.gd/nMNSUK as an example. @railshosterSamstag, 15. Oktober 11
  • 70. Urban Legends ‣ Data center issues can‘t caused by switches, routes, experience, there will be network outages be avoided From broken wires, whatever. http://rh.gd/nMNSUK as an example. ‣ Self healing can‘t recover it‘s a good issue it does Resetting your computer often helps. Hence every guess. But not help all the time. Do you really want to distract your programmers to dig through unix service logs? Ineffective. @railshosterSamstag, 15. Oktober 11
  • 71. Urban Legends ‣ Data center issues can‘t caused by switches, routes, experience, there will be network outages be avoided From broken wires, whatever. http://rh.gd/nMNSUK as an example. ‣ Self healing can‘t recover it‘s a good issue it does Resetting your computer often helps. Hence every guess. But not help all the time. Do you really want to distract your programmers to dig through unix service logs? Ineffective. ‣ Autoscaling won‘t keepautoscale settings eitherup unless you set it up correctly AND your your service match the situation or be very aggressive (wasting money). Do you really want to scale out on a DDoS attack? @railshosterSamstag, 15. Oktober 11
  • 72. #3 Go to the cloud and save money.Samstag, 15. Oktober 11
  • 73. Urban Legends @railshosterSamstag, 15. Oktober 11
  • 74. Urban Legends ‣ Not true for every case. You have to do the math. @railshosterSamstag, 15. Oktober 11
  • 75. Urban Legends ‣ Not true for every case. You have to do the math. ‣ Actually it‘s pretty expensive. @railshosterSamstag, 15. Oktober 11
  • 76. #4 Go to the cloud it‘s safe.Samstag, 15. Oktober 11
  • 77. Urban Legends @railshosterSamstag, 15. Oktober 11
  • 78. Urban Legends ‣ It‘s simply not There are serious legal issues being discussed. @railshosterSamstag, 15. Oktober 11
  • 79. Urban Legends ‣ It‘s simply not There are serious legal issues being discussed. ‣ Infrastructure non-transparency Dobe sure about understand the infrastructure topology? If not how can you you really your data being kept private? @railshosterSamstag, 15. Oktober 11
  • 80. Again. Cloud is a future technology. But don‘t be blind.Samstag, 15. Oktober 11
  • 81. Cloud Hosting ProSamstag, 15. Oktober 11
  • 82. Cloud Hosting @railshosterSamstag, 15. Oktober 11
  • 83. Cloud Hosting ‣ Maximal flexibility with Auto Scaling @railshosterSamstag, 15. Oktober 11
  • 84. Cloud Hosting ‣ Maximal flexibility with Auto Scaling ‣ Grow & Shrink start and stop (app/server) instances. Shut down what you don‘t need and pay per use. @railshosterSamstag, 15. Oktober 11
  • 85. Cloud Hosting ‣ Maximal flexibility with Auto Scaling ‣ Grow & Shrink start and stop (app/server) instances. Shut down what you don‘t need and pay per use. ‣ Robustness with auto healing. @railshosterSamstag, 15. Oktober 11
  • 86. Cloud Hosting ‣ Maximal flexibility with Auto Scaling ‣ Grow & Shrink start and stop (app/server) instances. Shut down what you don‘t need and pay per use. ‣ Robustness with auto healing. ‣ Kill and restart misbehaving components. @railshosterSamstag, 15. Oktober 11
  • 87. Cloud Hosting ContraSamstag, 15. Oktober 11
  • 88. Cloud Hosting @railshosterSamstag, 15. Oktober 11
  • 89. Cloud Hosting ‣ Scaletocarefullyresulting into a FDoS - tofinancial denial of requests DDoS attack or do you really want scale out to serve a service by spending all your money? Setup your scaleout rules carefully. @railshosterSamstag, 15. Oktober 11
  • 90. Cloud Hosting ‣ Scaletocarefullyresulting into a FDoS - tofinancial denial of requests DDoS attack or do you really want scale out to serve a service by spending all your money? Setup your scaleout rules carefully. ‣ Autohealing withinNothing replaces anoff - switch onsysop! always a suitable repair strategy. limits switch experienced it not It‘s just reducing his workload taking away no brainer tasks. @railshosterSamstag, 15. Oktober 11
  • 91. Cloud Hosting @railshosterSamstag, 15. Oktober 11
  • 92. Cloud Hosting ‣ Causes legal issues for EU companies putting data to a US providers. http://rh.gd/p6l26y (german). In certain scenarios virtualizatin is completely forbidden (e.g. certain levels of pci compliance). @railshosterSamstag, 15. Oktober 11
  • 93. Cloud Hosting ‣ Causes legal issues for EU companies putting data to a US providers. http://rh.gd/p6l26y (german). In certain scenarios virtualizatin is completely forbidden (e.g. certain levels of pci compliance). ‣ Unreasonable expensive compared Depending on your hardware. 4 - 20 times more for similar performance. to physical cloud provider and instance/resource type. @railshosterSamstag, 15. Oktober 11
  • 94. Cloud Hosting ‣ Causes legal issues for EU companies putting data to a US providers. http://rh.gd/p6l26y (german). In certain scenarios virtualizatin is completely forbidden (e.g. certain levels of pci compliance). ‣ Unreasonable expensive compared Depending on your hardware. 4 - 20 times more for similar performance. to physical cloud provider and instance/resource type. ‣ You are a number by being one in a million customers. Don‘t expect reasonable help when needed. @railshosterSamstag, 15. Oktober 11
  • 95. Did you know?Samstag, 15. Oktober 11
  • 96. Samstag, 15. Oktober 11
  • 97. 3 Hosting Scenarios Commodity HardwareSamstag, 15. Oktober 11
  • 98. Commodity Hardware ProSamstag, 15. Oktober 11
  • 99. Commodity Hardware @railshosterSamstag, 15. Oktober 11
  • 100. Commodity Hardware ‣ „Cheap“ hardware in huge datacenters. @railshosterSamstag, 15. Oktober 11
  • 101. Commodity Hardware ‣ „Cheap“ hardware in huge datacenters. ‣ Traffic included. @railshosterSamstag, 15. Oktober 11
  • 102. Commodity Hardware ‣ „Cheap“ hardware in huge datacenters. ‣ Traffic included. ‣ Private GBit backnet available. Physically dedicated @railshosterSamstag, 15. Oktober 11
  • 103. Commodity Hardware ‣ „Cheap“ hardware in huge datacenters. ‣ Traffic included. ‣ Private GBit backnet available. Physically dedicated ‣ Maximum performance from your budget. Get a E3 Xenion Quad Core 1245, 16 GB ECC RAM, 2*3TB HDD for 69 € / month. @railshosterSamstag, 15. Oktober 11
  • 104. Commodity Hardware @railshosterSamstag, 15. Oktober 11
  • 105. Commodity Hardware ‣ Why would you scale out if you already have plenty of workforce for your money? That‘s a simple thought. A very good option especially if you know your load and grow rate. @railshosterSamstag, 15. Oktober 11
  • 106. Commodity Hardware ‣ Why would you scale out if you already have plenty of workforce for your money? That‘s a simple thought. A very good option especially if you know your load and grow rate. ‣ No legal issues for EU companies. @railshosterSamstag, 15. Oktober 11
  • 107. Commodity Hardware ContraSamstag, 15. Oktober 11
  • 108. Commodity Hardware @railshosterSamstag, 15. Oktober 11
  • 109. Commodity Hardware ‣ You are a number by being one in a couple of thousand customers. Expect response and repair times within 30 min to 24h. @railshosterSamstag, 15. Oktober 11
  • 110. Commodity Hardware ‣ You are a number by being one in a couple of thousand customers. Expect response and repair times within 30 min to 24h. ‣ Scaling less flexible. Server relocation might be necessary. Server setup fees make shrink operations expensive. @railshosterSamstag, 15. Oktober 11
  • 111. Commodity Hardware ‣ You are a number by being one in a couple of thousand customers. Expect response and repair times within 30 min to 24h. ‣ Scaling less flexible. Server relocation might be necessary. Server setup fees make shrink operations expensive. ‣ Hardware is not high end. Smart system design needed to compensate eventual hardware failures. @railshosterSamstag, 15. Oktober 11
  • 112. 3 Hosting Scenarios High End HardwareSamstag, 15. Oktober 11
  • 113. High End Hardware ProSamstag, 15. Oktober 11
  • 114. High End Hardware @railshosterSamstag, 15. Oktober 11
  • 115. High End Hardware ‣ High end hardware in well staffed datacenters. Close contact to data center technicians. Quick responses. Fast failure recovery. @railshosterSamstag, 15. Oktober 11
  • 116. High End Hardware ‣ High end hardware in well staffed datacenters. Close contact to data center technicians. Quick responses. Fast failure recovery. ‣ Very realiable hardware. Hardware RAID, hot swappable hdds, redundant power supplies, ... @railshosterSamstag, 15. Oktober 11
  • 117. High End Hardware ‣ High end hardware in well staffed datacenters. Close contact to data center technicians. Quick responses. Fast failure recovery. ‣ Very realiable hardware. Hardware RAID, hot swappable hdds, redundant power supplies, ... ‣ Private GBit backnet available. Physically dedicated @railshosterSamstag, 15. Oktober 11
  • 118. High End Hardware ‣ High end hardware in well staffed datacenters. Close contact to data center technicians. Quick responses. Fast failure recovery. ‣ Very realiable hardware. Hardware RAID, hot swappable hdds, redundant power supplies, ... ‣ Private GBit backnet available. Physically dedicated ‣ Maximum performance. Get multi cpu servers with 2 x 6 XENON Cores, up to 192 GB RAM, SAS and SDD hdds, ... @railshosterSamstag, 15. Oktober 11
  • 119. High End Hardware @railshosterSamstag, 15. Oktober 11
  • 120. High End Hardware ‣ Custom equipped servers can be built specific for their individual purposes. A server with fast cpus and SSD disks will boost your DB service, for example. @railshosterSamstag, 15. Oktober 11
  • 121. High End Hardware ‣ Custom equipped servers can be built specific for their individual purposes. A server with fast cpus and SSD disks will boost your DB service, for example. ‣ Vertical scale outs Servers can be upgraded by adding more memory, better CPUs, more hdds, ... @railshosterSamstag, 15. Oktober 11
  • 122. High End Hardware ‣ Custom equipped servers can be built specific for their individual purposes. A server with fast cpus and SSD disks will boost your DB service, for example. ‣ Vertical scale outs Servers can be upgraded by adding more memory, better CPUs, more hdds, ... ‣ Hybdrid solutions with private clouds. If there‘s a private cloud co-located in the datacenter you can have physical machines to encounter ground loads and use a cloud workforce to serve peaks. @railshosterSamstag, 15. Oktober 11
  • 123. High End Hardware @railshosterSamstag, 15. Oktober 11
  • 124. High End Hardware ‣ Scale outs New servers can be added. High end data centers usually provide advanced switching technologies with vlan capabilities. @railshosterSamstag, 15. Oktober 11
  • 125. High End Hardware ‣ Scale outs New servers can be added. High end data centers usually provide advanced switching technologies with vlan capabilities. ‣ No legal issues for EU companies. @railshosterSamstag, 15. Oktober 11
  • 126. High End Hardware ContraSamstag, 15. Oktober 11
  • 127. High End Hardware @railshosterSamstag, 15. Oktober 11
  • 128. High End Hardware ‣ More expensive than cheap hw Still much cheaper than cloud resources for a comparable performance. @railshosterSamstag, 15. Oktober 11
  • 129. High End Hardware ‣ More expensive than cheap hw Still much cheaper than cloud resources for a comparable performance. ‣ Contract durations Due to financial write offs contract lifetimes are usually longer than for commodity servers or cloud resources. @railshosterSamstag, 15. Oktober 11
  • 130. Proceed systematically. Think. Evaluate. Think again.Samstag, 15. Oktober 11
  • 131. How to build a hosting An exemplary processSamstag, 15. Oktober 11
  • 132. An exemplary process Requirements AnalysisSamstag, 15. Oktober 11
  • 133. Requirements Analysis @railshosterSamstag, 15. Oktober 11
  • 134. Requirements Analysis ‣ Budget Calculate roughly 2.5 to 5% of your overall project costs. @railshosterSamstag, 15. Oktober 11
  • 135. Requirements Analysis ‣ Budget Calculate roughly 2.5 to 5% of your overall project costs. ‣ Expected Load @railshosterSamstag, 15. Oktober 11
  • 136. Requirements Analysis ‣ Budget Calculate roughly 2.5 to 5% of your overall project costs. ‣ Expected Load ‣ Ground load Present on a daily basis. @railshosterSamstag, 15. Oktober 11
  • 137. Requirements Analysis ‣ Budget Calculate roughly 2.5 to 5% of your overall project costs. ‣ Expected Load ‣ Ground load Present on a daily basis. ‣ Peak load Triggered by (external) events. @railshosterSamstag, 15. Oktober 11
  • 138. Requirements Analysis @railshosterSamstag, 15. Oktober 11
  • 139. Requirements Analysis ‣ Desired Response Time How many ms to serve. @railshosterSamstag, 15. Oktober 11
  • 140. Requirements Analysis ‣ Desired Response Time How many ms to serve. ‣ Desired Availability Uptime / Downtime ratio. @railshosterSamstag, 15. Oktober 11
  • 141. Requirements Analysis ‣ Desired Response Time How many ms to serve. ‣ Desired Availability Uptime / Downtime ratio. ‣ Geographic Targeting Where are your users located? @railshosterSamstag, 15. Oktober 11
  • 142. Requirements Analysis ‣ Desired Response Time How many ms to serve. ‣ Desired Availability Uptime / Downtime ratio. ‣ Geographic Targeting Where are your users located? ‣ Estimated Growth 1 month, 6 month, 12 months. @railshosterSamstag, 15. Oktober 11
  • 143. Requirements Analysis @railshosterSamstag, 15. Oktober 11
  • 144. Requirements Analysis ‣ Legal constraints Be aware of privacy law issues. @railshosterSamstag, 15. Oktober 11
  • 145. Requirements Analysis ‣ Legal constraints Be aware of privacy law issues. ‣ Technical constraints e.g. ugly Windows legacy stuff. @railshosterSamstag, 15. Oktober 11
  • 146. Requirements Analysis ‣ Legal constraints Be aware of privacy law issues. ‣ Technical constraints e.g. ugly Windows legacy stuff. ‣ Competence Know how to run an app in production? @railshosterSamstag, 15. Oktober 11
  • 147. An exemplary process Identify System ComponentsSamstag, 15. Oktober 11
  • 148. Identify System Components @railshosterSamstag, 15. Oktober 11
  • 149. Identify System Components ‣ Which components store, replicating rdbms, ... server, background processing, key/value are present? search @railshosterSamstag, 15. Oktober 11
  • 150. Identify System Components ‣ Which components store, replicating rdbms, ... server, background processing, key/value are present? search ‣ Eliminate SPOFs Try to have everything crucial twice+. @railshosterSamstag, 15. Oktober 11
  • 151. An exemplary process Choose PlatformSamstag, 15. Oktober 11
  • 152. Choose Platform @railshosterSamstag, 15. Oktober 11
  • 153. Choose Platform ‣ Which platform matches your requirements best? Shrink/Scale, cheap workforce or rock solid? @railshosterSamstag, 15. Oktober 11
  • 154. Choose Platform ‣ Which platform matches your requirements best? Shrink/Scale, cheap workforce or rock solid? ‣ (Really) needIfresources on shrink, cloud providersit just for the case that ... you need to grow and demand? Or is will to the trick. @railshosterSamstag, 15. Oktober 11
  • 155. Choose Platform ‣ Which platform matches your requirements best? Shrink/Scale, cheap workforce or rock solid? ‣ (Really) needIfresources on shrink, cloud providersit just for the case that ... you need to grow and demand? Or is will to the trick. ‣ Want to have the maximum performance from your budget? Then hardware might be your choice. @railshosterSamstag, 15. Oktober 11
  • 156. Choose Platform @railshosterSamstag, 15. Oktober 11
  • 157. Choose Platform ‣ Geographic location Where are your users. @railshosterSamstag, 15. Oktober 11
  • 158. Choose Platform ‣ Geographic location Where are your users. ‣ You andyou have access to technical staff? you a number or a customer? Do the supply chain Are @railshosterSamstag, 15. Oktober 11
  • 159. Choose Platform ‣ Geographic location Where are your users. ‣ You andyou have access to technical staff? you a number or a customer? Do the supply chain Are ‣ Quality of Service What are the response times? How fast do they repair? @railshosterSamstag, 15. Oktober 11
  • 160. An exemplary process Initial DimensionSamstag, 15. Oktober 11
  • 161. Initial Dimension @railshosterSamstag, 15. Oktober 11
  • 162. Initial Dimension ‣ Know yourapp‘s resource consumption. Atresponse time you‘ll need to know your app To match your desired least roughly. @railshosterSamstag, 15. Oktober 11
  • 163. Initial Dimension ‣ Know yourapp‘s resource consumption. Atresponse time you‘ll need to know your app To match your desired least roughly. ‣ Create acomponent. The smaller your building blockswhere to run which system system design draft. Decide are the better. @railshosterSamstag, 15. Oktober 11
  • 164. Initial Dimension ‣ Know yourapp‘s resource consumption. Atresponse time you‘ll need to know your app To match your desired least roughly. ‣ Create acomponent. The smaller your building blockswhere to run which system system design draft. Decide are the better. ‣ Estimatesettings #you‘re on a cloud plattform. And decide about scaleout the servers you need. if @railshosterSamstag, 15. Oktober 11
  • 165. Initial Dimension ‣ Know yourapp‘s resource consumption. Atresponse time you‘ll need to know your app To match your desired least roughly. ‣ Create acomponent. The smaller your building blockswhere to run which system system design draft. Decide are the better. ‣ Estimatesettings #you‘re on a cloud plattform. And decide about scaleout the servers you need. if ‣ Order servers or whatever you rely on. @railshosterSamstag, 15. Oktober 11
  • 166. An exemplary process System DesignSamstag, 15. Oktober 11
  • 167. System Design @railshosterSamstag, 15. Oktober 11
  • 168. System Design ‣ Detailed System Design How what where to runtowhat. How to use what resource when and how. Describes to connects what. @railshosterSamstag, 15. Oktober 11
  • 169. System Design ‣ Detailed System Design How what where to runtowhat. How to use what resource when and how. Describes to connects what. ‣ Monitoring plan. Monitor everything need appSo planon. This will give you diagnosis information when you your it. relies what to monitor how. @railshosterSamstag, 15. Oktober 11
  • 170. System Design ‣ Detailed System Design How what where to runtowhat. How to use what resource when and how. Describes to connects what. ‣ Monitoring plan. Monitor everything need appSo planon. This will give you diagnosis information when you your it. relies what to monitor how. ‣ Backup plan. Data can bedata to beprepared and think about where your app produces valuable lost. Be backuped. @railshosterSamstag, 15. Oktober 11
  • 171. An exemplary process Installation(automation)Samstag, 15. Oktober 11
  • 172. Installation(automation) @railshosterSamstag, 15. Oktober 11
  • 173. Installation(automation) ‣ Get a bluprint of your hosting Use Chef. @railshosterSamstag, 15. Oktober 11
  • 174. Installation(automation) ‣ Get a bluprint of your hosting Use Chef. ‣ Describe how to setup every system component. Keep your recipies small and simple. @railshosterSamstag, 15. Oktober 11
  • 175. Installation(automation) ‣ Get a bluprint of your hosting Use Chef. ‣ Describe how to setup every system component. Keep your recipies small and simple. ‣ Be ready for a deployment.run cap deploy afterwards. automated your installation process if you can You have successfully @railshosterSamstag, 15. Oktober 11
  • 176. An exemplary process Strengthen your system.Samstag, 15. Oktober 11
  • 177. Strengthen your system @railshosterSamstag, 15. Oktober 11
  • 178. Strengthen your system ‣ Yourmonitor such as kickstart, monit or god to keep them alive. a process app need dependent processes? Use Double check with nagios for a system health status. @railshosterSamstag, 15. Oktober 11
  • 179. Strengthen your system ‣ Yourmonitor such as kickstart, monit or god to keep them alive. a process app need dependent processes? Use Double check with nagios for a system health status. ‣ Makeget back toserversa black out automatically.Your system needs to your normal on reboot proof. @railshosterSamstag, 15. Oktober 11
  • 180. Strengthen your system ‣ Yourmonitor such as kickstart, monit or god to keep them alive. a process app need dependent processes? Use Double check with nagios for a system health status. ‣ Makeget back toserversa black out automatically.Your system needs to your normal on reboot proof. ‣ Desaster and Recovery planning. What is the most likely error event? What is the impact? How to fix it? @railshosterSamstag, 15. Oktober 11
  • 181. Strengthen your system ‣ Yourmonitor such as kickstart, monit or god to keep them alive. a process app need dependent processes? Use Double check with nagios for a system health status. ‣ Makeget back toserversa black out automatically.Your system needs to your normal on reboot proof. ‣ Desaster and Recovery planning. What is the most likely error event? What is the impact? How to fix it? ‣ Simulate disasters. Test your recovery plans. @railshosterSamstag, 15. Oktober 11
  • 182. An exemplary process DeploymentSamstag, 15. Oktober 11
  • 183. Installation(automation) @railshosterSamstag, 15. Oktober 11
  • 184. Installation(automation) ‣ Use a deployment tool. Not really worth mentioning but just to be complete. Do I have to mention capistrano? @railshosterSamstag, 15. Oktober 11
  • 185. Installation(automation) ‣ Use a deployment tool. Not really worth mentioning but just to be complete. Do I have to mention capistrano? ‣ Setup Capistrano. CapwhateverShouldn‘t Make more than that for the average case. Automate deploy. you can. need it foolproof. @railshosterSamstag, 15. Oktober 11
  • 186. An exemplary process Test && LaunchSamstag, 15. Oktober 11
  • 187. Test && Launch @railshosterSamstag, 15. Oktober 11
  • 188. Test && Launch ‣ Test your setup. Perform acceptance tests. Partly covered by your desaster simulations. Also test with your customer, your users, ... @railshosterSamstag, 15. Oktober 11
  • 189. Test && Launch ‣ Test your setup. Perform acceptance tests. Partly covered by your desaster simulations. Also test with your customer, your users, ... ‣ Go live! Cover your eyes and pray :-) @railshosterSamstag, 15. Oktober 11
  • 190. Lessons Learned Key Statements to rememberSamstag, 15. Oktober 11
  • 191. Lessons Learned @railshosterSamstag, 15. Oktober 11
  • 192. Lessons Learned ‣ Creating a hosting. Should be considered to be a project. Process it systematically. @railshosterSamstag, 15. Oktober 11
  • 193. Lessons Learned ‣ Creating a hosting. Should be considered to be a project. Process it systematically. ‣ Be aware ofhammer everything you see a ahammer. Because if you got a people holding is nail. @railshosterSamstag, 15. Oktober 11
  • 194. Lessons Learned ‣ Creating a hosting. Should be considered to be a project. Process it systematically. ‣ Be aware ofhammer everything you see a ahammer. Because if you got a people holding is nail. ‣ Make decisions. No decision without choices. Know your options. @railshosterSamstag, 15. Oktober 11
  • 195. Lessons Learned ‣ Creating a hosting. Should be considered to be a project. Process it systematically. ‣ Be aware ofhammer everything you see a ahammer. Because if you got a people holding is nail. ‣ Make decisions. No decision without choices. Know your options. ‣ Reduce sysop work. But running an app is a pain and burdon for most developers. @railshosterSamstag, 15. Oktober 11
  • 196. Focus on adding value to your business.Samstag, 15. Oktober 11
  • 197. Focus on your app.Samstag, 15. Oktober 11
  • 198. Samstag, 15. Oktober 11
  • 199. Thank you for your attention! Headquarter: Rails Enterprise Hosting: http://www.avarteq.de http://www.enterprise- rails.com Blog: http://ww.treibstofff.de Rails Hosting: http://www.railshoster.comSamstag, 15. Oktober 11