Deploying and Monitoring Ruby on Rails

Size: px
Start display at page:

Download "Deploying and Monitoring Ruby on Rails"

Transcription

1 Mit hotfixes von Carsten Bormann Deploying and Monitoring Ruby on Rails A practical guide Mathias Meyer and Jonathan Weiss, Peritor GmbH Danke!

2 Mashed up with Deployment/Scaling/ Caching/Debugging jan krutisch mindmatters gmbh&co. kg

3 Deployment

4 Real artists ship!

5 Komponenten

6 client (Browser) rails database

7 client (Browser) Heute: rails thin database mongrel ( unicorn)

8 mongrel ist schnell

9 apache ist schneller

10 client webserver rails Dateisystem public/ database

11 rails ist nicht threadsafe

12 client rails webserver rails database Dateisystem public/ rails

13 webserver rails

14 webserver rails

15 oldschool: CGI / SCGI / FastCGI

16 newschool: http

17 mongrel versus...

18 mod_proxy_balancer (in Apache/nginx/lighttpd)

19 oder ein richtiger proxy

20 oder ein richtiger balancer

21 Varnish HAProxy, Squid, etc.

22 true school: passenger

23 Apache-Modul

24 client rails webserver rails database rails Dateisystem public/ mod_passenger

25 automagisch. it just works.

26

27 Infrastructure Infrastructure 5

28 Simple Rails Setup One Rails instance handles all requests Rails is single-threaded: There is only one concurrent request 6

29 Rails Setup 7

30 Rails Setup 8

31 Typical Rails Setup! A load-balancer distributes the incoming requests! Some load-balancers will deliver static requests themselves! Several Rails instances handle all requests! Number of concurrent requests equals number of Rails instances 9

32 Rails Setup Options 10

33 Deployment Questions Mongrel? mod_proxy_balancer? Proxy? Apache? Pound? FastCGI? Load-balancer? Nginx? mod_rails? HA-Proxy? Ebb? Reverse Proxy? Swiftiply? Phusion Passenger? Thin? Rails Application Server? Lighttpd? Pen? 11

34 What we are going to cover today Rails Application Server! FastCGI! Mongrel! mod_rails / Phussion Passenger! JRuby + Glassfish & Co. Proxy/Web Server! Apache2! Nginx! Lighttpd! HA-Proxy 12

35 FastCGI 13

36 FastCGI! Protocol to communicate with long-running CGI applications! Usage of either mod_fcgi with Apache 1.3 or mod_fcgi with Lighttpd! Proxy local and remote FastCGI instances! Oldest way of deploying Rails! Deprecated and unstable! Hard to debug (FastCGI protocol) 14

37 FastCGI 15

38 FastCGI 16

39 17

40 Mongrel 18

41 Mongrel! Developed by Zed Shaw as an alternative to FastCGI! Complete HTTP-Server that can load arbitrary Ruby-servlets! Built-in Rails support 19

42 Mongrel 20

43 Mongrel Apache 2.2 mod_proxy_balancer Lighttpd Nginx HA-Proxy Pound 21

44 Mongrel Cluster Utility to manage several Mongrel instances 22

45 Mongrel Cluster Control Mongrels 23

46 Mongrel and Apache 2.2 Define Mongrel Cluster in Apache 24

47 Simple Mongrel and Apache 2.2 Redirect all traffic to the Mongel cluster 25

48 A more complex example! Redirect dynamic requests! Serve static content! Support cached pages! Support maintenance page! Enable client-side caching of images, stylesheets, and JavaScript! Compress output if supported 26

49 Mongrel! Very robust! Strict HTTP parser! Easy to debug (HTTP!)! Used to be defacto deployment setup with Apache 2.2 and mod_proxy_balancer! Can be a bit difficult to setup (mongrel_cluster, ports, Apache)! Not so easy on mass/virtual hosting 27

50 mod_rails 28

51 mod_rails a.k.a Phusion Passenger! Module for Apache 2.2 (and Nginx)! Allows Apache to control Rails instances! Apache starts and stops application instances depending on the application load! Able to run any Rack-compatible Ruby application (Merb, Sinatra & Co.)! Only manages Rails on one host - no remote instances! Combine with HTTP-Proxy / balancing solution 29

52 Install Phusion Passenger Install Apache module Load and activate in Apache 30

53 Install Phusion Passenger Install Passenger with nginx (installs custom nginx) Configure nginx 31

54 Customized Phusion Passenger Control Rails instance number 32

55 Control Phusion Passenger Restart after deployment: 33

56 Phusion Passenger One machine 34

57 Phusion Passenger One machine Multiple machines 35

58 Phusion Passenger! Ready for production! Makes setup easier on the single machine level! Multiple servers still require load balancer! Suitable for mass-hosting! upcoming standard way of deploying Rails 36

59 JRuby 37

60 ! Ruby Runtime on the Java Virtual Machine! Implemented in Java and Ruby! Compiles Ruby into Java-bytecode! Integrates with Java code and libraries! Java s promises of native threads and JIT! Allows for Ruby/Rails applications to be packaged as WAR files! WAR files deployable on any J2EE-container: Glassfish, JBoss, Tomcat, Jetty, 38

61 JRuby on Rails 39

62 JRuby on Glassfish One machine 40

63 JRuby on Glassfish One machine Multiple machines 41

64 Setup JRuby on Glassfish 1.! Download JRuby and Glassfish 2.! From 42

65 Warble Configuration Define min/max Rails runtimes 43

66 Glassfish for development Shrunk-down version of Glassfish v3 - packaged as a gem Can run any Rack-based application Installation:! $ jruby -S gem install glassfish! $ glassfish! There is no Step 3 44

67 Rails Setup 45

68 Proxy Options 46

69 Proxy Requirements! Hide cluster backend from the user! Load-balancer backend instances! Recognize down hosts! Fair scheduler! (Deliver static content) 47

70 Apache 2.2! Apache 2.2 introduced mod_proxy_balancer! mod_proxy_balancer can speak to multiple backends and balance requests! Apache can acts as a pure proxy or can also serve static files 48

71 Apache 2.2! Apache 2.2 introduced mod_proxy_balancer! mod_proxy_balancer can speak to multiple backends and balance requests! Apache can acts as a pure proxy or can also serve static files 49

