Openstack and Reddwarf Overview

  • Published on

  • View

  • Download


1.OpenStack& ReddwarfPrepared for: Austin Cloud Users GroupDate: August 20th, 2012Craig Vyvial Agenda‣ Overview‣ OpenStack…


1.OpenStack& ReddwarfPrepared for: Austin Cloud Users GroupDate: August 20th, 2012Craig Vyvial Agenda‣ Overview‣ OpenStack Architecture‣ Reddwarf Architecture‣ Developer vs Deployer‣ Demo?‣ Questions 3. Overview 4. OpenStack Founding Principles‣ Apache 2.0 license (OSI), open development process‣ Open design process, 2x year public Design Summits‣ Publically available open source code repository‣ Open community processes documented andtransparent‣ Commitment to drive and adopt open standards‣ Modular design for deployment flexibility via APIs 5. OpenStack Community‣ User groups across the world‣ Events‣ Design Summit, Conference, and Meetups‣ Contribute‣ Documentation, Design, or Code‣ Over 180 Companies 6. OpenStack Contributions‣ (Bugs/Blueprints)‣ Code reviews (gerrit)‣ Unit Tests‣ Integration Tests‣ Jenkins jobs with gates 7. Benefits of a Common Platform‣ Common API contract for public/private cloud‣ Easy to migrate to public when needed‣ No vendor lock in with a single provider‣ Run on commodity hardware 8. OpenStack Platform‣ Python‣ Did I mention open source?‣ 9. OpenStack Architecture 10. Keystone Identity Service‣ Provides Identity, Token, Catalog, and Policy Services‣ Authentication / Authorization‣ Validation‣ User management‣ Project / Tenant management‣ Service management 11. Glance Service‣ VM Image Service for nova-compute‣ Manage and deploy images‣ Backend storage of images can be anything‣ File based‣ Swift‣ S3‣ Multiple Image Formats‣ AMI / raw / iso / qcow / etc. 12. Nova APIs‣ Rest based‣ json/xml‣ OpenStack Compute API‣ Management API‣ EC2 API‣ Dashboard (Horizon) 13. Message Bus‣ Backbone of system‣ Message routing betweenservices‣ Generic API to send messages‣ Multiple drivers supported‣ RabbitMQ‣ ZeroMQ‣ Qpid 14. Nova Database‣ MySQL Server‣ Stores all OS system data‣ Instance info‣ Network info‣ Node info‣ Python library SQL-AlchemyORM‣ SQLite for unit testing‣ Other relational databases 15. Nova-Scheduler Service‣ Determines the placement of new resources requested via the API‣ Modular architecture to allow for optimization‣ Base Schedulers include‣ Round Robin‣ Filter Scheduler‣ Spread First‣ Fill First‣ Chance (random) 16. Nova-Compute Service‣ KVM‣ QEMU‣ Xen/Xen Server‣ VMWare ESX/ESXi‣ LXC‣ OpenVZ‣ HyperV 17. Nova-Network Service (Quantum)‣ Provides network connectivity as a service‣ Programmable networking‣ Open vSwitch‣ Nicira Network Virtualization Platform (NVP)‣ Linux Bridge‣ Ryu OpenFlow Controller‣ On Demand creation of rich L2 + L3 topologies‣ Quantum is the core project that came from this service 18. Nova-Volume Service (Cinder)‣ Provide a Block Storage Service‣ Create / Delete / Connect volumes to runninginstances via iSCSI‣ Drivers available‣ LVM / iSCSI‣ Multiple SAN drivers‣ Ceph‣ Cinder is newly formed core project 19. Platform as a ServiceReddwarf Architecture 20. Reddwarf Architecture 21. Reddwarf Architecture 22. Reddwarf API‣ Rest Based‣ Json/xml‣ Create / Delete / Actions on Instance‣ Extendable API‣ Communication to the Guest Agent‣ Keep API response fast (async) 23. Reddwarf Architecture 24. Reddwarf Task Manager‣ Long running processes‣ Create / Delete / Resize Instance‣ Setting status when ACTIVE‣ Synchronous process 25. Reddwarf Architecture 26. Guest Agent (Sneaky-Pete)‣ Reference Agent (python)‣ Listens on the Message Bus‣ Updates MySQL Status to DB‣ Sets up and secures the MySQL instance‣ Controls and manages the MySQL instance‣ Low memory footprint 27. Developer vs Deployer 28. Developers‣ Devstack is documented shell script to build acomplete OpenStack development environment.‣‣ Setup a fresh Ubuntu Precise (12.04) or Fedora16 installation (VM)‣ VMware/Virtual Box/etc.‣ Clone devstack‣ Deploy your OpenStack Cloud 29. 30. We are hiring!•California•Austin•San Antonio•Virginia•London•Hong Kong•Many other places 31. Questions? 32. Project Links‣ Project Pages‣‣‣ Blueprint‣‣‣ Code‣‣