9
Placeholder for a Two-Line Title International Theme Ruby on Google App Engine Panagiotis Papadopoulos http://6pna.com - http://webz.gr 2nd Athens Ruby Meetup

Ruby On Google App Engine 2nd Athens Ruby Me

Embed Size (px)

DESCRIPTION

My presentation for the 2nd Athens Ruby Meetup about deploying Ruby apps on Google App Engine

Citation preview

Page 1: Ruby On Google App Engine 2nd Athens Ruby Me

Placeholder for a Two-LineTitleInternational Theme

Ruby on Google App Engine

Panagiotis Papadopouloshttp://6pna.com - http://webz.gr

2nd Athens Ruby Meetup

Page 2: Ruby On Google App Engine 2nd Athens Ruby Me

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

Page 3: Ruby On Google App Engine 2nd Athens Ruby Me

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

Page 4: Ruby On Google App Engine 2nd Athens Ruby Me

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

Page 5: Ruby On Google App Engine 2nd Athens Ruby Me

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

Page 6: Ruby On Google App Engine 2nd Athens Ruby Me

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

Page 7: Ruby On Google App Engine 2nd Athens Ruby Me

Integration, control, versioning, stats, tickets all in a blink.PanosJee

Page 8: Ruby On Google App Engine 2nd Athens Ruby Me

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

Page 9: Ruby On Google App Engine 2nd Athens Ruby Me

Thank you! 

Ruby Greece is maturing!

http://6pna.com :: http://www.webz.gr