72 Apache 2.2! Apache 2.2 introduced mod_proxy_balancer! mod_proxy_balancer can speak to multiple backends and balance requests! Apache can acts as a pure proxy or can also serve static files 50

73 Apache 2.2 Pro! Stable, robust, and mature! Many people know how to work with Apache! Integrates well with other modules (SVN, DAV, Auth, ) Con! Apache can be complicated to configure! The stock Apache is quite resource-hungry compared to pure proxy solutions 51

74 Nginx From Russia with love! Nginx - popular Russian webserver with good proxy support! Can load-balance multiple backends and deliver static content! Quite popular with Mongrel as the Rails backend! Recent Passenger support 52

75 Nginx Configuration Simple proxy example Get complete version here: 53

76 Nginx Pro! Stable, robust, and fast! Uses fewer resources (CPU and RAM) than Apache for proxy-mode and static files! Simpler configuration file! Can directly talk to memcached - SSI Con! More documentation would be nice! No equivalent for many Apache modules 54

77 Lighttpd! Lightweight and fast webserver! Balancing proxy support! Good FastCGI support! Used to be popular until Mongrel came around 55

78 Lighttpd Configuration Simple proxy example 56

79 Lighttpd Pro! Fast and lightweight! Uses fewer resources (CPU and RAM) than Apache for proxy-mode and static files! Simpler configuration file Con! Unstable for some people! Slow development cycle! More documentation would be nice! Configuration file can be too simple (virtual host aliasing)! No equivalent for many Apache modules! (No Passenger support) 57

80 HA-Proxy! HAProxy reliable, high performance TCP/HTTP load balancer! Proxying and content inspection! No content serving, just a proxy! Mature proxy module (fair scheduler)! ACL support See also similar Pound and Pen 58

81 HAProxy Simple proxy example 59

82 HAProxy Pro! Mature, stable, robust, and fast! TCP and HTTP balancing Con! Few Rails examples! Usually not needed in a Rails setup 60

83 Recommended Setups 61

84 Small Site Recommendation Apache 2.2 with mod_rails / Phusion Passenger 62

85 Medium Site Recommendation! Apache/Nginx as the frontend proxy! Passenger/mod_rails as the backend! Deliver static files with Apache 63

86 Large Rails Setup Recommendation! Redundant load-balancer! Redundant proxy / web! Passenger/mod_rails 64

87 Heavy Static Files Recommendation! Deliver static assets through separate web server farm! Passenger/mod_rails 65

88 Java Shop Recommendation! Deliver a Rails-WAR file and you are done! Integrate with existing Java landscape and infrastructure 66

89 67

90 Application Server Handler 68

91 Application Server Handler 69

92 Application Server Handler 70

93 Rack 71

94 Rack Handler 72

95 Rack 73

96 Rack Middleware 74

97 Rack Middleware! Authentication (HTTP, OpenID)! Sessions! Routing! Caching! Logging! Debugging 75

98 Support Frameworks! Rails! Merb! Camping! Sinatra! Mack! Maveric! Halcyon! Ramaze! Rum! Vintage! Waves Web Server! CGI! FastCGI! Mongrel! Phusion Passenger! JRuby Servlets! WEBrick! Ebb! Thin! LiteSpeed! Swiftcore! Unicorn 76

99 Remarks 77

100 Ruby Enterprise Edition! Copy-On-Write patches to Ruby 1.8! Saves memory when spawning several Rails instances! Used by Phusion Passenger if available Dead:

101 Thin, Ebb, Evented Mongrel & Co.! Alternatives to Mongrel! Claim to be faster, lighter, and what have you! Rendering Hello World is usually not your bottleneck Stick with stable and robust Mongrel, or better yet, with Passenger Might be somewhat dated

102 deploy-prozess

103 prozesse (mongrels) müssen neugestartet werden.

104 Bei Passenger: touch tmp/restart.txt

105 capistrano

106 > cap deploy:migrations

107 konfiguration in rubydateien. Yay!

108 set :application, "name" set :repository, " role :app, "mog.i.net" role :web, "mog.i.net" role :db, "mog.i.net", :primary => true require 'lib/cap/backgroundrb_recipes' after 'deploy:update_code', :set_symlinks task :set_symlinks do run "ln -s #{shared_path}/config/database.yml #{release_path}/config/ database.yml" run "ln -s #{shared_path}/data #{release_path}/public/data" end

109 AWE13 Gruppe/04 danke!

110 AWE13 Gruppe/04 danke!

111

112 Erweitern um eigene "Recipes"

113 Kommandos werden parallel auf allen Servern ausgeführt

114 per SSH

115 Unterstützung diverser SCM-Systeme

116 Erlaubt (relativ) einfache rollbacks, jeder deploystand wird abgelegt.

117 Quasi-Standard

118 Nicht auf Rails beschränkt!

119 Infrastructure Deployment 80

120 Deployment Options 82

121 Deployment Options 83

122 Deployment Options 84

123 Deployment Options 85

124 What does Capistrano do? 86

125 Capistrano Deployment Cycle 87

126 Requirements 88

127 What doesn t Capistrano do?! Plan your initial server setup! Configure basic services 89

128 Basic Ingredients! The cap command! Variables! Roles! Tasks! Namespaces 90

129 Basic Ingredients - cap Your one-stop deployment shop 91

130 Basic Ingredients - Variables! Configure basic project information! Override Capistrano s default assumptions! Once set, variables are available globally! Defined using the set method 92

131 Basic Ingredients - Roles! Define types of servers! Default roles! :www! :app! :db! All can point to the same server! But all three must be defined! At least one database server needs to be primary 93

132 Basic Ingredients - Roles Define custom roles as you please Can be reused when defining tasks 94

133 Basic Ingredients - Tasks! Define an atomic set of actions for Capistrano! Can be called from the command line! Or other tasks 95

134 Basic Ingredients - Tasks To find all the tasks available in your project, use 96

135 Basic Ingredients - Namespaces Group tasks together logically Namespaces and tasks are separated with : 97

136 Get Your Capistrano On 98

137 Get Your Capistrano On Capfile, the place to include more recipes 99

