Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenStack architecture: a high-level view

OpenStack architecture: a high-level view

An overview of the OpenStack cloud platform and its internal architecture. Presented at the DC Python Meetup on Sept. 3, 2013.

All slides are licensed CC BY SA 3.0 unless explicitly credited to another source. See http://creativecommons.org/licenses/by-sa/3.0/us/

Lorin Hochstein

September 03, 2013
Tweet

Other Decks in Technology

Transcript

  1. Where  we’re  going  today   •  What  is  OpenStack?  

    •  What  does  the  architecture  look  like?   •  How  do  I  get  access  to  an  OpenStack  cloud?   •  How  do  I  get  involved  with  the  project?  
  2. Access  compute  resources   Start 5 servers, each with: •

    2 CPUs • 4 GB of RAM • 20 GB of storage User Suspend server "X" Snapshot server "X"
  3. Access  networking  resources   Create private network with subnet 10.2.12.0/24

    User Attach IP address 203.0.113.19 to server "X" Allow access to ports 80 and 443 for the "web" group
  4. Access  block  storage  resources,     which  aGach  to  servers

     like  disks   Create a 100 GB data volume and attach it to server "X" User Take a snapshot of volume "Q"
  5. Access  object  storage  resources,   which  are  accessed  over  HTTP

      Store file family.png in container "photos" User Make file logo.png in container "acme" visible to everyone
  6. Users  can  also  make  requests  with   command-­‐line  tools  or

     REST  API   $ nova boot --image precise --flavor m1.small myinstance Client HTTP POST /servers { "server": { "imageRef": ... "flavorRef": ... "name": "myinstance", } }
  7. Also...  Python  APIs!   import novaclient.v1_1.client as nvclient creds =

    ... nova = nvclient.Client(**creds) image = nova.images.find(name="precise") flavor = nova.flavors.find(name="m1.small") nova.servers.create(image=image, flavor=flavor, name="myinstance")
  8. ECOSYSTEM SIZE 
 (Members + Sponsors + Supporters) CUMULATIVE 


    CONTRIBUTORS AVERAGE MONTHLY 
 CONTRIBUTORS PATCHES
 MERGED 998 230 7,260 (Grizzly Release Cycle – Six Months) 209
 Companies Members: 24 Total
 Sponsors: 35 Total Supporters: 150 Total TOP 10 Countries 1) United States
 2) China
 3) India
 4) Great Britain
 5) Australia 9,511 6) France
 7) Russia
 8) Canada
 9) Ireland
 10) Germany INDIVIDUAL MEMBERS Project  is  very  acRve  with  many   contributors   Credit:  hGp://www.openstack.org/assets/markeRng/presentaRons/GenericPlaTormDeckMay-­‐23-­‐2013.pptx   Data  from  May  2013  
  9. Large  industry  players  among   OpenStack  plaRnum  &  gold  members

      8 Credit:  hGp://www.openstack.org/assets/markeRng/presentaRons/GenericPlaTormDeckMay-­‐23-­‐2013.pptx  
  10. No  single  company  dominates  the   project   Credit:  stackalyRcs.com

      Metric:  lines  of  code   Release:  Havana   Projects:  all  
  11. System  is  implemented  as  a  collecRon   of  RESTful  web

     services   Credit:  hGp://www.solinea.com/2013/06/15/   openstack-­‐grizzly-­‐architecture-­‐revisited/  
  12. Alice  is  a  web  dev  who  needs  an  Ubuntu  

    server  to  deploy  her  app  for  tesRng  
  13. Start  a  server  using  the  ‘ubuntu12.04’   image    and

     a8ach  it  to  network  ‘mynet’  
  14. 5.  Get  info  to  determine  how  to  connect   the

     virtual  machine  to  the  ‘mynet’  network  
  15. Daemons  communicate  using  remote   procedure  call  over  message  queue

      OpenStack daemon kombu eventlet. green. zmq qpid message queue
  16. Let’s  go  back  to  the  earlier  example,   and  zoom

     in  on  the  Compute  service   Credit:  hGp://www.solinea.com/2013/06/   15/openstack-­‐grizzly-­‐architecture-­‐revisited/  
  17. OpenStack  uses  driver-­‐based   architecture  to  support  different  techs  

    compute_driver=xenapi.XenAPIDriver volume_driver=cinder.volume.drivers.glusterfs.
 GlusterfsDriver core_plugin=neutron.plugins.ryu.
 ryu_neutron_plugin. RyuNeutronPluginV2 Compute  service:  Xen  driver   Block  storage  service:  Gluster  driver   Networking  service:  Ryu  plugin  
  18. Community  help  is  available  via     web,  email  &

     IRC   •  DocumentaRon:  hGp://docs.openstack.org   •  Mailing  lists:  hGp://lists.openstack.org   – [email protected]     – openstack-­‐[email protected]     •  QA  site:  hGp://ask.openstack.org   •  IRC:  #openstack  on  irc.freenode.net    
  19. Project  is  very  open  to  new   contributors   • 

    hGps://wiki.openstack.org/wiki/ How_To_Contribute   •  #openstack-­‐101  on  irc.freenode.net:     help  for  new  contributors   •  Developer  mailing  list:   – openstack-­‐[email protected]   – hGp://lists.openstack.org/cgi-­‐bin/mailman/ lisRnfo/openstack-­‐dev  
  20. Q:  Where  do  I  start?   A:  Log  a  bug

     against  the  documentaRon  when   you  find  something  unclear  or  incorrect     1.  Create  an  account  on  launchpad.net   2.  Go  to  hGps://bugs.launchpad.net/                        openstack-­‐manuals/+bugs   3.  Click  on  “Report  a  bug”  in  the  top-­‐right