OpenStack and the Software Defined Data Center – Part I

OpenStack and the Software Defined Data Center – Part I

OpenStack and the Software Defined Data Center – Part I

Cloud Computing, Specifically Infrastructure-as-a-Service (IaaS) helps companies manage IT much more efficiently, increasing efficiency and improving Returns on Investment. Cloud Computing eases the need to purchase hardware in advance of use, thus enabling cost savings on CapEx items. By removing silos, it also affords Flexibility in distributing workloads across the resources of the data center.

OpenStack provides tools that enable Cloud Computing implementation. In a private data center, the most important aspects of cloud computing are provisioning, control and automation. A true private cloud will be completely automated data center.

All OpenStack tools are designed to be automated. All server, storage and network provisioning happens with either policy or web-services based scripting and without any administration intervention. Once provisioned, OpenStack tools work with underlying hypervisors and their control centers to enable management and monitoring.

Software Defined Data Center (SDDC) is essentially a “private cloud” with tightly integrated server, storage, networking and applications controls. SDDC also comes with some (and varying) level of hardware integration and control.

OpenStack tools and SDDC enables policy-based management of data center resources. IT administrators set policies like Quality of service, server and storage placements for VMs, dynamic movement of workloads, High availability for servers, disaster recovery, storage resiliency etc.

End-users deploy Workloads (e.g. DBA might create a VM for use with a SQL server or a VDI administrator create a new desktop VM) using web-based interfaces and utilizing pre-defined templates. The workloads are provisioned to available resources, based on policies.

Here is a simplified concept diagram to illustrate SDDC. The 3 infrastructure software solutions form the core. The hypervisor and hardware are sometimes integrated into a single solution (like Nutanix or Simplivity), but most of the times they are just simple VMware and DELL servers and storage working together.

Apart from hypervisor and hardware, OpenStack provides the main backbone of the SDDC setup. It provides most of configuration and policy enforcement functionality for the SDDC. It also provides dashboards (rather rudimentary) for management and user interaction. Most companies will define their own web-based portals for end-user integration.

Once deployed, the SDDC should operate in relative automation, with workloads provisioned on the fly directly by end users, workload load balancing, services like backups/restores, update/patching would also function in the similar manner. IaaS administrators would get reports to show usage, status etc.

But OpenStack tools themselves don’t provide any built-in intelligence that can be used easily. Data Center administrators then face familiar problem of managing a vast and dynamic data center with manual tools. Questions like whether or not the policies setup for the OpenStack are adequate or not, whether the workloads have requisite resources are not easily answered with the built in tools.

In this part I of the blog, let’s look at the OpenStack components before delving into control and monitoring software.

JUNO release (it’s the 10th release of OpenStack), consists of the following projects (among others):

-          Identity (KeyStone) – This is the federated authentication service that is used to authenticate users and their level of access. This service is used for all other services when creating instances (VMs) or using dashboards to administer projects.

-          Compute (Nova) – This service manages underlying server resources. The project is central to creating pools of resources and then using these pools to create VMs and allocating them needed CPU, memory, storage and network.

-          Storage (Cinder, Swift) – This service manages storage (either file or block) and offers that storage for consumption of instances.

-          Network (Neutron) – Neutron service provides the ability to simply assign IP addresses to VMs. It’s powerful enough to create networks for isolation or (for service providers) to serve different customers in a completely segregated network space.

-          Image processing (Glance) – Templates are managed using this service. The templates can be published by administrators and used by end-users. End users provisioning can thus be controlled effectively.


In the next part of this blog, we will talk about how to use these services to stand up a cloud and how to make sure it’s running smoothly.