138 Get Your Capistrano On config/deploy.rb, application specific configuration 100

139 Capistrano s Defaults! Your SCM is Subversion! Deployment directory is /u/apps/#{application_name}! User for SCM and SSH is the currently logged-in user! Commands are run with sudo 101

140 Get Your Capistrano On 102

141 Get Your Capistrano On! Capistrano expects a directory structure! Can be created with cap deploy:setup 103

142 The Deployment Lifecycle 104

143 The Deployment Lifecycle Check the prerequisites: 105

144 The Deployment Lifecycle Set up your application for the first time 106

145 The Deployment Lifecycle The initial deployment 1.! Checks the revision from the local machine 2.! Checks out the code on the remote machines 3.! Sets a link called current pointing to the lates release 4.! Runs the migrations 5.! Fires up application servers 107

146 The Deployment Lifecycle 108

147 The Deployment Lifecycle Subsequent deployments 1.! Checks the revision from the local machine 2.! Checks out the code on the remote machines 3.! Updates current link 4.! Restarts application servers 109

148 The Deployment Lifecycle 110

149 Common Capistrano Tasks Deploy and run migrations Run only the migrations Restart application servers Rollback to the previous release 111

150 Have Your Shell, and Eat It Too 112

151 Invoking any Command 113

152 Deployment Strategies 114

153 Deployment Strategies Direct checkout (from scratch) on the servers 115

154 Deployment Strategies Keep a cached copy of the current SCM head 116

155 Deployment Strategies Check out locally and transfer 117

156 Customizing Capistrano 119

157 Write your own Tasks 120

158 Write your own Tasks 121

159 Namespace your Tasks 122

160 Callbacks Execute a task before another runs Execute a task after another has finished Callbacks are run in the order they re defined 123

161 Useful Variables 124

162 Transactions 125

163 Transactions 126

164 Transactions 127

165 Transactions 128

166 The Rest! Gem dependencies! Support for deploying through gateway servers! Parallel execution on multiple servers! Server setup with deprec gem 129

167 Vlad the Deployer! Simple, Rake-based deployment solution! Comes with defaults for most popular SCM, app and web servers 131

168 Vlad the Deployer Load Configure 132

169 Vlad the Deployer Deployment 133

170 Vlad the Deployer! Simple, sometimes too simple! No callback mechanism, instead the Rake syntax must be used! Very non-verbose output, using --trace recommended 134

171 Chef! System Integration Framework! Written in Ruby inspired by Puppet! Manage multiple nodes! Configuration! Packages! Custom scripts and commands 135

172 Architecture 136

173 Recipes Install and upgrade packages 137

174 Recipes Create and update remote files 138

175 Recipes Create and update remote files 139

176 chef-deploy Enable Use in recipe 140

177 Chef and chef-deploy! In heavy development: sometimes unstable and hard to debug! Be prepared to get your hands dirty! Better suited for configuration than deployment! Community recipes at 141

178 Infrastructure Monitoring 154

179 The two questions of monitoring 155

180 1. Is everything still running? 156

181 2. What are the trends? 157

182 Monit! Process-level monitoring! Checks PID-files, ports, and permissions! Reacts by executing a script and/or alerting! Has a web GUI for administering nodes 158

183 Monit MySQL 159

184 Monit Apache 160

185 Monit Mongrel 161

186 God! Ruby-based configuration! Easily extendible! Can work with event- and poll-based conditions! Comes with less recipes than Monit 162

187 God Mongrel 163

188 Munin! Host-level monitoring! Master periodically asks nodes for local data! Checks system resources and records historical data! Allows to recognize trends and make predictions! Alerting support 164

189 Munin 165

190 Munin 166

191 Munin 167

192 Exception Monitoring! Monitor errors raised by your application! Usually notifying you by ! Good old exception_notification Plugin! Exceptions as a Service 168

193 Hoptoad 169

194 Exceptional 170

195 New Relic! Rails Performance monitoring! Live view into your application 171

196 Other Tools! Nagios! Big Brother! New Relic RPM! FiveRuns! JMX 172

197 Infrastructure Advanced Deployment 173

198 Search 174

199 Search Full text search Can become very slow on big data sets 175

200 Full Text Search Engine Separate Service! Creates full text index! Application queries search daemon! Index update through application or database Possible Engines! Ferret! Sphinx! Solr! Lucene! 176

201 Search Slave Database replication slave! Has complete dataset! Migrates slow search queries from master! Can use different database table engine 177

202 Database Index PostgreSQL Tsearch2! Core since 8.3! Allows to create full text index on multiple columns or arbitrary SQL expressions MySQL MyISAM FULLTEXT index! Only works with MySQL <= 5.0 and MyISAM tables! Full text index on multiple columns 178

203 What to use? Different characteristics! Real-time updates and stale data! Lost updates! Performance! Document content and format! Complexity 179

204 Skalierung

205 does rails scale?

206 what's scaling?

207 Was kann passieren?

208 Server-CPU-Last zu hoch (Bad!)

209 DB-Server-Last zu hoch (Bad!)

210 Zu wenige Connections (Luxusproblem...)

211 Verstopfte Leitungen (eher selten)

212 Volle Festplatten (kill -9 administrator)

213 Festplattendurchsatz! (yeah, right!)

214 viele Probleme, viele Lösungen

215 3 Grundregeln:

216 1. Do not optimize without measurement.

217 2. Do not optimize without measurement.

218 3. Do not optimize without measurement.

219 Serverlast:

220 Throw Hardware At It

221 Zwei oder mehr App- Server. (Gern auch: VMs)

222 client rails rails rails webserver rails rails rails database Dateisystem public/ rails rails rails

223 Share nothing!

224 Dinge, die üblicherweise shared sind:

225 Sessions (nur bei Rails <2)

226 Caches

227 Hochgeladene Dateien

228 Lösungen:

229 Datenbanken

230 Shared Filesystems

231 memcached

232 Folgefehler: Zu wenige DB-Connections, bzw. zu hohe DB-Last

233 client rails rails rails webserver rails rails rails database Dateisystem public/ rails rails rails

234 Zusätzliche Komplexität: DB-Replikation

235 Back to the lab.

236 'cause I can fix it in the mix

237 Caching!

238 1. Page caching

239 class BlogController < ApplicationController caches_page :list def list Post.find(:all, :order => "created_on desc", :limit => 10) end end

240 2. Action caching

241 caches_action :list

242 3. Fragment caching

243 <strong>my Blog Posts</strong> <% cache do %> <ul> <% for post %> <li><%= link_to post.title, :controller => 'blog', :action => 'show', :id => post %></li> <% end %> </ul> <% end %>

244 def list unless = Post.find(:all,!! :order => 'created_on desc', :limit => 10) end end

245 def list unless = Post.find(:all,!! :order => 'created_on desc', :limit => 10) end end Race condition!

246 4. Model caching

247 Cache invalidation

248 expire_page(:controller => 'blog', :action => 'list') expire_action(:controller => 'blog', :action => 'list') expire_fragment(:controller => 'blog', :action => 'list',! :page => 1)

249 class BlogSweeper < ActionController::Caching::Sweeper observe Post def after_create(post) expire_cache_for(post) end # [...after_update...after_destroy...] private end def expire_cache_for(record) expire_page(:controller => 'blog', :action => 'list') expire_page(:controller => 'blog', :action => 'show', :id => record.id) end

250 Caches müssen auch skalieren

251 Cache-store

252 DB-Server-Last

253 Queries reduzieren

254 Datenbank- Optimierungen

255 Know your Database.

256 Und viele, viele, viele, viele weitere kleine Dinge.

257 You have been warned.

258 Scheduling

259 simpel: cron jobs

260 > crontab -e

261 Rails 3: Über./script/runner kann rake ein komplettes Rails geladen werden. task :foo => :environment rails runner

262 #!/usr/bin/env = GamePlan.find_by_id($ARGV[0]) puts "game_plan not found" exit(5) end

263 Achtung: Gute Cronjobs sind auch aufwändig.

264 DJ (delayed_job) plugin

265 class NewsletterJob < Struct.new(:text, : s) def perform s.each do e NewsletterMailer.deliver_text_to_ (text, e) end end end Delayed::Job.enqueue NewsletterJob.new( 'lorem ipsum...', Customers.find(:all).collect( &: ) )

266 Background Processing 180

267 Problem Long running tasks! Resizing uploaded images! Mailing! Computing an expensive operation! Accessing slow back-ends When running inside request-response-cycle! Blocks user! Blocks Rails instance! Hard to monitor and debug 181

268 Solution Asynchronous processing in the background Message/Queue Scheduler 182

269 Background Processing 183

270 Options Options for message bus:! Database! Amazon SQS! Drb! Memcache! ActiveMQ! Options for background process:! (Ruby) Daemon! Cron job with script/runner! Forked process! Delayed Job / BJ / (Backgroundrb)! run_later!. 184

271 Database/Ruby daemon example 185

272 Cloud Infrastructure 186

273 Cloud Infrastructure Servers come and go! You do not know your servers before deploying! Restarting is the same as introducing a new machine You can t hardcode IPs database.yml 187

274 Solution #1 Query and manually adjust! Servers do not change that often! New nodes probably need manual intervention! Use AWS ElasticIPs to ease the pain Set servers dynamically AWS Elastic IP 188

275 Solution #2 Use a central directory service! A central place to manage your running instances! Instances query the directory and react 189

276 Solution #2 Use a central directory service! A central place to manage your running instances! Instances query the directory and react 190

277 Central Directory Different Implementations! File on S3! SimpleDB! A complete service, capable of monitoring and controlling your instances 191

278 Q & A 192

279 Peritor GmbH Teutonenstraße Berlin Telefon: +49 (0) Telefax: +49 (0) Internet: [email protected]!peritor GmbH - Alle Rechte vorbehalten

Deploying and Monitoring Ruby on Rails A practical guide

Deploying and Monitoring Ruby on Rails A practical guide Deploying and Monitoring Ruby on Rails A practical guide Mathias Meyer and Jonathan Weiss, 02.09.2008 Peritor GmbH Who are we? Jonathan Weiss Consultant for Peritor GmbH in Berlin Specialized in Rails,

More information

Rails Application Deployment. July 2007 @ Philly on Rails

Rails Application Deployment. July 2007 @ Philly on Rails Rails Application Deployment July 2007 @ Philly on Rails What Shall We Deploy Tonight? Blogging/publishing system Standard Rails application Ships with gems in vendor directory Easy rake task for database

More information

HOSTING PYTHON WEB APPLICATIONS. Graham Dumpleton PyCon Australia Sydney 2011

HOSTING PYTHON WEB APPLICATIONS. Graham Dumpleton PyCon Australia Sydney 2011 HOSTING PYTHON WEB APPLICATIONS Graham Dumpleton PyCon Australia Sydney 2011 WEB APPLICATIONS Only a few well known Python web applications. WEB FRAMEWORKS Many Python web frameworks for building your

More information

Accelerating Rails with

Accelerating Rails with Accelerating Rails with lighty Jan Kneschke [email protected] RailsConf 2006 Chicago, IL, USA Who is that guy? Jan Kneschke Main developer of lighty Works at MySQL AB Lives in Kiel, Germany Had to choose

More information

MAGENTO HOSTING Progressive Server Performance Improvements

MAGENTO HOSTING Progressive Server Performance Improvements MAGENTO HOSTING Progressive Server Performance Improvements Simple Helix, LLC 4092 Memorial Parkway Ste 202 Huntsville, AL 35802 [email protected] 1.866.963.0424 www.simplehelix.com 2 Table of Contents

More information

Nginx 1 Web Server Implementation

