RubyWorld 2011

14,299
-1

Published on

My keynote presentation at RubyWorld 2011 in Matsue, Japan.

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
14,299
On Slideshare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
101
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

RubyWorld 2011

  1. RubyWorld 2011Cloud FoundryWhy Ruby, and will it last? Derek Collison Sept 5, 2011
  2. Agenda‣ What is Cloud Foundry?‣ Why Ruby?‣ The Business of Cloud Foundry‣ Challenges and Ruby’s future
  3. What isCloud Foundry?
  4. The OpenPlatform as a Service
  5. What is PaaS?
  6. Or more specifically, aPaaS?
  7. aPaaS‣ Application Platform as a Service‣ Applications and Services‣ Not VMs, Memory, Storage, Networks, CPU
  8. What isOpenPaaS?
  9. OpenPaaS‣ Multi-Language‣ Multi-Framework‣ Multi-Services‣ Multi-Cloud, Multi-IaaS‣ Hybrid - Public or Private or Both‣ OpenSource
  10. OpenPaaS‣ Multi-Language ‣ Ruby, Java, Scala, Node.js, Erlang, Python, PHP..‣ Multi-Framework ‣ Rails, Sinatra, Spring, Grails, Express, Lift, MochiWeb‣ Multi-Services ‣ MySQL, Postgres, MongoDB, Redis, RabbitMQ‣ Multi-Cloud, Multi-IaaS ‣ vSphere, MicroCloud, OpenStack, AWS, Eucalyptus
  11. The Open PaaS Ap .js ce p rfa Private lic te atData Services Clouds In io n er Se vid r vic Public o e Pr Clouds In Messaging Services ud te rfa o Cl ce Micro Clouds Other Services
  12. What was our Goal?‣ Raise the unit of currency to be the application and its associated services, not the infrastructure‣ Best of breed delivery platform for all modern applications and frameworks‣ Favor Choice and Openness‣ Simplicity and Speed
  13. How was it Built?‣ Kernel (CloudFoundry OSS) ‣ Core PaaS System‣ Kernel and Orchestrator Shells ‣ Layered on top of IaaS‣ Orchestrator ‣ Creation, management and orchestration of IaaS
  14. High Level Clients (VMC, STS, Browser) CF Kernel Orchestrator / IaaSHardware - CPU/Memory/Disk/Network
  15. Basic Premises‣ Fail Fast‣ Self Healing‣ Horizontally Scalable Components‣ Distributed State, No Single Point of Failure‣ Should be as simple as possible
  16. Basic Patterns‣ Event-Driven‣ Asynchronous‣ Non-blocking‣ Independent, Idempotent‣ Message Passing‣ Eventually Consistent
  17. Logical View BrowserVMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging
  18. All built with Ruby 1.9!
  19. But why Ruby?
  20. Why Ruby?‣ Amazingly Expressive Language‣ Allows great productivity and rapid iteration‣ Utilized EventMachine for Async Patterns‣ Ruby 1.9 Fibers‣ Language performance is not always key‣ All components are independent
  21. Kernel and Orchestrator‣ Both built using Ruby 1.9‣ Kernel does have some performance issues‣ Orchestrator, Chef, Puppet ‣ Ruby is a great language for cloud management ‣ CF Orchestrator built with Ruby as well
  22. How do we make Money?
  23. The Business‣ Charge for CloudFoundry.com and Services‣ Enable the private enterprise PaaS Cloud‣ Hybrid clouds, combining service + software
  24. The key is theprivate cloud..
  25. OpenSource is mandatory..
  26. Many customers don’twant to be thrown into the deep end of the pool!
  27. Same Patterns Everytime‣ Customers get a CF.com account and try it‣ Download source code and try to build‣ Try to setup a multi-node installation‣ Request information on hybrid capabilities
  28. Same Patterns Everytime‣ Customers get a CF.com account and try it‣ Download source code and try to build‣ Try to setup a multi-node installation‣ Request information on hybrid capabilities
  29. This can be hard..
  30. Answer:MicroCloudFull single instance CF as a downloadable VM Available now
  31. Micro Cloud FoundryCloud Foundry on a USB Available at RubyWorld
  32. Same Patterns Everytime‣ Customers get a CF.com account and try it‣ Download source code and try to build‣ Try to setup a multi-node installation‣ Request information on hybrid capabilities
  33. This can be even harder..
  34. Answer: Project BentoFully supported private cloud version of CF Available 2012
  35. Cloud Foundry EcoSystem VMware 3rd party OSS code OSS code VMware 3rd party proprietary proprietary code code CloudFoundry.org CloudFoundry.com Bento Micro Cloud Foundry
  36. Demo
  37. Challenges we faced..
  38. Ruby VM, Gil, GC issues
  39. EventMachine Problems (1.9, IO skew)
  40. Evented IO‣ Event-driven programming‣ Fundamental shift in thinking, e.g. Node.js‣ Does this require deeper language integration for Ruby?‣ Does Ruby need a formal Reactor Pattern?
  41. Packaging(Bundler, Gems)
  42. Gem vs VM Choice compatibility(MRI/Yarv, JRuby, RBX)
  43. Did we make the right decision?
  44. Did we make the right decision? YES!
  45. But...
  46. What does Ruby wantto be when it grows up?
  47. What is Ruby?‣ Great scripting language! ‣ Cloud Management and Tools‣ Modern Application Language! ‣ Mobile, Data-Centric, Web‣ Distributed/Cloud Systems Language?
  48. What would need to Change?
  49. Summary
  50. Summary‣ Ruby can power large distributed systems‣ Ruby can power your business‣ What does Ruby want to be?‣ What needs to evolve and improve?
  51. Questions?
  52. Thank You! dcollison@vmware.comderek.collison@gmail.com @derekcollison
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×