SlideShare a Scribd company logo
Saturday, August 28, 2010
Extreme Performance
            with Mirah and Dubious
            Build apps that can scale rapidly
            John Woodell
            July 28, 2010




              2



Saturday, August 28, 2010
Spin-up time can make scaling “painful”
            • The most critical issue to be resolved is spin-up time,
               App Engine scales by adding new application instances.
            • Even if initialization could happen without affecting users
               some apps will need to scale instantly.




              3



Saturday, August 28, 2010
Benefits of Mirah on App Engine
            • Ruby syntax & apparent features + Java type system
            • Use Java or Ruby when Mirah lacks features you require
            • The generated Java source can be inspected at any time
            • Macros and plugins can be written in Ruby or Mirah
            • New instances always spin-up in about a second




              4



Saturday, August 28, 2010
Working with Dubious
            • Dubious framework uses familiar Rails conventions
            • Generate JSONs or work with ERb templates
            • MirahModel syntax is similar to DataMapper
            • Developers can create apps entirely in Rails,
               then refactor URLs that need to scale quickly
            • Some important features are currently missing,
               but “you” could have fun contributing them




              5



Saturday, August 28, 2010
Saturday, August 28, 2010
Mirah apps should look familiar to Rubyists




Saturday, August 28, 2010
Mirah apps can use ERb templates




Saturday, August 28, 2010
The generated Java source can be inspected




Saturday, August 28, 2010
The ERb is transformed into method calls




Saturday, August 28, 2010
Your model definition is very concise




Saturday, August 28, 2010
Code is generated based on properties you define




Saturday, August 28, 2010
All the basic methods you need are generated




Saturday, August 28, 2010
Resources
            • Blog
              – http://jruby-appengine.blogspot.com
            • Presentations
              – http://speakerrate.com/woodie

            • Examples Apps
                   – http://rails-annex.appspot.com
                   – http://dubious-demo.appspot.com

            • Mirah Projects
                   – http://github.com/headius/mirah
                   – http://github.com/mirah/dubious


              14



Saturday, August 28, 2010
Saturday, August 28, 2010

More Related Content

PDF
Aloha on-rails-2009
PDF
Oscon 2010
PDF
Red Dirt Ruby Conference
PDF
JRubyConf 2009
PDF
RubyConf 2009
PDF
Rubypalooza 2009
PDF
Appengine ja-night-10
PDF
Railsconf 2010
Aloha on-rails-2009
Oscon 2010
Red Dirt Ruby Conference
JRubyConf 2009
RubyConf 2009
Rubypalooza 2009
Appengine ja-night-10
Railsconf 2010

Similar to Jrubykaigi 2010 (20)

PDF
Stanford session
PDF
App Engine Meetup
PDF
Application Insights on Rails Application
PDF
Prototyping like it is 2022
PDF
Drupal Course 2012 - Code Driven Development
PDF
Mobile application development strategies
ODP
Selenium at Mozilla: An Essential Element to our Success
PDF
Ruby and Twitter at the Ruby drink-up of Sophia, January 2013
PDF
Start contributing to OSS projects on your way
PDF
Engines Lightning Talk
PDF
Introduction to Lectures in Apple iClub at DA-IICT
PDF
RailsAdmin - Overview and Best practices
PDF
The New York Times: Moving to GraphQL
PDF
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
PDF
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
PDF
Enterprise PHP Development - Ivo Jansch
 
PDF
Search all the things
PPTX
Architecting Single Page Applications
PPTX
Evolution of NuGet
PDF
Being With Rails App For 3 Years
Stanford session
App Engine Meetup
Application Insights on Rails Application
Prototyping like it is 2022
Drupal Course 2012 - Code Driven Development
Mobile application development strategies
Selenium at Mozilla: An Essential Element to our Success
Ruby and Twitter at the Ruby drink-up of Sophia, January 2013
Start contributing to OSS projects on your way
Engines Lightning Talk
Introduction to Lectures in Apple iClub at DA-IICT
RailsAdmin - Overview and Best practices
The New York Times: Moving to GraphQL
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
Enterprise PHP Development - Ivo Jansch
 
Search all the things
Architecting Single Page Applications
Evolution of NuGet
Being With Rails App For 3 Years
Ad

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
A Presentation on Artificial Intelligence
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mushroom cultivation and it's methods.pdf
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Programs and apps: productivity, graphics, security and other tools
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
A comparative analysis of optical character recognition models for extracting...
1. Introduction to Computer Programming.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Diabetes mellitus diagnosis method based random forest with bat algorithm
cloud_computing_Infrastucture_as_cloud_p
A Presentation on Artificial Intelligence
Spectral efficient network and resource selection model in 5G networks
Univ-Connecticut-ChatGPT-Presentaion.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Digital-Transformation-Roadmap-for-Companies.pptx
Mushroom cultivation and it's methods.pdf
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
SOPHOS-XG Firewall Administrator PPT.pptx
Network Security Unit 5.pdf for BCA BBA.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Ad

Jrubykaigi 2010

  • 2. Extreme Performance with Mirah and Dubious Build apps that can scale rapidly John Woodell July 28, 2010 2 Saturday, August 28, 2010
  • 3. Spin-up time can make scaling “painful” • The most critical issue to be resolved is spin-up time, App Engine scales by adding new application instances. • Even if initialization could happen without affecting users some apps will need to scale instantly. 3 Saturday, August 28, 2010
  • 4. Benefits of Mirah on App Engine • Ruby syntax & apparent features + Java type system • Use Java or Ruby when Mirah lacks features you require • The generated Java source can be inspected at any time • Macros and plugins can be written in Ruby or Mirah • New instances always spin-up in about a second 4 Saturday, August 28, 2010
  • 5. Working with Dubious • Dubious framework uses familiar Rails conventions • Generate JSONs or work with ERb templates • MirahModel syntax is similar to DataMapper • Developers can create apps entirely in Rails, then refactor URLs that need to scale quickly • Some important features are currently missing, but “you” could have fun contributing them 5 Saturday, August 28, 2010
  • 7. Mirah apps should look familiar to Rubyists Saturday, August 28, 2010
  • 8. Mirah apps can use ERb templates Saturday, August 28, 2010
  • 9. The generated Java source can be inspected Saturday, August 28, 2010
  • 10. The ERb is transformed into method calls Saturday, August 28, 2010
  • 11. Your model definition is very concise Saturday, August 28, 2010
  • 12. Code is generated based on properties you define Saturday, August 28, 2010
  • 13. All the basic methods you need are generated Saturday, August 28, 2010
  • 14. Resources • Blog – http://jruby-appengine.blogspot.com • Presentations – http://speakerrate.com/woodie • Examples Apps – http://rails-annex.appspot.com – http://dubious-demo.appspot.com • Mirah Projects – http://github.com/headius/mirah – http://github.com/mirah/dubious 14 Saturday, August 28, 2010