Nginx 1 Web Server Implementation Nginx 1 Web Server Implementation Cookbook Over 100 recipes to master using the Nginx HTTP server and reverse proxy Dipankar Sarkar [ 11 open so " *' '" i I community experience d PUBLISHING community

More information

BeBanjo Infrastructure and Security Overview

BeBanjo Infrastructure and Security Overview BeBanjo Infrastructure and Security Overview Can you trust Software-as-a-Service (SaaS) to run your business? Is your data safe in the cloud? At BeBanjo, we firmly believe that SaaS delivers great benefits

More information

BASICS OF SCALING: LOAD BALANCERS

BASICS OF SCALING: LOAD BALANCERS BASICS OF SCALING: LOAD BALANCERS Lately, I ve been doing a lot of work on systems that require a high degree of scalability to handle large traffic spikes. This has led to a lot of questions from friends

More information

OpenMind: Know Your Customer

OpenMind: Know Your Customer OpenMind: Know Your Customer Contents About OpenMind... 3 Feedback... 3 A Request... 3 Installation... 3 Install Ruby and Ruby on Rails... 4 Get the Code... 4 Create the Database Schema... 4 Update database.yml...

More information

Rails Cookbook. Rob Orsini. O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Rails Cookbook. Rob Orsini. O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Rails Cookbook Rob Orsini O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Foreword : ; xi Preface ; ;... xiii 1. Getting Started 1 1.1 Joining the Rails Community

More information

Drupal Performance Tuning

Drupal Performance Tuning Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web

More information

Advantages and Disadvantages of Application Network Marketing Systems

Advantages and Disadvantages of Application Network Marketing Systems Application Deployment Softwaretechnik II 2014/15 Thomas Kowark Outline Options for Application Hosting Automating Environment Setup Deployment Scripting Application Monitoring Continuous Deployment and

More information

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG ZingMe Practice For Building Scalable PHP Website By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG Agenda About ZingMe Scaling PHP application Scalability definition Scaling up vs

More information

Deployment and Monitoring. Pascal Robert MacTI

Deployment and Monitoring. Pascal Robert MacTI Deployment and Monitoring Pascal Robert MacTI Contents Deployment Standard wotaskd/javamonitor Wonder s wotaskd/javamonitor Alternatives Monitoring Nagios JMX wotaskd/javamonitor Bundled with WO, as two

More information

Web Development Frameworks

Web Development Frameworks COMS E6125 Web-enHanced Information Management (WHIM) Web Development Frameworks Swapneel Sheth [email protected] @swapneel Spring 2012 1 Topic 1 History and Background of Web Application Development

More information

IERG 4080 Building Scalable Internet-based Services

IERG 4080 Building Scalable Internet-based Services Department of Information Engineering, CUHK Term 1, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 4 Load Balancing Lecturer: Albert C. M. Au Yeung 30 th September, 2015 Web Server

More information

Architecture and Mode of Operation

Architecture and Mode of Operation Software- und Organisations-Service Open Source Scheduler Architecture and Mode of Operation Software- und Organisations-Service GmbH www.sos-berlin.com Scheduler worldwide Open Source Users and Commercial

More information

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE Contents 1. Pattern Overview... 3 Features 3 Getting started with the Web Application Pattern... 3 Accepting the Web Application Pattern license agreement...

More information

Java, PHP & Ruby - Cloud Hosting

Java, PHP & Ruby - Cloud Hosting Java, PHP & Ruby - Cloud Hosting NO LOCK-IN No technical lock-in and no binding contract. We believe in open standards without any technical lock-ins. We think that Open source provides flexibility and

More information

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server DEPLOYMENT GUIDE Version 1.0 Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server Table of Contents Table of Contents Deploying the BIG-IP LTM with Tomcat application servers and Apache web

More information

Table of Contents. Overview... 1 Introduction... 2 Common Architectures... 3. Technical Challenges with Magento... 6. ChinaNetCloud's Experience...

Table of Contents. Overview... 1 Introduction... 2 Common Architectures... 3. Technical Challenges with Magento... 6. ChinaNetCloud's Experience... Table of Contents Overview... 1 Introduction... 2 Common Architectures... 3 Simple System... 3 Highly Available System... 4 Large Scale High-Performance System... 5 Technical Challenges with Magento...

More information

S3 Monitor Design and Implementation Plans

S3 Monitor Design and Implementation Plans S 3 Monitor Version 1.0 Specifications and Integration Plan 1 Copyright c 2011 Hewlett Packard Copyright c 2011 Purdue University Permission is hereby granted, free of charge, to any person obtaining a

More information

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy OVERVIEW The global communication and the continuous growth of services provided through the Internet or local infrastructure require to

More information

Intro to Load-Balancing Tomcat with httpd and mod_jk

Intro to Load-Balancing Tomcat with httpd and mod_jk Intro to Load-Balancing Tomcat with httpd and mod_jk Christopher Schultz Chief Technology Officer Total Child Health, Inc. * Slides available on the Linux Foundation / ApacheCon2015 web site and at http://people.apache.org/~schultz/apachecon

More information

Designing, Scoping, and Configuring Scalable Drupal Infrastructure. Presented 2009-05-30 by David Strauss

Designing, Scoping, and Configuring Scalable Drupal Infrastructure. Presented 2009-05-30 by David Strauss Designing, Scoping, and Configuring Scalable Drupal Infrastructure Presented 2009-05-30 by David Strauss Understanding Load Distribution Predicting peak traffic Traffic over the day can be highly irregular.

More information

How To Monitor A Server With Zabbix

How To Monitor A Server With Zabbix & JavaEE Platform Monitoring A Good Match? Company Facts Jesta Digital is a leading global provider of next generation entertainment content and services for the digital consumer. subsidiary of Jesta Group,

More information

Architecture and Mode of Operation

Architecture and Mode of Operation Open Source Scheduler Architecture and Mode of Operation http://jobscheduler.sourceforge.net Contents Components Platforms & Databases Architecture Configuration Deployment Distributed Processing Security

More information

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy OVERVIEW The global communication and the continuous growth of services provided through the Internet or local infrastructure require to

More information

Layers of Caching: Key to scaling your website. Lance Albertson -- [email protected] Narayan Newton [email protected]

Layers of Caching: Key to scaling your website. Lance Albertson -- lance@osuosl.org Narayan Newton nnewton@tag1consulting.com Layers of Caching: Key to scaling your website Lance Albertson -- [email protected] Narayan Newton [email protected] Importance of Caching RAM is fast! Utilize resources more efficiently Improve

More information

IBM WEBSPHERE LOAD BALANCING SUPPORT FOR EMC DOCUMENTUM WDK/WEBTOP IN A CLUSTERED ENVIRONMENT

IBM WEBSPHERE LOAD BALANCING SUPPORT FOR EMC DOCUMENTUM WDK/WEBTOP IN A CLUSTERED ENVIRONMENT White Paper IBM WEBSPHERE LOAD BALANCING SUPPORT FOR EMC DOCUMENTUM WDK/WEBTOP IN A CLUSTERED ENVIRONMENT Abstract This guide outlines the ideal way to successfully install and configure an IBM WebSphere

More information

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component

More information

Tier Architectures. Kathleen Durant CS 3200

Tier Architectures. Kathleen Durant CS 3200 Tier Architectures Kathleen Durant CS 3200 1 Supporting Architectures for DBMS Over the years there have been many different hardware configurations to support database systems Some are outdated others

More information

Common Server Setups For Your Web Application - Part II

Common Server Setups For Your Web Application - Part II Common Server Setups For Your Web Application - Part II Introduction When deciding which server architecture to use for your environment, there are many factors to consider, such as performance, scalability,

More information

tibbr Now, the Information Finds You.

tibbr Now, the Information Finds You. tibbr Now, the Information Finds You. - tibbr Integration 1 tibbr Integration: Get More from Your Existing Enterprise Systems and Improve Business Process tibbr empowers IT to integrate the enterprise

More information

Installation overview

Installation overview hroot - Hamburg registration and organization online tool Universität Hamburg School of Business, Economics and Social Sciences WiSo- Research Laboratory Von- Melle- Park 5 20146 Hamburg Germany Installation

More information

Chapter 1 - Web Server Management and Cluster Topology

Chapter 1 - Web Server Management and Cluster Topology Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management

More information

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist Architecting ColdFusion For Scalability And High Availability Ryan Stewart Platform Evangelist Introduction Architecture & Clustering Options Design an architecture and develop applications that scale

More information

Installing Rails 2.3 Under Windows XP and Apache 2.2

Installing Rails 2.3 Under Windows XP and Apache 2.2 Installing Rails 2.3 Under Windows XP and Apache 2.2 Scott Taylor Tailor Made Software August 9, 2011 Version 1.0 1.0 Introduction Ruby On Rails (aka just Rails ) is a modern scripting system that allows

More information

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION October 2013 Daitan White Paper Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION Highly Reliable Software Development Services http://www.daitangroup.com Cloud

More information

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS Venkat Perumal IT Convergence Introduction Any application server based on a certain CPU, memory and other configurations

More information

Apache Jakarta Tomcat

Apache Jakarta Tomcat Apache Jakarta Tomcat 20041058 Suh, Junho Road Map 1 Tomcat Overview What we need to make more dynamic web documents? Server that supports JSP, ASP, database etc We concentrates on Something that support

More information

An introduction of several development activities related to Shibboleth and Web browser-based simple PKI

An introduction of several development activities related to Shibboleth and Web browser-based simple PKI An introduction of several development activities related to Shibboleth and Web browser-based simple PKI Toyokazu Akiyama 1, Motonori Nakamura 2, Takeshi Nishimura 2, Kazutsuna Yamaji 2, Yukiko Kawai 1

More information

Scaling Pinterest. Yash Nelapati Ascii Artist. Pinterest Engineering. Saturday, August 31, 13

Scaling Pinterest. Yash Nelapati Ascii Artist. Pinterest Engineering. Saturday, August 31, 13 Scaling Pinterest Yash Nelapati Ascii Artist Pinterest is... An online pinboard to organize and share what inspires you. Growth March 2010 Page views per day Mar 2010 Jan 2011 Jan 2012 May 2012 Growth

More information

Ruby on Rails in GlassFish [email protected] http://weblogs.java.net/blog/vivekp/ Sun Microsystems

Ruby on Rails in GlassFish Vivek.Pandey@Sun.COM http://weblogs.java.net/blog/vivekp/ Sun Microsystems Ruby on Rails in GlassFish [email protected] http://weblogs.java.net/blog/vivekp/ Sun Microsystems Ruby On Rails in GlassFish 1 Agenda Introduction to RoR What is JRuby? GlassFish overview RoR on GlassFish

More information

Why Engine Yard is better than Do it yourself

Why Engine Yard is better than Do it yourself Why Engine Yard is better than Do it yourself Comparisons between Platform as a Service and self-administered infrastructure Engine Yard www.engineyard.com [email protected] 1-866-518-9273 1-415-624-8380

More information

Bricks Cluster Technical Whitepaper

Bricks Cluster Technical Whitepaper 1 20steps Version: December 2014 (Draft) Bricks Cluster Technical Whitepaper by Helmut Hoffer von Ankershoffen (Owner & CTO) Bastian Brodbeck (Lead Frontend Development) Zimmerstraße 26 Aufgang B 8th Floor

More information

CS312 Solutions #6. March 13, 2015

CS312 Solutions #6. March 13, 2015 CS312 Solutions #6 March 13, 2015 Solutions 1. (1pt) Define in detail what a load balancer is and what problem it s trying to solve. Give at least two examples of where using a load balancer might be useful,

More information

Serving 4 million page requests an hour with Magento Enterprise

Serving 4 million page requests an hour with Magento Enterprise 1 Serving 4 million page requests an hour with Magento Enterprise Introduction In order to better understand Magento Enterprise s capacity to serve the needs of some of our larger clients, Session Digital

More information

Magento Search Extension TECHNICAL DOCUMENTATION

Magento Search Extension TECHNICAL DOCUMENTATION CHAPTER 1... 3 1. INSTALLING PREREQUISITES AND THE MODULE (APACHE SOLR)... 3 1.1 Installation of the search server... 3 1.2 Configure the search server for usage with the search module... 7 Deploy the

More information

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani

More information

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015 CS 188/219 Scalable Internet Services Andrew Mutz October 8, 2015 For Today About PTEs Empty spots were given out If more spots open up, I will issue more PTEs You must have a group by today. More detail

More information

RED HAT SOFTWARE COLLECTIONS BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY

RED HAT SOFTWARE COLLECTIONS BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY RED HAT S BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY TECHNOLOGY BRIEF INTRODUCTION BENEFITS Choose the right runtimes for your project with access to the latest stable versions. Preserve application

More information

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style Introducing Hudson Click to edit Master subtitle style Winston Prakash What is Hudson? Hudson is an open source continuous integration (CI) server. A CI server can do various tasks

More information

White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1

White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1 White Paper Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1 INTRODUCTION...3 FRAMEWORKS AND LANGUAGES...3 SECURITY AND UPGRADES...4 Major Upgrades...4 Minor Upgrades...5

More information

CI Pipeline with Docker 2015-02-27

CI Pipeline with Docker 2015-02-27 CI Pipeline with Docker 2015-02-27 Juho Mäkinen, Technical Operations, Unity Technologies Finland http://www.juhonkoti.net http://github.com/garo Overview 1. Scale on how we use Docker 2. Overview on the

More information

Installing Rails 2.3 Under CentOS/RHEL 5 and Apache 2.2

Installing Rails 2.3 Under CentOS/RHEL 5 and Apache 2.2 Installing Rails 2.3 Under CentOS/RHEL 5 and Apache 2.2 Scott Taylor Tailor Made Software July 24, 2011 Version 1.2 1.0 Introduction Ruby On Rails (aka just Rails ) is a modern scripting system that allows

More information

Drupal in the Cloud. Scaling with Drupal and Amazon Web Services. Northern Virginia Drupal Meetup

Drupal in the Cloud. Scaling with Drupal and Amazon Web Services. Northern Virginia Drupal Meetup Drupal in the Cloud Scaling with Drupal and Amazon Web Services Northern Virginia Drupal Meetup 3 Dec 2008 Cast of Characters Eric at The Case Foundation: The Client With typical client challenges Cost:

More information

Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs)

Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs) Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs) 1. Foreword Magento is a PHP/Zend application which intensively uses the CPU. Since version 1.1.6, each new version includes some

