Additional Resources - Implementing Cloud Storage with OpenStack Swift (2014)

Implementing Cloud Storage with OpenStack Swift (2014)

Chapter 8. Additional Resources

Having acquired the knowhow on building, managing, and tuning OpenStack clusters by reading the preceding chapters, you are now ready to join the global elite group of OpenStack Swift experts and take your career to the next step. Let's now explore a few use cases of OpenStack Swift and get pointers to useful resources.

Use cases

Use cases for OpenStack Swift may be put into three broad categories, namely, service providers (public cloud storage), Web 2.0 (private cloud storage for enterprises, wherein features and functionality are delivered via a web interface), and enterprises(private/public cloud storage).

Use cases

Service providers

Amazon's S3 broke ground as the pioneer in cloud storage. A large number of service providers have entered or are looking to enter this new product category, and OpenStack Swift offers them a viable option that will meet their customers' service level agreement(SLA) needs. OpenStack Swift is a mature production-ready open source technology available for creating public cloud storage. It is cost effective, extensible, and meets availability and performance metrics for such a service.

Service providers can target small- to large-sized businesses since a public cloud can prove economical and hassle-free for them. They can also target consumers who want to archive their data or save it in a public space for collaboration needs. Service providers can tap into the benefits of cloud storage ranging from elimination of capital expenditures for users to elimination of hardware and software management and elimination of capacity planning. Service providers creating public cloud storage may want to focus on particular applications, for example, backup, medical record keeping, expense reports, or verticals (such as county/city governments, libraries, hospitals, or specific geographies).

Web 2.0

Web 2.0 sites such as Twitter, Pinterest, Tumblr, and Wikipedia used a public cloud for computing and storage in their early stages. However, as they grew, they hit a point where it was more economical and secure to have their own private cloud. Some of them also required an infrastructure that ensured better performance and gave them more control over what a public cloud could offer. At that point, moving to a private cloud using OpenStack Swift with S3 APIs provided a smooth transition.

Enterprises

Enterprises are generally heavily invested in their existing storage infrastructure that has especially been built to adhere to strict standards of reliability, availability, and serviceability, while providing fast access times. All their software is geared to SAN- or NAS-based architecture and the new RESTful storage APIs are alien to them. So, on the face of it, an enterprise may not see much value in moving to a private cloud. On the contrary, enterprises may derive tremendous value out of both public and private cloud storage. With the latest Big Data trend of saving everything, enterprises' need for cheap data storage is growing exponentially. A public cloud tuned for long-term storage may save cost, provide convenient access, and protect data better than anything the enterprise is using currently. In a similar vein, a compelling argument for moving to a private cloud is the fact that its architecture is very compatible with Big Data applications, including the use of MapReduce algorithms.

In the use cases pointed to in the following tables, we will see examples of companies that store data such as medical images, bioinformatics data, banking records, oil and gas data, logs, and internal corporate videos. Finally, an enterprise may consider both a private and a public cloud to store the primary copy on premise and secondary copy in different locations. The additional copy in the public cloud serves as a backup, and it will be available for recovery as needed.

Transitioning to the cloud, as discussed in Chapter 1Cloud Storage: Why Can't I be like Google?, it is not as formidable as it may seem at first. Several applications support Swift or S3 APIs natively, easing the transition to OpenStack Swift. Cloud gateways are another popular mechanism to ease this transition. Finally, an enterprise may consider developing new applications in Python, PHP, and Ruby-on-Rails-based paradigms that can directly interface to a private or public cloud.

Operating systems used for OpenStack implementations

OpenStack supports a variety of operating systems and we have compiled a table listing the operating systems used in some of the OpenStack implementations. The following table provides information on organizations using these operating systems in their implementations:

Operating system

Implementation / organization

Link

Ubuntu

NeCTAR, MercadoLibre, Intel, Opscode, Liveperson

https://www.openstack.org/user-stories/nectar/

https://www.openstack.org/user-stories/mercadolibre/

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/openstack-deployment-with-chef-workshop

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/is-open-source-good-enough-a-deep-study-of-swift-and-ceph-performance

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/liveperson-openstack-case-study-from-0-to-100-in-1-year

