Thursday 5 June 2014

OpenStack -Cloud software

OpenStack is a global collaboration of developers and cloud computing technologists that seek to produce a ubiquitous Infrastructure as a Service (IaaS) open source cloud computing platform for public and private clouds. OpenStack was founded by Rackspace Hosting and NASA jointly in July 2010.

The Pieces of OpenStack
  • OpenStack Compute (Nova)
  • OpenStack Object Storage (Swift)
  • OpenStack Image Service (Glance)
  • Dashboard
  • Identity Management
  • Networking
  • Load balancers
  • Database
  • Queueing






Openstack Core components 

OpenStack Compute (core -NOVA)
    Provision and manage large networks of virtual machines
OpenStack Object Store (core-SWIFT)
Create petabytes of secure, reliable storage using standard hardware
OpenStack Image Service (core)
Catalog and manage massive libraries of server images
OpenStack Identity (core-GLANCE)
Unified authentication across all OpenStack projects and integrates with existing authentication systems.
OpenStack Dashboard (core-HORIZON)
Enables administrators and users to access & provision cloud-based resources through a self-service portal.


Openstack Storage -Nova








Openstack Storage -Swift


Swift storage is fully distributed and not a file system.System components are given below   


The Ring: Mapping of names to entities (accounts, containers, objects) on disk.
Container Server: Handles listing of objects, stores as SQLite DB
Object Server: Blob storage server, metadata kept in xattrs, data in binary format
  • Stores data based on zones, devices, partitions, and replicas
  • Weights can be used to balance the distribution of partitions
  • Used by the Proxy Server for many background processes
Proxy Server: Request routing, exposes the public API
Replication: Keep the system consistent, handle failures
Updaters: Process failed or queued updates
Auditors: Verify integrity of objects, containers, and accounts
Account Server: Handles listing of containers, stores as SQLite DB

Openstack Network -Neutron




Networking is a standalone component in the OpenStack modular architecture. It's positioned alongside OpenStack components such as Compute, Image Service, Identity, or the Dashboard. Like those components, a deployment of Networking often involves deploying several services to a variety of hosts.

Networking is entirely standalone and can be deployed to a dedicated host. Depending on your configuration, Networking can also include the following agents:


AgentDescription
plug-in agent (neutron-*-agent)Runs on each hypervisor to perform local vSwitch configuration. The agent that runs, depends on the plug-in that you use. Certain plug-ins do not require an agent.
dhcp agent (neutron-dhcp-agent)Provides DHCP services to tenant networks. Required by certain plug-ins.
l3 agent (neutron-l3-agent)Provides L3/NAT forwarding to provide external network access for VMs on tenant networks. Required by certain plug-ins.
metering agent (neutron-metering-agent)Provides L3 traffic metering for tenant networks.
Networking agents
These agents interact with the main neutron process through RPC (for example, RabbitMQ or Qpid) or through the standard Networking API. In addition, Networking integrates with OpenStack components in a number of ways:
  • Networking relies on the Identity service (keystone) for the authentication and authorization of all API requests.
  • Compute (nova) interacts with Networking through calls to its standard API. As part of creating a VM, the nova-compute  service communicates with the Networking API to plug each virtual NIC on the VM into a particular network.
  • The dashboard (horizon) integrates with the Networking API, enabling administrators and tenant users to create and manage network services through a web-based GUI.

 Orchestration -Heat

Heat orchestrates composite cloud apps (stacks)
HA (restarts resources) & “auto-scaling” 

Configuration Management-Puppet

  • Puppet can be used , widely used, large community, scales 
  • Simplify the configuration of OpenStack itself

Accounting - Ceilometer

  • Accounting for OpenStack by project
  • Collects statistics from each compute node
  • common OpenStack message bus

OpenStack’s community is remarkably vibrant.  It is no longer lead by any single vendor.

Prominent Adopters
  • Private Cloud Solutions (Dell, Nebula, Piston)
  • Large public clouds & hosting companies (Rackspace, ATT, NTT, Dreamhost, HP, Deutsche Telecom)
  • Web & SaaS Providers (eBay, Wikimedia, )
  • Government (NASA)
  • Major Linux Distributions (Ubuntu, Suse, RedHat)
  • Hardware Vendors (Dell, HP, IBM, Cisco)

Substantial Contributors

Dev: Rackspace, HP, RedHat, Citrix, Nebula, Cisco, Canonical, Piston … 
Ops: Dell has lead here with Opscode.

Leading  Hardware Vendors and Virtulaization players integrated their technologies in Openstack  to provide cloud solution 


1) VMware Technologies and OpenStack






2) Dell OpenStack  Cloud Solution





3) Rackspace openstack private  cloud reference Architecture



4 comments: