OpenStack | Overview
The term 'Cloud' refers to Shared Compute/Storage infrastructure accessed by many users across various locations, OpenStack is one of the OpenSource Cloud Operating systems or Cloud Computing platforms that can help build clouds. Other OpenSource cloud platforms are Eucalyptus, OpenNebula, Apache CloudStack etc.
OpenStack can be used to build Public, Private and Hybrid clouds, It's based on Linux, and is developed using Python
Examples of cloud platforms based on OpenStack:
- Hosted Private Clouds: Ubuntu BootStack, RackSpace OpenStack Private Cloud, IO Cloud
- Public Clouds: RackSpace Public cloud, HOME AT CLOUD
History:
- 2008: Project Nebula was launched by NASA and Project Swift was launched by Rackspace
- In 2010, OpenStack was launched which was a result of the combination of Nebula and Swift
- OpenStack foundation was created in 2012
Enterprise members of the OpenStack foundation: AT&T, RackSpace, SUSE etc.
Key OpenStack Services:
- Keystone(Identity)
- Glance(Image)
- Nova(Compute)
- Neutron(Networking)
- Cinder(Block storage)
- Swift(Object storage)
- Heat(Orchestartion)
There are various other services such as Celiometer(Metering & Data collection), Trove(Database), Manila(Shared file system), Designate(DNS) etc.
Service components code names included with the first version of OpenStack - Austin, launched in 21 October, 2010: Nova & Swift
All the service component code names included with the Queens version of OpenStack, launched in 28 February, 2018: Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun
Nodes(servers) where the services will be deployed:
Controller node: most of the services are usually installed here, the OpenStack environment is managed from here
Compute node: This is where the nova compute service is installed
Other nodes if any can be called with their respective names just like the compute node, if you install Neutron networking service on a separate node, that can be called as a networking node
It depends on the design/topology however to decide the no. of nodes in a multi node environment, its also common to have all the services in a single node, for Lab environments, using projects such as DevStack, which is a shortcut/quicker way of deploying essential services on a single node, to benefit learning. A basic multi node installation procedure guided by the OpenStack website involves 1 controller node, 1 compute node, 1 block storage node and 2 object storage nodes.
Ways to manage OpenStack:
- CLI from the controller node
- GUI(Horizon dashboard) over the browser
- SDKs supported by any programming language, example: OpenStack Python SDK
URLs:
- https://www.openstack.org/passport/
- https://docs.openstack.org/tacker/latest/install/devstack.html
- https://docs.openstack.org/newton/install-guide-ubuntu/
- https://docs.openstack.org/training_labs/
- https://www.openstack.org/foundation/companies/
- https://www.openstack.org/marketplace/hosted-private-clouds/
- https://www.github.com/openstack
- https://github.com/openstack/openstacksdk
--end-of-post--