introduction to openstack storage

18
Introduction to OpenStack Storage

Upload: solidfire-inc

Post on 08-Aug-2015

438 views

Category:

Technology


0 download

TRANSCRIPT

Introduction to OpenStack Storage

Are You Curious About

OpenStack?

▪ OpenStack is changing how clouds are deployed

▪ It’s the hottest open source cloud orchestration platform on the market

▪ Eager to learn more about OpenStack? ▪ Why deploy a private cloud? ▪ Why adopt OpenStack? ▪ What uses cases is OpenStack best suited for? ▪ Cinder vs. Swift storage, what’s the difference? !

Read on!

Automation: Scripting common disparate infrastructure tasks. !

Just because you are automated, doesn’t mean you are orchestrated! !!

Orchestration: Not only automating pieces, but the entire environment together. !

It’s safe to assume if you’re orchestrated that you are automated

Automation is about codifying tasks and orchestration is about codifying processes. Orchestration takes advantage of automation by reusing these basic building blocks.

Automation vs. Orchestration

Reasons to deploy a private cloud▪ Five characteristics of private clouds, IT as a Service

▪ Resources can be provided as services ▪ Services are scalable and elastic to meet consumer demands ▪ Resources are shared to build economies of scale ▪ Services are tracked with usage metrics to enable multiple payment models ▪ Delivered using Internet identifiers, formats and protocols

▪ If infrastructure doesn’t meet the above criteria, it’s not by “definition” a true cloud

OpenStack Basics

What is OpenStack?

What’s a “distribution”?

Free and open-source cloud computing software platform. Users primarily deploy it as an infrastructure as a service (IaaS) solution. The technology consists of a series of interrelated projects that control pools of processing, storage, and networking resources throughout a data center !

Distributions take the source code from the OpenStack project and create their own version. These vendors can then monetize support and services around their unique distributions, thereby generating revenue stream from Open Source software. Examples are RedHat, Rackspace, Canonical, Mirantis, Nebula, etc.

The PlayersSome of the most common cloud orchestration

operating systems currently en vogue

● Compute (Nova) ● Object Storage (Swift) ● Image Service (Glance) ● Identity (Keystone) ● Dashboard (Horizon) ● Networking (Neutron)

● Block Storage (Cinder) ● Telemetry (Ceilometer) ● Orchestration (Heat) ● Database Service (Trove) ● Data processing (Sahara)

OpenStack Programs▪ OpenStack Programs are the building blocks to achieve OpenStack’s mission to

produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable

OpenStack Releases▪ New releases of OpenStack happen bi-annually, in advance of the spring and fall

Design Summits ▪ They go by code names:

▪ Kilo (current release) ▪ Juno (October 2014) ▪ Icehouse (April 2014) ▪ Havana (October 2013) ▪ Grizzly (April 2013) ▪ Etc.

But Why?

*http://superuser.openstack.org/articles/openstack-user-survey-insights-november-2014

Adopt OpenStack*

Ability to innovate When infrastructure maintenance ceases to consume spare cycles, time can be spent focusing instead on innovating features and functionality

Open technology Open source software provides greater flexibility, interoperability and the ability to try it out before buying

Cost savings Open source technology eliminates most, if not all, of the costs of initial purchase, licensing and expensive support renewals

Avoiding vendor lock-in

You are no longer beholden to one vendor for products, services, proprietary APIs or subject to onerous switching costs

But What For?

*http://superuser.openstack.org/articles/openstack-user-survey-insights-november-2014

Common OpenStack Use Cases*

Web services As site traffic or request volume increase, cloud-provided infrastructure can quickly scale horizontally to accommodate growth and vertically to accommodate a temporary burst in requestsQA/Test Shared infrastructure for QA/test environments lowers the cost of operations through self-service

Database Databases can be run from an OpenStack cloud, enabling users to focus on developing applications instead of underlying infrastructure

Many more e.g. continuous integration, enterprise applications, stress testing, etc.

OpenStack Benefits▪ Aforementioned reasons to adopt:

▪ Ability to innovate ▪ Open technology ▪ Cost savings ▪ No vendor lock-in

▪ Other benefits: ▪ Support of notable companies

▪ Many with own distributions, support and/or services

▪ Robust, involved community ▪ New features can be developed quickly

▪ Module-based framework enables significant contribution

Making storage choices can be the HARDEST part!

● Each storage has its own merits ● Some excel at specific use cases ● Maybe you already own the gear ● TCO, TCO, TCO

Ask yourself: ➔ Does it scale? ➔ Is the architecture a good fit? ➔ Is it tested, will it really work in OpenStack? ➔ Support? ➔ What about performance and noisy neighbors? ➔ Third party CI testing? ➔ Active in the OpenStack Community? ➔ DIY, Services, both/neither?

Types of Storage in OpenStack, and example use cases!● Ephemeral

● Non-Persistent ● Life Cycle coincides with an Instance ● Usually local FS/QCOW file !

● Object ● Manages data as... an “Object” ● Think images etc ● Typically “cheap and deep” ● Predominantly SWIFT !

● Shared FS ● We all know and love NFS ● Soon to be Manila

!!!● Block

● Foundation for the other types ● Think raw disk ● Typically higher performance ● Cinder

What’s the difference between block and object?

Cinder / Block Storage Swift / Object Storage

Objectives● Storage for running VM disk volumes on

a host ● Ideal for performance sensitive apps ● Enables Amazon EBS-like service

● Ideal for low cost, scale-out storage ● Fully distributed, API-accessible ● Well suited for backup, archiving, data retention ● Enables Dropbox-like service

Use Cases● Production Applications ● Traditional IT Systems ● Database Driven Apps ● Messaging / Collaboration ● Dev / Test Systems

● VM Templates ● ISO Images ● Disk Volume Snapshots ● Backup / Archive ● Image / Video Repository

Workloads● High Change Content ● Smaller, Random R/W ● Higher / “Bursty” IO

● Typically More Static Content ● Larger, Sequential R/W ● Lower IOPS

Why am I hearing so much about Cinder?▪ 48 vendors have Cinder drivers as of Juno release ▪ But … Cinder on its own is not a differentiator! ▪ It’s merely a way for Nova compute to be aware of available block storage devices

▪ Cinder provides a REST API with usage calls; create, attach, delete…. ▪ Includes a reference implementation built on LVM ▪ Can also use various third party storage arrays/devices ▪ Cinder provides interface, coordinating and managing the storage device ▪ Devices provide a driver to act as the bridge ▪ Mix and match

▪ Implementations vary by vendor ▪ Some are not simple, require a lot of manual work ▪ Some are completely API driven and are easy to implement

Great together▪ Initial small or one-off OpenStack projects can lend themselves

to Swift object storage ▪ Data optimization, ease of scale & resiliency aren’t as essential

▪ Mission-critical workloads often need the reliable performance, data services of Cinder block storage

▪ Swift is complementary to Cinder – it’s not either/or ▪ Swift can function as backup for primary data files ▪ Swift can be utilized for longer-term archive