Upload
panagiotis-papadopoulos
View
1.096
Download
0
Embed Size (px)
DESCRIPTION
My presentation for the 2nd Athens Ruby Meetup about deploying Ruby apps on Google App Engine
Citation preview
Placeholder for a Two-LineTitleInternational Theme
Ruby on Google App Engine
Panagiotis Papadopouloshttp://6pna.com - http://webz.gr
2nd Athens Ruby Meetup
From Ruby to JRubyWe know Ruby MRI but Ruby runs on JVM too
• Like Ruby but runs on top of JVM• JRuby is mature
o Ruby Thread are java threadso GC is the bullet proof Java GCo Java Unicodeo Compiled codeo GC and threading work seamlesslyo Huge variety of libarieso deploy RoR with a single .war
• But ...o gems need native extensionso great performance needs JVM knowledge
Google App EngineWhat is App Engine
• exciting• running on Google
infrastructure• limited & has unique
methodologies• Java & Python only• scaling to infinity• having an integrated
enviroments• almost free
What is What is not• Shared Hosting• VPS• a server to port my
projects• run commodity
software (ex. phpBB)• RDBMS• a technology for
noobs
Why do we need JRubyBecause it can execute on App Engine JVM
• Learn the GAE limitations and tool seto no relational database although GQL make it easiero 1000 files upload limito not writable filesystemo no custom TCP, UDP connectiono etc o free up to 6.5 cpu hourso index everything (or most)
• So what is good?o no worries about scalingo XMPP, Cron, Task Queue, Versionso integrated environmento free for most projectso really cool
Where is Ruby and where is Rails?Not so straightforward
• a lot but tricky• ORM through DataMapper• memcache,
actionmailer need patching
• console
What works What does not work• native extensions• activerecord
How do we start?You are luckier now but wait for Rails 3
• Appengine-Jruby for the rescueo streamlines the processo fetched jruby-rack, jruby, appengine-java-skdo local servero consoleo deploy in a breeze
• Is that easy?o not at allo you need to package gems into jars (warble)o jruby rack runs below rails/sinatra/merbo Java exceptionso restart server when testing :(
• Awesome admin environment, take a look
Integration, control, versioning, stats, tickets all in a blink.PanosJee
“
”
More readingDon 't miss
• http://delicious.com/panosjee/jrubyo lots of stuff I came across about jruby/gae
• http://code.google.com/p/appengine-jruby/o don 't start without it
• http://olabini.com/blog/o major contributor
• http://www.web2py.com/o if you are serious about GAE and want a real app
• http://www.sinatrarb.com/o ideal platform for Ruby on GAE
• http://bike-races.appspot.com/o the awesome demo
Thank you!
Ruby Greece is maturing!
http://6pna.com :: http://www.webz.gr