More information

1. Introduction 2. Getting Started 3. Scenario 1 - Non-Replicated Cluster 4. Scenario 2 - Replicated Cluster 5. Conclusion

1. Introduction 2. Getting Started 3. Scenario 1 - Non-Replicated Cluster 4. Scenario 2 - Replicated Cluster 5. Conclusion 1. Introduction... 1 1.1. Non-Replicated Cluster... 1 1.2. Replicated Cluster... 2 1.3. Mixing Both Options... 3 2. Getting Started... 5 3. Scenario 1 - Non-Replicated Cluster... 6 3.1. JOSSO Agent Configuration...

More information

Integrate Rails into an Existing IIS Web infrastructure using Mongrel

Integrate Rails into an Existing IIS Web infrastructure using Mongrel This article will walk you through the steps of installing Ruby, Gems, Rails, and other important libraries on a Windows 2003 server with IIS. Microsoft s Internet Information Server is a popular proprietary

More information

Linstantiation of applications. Docker accelerate

Linstantiation of applications. Docker accelerate Industrial Science Impact Factor : 1.5015(UIF) ISSN 2347-5420 Volume - 1 Issue - 12 Aug - 2015 DOCKER CONTAINER 1 2 3 Sawale Bharati Shankar, Dhoble Manoj Ramchandra and Sawale Nitin Shankar images. ABSTRACT

More information

Large Scale file storage with MogileFS. Stuart Teasdale Lead System Administrator we7 Ltd

Large Scale file storage with MogileFS. Stuart Teasdale Lead System Administrator we7 Ltd Large Scale file storage with MogileFS Stuart Teasdale Lead System Administrator we7 Ltd About We7 A web based streaming music service 6.5 million tracks 192kbps and 320kbps mp3s Sending over a gigabit

More information

Installation Guide for contineo

Installation Guide for contineo Installation Guide for contineo Sebastian Stein Michael Scholz 2007-02-07, contineo version 2.5 Contents 1 Overview 2 2 Installation 2 2.1 Server and Database....................... 2 2.2 Deployment............................

More information

NOCTUA by init.at THE FLEXIBLE MONITORING WEB FRONTEND

NOCTUA by init.at THE FLEXIBLE MONITORING WEB FRONTEND NOCTUA by init.at THE FLEXIBLE MONITORING WEB FRONTEND init.at informationstechnologie GmbH - Tannhäuserplatz 2 - A-1150 Wien - www.init.at Dieses Dokument und alle Teile von ihm bilden ein geistiges Eigentum

More information

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity P3 InfoTech Solutions Pvt. Ltd http://www.p3infotech.in July 2013 Created by P3 InfoTech Solutions Pvt. Ltd., http://p3infotech.in 1 Web Application Deployment in the Cloud Using Amazon Web Services From

More information

Apache Thrift and Ruby

Apache Thrift and Ruby Apache Thrift and Ruby By Randy Abernethy In this article, excerpted from The Programmer s Guide to Apache Thrift, we will install Apache Thrift support for Ruby and build a simple Ruby RPC client and

More information

Improved metrics collection and correlation for the CERN cloud storage test framework

Improved metrics collection and correlation for the CERN cloud storage test framework Improved metrics collection and correlation for the CERN cloud storage test framework September 2013 Author: Carolina Lindqvist Supervisors: Maitane Zotes Seppo Heikkila CERN openlab Summer Student Report

More information

Citrix NetScaler Best Practices. Claudio Mascaro Senior Systems Engineer BCD-Sintrag AG

Citrix NetScaler Best Practices. Claudio Mascaro Senior Systems Engineer BCD-Sintrag AG Citrix NetScaler Best Practices Claudio Mascaro Senior Systems Engineer BCD-Sintrag AG Agenda Deployment Initial Konfiguration Load Balancing NS Wizards, Unified GW, AAA Feature SSL 2 FTP SQL NetScaler

More information

Wednesday, October 10, 12. Running a High Performance LAMP stack on a $20 Virtual Server

Wednesday, October 10, 12. Running a High Performance LAMP stack on a $20 Virtual Server Running a High Performance LAMP stack on a $20 Virtual Server Simplified Uptime Started a side-business selling customized hosting to small e-commerce and other web sites Spent a lot of time optimizing

More information

depl Documentation Release 0.0.1 depl contributors

depl Documentation Release 0.0.1 depl contributors depl Documentation Release 0.0.1 depl contributors December 19, 2013 Contents 1 Why depl and not ansible, puppet, chef, docker or vagrant? 3 2 Blog Posts talking about depl 5 3 Docs 7 3.1 Installation

