Upload
craig-vyvial
View
1.707
Download
1
Embed Size (px)
DESCRIPTION
Overview of the Openstack architecture and the Reddwarf Architecture.
Citation preview
Prepared for: Austin Cloud Users Group
Date: August 20th, 2012
Craig Vyvial
https://github.com/hub-cap/reddwarf_lite
OpenStack& Reddwarf
Agenda
‣ Overview
‣ OpenStack Architecture
‣ Reddwarf Architecture
‣ Developer vs Deployer
‣ Demo?
‣ Questions
Overview
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 and transparent
‣ Commitment to drive and adopt open standards
‣ Modular design for deployment flexibility via APIs
OpenStack Community
‣ User groups across the world
‣ Events
‣ Design Summit, Conference, and Meetups
‣ Contribute
‣ Documentation, Design, or Code
‣ Over 180 Companies
OpenStack Contributions
‣ Launchpad.net (Bugs/Blueprints)
‣ Code reviews (gerrit)
‣ Unit Tests
‣ Integration Tests
‣ Jenkins jobs with gates
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
OpenStack Platform
‣ Python
‣ Did I mention open source?
‣ github.com/openstack
OpenStack Architecture
Keystone Identity Service
‣ Provides Identity, Token, Catalog, and Policy Services
‣ Authentication / Authorization
‣ Validation
‣ User management
‣ Project / Tenant management
‣ Service management
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.
Nova APIs
‣ Rest based
‣ json/xml
‣ OpenStack Compute API
‣ Management API
‣ EC2 API
‣ Dashboard (Horizon)
Message Bus
‣ Backbone of system
‣ Message routing between services
‣ Generic API to send messages
‣ Multiple drivers supported
‣ RabbitMQ
‣ ZeroMQ
‣ Qpid
Nova Database‣ MySQL Server
‣ Stores all OS system data
‣ Instance info
‣ Network info
‣ Node info
‣ Python library SQL-Alchemy ORM
‣ SQLite for unit testing
‣ Other relational databases
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)
Nova-Compute Service
‣ KVM
‣ QEMU
‣ Xen/Xen Server
‣ VMWare ESX/ESXi
‣ LXC
‣ OpenVZ
‣ HyperV
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
Nova-Volume Service (Cinder)
‣ Provide a Block Storage Service
‣ Create / Delete / Connect volumes to running instances via iSCSI
‣ Drivers available
‣ LVM / iSCSI
‣ Multiple SAN drivers
‣ Ceph
‣ Cinder is newly formed core project
Reddwarf Architecture
Platform as a Service
Reddwarf Architecture
Reddwarf Architecture
Reddwarf API
‣ Rest Based
‣ Json/xml
‣ Create / Delete / Actions on Instance
‣ Extendable API
‣ Communication to the Guest Agent
‣ Keep API response fast (async)
Reddwarf Architecture
Reddwarf Task Manager
‣ Long running processes
‣ Create / Delete / Resize Instance
‣ Setting status when ACTIVE
‣ Synchronous process
Reddwarf Architecture
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
Developer vs Deployer
Developers
‣ Devstack is documented shell script to build a complete OpenStack development environment.
‣ http://devstack.org
‣ Setup a fresh Ubuntu Precise (12.04) or Fedora 16 installation (VM)
‣ VMware/Virtual Box/etc.
‣ Clone devstack
‣ Deploy your OpenStack Cloud
http://www.rackspace.com/cloud/private/
We are hiring! RACKERTALENT.COM
• California• Austin• San Antonio• Virginia• London• Hong Kong• Many other places
Questions?
Project Links
‣ Project Pages
‣ https://launchpad.net/reddwarf
‣ https://launchpad.net/~reddwarf-drivers
‣ Blueprint
‣ https://blueprints.launchpad.net/openstack-devel/+spec/openstack-dbaas
‣ http://wiki.openstack.org/DatabaseAsAService
‣ Code
‣ https://github.com/rackspace/python-reddwarf
‣ https://github.com/hub-cap/reddwarf_lite