I am amazed how many people and organizations are talking about OpenStack these days. Thankfully there is so much information on the Internet about OpenStack. In order to make sense of it all, and get some fundamental knowledge, I searched for a beginner’s guide to OpenStack. Unfortunately or perhaps in my case, fortunately, I did not come across one! This allowed me to dive into an area, where truthfully, I had not spent much time analyzing. Writing for 1CR a “Cloud” centric blog, I figured I should invest some time figuring out OpenStack and putting all this information into 1 comprehensive blog posting. Speaking with the 1 Cloud Road team, we figured the best way to contribute, was to create our own Beginner’s Guide to OpenStack. The intent is to provide an overview of OpenStack to those IT professionals who are not deeply familiar with the initiative. Scouring the Internet, I attempted to put together the most interesting pieces of information along with some commentary to provide a comprehensive (yet summarized) guide to OpenStack. Here we go. Please note, this is simply my personal views or fragments of information pertaining to OpenStack and in no way an “offiical” Beginner’s Guide.
History of OpenStack
In spring 2010, Rackspace Hosting and NASA joined forces after learning that they were independently engaged in a Cloud Computing initiative which coincided with each other’s ultimate goal. They were roughly doing the same thing. Nasa was building compute and networking components, Racksapce was building storage components.When they got together for the first time, they noticed they were using the same programming language, same design architecture and the same frameworks. 3 weeks later they jointly launched a new open source cloud initiative known as OpenStack. The mission of the OpenStack project is to enable any organization to create and offer cloud computing services running on standard hardware. The community’s first official release, code-named Austin, was made available just 4 months later with plans to release regular updates of the software every few months.
OpenStack is an Infrastructure as a Service (IaaS) cloud computing project started by Rackspace Cloud and NASA in 2010. Currently more than 180 companies have joined the project among which are AMD, Intel, Canonical, SUSE Linux, Red Hat, Cisco, Dell, HP, IBM and Yahoo! It is free open source software released under the terms of the Apache License. It is portable software, but is mostly developed and used on the Linux operating system. OpenStack integrates code from NASA’s Nebula platform as well as Rackspace’s Cloud Files platform, and is included and released in both the Ubuntu and Red Hat Linux distributions.
OpenStack Mission Statement: “Our goal is 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.” OpenStack is a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds. The project aims to deliver solutions for all types of clouds by being simple to implement, massively scalable, and feature rich. The technology consists of a series of interrelated projects delivering various components for a cloud infrastructure solution. Today, OpenStack officials say more than 180 companies and 400 developers are actively contributing to the project. 6600+ professionals make up the OpenStack community of technologists, developers, researchers, corporations and cloud computing experts. Individuals from 85+ countries are involved in the OpenStack community today. It continues to grow, too.
Who’s behind OpenStack? Founded by Rackspace Hosting and NASA, OpenStack has grown to be a global software community of developers collaborating on a standard and massively scalable open source cloud operating system. The mission is to enable any organization to create and offer cloud computing services running on standard hardware.
Why open matters: All of the code for OpenStack is freely available under the Apache 2.0 license. Anyone can run it, build on it, or submit changes back to the project. OpenStack strongly believes that an open development model is the only way to foster badly-needed cloud standards, remove the fear of proprietary lock-in for cloud customers, and create a large ecosystem that spans cloud providers.
Who uses OpenStack? Corporations, service providers, VARS, SMBs, researchers, and global data centers looking to deploy large-scale cloud deployments for private or public clouds leveraging the support and resulting technology of a global open source community.
Technical Beginner’s Guide to OpenStack
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface. 2 Major core products which provide 2 different kinds of storage Cinder and Swift. Think of storage as a kind of resource. Networking has gotten a of attention of the last few releases of OpenStack. The network provides the means of getting the stored data to processing then back to storage.
OpenStack Conceptual Architecture
OpenStack Logical Architecture
Horizon is a modular Django web application that provides an end user and administrator
OpenStack Compute: AKA Project Nova
Documentation Notes: Provision and manage large networks of virtual machines. This enables enterprises and service providers to offer on-demand computing resources, by provisioning and managing large networks of virtual machines. The goal is to schedule, automate and launch compute resources, despite where it resides. Compute can be harnessed from a VM, Linux containers or bare metal, etc.
OpenStack Storage: Divided into 2 parts. Object and Block storage for use with servers and applications.
Block Storage: AKA Project Cinder
Documentation Notes: Think of it as an external hard drive with no USB cable. It can be connected in any part of your cloud.
Object Storage: AKA Project Swift
Documentation Notes: Designed to provide Durability, Availability and Concurrency. The datastore can be extremely large. The architecture is designed to allow hundreds of thousands of people and or processes to access the data concurrently.
OpenStack Networking: AKA Quantum
Documentation Notes : Pluggable, scalable, API-driven network and IP management. Every software Defined networking vendor is using how OpenStack to demonstrate their product’s features and functionality.
OpenStack Shared Services: AKA Glance “Registry”, Identity “Keystone”, Common “Common”
Notes: OpenStack Identity provides a central directory of users mapped to the OpenStack services they can access. It acts as a common authentication system across the cloud operating system and can integrate with existing back-end directory services like LDAP. It supports multiple forms of authentication including standard username and password credentials, token-based systems and AWS-style logins. Additionally, the catalog provides a queryable list of all of the services deployed in an OpenStack cloud in a single registry. Users and third-party tools can programmatically determine which resources they can access.
OpenStack Dashboard: AKA Project Horizon
Notes: Despite the immense power of OpenStack “under the hood”, it does require a dashboard for both users and admins. The dashboard is just one way to interact with OpenStack resources. It provides web-based interactions with the OpenStack Compute cloud controller through the OpenStack APIs.
Here is a video demonstrating the OpenStack Dashboard.
Here is a list of websites and links which contributed to this post.
An awesome presentation by Joshua McKenty: Click here to view it.
And thus begins my journey to educate myself and others about what OpenStack has to offer!