More information

CDH installation & Application Test Report

CDH installation & Application Test Report CDH installation & Application Test Report He Shouchun (SCUID: 00001008350, Email: [email protected]) Chapter 1. Prepare the virtual machine... 2 1.1 Download virtual machine software... 2 1.2 Plan the guest

More information

Topics. 1. What is load balancing? 2. Load balancing techniques 3. Load balancing strategies 4. Sessions 5. Elastic load balancing

Topics. 1. What is load balancing? 2. Load balancing techniques 3. Load balancing strategies 4. Sessions 5. Elastic load balancing Load Balancing Topics 1. What is load balancing? 2. Load balancing techniques 3. Load balancing strategies 4. Sessions 5. Elastic load balancing What is load balancing? load balancing is a technique to

More information

Jenkins: The Definitive Guide

Jenkins: The Definitive Guide Jenkins: The Definitive Guide John Ferguson Smart O'REILLY8 Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Foreword xiii Preface xv 1. Introducing Jenkins 1 Introduction 1 Continuous

More information

FileMaker Server 11. FileMaker Server Help

FileMaker Server 11. FileMaker Server Help FileMaker Server 11 FileMaker Server Help 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered

More information

Redmine Installation on Debian. v1.1

Redmine Installation on Debian. v1.1 Redmine Installation on Debian v1.1 Introduction 1. Objectives Have a fully functional Redmine installation on a dedicated server with good performance. The idea of this document came after an easy installation

More information

Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers. Steve Smith Combined Knowledge MVP SharePoint Server

Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers. Steve Smith Combined Knowledge MVP SharePoint Server Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers Steve Smith Combined Knowledge MVP SharePoint Server Scaling out a SharePoint Farm and Configuring Network Load Balancing

More information

3/21/2011. Topics. What is load balancing? Load Balancing

3/21/2011. Topics. What is load balancing? Load Balancing Load Balancing Topics 1. What is load balancing? 2. Load balancing techniques 3. Load balancing strategies 4. Sessions 5. Elastic load balancing What is load balancing? load balancing is a technique to

More information

Performance Optimization For Operational Risk Management Application On Azure Platform

Performance Optimization For Operational Risk Management Application On Azure Platform Performance Optimization For Operational Risk Management Application On Azure Platform Ashutosh Sabde, TCS www.cmgindia.org 1 Contents Introduction Functional Requirements Non Functional Requirements Business

More information

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud Use case Figure 1: Company C Architecture (Before Migration) Company C is an automobile insurance claim processing company with

More information

The Other mod_rails: Easy Rails Deployment with JRuby. Nick Sieger Sun Microsystems, Inc

The Other mod_rails: Easy Rails Deployment with JRuby. Nick Sieger Sun Microsystems, Inc The Other mod_rails: Easy Rails Deployment with JRuby Nick Sieger Sun Microsystems, Inc CGI/FCGI Mongrel omg puppiez! not nirvana... Processes: 68 total, 3 running, 1 stuck, 64 sleeping... 309 threads

More information

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence Exploring Oracle E-Business Suite Load Balancing Options Venkat Perumal IT Convergence Objectives Overview of 11i load balancing techniques Load balancing architecture Scenarios to implement Load Balancing

More information

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON Eberhard Wolff Architecture and Technology Manager adesso AG, Germany 12.10. Agenda A Few Words About Cloud Java and IaaS PaaS Platform as a Service Google

More information

PHP web serving study Performance report

PHP web serving study Performance report PHP web serving study Performance report by Stefan "SaltwaterC" Rusu Date: May - June 2010 Contact: http://saltwaterc.net/contact or admin [at] saltwaterc [dot] net Hardware Configurations Web Server:

More information

making drupal run fast

making drupal run fast making drupal run fast 2 Objectives Improve drupal performance Provide Simple tips on Increasing Drupal performance We have some data from load testing a site in these different configs: ++ plain drupal

More information

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10 Chapter 1: An Overview Of Ruby Rails 1) What is Ruby on Rails?... 1-2 2) Overview of Rails Components... 1-3 3) Installing Rails... 1-5 4) A Simple Rails Application... 1-6 5) Starting the Rails Server...

More information

Painless Web Proxying with Apache mod_proxy

Painless Web Proxying with Apache mod_proxy Painless Web Proxying with Apache mod_proxy Justin R. Erenkrantz University of California, Irvine and Google, Inc. http://www.erenkrantz.com/oscon/ [email protected] Why should I pay attention? Apache

More information

Glassfish Architecture.

Glassfish Architecture. Glassfish Architecture. First part Introduction. Over time, GlassFish has evolved into a server platform that is much more than the reference implementation of the Java EE specifcations. It is now a highly

More information

Are You Ready for the Holiday Rush?

Are You Ready for the Holiday Rush? Are You Ready for the Holiday Rush? Five Survival Tips Written by Joseph Palumbo, Cloud Usability Team Leader Are You Ready for the Holiday Rush? Five Survival Tips Cover Table of Contents 1. Vertical

More information

PHP on IBM i: What s New with Zend Server 5 for IBM i

PHP on IBM i: What s New with Zend Server 5 for IBM i PHP on IBM i: What s New with Zend Server 5 for IBM i Mike Pavlak Solutions Consultant [email protected] (815) 722 3454 Function Junction Audience Used PHP in Zend Core/Platform New to Zend PHP Looking to

More information

WEBLOGIC ADMINISTRATION

WEBLOGIC ADMINISTRATION WEBLOGIC ADMINISTRATION Session 1: Introduction Oracle Weblogic Server Components Java SDK and Java Enterprise Edition Application Servers & Web Servers Documentation Session 2: Installation System Configuration

More information

Using Redis as a Cache Backend in Magento

Using Redis as a Cache Backend in Magento Using Redis as a Cache Backend in Magento Written by: Alexey Samorukov Aleksandr Lozhechnik Kirill Morozov Table of Contents PROBLEMS WITH THE TWOLEVELS CACHE BACKEND CONFIRMING THE ISSUE SOLVING THE ISSUE

More information