Openstack Technical 101

Embed Size (px)

DESCRIPTION

Openstack

Citation preview

  • Sandy WalshOpenStack Core Developer, Rackspace

    @TheSandyWalshwww.sandywalsh.com

    OpenStack 101Technical Overview

  • Project genesis

    Cloud servers Cloud files Open source

  • Project genesis

    NovaCC Open source

  • Project genesis

    Cloud servers Cloud files Open source

    Nova (compute) Swift (storage)

    NovaCC Open source

  • June 2010

  • Mission statement

    To produce the ubiquitous open source cloud computing platform that will meet the needs of public and private cloud providers regardless of size, by being simple to implement and massively scalable.

  • Open

    Open source (apache) Open design (blueprints) Open development (branches) Open community (tech leads)

  • 90 developers

  • OpenStack projects

    Core projectsOpenStack Object storage (Swift)OpenStack Image registry and delivery (Glance)OpenStack Compute (Nova)

    FutureStackBurrow (queue service)Dashboard (Web UI)Keystone (common authentication)Quantum / Melange / Donabe (network)LunR (block storage)RedDwarf (database as a service)...

  • OpenStack Basic Design Tenetshttp://wiki.openstack.org/BasicDesignTenets

    1. Scalabilityandelasticityare our main goals

    2. Any feature that limits our main goals must be optional

    3. Everything should be asynchronous. If you can't do something asynchronously, see #2

    4. All required components must be horizontally scalable

    5. Always use Shared Nothing architectureorShardingIf you can't Share Nothing/Shard, see #2

    6. Distribute everything, especially logic. Move logic to where state naturally exists.

    7. Accept eventual consistency and use it where it is appropriate.

    8. Test everything.We require tests with submitted code.

  • OpenStack

    EC2

    API

    Auth

    HTTP

    Client

  • OpenStack

    EC2

    API

    Auth

    HTTP

    Host

    Network

    Volume

    Compute

    Host

    Compute

    Client

  • OpenStack

    EC2

    API

    Auth

    HTTP

    Host

    Network

    Volume

    Compute

    Host

    Compute

    Client

    WSGI+Paste middleware EC2/OpenStack API

    Flat, FlatDHCP, Vlan IPv4 / IPv6

    Libvirt: QEMU, KVM, UML, LXC Xen and XenServer Hyper-V VMware vSphere

    Local LVM volume groups iSCSI Sheepdog HP/Lefthand SANs

    DB/LDAP auth plugin

  • OpenStack

    EC2

    API

    Auth

    RabbitMQ QueuesHTTP

    Host

    Network

    Volume

    Compute

    Host

    Compute

    Client

  • OpenStack

    EC2

    API

    Auth

    RabbitMQ QueuesHTTP

    Scheduler

    Network

    Volume

    Glance

    SchedulerAPI Stubs

    NetworkAPI Stubs

    VolumeAPI Stubs

    ComputeAPI Stubs

    Host

    Network

    Volume

    Compute

    Host

    Compute

    Client

  • OpenStack

    EC2

    API

    Auth

    RabbitMQ QueuesHTTP

    Scheduler

    Network

    Volume

    Glance

    SchedulerAPI Stubs

    NetworkAPI Stubs

    VolumeAPI Stubs

    ComputeAPI Stubs

    Host

    Scheduler

    Network

    Volume

    Compute

    Host

    Compute

    Client

  • OpenStack

    EC2

    API

    Auth

    RabbitMQ QueuesHTTP

    Scheduler

    Network

    Volume

    Glance

    SchedulerAPI Stubs

    NetworkAPI Stubs

    VolumeAPI Stubs

    ComputeAPI Stubs

    PubSubHubBubNotifications

    Host

    Scheduler

    Network

    Volume

    Compute

    Host

    Compute

    Client

  • OpenStack

    EC2

    API

    SchedulerAPI Stubs

    NetworkAPI Stubs

    VolumeAPI Stubs

    ComputeAPI Stubs

    PubSubHubBubNotifications

    Host

    Scheduler

    Network

    Volume

    Compute

    Host

    Compute

    Zone

    Auth

  • NorthAmerica

    WestCoast

    EastCoast

  • Do not reveal Child Zone/Service architecture outside Zone

  • PublicInternet

    Zone X

    Zone W

    Zone YZone Z

    Zone A

    Zone B

    Private Public

    Bursting

  • DemoArchitecture

    XenServer

    Dom0

    DomU Nova + Glance

    DomU Guest

    DomU Guest

    i5 Mobile8G ram500G disk

  • The Future

    New release schedule Each project releases ~monthly milestones Coordinated core projects release every 6 months

    Diablo release Release planned on September 22 Distributed scheduling, boot from volumes,

    external volumes/network APIs, OpenVZ support...

  • Come and join the funhttp://launchpad.net/openstackhttp://wiki.openstack.orghttp://planet.openstack.org

    IRC (Freenode)#openstack#openstack-dev

    Mailing-listhttps://launchpad.net/~openstack

  • Sandy WalshOpenStack Core Developer, Rackspace

    @TheSandyWalshwww.sandywalsh.com

    What is OpenStack?Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10OpenStack MissionSlide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31