Redhat

CERN

https://www.openstack.org/user-stories/cern/

CentOS

Workday

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/workday-on-openstack

HP Cloud OS

HP

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/is-open-source-good-enough-a-deep-study-of-swift-and-ceph-performance

Debian

eNovance

http://www.openstack.org/user-stories/enovance/

Virtualization used for OpenStack implementations

OpenStack services can be installed on virtual machines created using ESX, KVM, Hyper-V, and so on. The following table lists the virtualization technology used in a few implementations:

Virtualization

Implementation / organization

Link

KVM

eNovance, Workday, CERN

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/ceph-the-de-facto-storage-backend-for-openstack

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/workday-on-openstack

https://www.openstack.org/user-stories/cern/

VMWare

VMWare

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/hands-on-with-openstack-vsphere

Provisioning and distribution tools

The most common provisioning and deployment tools used to deploy OpenStack are Puppet, Chef, and Juju. The following table lists the tools and some of the OpenStack installations that they are used in:

Provisioning/Deployment

Implementation / Organization

Link

Puppet

CERN, NeCTAR, Kickstart, Cisco Webex, Liveperson

https://www.openstack.org/user-stories/cern/

https://www.openstack.org/user-stories/nectar/

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/kickstack-rapid-openstack-deployment-with-puppet

https://www.openstack.org/user-stories/cisco-webex/

http://www.openstack.org/user-stories/liveperson/

Chef

Workday, Opscode, MercadoLibre

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/workday-on-openstack

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/openstack-deployment-with-chef-workshop

https://www.openstack.org/user-stories/mercadolibre/

Juju

VMWare

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/vmware-and-openstack-bridging-the-divide-using-ubuntu-and-juju

Compass

Huawei

https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/compass-yet-another-openstack-deployment-system

Monitoring and graphing tools

The following table lists tools that can be used, in addition to OpenStack Swift, to enable monitoring (some of them are mentioned in prior chapters too):

Monitoring tool

Download tool

Organization implementations

Groundwork

http://sourceforge.net/projects/gwmos/

NeCTAR: http://www.openstack.org/user-stories/nectar/

Ganglia: Graphing tool

http://sourceforge.net/apps/trac/ganglia/wiki/ganglia_quick_start

CERN: https://www.youtube.com/watch?v=jRkTVh27XBQ

Graphite

https://github.com/etsy/statsd/blob/master/docs/graphite.md

Rackspace: https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-videos/presentation/an-intimate-look-at-running-openstack-swift-at-scale

Zabbix

http://www.patlathem.com/zabbix-beginners-guide-installing-and-configuring-the-monitoring-server/

 

NagiOS

http://www.nagios.org/download

Redhat, Mirantis, Dell crowbar

Additional information

The following links provide additional information on OpenStack Swift:

·        http://swift.openstack.org

·        https://github.com/openstack/swift

The following blogs provide more up-to-date information on the topics discussed in this chapter; they also provide more updated user stories, OpenStack implementations by customers, deployment tools, monitoring and graphing tools, and more information related to OpenStack implementations:

·        http://www.buildcloudstorage.com/2014/03/swift-book.html

·        http://www.vedams.com/blog/cloud/

Additional support, including mailing lists, is available at the following links, and users have the ability to review previously answered questions or post new questions to the community via launchpad:

·        http://www.openstack.org/community/

·        http://www.openstack.org/blog/

·        https://swiftstack.com/blog/

·        https://launchpad.net/swift

·        https://www.mail-archive.com/openstack@lists.openstack.org/

Summary

As we can see from our discussion in this chapter, OpenStack Swift is relevant to every user segment, from the individual consumer to the large service provider. Service providers offer value added public clouds, Web2.0s build private clouds to house all their user data, and enterprises use public clouds and create private secure clouds to archive their data and run analytics.

At this point, we hope you have a good idea of what cloud storage is and how OpenStack can be used to create cloud storage. We hope you are confident in terms of how to install, manage, and use OpenStack Swift, including some finer points such as hardware selection and performance tuning. It is now time to get involved with the OpenStack Swift community as a user, contributor, or evangelist.