Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Deltacloud Presentation - OSSConf 2010

1,121 views

Published on

  • Be the first to comment

  • Be the first to like this

Deltacloud Presentation - OSSConf 2010

  1. 1. Deltacloud Cloud Computing Michal Fojtik mfojtik@redhat.com Software Engineer Red Hat, Inc 1 Michal Fojtik
  2. 2. Agenda ● Brief introduction to Cloud Computing ● What is it ? ● What is it good for ? ● Cloud providers API ● Deltacloud API 2 Michal Fojtik
  3. 3. 3 Michal Fojtik
  4. 4. What is Cloud Computing ? 4 Michal Fojtik
  5. 5. A “buzzword” ? 5 Michal Fojtik
  6. 6. Definition ● Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources. - www.nist.gov ● On-demand self-service ● Broadband network access ● Rapid elasticity ● Pay-as-you-Go models ● Extreme usage of Virtualization 6 Michal Fojtik
  7. 7. Cloud Computing Ecosystem 7 Michal Fojtik
  8. 8. What is it good for ? What can I do in cloud ? 8 Michal Fojtik
  9. 9. Working with Clouds ● Providers Web UI ● … or even better API! ● … but wait... which API? ● Many API's => Many problems: ● No way to leave! ● Let's change something today! ● Backward compatibility? ● Why bother with documenting a change? ● Want to develop something? Pay! 9 Michal Fojtik
  10. 10. So, what about one API ? ● Why ? ● Abstracts the differences between clouds ● Independent on cloud provider ● One way to access many providers in the same time ● Migration from one provider to another ● Hurray! A backward compatibility ● Faster development 10 Michal Fojtik
  11. 11. The Problem: So many cloud API's, so little time.... 11 Michal Fojtik
  12. 12. Deltacloud - Project Overview ● Deltacloud Core: ● Cross-cloud API abstraction ● One API for Amazon EC2, RackSpace, RimuHosting, GoGrid, OpenNebula, RHEV-M... ● Open Source project - Incubated in Apache ● Written using the power of Ruby DSL ● Deltacloud Aggregator: ● Manage many clouds in one place ● Cross-cloud remix 12 Michal Fojtik
  13. 13. How ? RESTful Web Service 13 Michal Fojtik
  14. 14. Deltacloud Core: Basics ● REST based and thus language agnostic ● Programming Language: Ruby (Sinatra, Rails) ● Core concept ● Hardware profiles ● Realms ● Images ● Instances ● Instance states ● Storage, networking... 14 Michal Fojtik
  15. 15. Deltacloud Core: Basics ● Entry point model ● Feature advertising ● Instance Authentication ● Firewalls ● Included Ruby client library (deltacloud-client) ● Simple build-in web UI for testing and documentation ● Command-line testing tool 15 Michal Fojtik
  16. 16. Why Ruby ? 16 Michal Fojtik
  17. 17. Because Ruby rocks! :-) 17 Michal Fojtik
  18. 18. Deltacloud Core: Drivers ● What is “driver” ? “Set of methods implementing a basic abstraction for communication with a 'backend cloud'.” ● Drivers are simple, easy implementable Ruby classes 18 Michal Fojtik
  19. 19. Deltacloud Core: Driver methods ● def realms() ● define_hardware_profile ● def images() ● define_instance_states ● def instances() ● def create_instance() ● def start_instance() ● def reboot_instance() ● def destroy_instance() 19 Michal Fojtik
  20. 20. Deltacloud Core: Included drivers 20 Michal Fojtik
  21. 21. Deltacloud Core: Hardware Profiles ● Deployment platform define_hardware_profile 'm1-xlarge' do cpu 4 memory (12*1024 .. 32*1024) ● Architecture storage [ 1024, 2048, 4096 ] ● CPU type architecture 'x86_64' end ● RAM size ● Storage 21 Michal Fojtik
  22. 22. Deltacloud Core: Instances ● Basic capabilities feature :instances, :user_data feature :instances, :authentication_key ● Links to possible actions ● Optional capabilities ● Authentication ● Data injection ● Networking ● <your feature here> 22 Michal Fojtik
  23. 23. Deltacloud Core: Instance states define_instance_states do start.to( :pending ) .on( :create ) pending.to( :running ) .automatically running.to( :running ) .on( :reboot ) running.to( :stopped ) .on( :stop ) stopped.to( :running ) .on( :start ) stopped.to( :finish ) .on( :destroy ) end 23 Michal Fojtik
  24. 24. Deltacloud Core: Getting started ● Available as Fedora RPM ● Available as a standard Ruby gem ● gemcutter.org/deltacloud-core ● gemcutter.org/deltacloud-client ● Or from GIT repository ● git.fedorahosted.org/deltacloud/deltacloud-core.git 24 Michal Fojtik
  25. 25. Deltacloud Core: Clients CLI * Ruby * Java * C * Python … add your language here. 25 Michal Fojtik
  26. 26. Deltacloud – Future (?) ● Aggregator ● Billing API ● Instance monitoring (EC2 CloudWatch) ● Storage management ● Network management ● Firewalls ● Integration of Image Builder 26 Michal Fojtik
  27. 27. http://deltacloud.org Subscribe to mailling list: deltacloud-devel@fedorahosted.org Join #deltacloud on FreeNode Send more patches! 27 Michal Fojtik
  28. 28. 28 Michal Fojtik

×