Openstack Overview

1,922 views

Published on

This presentation covers overview of OpenStack and its components. We also briefly discuss

Published in: Technology
1 Comment
16 Likes
Statistics
Notes
No Downloads
Views
Total views
1,922
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
0
Comments
1
Likes
16
Embeds 0
No embeds

No notes for slide

Openstack Overview

  1. 1. OpenStack Overview Rajdeep Dua April 2014 Twitter : @rajdeepdua
  2. 2. What is OpenStack Provide scalable, elastic cloud computing for both public and private clouds, large and small
  3. 3. Defining OpenStack • OpenStack is a virtualization platform which abstracts out Compute, Storage and Networking from the underlying Hardware • All the components are managed through a central Dashboard
  4. 4. OpenStack Github Activity
  5. 5. Trends : OpenStack vs Other Open Source Cloud Projects Source : Google trends OpenStack has won the Open Source battle
  6. 6. OpenStack Deployments : 2013 Source OpenStack survey Oct 2013 Top 10 countries 13 14 23 24 24 25 39 57 63 336 IT BR DE AU GB CA FR CN IN US
  7. 7. Finance 1% Healthcare 1% Retail 1% Manufacturing/Indu 2% Government / Defen Film/Media 3% Unspecified 3% Other 6% Telecommunications 7%Academic / Research 11% Information Technology 63% Other 19% Industries 1-20 employees 26% 21-100 employees 16% 101 to 500 employees 14% 501 to 1,000 employees 5% 1,001 to 5,000 employees 10% 5,001 to 10,000 employees 8% More than 10,000 employees 21% Organization size
  8. 8. Business Drivers for Adopting OpenStack 4 48 52 65 86 87 95 95 95 98 Other Attracting talent Control Time to market Ability to innovate, compete Flexibility of underlying technology… Avoiding vendor lock-in Open technology Operational efficiency Cost savings Source OpenStack survey Oct 2013
  9. 9. OpenStack Components
  10. 10. OpenStack - Components Component Component Function Definition Nova Compute Provides virtual servers on demand Glance Image Service Provides a catalog of images used to create VMs Swift Object Storage Provides Object Storage Horizon Web based UI Provides a way to interact with other OpenStack services Neutron Networking Service Provides Network as a Service Cinder Block Storage Service Provides Block Storage Service for guest VMs Keystone Identity Services Provides Authorization and Authentication services for Ceilometer Monitoring Service Collects metrics from various Open Stack Components
  11. 11. OpenStack Components..
  12. 12. OpenStack – Compute Nova
  13. 13. OpenStack – Compute • Tool to orchestrate cloud. • Main Functions – Manage running instances – Manage access to the cloud through users and tenants • OpenStack compute relies in the underlying hypervisors to spawn actual instances
  14. 14. OpenStack Computes • Hypervisors Supported Hypervisor KVM Kernel Virtual Machine Xen Based on Citrix Xen Server vSphere 4.1, 5.1 VMWare’s hypervisor QEMU Quick Emulator LXC Linux Containers : User Control Packages for Linux Containers
  15. 15. Nova Architecture • Nova is architected as a distributed application with many components • Majority of these are custom-written Python daemons of two varieties: – API Service : Web Server Gateway Interface (WSGI)* applications to receive and mediate API calls – nova-compute : Nova Compute Service – nova-volume : Nova Volume Service – nova-network : Nova Network service which connects to Neutron – nova-cert : Manages the x509 certificates – nova-scheduler : Scheduler to choose the host to run instances on – nova-conductor : Updates DB on behalf of other APIs like network, volumes etc
  16. 16. Nova Architecture – Service to Manager Mapping • Each Service has an associated Manager class which manages the API calls to the underlying implementation – API Service : – nova-compute : nova.compute.ComputeManager – nova-volume : nova.volume.VolumeManager – nova-network : nova.network.NetworkManager – nova-cert : nova.cert.CertManager – nova-scheduler : nova.scheduler.SchedulerManager – nova-conductor : nova.conductor.CondutorManager
  17. 17. Nova Runtime Components
  18. 18. Nova - API Service • API Service is the entry point for all the REST service requests • The API endpoints are basic http REST which handle authentication, authorization, and basic command and control functions using various API interfaces • Forwards the API requests to ComputeManager and Scheduler.
  19. 19. Nova – RPC Communication • API uses RPC Messaging to communicate with various services like Compute, Conductor, Scheduler • RPC is currently implemented using AMPQ messaging
  20. 20. Service Workers • Every Service is associated with one or more workers. • Each worker is spawned in a separate process and helps in scaling out the associated service
  21. 21. Nova Scheduler • Component responsible for scheduling a VM provisioning call on one the hosts • It can choose from multiple algorithms to choose the host. • Example of some of these algorithms
  22. 22. Drivers for Virtualization • Base class for all the driver implementations is nova.virt.compute.ComputeDriver • All the drivers extend this class for implementing the functionality
  23. 23. Driver for KVM
  24. 24. Driver for ESXi and vCenter
  25. 25. Neutron
  26. 26. What is Neutron • Networking service to virtualize Network Management • Neutron is to networking what Nova for Compute
  27. 27. Why Neutron • Enterprise Networks are complex • Traditional Open Stack Networking has limitations • New Concepts like SDN and Tunneling protocols need a more extendible model
  28. 28. Limitations of Nova-Network • Single VLAN for all the VMs • Limited by the number of VLANs which can be created – 4096 • Little or No Control
  29. 29. Neutron • Provides tools and control for Enterprise class Networking – Services Firewalls, Load Balancers, Virtual Routers • Provide APIs to build advanced network Configurations
  30. 30. Challenges from Cloud on Networking • Massive Scale • Cost Effective • Vendor Agnostic • Dynamic and programmatic configuration
  31. 31. Neutron Basics • Provides API for configuration of Virtual Networks and connecting VMs • Connect Virtual and Physical Switches • Provide Pluggin mechanism for different control components.
  32. 32. Neutron Principles • Implementation Abstraction : Networking implementation at Physical level is abstracted • Association of an Interface with a Network is an explicit step • Plugins can expose extensions from the core APIs
  33. 33. Neutron API Abstractions • Network • Subnet • Ports • Routers
  34. 34. Network-Subnet-port
  35. 35. Neutron Components
  36. 36. Neutron Components – neutron daemon • Neutron daemon exposes the REST APIs for Nova and Horizon interaction • Passes on the messages to the agents running on Neutron Service Host as well as Nova Compute
  37. 37. Neutron Components – neutron daemon • Neutron daemon exposes the REST APIs for Nova and Horizon interaction • Passes on the messages to the agents running on Neutron Service Host as well as Nova Compute
  38. 38. Neutron Components – l3 agent and l3 metering agent • L3 agent : Provides L3/NAT forwarding to provide external network access for VMs on tenant networks. Some plug-ins use this agent. • L3 metering Agent : Provides L3 traffic measurements for tenant networks. • Run on the main Neutron Service
  39. 39. Neutron Components – l3 agent and l3 metering agent • plugin-in agent : Runs on each hypervisor to perform local vswitch configuration. The agent that runs depends on the plug-in that you use, and some plug-ins do not require an agent. • dhcp agent: Provides DHCP services to tenant networks. • Run on each Nova Compute Node
  40. 40. Neutron Create a VM Flow
  41. 41. Plugin Architecture • Allows Network/Port abstraction with multiple implementations – Process All API Calls and pass them to the underlying Physical Layer – Manage Virtual Switches – Triggered by Nova interfaces being attached to a network
  42. 42. Neutron– Pluggin Architecture
  43. 43. Neutron-Plugin-Nova Interaction
  44. 44. Neutron Plugins • Open Source plugins based on OpenVSwitch and Linux bridge – hardware Independent • Vendors plugins – NSX (VMware) – Big Switch Networks – Floodlight – Open Daylight Controller – Cisco – Brocade
  45. 45. Example SDN : OpenDay Light
  46. 46. OpenDaylight • OpenDaylight is an Open Source Software project under the Linux Foundation with the goal of furthering the adoption and innovation of Software Defined Networking (SDN) through the creation of a common industry supported platform
  47. 47. OpenDaylight Framework
  48. 48. Example – vSphere and NSX Integration with OpenStack
  49. 49. Key Takeaways • Open Stack is a SDN agnostic and Hypervisor Agnostic Open Source Framework • Open Source also brings its own challenges to the product in terms of complexity • Lot of value added services being built around OpenStack – Trove, Savanna, Solum, Congress

×