EMC for Cinder and Swift - education.dellemc.com · 2015 EMC Proven Professional Knowledge Sharing...
Transcript of EMC for Cinder and Swift - education.dellemc.com · 2015 EMC Proven Professional Knowledge Sharing...
Azhagarasu ASystems Engineer AnalystEMC [email protected]
EMC FOR CINDER AND SWIFT
2015 EMC Proven Professional Knowledge Sharing 2
Table of Contents
Preface ...................................................................................................................................... 3
Introduction to Cloud Computing and OpenStack ....................................................................... 4
NIST Definition of Cloud Computing ....................................................................................... 4
Essential characteristics of Cloud ........................................................................................... 4
Service Models ....................................................................................................................... 5
Deployment Models ................................................................................................................ 5
What is OpenStack and where does it fit? .............................................................................. 6
Building blocks of OpenStack ................................................................................................. 6
OpenStack architecture .............................................................................................................10
Controller Nodes ...................................................................................................................10
Compute Nodes ....................................................................................................................10
Network Nodes ......................................................................................................................11
Block and Object storage nodes ............................................................................................11
Variations in architecture .......................................................................................................11
OpenStack Distros.................................................................................................................12
Available OpenStack Distributions .........................................................................................12
Block Storage ...........................................................................................................................13
What one can run on Cinder? ................................................................................................13
Limitation of Cinder in commodity hardware ..........................................................................14
What Cinder can do ...............................................................................................................14
How Cinder works .................................................................................................................15
EMC’s role in Cinder ..............................................................................................................16
What EMC can do for Cinder and Swift .................................................................................16
My method in brief .................................................................................................................21
Conclusion ................................................................................................................................23
Glossary....................................................................................................................................24
Appendix ...................................................................................................................................25
Disclaimer: The views, processes or methodologies published in this article are those of the
author. They do not necessarily reflect EMC Corporation’s views, processes or methodologies.
2015 EMC Proven Professional Knowledge Sharing 3
Preface
OpenStack has become one of the most preferred cloud platforms. In October 2014, OpenStack
summit attracted close to 5000 attendees. Many notable IT organizations shared how and for
what purpose they are running an OpenStack-powered private and hybrid cloud. OpenStack is
exciting because it offers great choice to build a cloud computing environment. Various
distributions and appliances are available today.
This article is split into 3 parts.
1. The first part is helpful for a beginner to understand fundamental structure of cloud
computing and OpenStack.
2. The second part elaborates on OpenStack and its services.
3. The third is all about block storage. Block storage (Cinder) in OpenStack is explained in
detail. Further in this chapter I also discuss some survey results and market information.
At the end, I explain my idea/solution in brief.
2015 EMC Proven Professional Knowledge Sharing 4
Introduction to Cloud Computing and OpenStack
NIST Definition of Cloud Computing
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to
a shared pool of configurable computing resources (e.g. networks, servers, storage,
applications, and services) that can be rapidly provisioned and released with minimal
management effort or service provider interaction. This cloud model is composed of five
essential characteristics, three service models, and four deployment models1
Any cloud environment should exhibit essential characteristics because that is the key
distinguishing factor from a traditional IT environment where most of the tasks are done
manually. Let’s spend few minutes to understand the essential characteristics of cloud, service
models, and deployment models.
Essential characteristics of Cloud
The essential characteristics are:
On-demand self-service – A user can provision resources for his/her needs such as more
compute power, additional network bandwidth, more storage, etc.
Broad network access – Cloud resources of a user should be accessible over the network
through standard mechanisms that may allow use of heterogeneous equipment such as laptops,
mobile, tablets, etc.
Resource Pooling – The user will not have control of where his/her compute resources reside
at a physical scale. Instead, in a cloud model, the underlying physical resources are pooled.
When a user creates an instance the resource is automatically taken from pool. Likewise, when
a user destroys an instance the resources used by it will be released back to the pool.
Rapid Elasticity – This means on demand resource allocation which can scale out and also
inward.
Measured service – In a cloud environment, all resource usage can be metered. This enables
the user to pay or even pre-pay for what is used.
1 NIST definition of Cloud Computing
2015 EMC Proven Professional Knowledge Sharing 5
Service Models
Service models, generally well-known to most everyone, are:
Software as a Service (SaaS) – User can use the application which is preconfigured with little
or no configuration change. User may have ability to configure the application according to
need, but cannot modify/control underlying components such as database, operating system,
etc.
Platform as a Service (PaaS) – In this service model, user has the ability to deploy self-written
application or licensed application on to cloud. User may control the environment which powers
the application such as databases, but user does not have control over operating system,
network, storage etc.
Infrastructure as a Service (IaaS) – User has access to fundamental computing resources. By
making use of resources a user can create fully functional Instance. A user can provision
required storage, network bandwidth, processing power, etc. This allows users to run the
operating system and tools of their choice.
Deployment Models
Cloud deployment models are Private, Community, Public, Hybrid, and Public.
Private Cloud2 – The cloud infrastructure is provisioned for exclusive use by a single
organization comprising multiple consumers (e.g. business units). It may be owned, managed,
and operated by the organization, a third party, or some combination of them, and it may exist
on or off premises.
Community Cloud2 – The cloud infrastructure is provisioned for exclusive use by a specific
community of consumers from organizations that have shared concerns (e.g. mission, security
requirements, policy, and compliance considerations). It may be owned, managed, and
operated by one or more of the organizations in the community, a third party, or some
combination of them, and it may exist on or off premises.
Public Cloud2 – The cloud infrastructure is provisioned for open use by the general public. It
may be owned, managed, and operated by a business, academic, or government organization,
or some combination of them. It exists on the premises of the cloud provider.
2 NIST definition of private, public, community, hybrid cloud
2015 EMC Proven Professional Knowledge Sharing 6
Hybrid Cloud2 – The cloud infrastructure is a composition of two or more distinct cloud
infrastructures (private, community, or public) that remain unique entities, but are bound
together by standardized or proprietary technology that enables data and application portability
(e.g. cloud bursting for load balancing between clouds).
What is OpenStack and where does it fit?
Suitable for all types of service and deployment models, OpenStack is a set of tools and
services that can be used to build a cloud computing platform. Each year, OpenStack
foundation – which is the control body for OpenStack development – releases two major
versions of OpenStack.
The recent trend is “distribution”. Many enterprises are releasing customized versions of
OpenStack. Some distributions make implementation easy with the help of tools for automated
deployment. Also, there are a number of turnkey solutions available.
Figure: 1 Overview of OpenStack3
Building blocks of OpenStack
OpenStack makes uses of various services. Every service is developed as a project. These
services are used to build cloud; hence, I call it OpenStack building blocks. Each of these
services has an API so that it can be managed through a centralized dashboard and each
service communicates with each other using API calls. Following are the projects and its use.
3 Source: openstack.org
2015 EMC Proven Professional Knowledge Sharing 7
Service Project name
Dashboard Horizon
Compute Nova
Networking Neutron
Object Storage Swift
Block Storage Cinder
Identity Service Keystone
Image Service Glance
Telemetry Ceilometer
Orchestration Heat
Database
Service
Trove
Table 1: OpenStack services and its Project name
Dashboard
The dashboard service provides users and cloud administrators with a centralized view of cloud
environment. Using dashboard, a tenant (User) can self-provision resources, create/destroy
Instances, modify networking for instances, etc. The Cloud administrator also interacts with
dashboard and has more control over the entire cloud environment.
Compute
Compute services manage the Instances lifecycle meaning, compute services takes care of
Instances from the time it is created until it is destroyed. Compute services does not function
alone; it needs a Hypervisor to run instances. Therefore, Instance-related tasks such as CPU
and Memory allocation is taken care of by the Hypervisor in its own way. Compute services just
2015 EMC Proven Professional Knowledge Sharing 8
manages these instances and monitors them. When an instance creation command is received,
it is passed on to Hypervisor to execute the task.
Networking
As the name implies, networking service provides network connectivity for OpenStack services.
It allows users to define network connectivity for instances that they own via dashboard. It also
allows other network plugins such as VMware NSX, and Open vSwitch for better functionality.
Networking is the most complex part of any cloud environment.
Object Storage
Object storage is provided by this service. Objects are stored and retrieved via REST API
(HTTP-based). Because of this API access, it can be directly accessed by an application.
Block Storage
This service creates block storage devices that can be directly provisioned to an instance. This
block volume can be used for database or any high speed data access needs.
Note: Details about Block Storage will be discussed In the upcoming chapter.
Identity Service
Different services of OpenStack make use of Identity service to communicate with each other.
Identity service is an authentication and authorization service.
Image Service
The function of Image service is to store and retrieve virtual machine disk images. Snapshot of
an instance can be taken and it can be used as a template for new instances. Virtual machine
disk image is a file in which the operating system is installed. Popular formats are VMDK, VDI,
VHD, OVF, and qcow2.
Telemetry
This service monitors OpenStack cloud for usage information for metering and performance
information for statistical purpose. However, this service is not an out of the box billing solution.
Orchestration
This service provides template-based orchestration for a cloud application, executing
appropriate API calls to create/modify OpenStack resources.
2015 EMC Proven Professional Knowledge Sharing 9
Database Service
Trove is Database as a Service for OpenStack. This allows users to create multiple Database
instances in OpenStack cloud without much administration tasks complexity. Trove has a
RESTful API (trove-api) that supports JSON and XML for provisioning and management of
Trove instances. A fully functional OpenStack cloud may have all or few of these services
communicating with each other. Figure 2 depicts how each service interacts with each other.
For example, consider an Instance (VM). For a VM to function it requires a number of services
like Image (Glance), Compute (Nova), Block storage volume (Cinder), Object storage (Swift),
Networking (Neutron), etc. Also note that identity service (Keystone) does not Interact with VM
because Identity service provides authentication and authorization for OpenStack services.
Figure 2: High level Illustration of OpenStack services4
4 Conceptual architecture image from openstack.org
2015 EMC Proven Professional Knowledge Sharing 10
OpenStack architecture
In OpenStack cloud, the physical machines are represented as Controller nodes, Compute
nodes, Network nodes, Block storage nodes, and Object storage nodes. There can be one or
many physical machines (clustered). Each type of node cluster has its own set of services
running on them. Figure 3 is a simplistic view of OpenStack infrastructure; the arrow represents
its scale-out nature.
Figure 3: Types of Nodes
Controller Nodes
Controller nodes runs core services such as Dashboard, Image, identity service and also
supporting services like SQL Database service, Message queue, Network time protocol,
Compute management service, Networking ML2 Plugin, etc.
Compute Nodes
Compute nodes runs Compute service. Another important component of compute node is the
Hypervisor. KVM is the default hypervisor support for OpenStack but there are a number of
other hypervisors such as ESXi, XenServer, Hyper-V, Docker, etc. Importantly, compute node
also runs networking modular layer 2 (ML2) plugin. This is for virtual network support for
Instances.
2015 EMC Proven Professional Knowledge Sharing 11
Please note that what we discuss here applies to KVM as hypervisor. Implementation method
varies for a few other hypervisors, i.e. ESXi. If OpenStack is implemented on top of ESXi
infrastructure we normally interact directly with vCenter.
The compute service (Nova) running in compute nodes interacts with KVM and acts as a control
element. KVM takes jobs from Nova service for instance creation/deletion/modification.
Network Nodes
Networking node runs tenant networking services which provides functionalities such as
switching, routing, network address translation (NAT), and Dynamic Host Configuaration
Protocol (DHCP). OpenStack networking is called “Neutron”.
When compared with its predecessor – Nova networking – Neutron release supports three tier
architecture and provides functionalities such as load balancing, VPN, and firewall. These
services are provided to tenant and can be individually charged. It also enhances security.
Unlike Nova networking, Neutron allows usage of plugins. Open vSwitch, VMware NSX plugin,
and many other plugins can be used with Neutron. Internet connectivity for tenant virtual
machines is provided by network nodes.
Block and Object storage nodes
These nodes provide block and object storage. They are standard x86 servers with a bunch of
drives from which storage space for instances are carved out. The storage space from these
nodes is used for various other purposes such as backup, block volumes, etc.
Variations in architecture
When implementing OpenStack cloud, one does not necessarily need to follow the discussed
architecture. It is possible to run storage-related services on controller and compute nodes.
However, it is not the recommended way. Various vendors have released their own distribution
of OpenStack which is production ready. There are also appliances available to kick start cloud
as fast as you can.
A common myth is that KVM is a type -2 hypervisor. One may argue that you are installing KVM on an operating system hence it is a type-2 hypervisor. It may be confusing because KVM is packaged as an application of Linux. It is installed as an application. But when a virtual machine is created using KVM, KVM lets the guest OS to interact directly to bare metal unlike type-2 hypervisors such as VMware Workstation, Player and Oracle Virtual box.
2015 EMC Proven Professional Knowledge Sharing 12
OpenStack Distros
OpenStack distribution is not a modified version of OpenStack. A distribution is the same open
source code packaged with additional features and a distribution released by a vendor may not
have any proprietary code/components.
A product/appliance may come with proprietary features and may have unique deployment
model. Usually, vendors provide support. Following are recognized Distros,
Available OpenStack Distributions
1. Oracle OpenStack for Oracle Solaris
2. Oracle OpenStack for Oracle Linux
3. Service Provider Cloud (eNovance)
4. SwiftStack Object Storage Platform
5. Metacloud OpenStack
6. Nebula One Cloud Controller
7. Ubuntu OpenStack
8. Red Hat Enterprise Linux OpenStack Platform (RHEL-OP)
9. Rackspace Private Cloud Software
10. Open Cloud System (OCS – Cloudscaling)
11. Mirantis OpenStack
12. HP Helion OpenStack Community Edition
13. Easystack v1.0
14. VMware Integrated OpenStack
15. SUSE Cloud
16. IBM Cloud Manager with OpenStack
17. Piston OpenStack
18. Electrastack (Onyxccs)
2015 EMC Proven Professional Knowledge Sharing 13
Block Storage
Cinder is a block storage project in OpenStack. Until Folsom release, this was called NOVA
Volume. But in Folsom release, it is separated as a project because of the importance of block
storage. We know Cinder provide persistent block storage volumes for instances. Behind the
scenes, Cinder acts as control plane and abstracts traditional block storage devices/resources
in to a virtual pool. Cinder supports heterogeneous array meaning it can be of any vendor
solution. Cinder talks to storage array using API hence the storage array should allow API
access. Cinder is elastic – you can add/remove nodes on the go. Block volumes are ideal for
performance hungry applications. It is also possible to run instances from persistent block
volume. (Boot Disk)
What one can run on Cinder?
Production applications
Traditional IT systems
Database
…and much more
One does not necessarily have to use vendor provided storage arrays to avail block storage
functionality in OpenStack. Freely available solutions such as LVM, Ceph, GlusterFS, NFS,
ZFS, and Sheepdog on commodity hardware (Standard x86 servers) can be used. Using Cinder
on commodity hardware brings limitations. Cinder on commodity hardware works on the method
of share nothing architecture. This means, if a storage node fails the data on the failed node is
unavailable until the failed node comes back online. However, this limitation is not much of a
concern when your cloud is hosting “cloud aware” applications. Juno release has included
volume replication in Cinder making it possible to have zones and replication.
OpenStack does not offer file level storage to end users. File level storage is available in Ceph, Gluster and NFS to store instances in shared file system to support live migration.
2015 EMC Proven Professional Knowledge Sharing 14
Limitation of Cinder in commodity hardware
The following functionalities which are normally found in vendor provided storage arrays are not
available on commodity hardware.
Quality of Service
Redundancy
Auto Tiering
Deduplication and compression
Cinder allows 3rd party drivers to overcome these commodity hardware limitations. A storage
vendor can create drivers for their products which allow integration with Cinder. Therefore, a
customer can make use of an existing storage array provided that Cinder driver is available.
What Cinder can do
Create, delete, extend volumes
Back-up volumes to Object store
Can clone a volume
Can take snapshots
Snapshot can be mounted.
Usage quotas can be set for tenants
Copy image to volume (Boot disk)
Ownership of a volume can be transferred to a different tenant
2015 EMC Proven Professional Knowledge Sharing 15
Figure 4: Cinder Architecture
How Cinder works
Step 1: Cinder API receives HTTP requests from clients such as Horizon dashboard for
creation of volume. Received HTTP requests are converted into commands and sent to
message queue (AMQP). AuthManager running in Cinder API validates HTTPS requests.
AuthManager is usually tied to LDAP or DB.
Step 2: Cinder API then forwards it to Cinder scheduler. Cinder scheduler determines which
device to forward this command depending on the type of request. For instance, tenant A may
request SSD, tenant B may request SAS drives. Cinder scheduler plays an important role in
forwarding it to the correct device.
2015 EMC Proven Professional Knowledge Sharing 16
Step 3: Cinder volume receives the command from Cinder scheduler and executes the task by
passing it to storage driver which is installed. Cinder Volume is the service which manages
block devices.
The important thing to note here is the communication channel. All the administrative
commands are passed on to storage arrays via its management interface. Data ports are used
only for I/O and not for management activity.
EMC’s role in Cinder
EMC has released drivers for several EMC products. Driver of some products (VMAX®, VNX®,
and XtremIO®) are merged in OpenStack release. For others, a github repository5 is available to
download drivers directly.
What EMC can do for Cinder and Swift
If an EMC customer plans to implement OpenStack, drivers released by EMC may come in
handy for them to easily plug their existing EMC array on to cloud. What about someone doing a
greenfield deployment? While evaluating storage needs for cloud in a greenfield deployment a
potential customer has many choices available. This article does not promote open source
solutions such as Ceph, Gluster FS, etc. Instead, it’s more of a proposal to explore new
customer base with a low-cost storage software solution for Block and Object.
Before we discuss the possibilities, let’s look at some of the market research and survey data. In
Paris, many OpenStack users came up to the stage and shared their experience and
techniques. These case studies are available on OpenStack organization website6. Companies
like Cisco WebEX, PayPal, CERN, Go Daddy, Intel, Seagate, Avaya, Disney, Time Warner
Cable, and Sony Network Entertainment are some of the many organizations running on-
premise private cloud and Hybrid cloud. Data collected from a survey conducted during Juno
release conference held in Paris is very interesting. Figure 5 and 6 (next page) present two
general questions from the survey
5 EMC github repository - http://emccode.github.io/
6 OpenStack user stories - http://www.openstack.org/user-stories/
It is possible to integrate Cinder to a software defined storage environment such
as EMC ViPR.
2015 EMC Proven Professional Knowledge Sharing 17
Figure 5: How do you prefer to run/deploy your OpenStack cloud?
Figure 6: Do you intend to re-purpose existing hardware for your OpenStack cloud or buy new hardware?
Key takeaways from survey include:
Almost half of the administrators/consultants/architects will opt for OpenStack
distributions over appliance and build it yourself – best of breed cloud is what they plan
to implement
When building cloud, most administrators/consultants/architects plan to use existing
hardware as well as buy new hardware
People prefer distribution because it is production ready, stable, and provides automated
deployment (depends on distribution) support etc.
In my opinion, most of the enterprise or new customers will try to avoid vendor lock in and re-
purpose or purchase new x86 servers to make use of open source software solutions such as
Ceph, Gluster FS, etc. I say this because OpenStack survey insights website has this
22 21
1
2 Do it myself (from Trunk)
Distribution Vendor
Turnkey Appliance
Other
11
11
23
Re-purpose existing hardware
Buy new hardware
Both
2015 EMC Proven Professional Knowledge Sharing 18
information. Open source solutions made it to the top with staggering numbers in key areas
such as Hypervisor, Block Storage drivers, Operating System, and Network drivers.
Figure 7: Hypervisors used in compute nodes7
7 CC BY-SA 2.0
2015 EMC Proven Professional Knowledge Sharing 19
Figure 8: Operating System7
Figure 9: Network plugins7
2015 EMC Proven Professional Knowledge Sharing 20
Figure 10: Block storage drivers7
Cinder with LVM (default choice of OpenStack cloud) and Ceph, will work without a problem for
all cloud-aware applications which has built in redundancy. Challenges arise when you want to
run traditional IT applications and look for continuous data replication. Having a lower recovery
time objective (RTO) is very challenging.
Apart from developing Cinder drivers for arrays, EMC may consider to develop a new low-cost
storage software solution focusing on Block and Object storage needs for cloud. It must be a
software defined storage solution for commodity hardware. (But it should not be a replacement
for Cinder which itself is a software defined storage solution.)
If a solution is possible, it would be very hard to merge it with OpenStack releases. Instead, this
can be a project outside of OpenStack community. By doing this we are not trying to create
another Cinder service and modifying what Cinder is intended to do. In the previous topic I
wrote about how Cinder works. Here is my idea explained in detail.
2015 EMC Proven Professional Knowledge Sharing 21
My method in brief
A client such as horizon dashboard sends HTTP message to Cinder API. Cinder API then
converts it to command. Here the idea is to intercept the command which Cinder API places in
message queue.
We know that Cinder volume is the service which acts as a control plane to the underlying
storage platform. We are not going to do anything at all with Cinder volumes and scheduler. In
this model, instead of Cinder scheduler deciding which Cinder volume it should forward to, the
command can be sent over to EMC storage nodes running EMC storage software. EMC node
can decide on which tier or where to put/get the data.
This will allow EMC to implement its proven techniques such as auto-tiering, deduplication,
compression, etc. separately outside of OpenStack. This may also allow EMC to leverage
proven disaster recovery solutions such as RecoverPoint and VPLEX to EMC OpenStack
storage nodes. I believe this approach will give EMC an edge over other storage solutions for
OpenStack, such as Ceph, SwiftStack etc.
If this is technically possible to achieve, it does not conflict with Cinder service in any way
because my goal is to come up with a solution which does not interact with Cinder volumes.
However, it should take the command directly from Cinder API. It is important to understand that
my idea or personal opinion does not challenge Cinder project. This is more like a product that
can talk to Cinder API.
This is not a tested solution. I am merely using this opportunity to express my idea. Also I am
not sure what technical difficulties/challenges it may bring. The Following figure is a
representation of the discussed idea.
2015 EMC Proven Professional Knowledge Sharing 22
Figure 11: Proposed architecture
2015 EMC Proven Professional Knowledge Sharing 23
Conclusion
I have used this article to express my idea on Cinder services so that it may bring value to EMC.
I find OpenStack to be a viable solution to build cheaper cloud environments where capital
expenses are less when compared to other cloud solutions. Data from surveys conducted at
OpenStack Summit also strongly indicates the importance of cloud computing solutions. In the
years to come most IT organizations will transform to cloud.
While OpenStack already offers a number of choices and flexibility in most services, in Cinder, a
customer has a choice to use OpenStack-provided block storage solutions such as LVM, Ceph
(for a much cheaper cost), or use a 3rd party storage array. Using 3rd party storage ensures high
availability of data. However, there is no solution available today which combines both. The goal
is to design a solution which costs less and offers high availability, like an enterprise class
storage array. This will be a key to exploring new customer base.
2015 EMC Proven Professional Knowledge Sharing 24
Glossary
Pool – Aggregation of resources such as processor, RAM, etc.
Instance – A virtual machine which is running on bare metal with the help of hypervisor
Turnkey – Packaged product or service that is ready for immediate use.
API – Application Program Interface
Tenant – An organization or a user who is using cloud resources
KVM – Kernel-based Virtual Machine. (Hypervisor)
NAT – Network Address Translation is a processor of mapping one IP address space into
another
LVM – Logical Volume Manager that manages disk drives and mass storage devices
Ceph – Ceph is a free software solution which can provide block, object and file storage
GlusterFS – GlusterFS is an open source distributed file system and is highly scalable. Works
over Infiniband (RDMA) or TCP/IP interconnects.
NFS – Network File System
ZFS – A file system which offers high data integrity, high storage capacity and data
compression
Sheepdog – Object storage solution
Snapshot – Point in time copy
Clone – Exact copy of a volume
HTTP – Hypertext Transfer Protocol is a protocol to transfer Hypertext
AMQP – Advanced Message Queuing Protocol
Open vSwitch – Open Source multilayer virtual switch
2015 EMC Proven Professional Knowledge Sharing 25
VMware NSX plugin – Network virtualization software provided by VMware
Folsom – Earlier OpenStack release name
NOVA Volume – Block storage service that was used in older versions of OpenStack
Commodity hardware – A standard x86 hardware
Node – x86 server
Deduplication – Process of eliminating redundant copies of stored data
Compression – A mechanism in which size of data packet is reduced to a significant amount
and transmitted over WAN/LAN
Greenfield deployment – Building cloud environment from scratch.
On-premise private cloud – A IT organization using cloud technology for its internal purposes
such as intranet sites, applications etc.
Appendix
1. NIST definition of Cloud Computing - http://csrc.nist.gov/publications/nistpubs/800-
145/SP800-145.pdf
2. NIST definition of Private, public, community, hybrid cloud -
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
3. This picture is from openstack.org - http://www.openstack.org/software/
4. Conceptual architecture image from openstack.org -
http://docs.openstack.org/juno/install-guide/install/apt/content/ch_overview.html
5. EMC github repository - http://emccode.github.io/
6. OpenStack user stories - http://www.openstack.org/user-stories/
7. Image is licensed under CC BY-SA 2.0 -
http://superuser.openstack.org/articles/openstack-user-survey-insights-november-2014
8. OpenStack user survey insights (images are licensed under CC BY-SA) -
http://superuser.openstack.org/articles/openstack-user-survey-insights-november-2014
9. OpenStack Summit Paris 2014 summary - https://inside.emc.com/docs/DOC-126022
10. OpenStack: Distribution or Service - http://www.zdnet.com/article/openstack-distribution-
or-service/
2015 EMC Proven Professional Knowledge Sharing 26
11. OpenStack Distributions - http://www.openstack.org/marketplace/distros/
12. KVM Myths -
https://www.ibm.com/developerworks/community/blogs/ibmvirtualization/entry/kvm_myth
s_uncovering_the_truth_about_the_open_source_hypervisor?lang=en
13. Future if OpenStack - http://cloudscaling.com/blog/openstack/the-future-of-openstack-is-
now-2015/
14. The way forward - http://ttx.re/the-way-forward.html
15. The problems with SDS under Cinder -
https://griffithscorner.wordpress.com/2014/05/16/the-problem-with-sds-under-cinder/
16. The Problem with SDS under Cinder Part 2 -
https://griffithscorner.wordpress.com/2014/06/17/the-problem-with-sds-under-cinder-
part-2/
17. “What is SDS?” battle card/decoder -
http://virtualgeek.typepad.com/virtual_geek/2014/06/what-is-sds-battle-carddecoder.html
18. OpenStack Cinder and Software Defined Storage -
http://theruddyduck.typepad.com/theruddyduck/2014/05/openstack-cinder-and-software-
defined-storage-sds.html
19. The problem SDS under OpenStack Cinder Solves -
http://cloudarchitectmusings.com/2014/06/17/the-problem-sds-under-openstack-cinder-
solves/
20. Under the covers of OpenStack Cinder volume -
https://inside.emc.com/community/active/everything_openstack/blog/2014/11/11/under-
the-covers-of-openstack-cinder-volume
21. Cinder System Architecture -
http://docs.openstack.org/developer/cinder/devref/architecture.html
22. EMC doubles down on OpenStack - http://pulseblog.emc.com/2014/11/04/emc-doubles-
openstack/
2015 EMC Proven Professional Knowledge Sharing 27
EMC believes the information in this publication is accurate as of its publication date. The
information is subject to change without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED “AS IS.” EMC CORPORATION
MAKES NO RESPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO
THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Use, copying, and distribution of any EMC software described in this publication requires an
applicable software license.