Cloud Infrastructure has evolved radically in the past 5+/- years and continues to change at an accelerating pace. Here at Tranquil Hosting, we’re on the front lines as the hosting industry remakes itself to serve the changing needs of enterprises and developers.

This series will share our perspective on how infrastructure design and architecture is changing and how we’re embracing new approaches and technologies in our five data centers. We hope that this will be valuable to existing customers and generally to CIOs, architects and developers seeking to quickly get up to speed on the current infrastructure state of play.

What’s Driving Infrastructure Change?

Think about a typical enterprise application of 5-8 years ago. The endpoints accessing the application were pretty stable – either a client or one of a small number of browsers. Mobile wasn’t on the scene yet. The application relied on a predictable and small number of data sources that delivered data in a structured and standard way in modest and predictable volumes. All of this meant that the infrastructure requirements for hosting this application – whether it was an internal data center or with a hosting company like Tranquil – were straightforward. You needed a relational database, an application server (likely J2EE, Ruby or PHP), web server, dedicated storage and enough networking and computing horsepower to satisfy user demand.

Now consider the needs of an enterprise app you might build today. The endpoints are far more varied and changing very rapidly, including mobile, connected devices (e.g. IoT), and fast-moving browsers that varyingly comply with standards. The data sources to which you can connect, and to which your users will expect you to connect, are orders of magnitude more numerous and varied, the data structure varies widely from traditional rows and columns to unstructured, and the amount of data can be massive and unpredictable.

At the same time, software development processes have shifted entirely to an agile model.

Taken together, these changes in the app development landscape require a similarly radical shift away from the traditional data center to completely elastic cloud infrastructure.

Over the next several weeks, we will publish a series of five blogs covering different, but related, aspects of next generation cloud infrastructure design and operations.

Specifically, the series will cover:

  1. Shared storage
  2. PaaS
  3. Containerization
  4. Cloud Operating Systems
  5. Orchestration

In each entry, we will follow the same outline:

  • Technical and market overview
  • Our perspective on the pros and cons of the major options
  • A description of how Tranquil Hosting leverages, or plans to leverage, each advancement

Part 1: Shared Storage

Technical and market overview

shared_storage

Figure 1: Shared Storage

Think of shared storage as literally the ying to the VM’s yang. VMs emerged to solve the age-old problem of server underutilization. The same logic applies to storage – some apps need lots of it, some less, so virtualizing and sharing storage let’s you be much more efficient.

As VMs became mainstream, virtualized data centers ran into new problems. HW, network connections, networking gear, ISPs… sometimes fail, so if you’re *really* going to see efficiency gains, you need to be able to easily migrate workloads from one physical machine to another. Live and near live VM migrations require shared storage.

The advancement of storage technologies also pushes the need for shared storage. With HDDs, high RPM HDDs, and SSDs all providing a different price/performance trade-off, the need to decouple storage from compute becomes even more urgent in order to match the right tech with each job.

Top options for implementing shared storage

Table 1 contains the most popular current options for implementing a shared storage data center environment.

Tech Description License Pros Cons Links
ceph Software storage platform that stores data on a single distributed computer cluster, and provides interfaces for object-, block- and file-level storage. According to red Hat, which acquired the company behind ceph in 2014, it is voted the number one storage platform by OpenStack users. LGPL 2.1
  • Delivers block, object and file storage in single system
  • Designed to scale to petabytes with high- availability and features rivaling expensive proprietary systems
  • Some complain about performance, but most say tuning can address this
  • Might be more than you need for simple requirements
ceph v GlusterFS debate
Network World Ceph, GlusterFS Comparison
Support from Red Hat
GlusterFS Scale-out NAS and object store. Described by Red Hat, which acquired the team behind GlusterFS in 2011, as a scalable, reliable, and cost-effective data management platform, streamlining file and object access across physical, virtual, and cloud environments. GPL v3
  • Designed to be simple and easily implemented
  • As size grows, rebuild time can be slow since replicated data is distributed over fewer nodes than with ceph  
  • lack of block device support, a feature in ceph that Tranquil Hosting uses to back-up VMs
ceph v GlusterFS debate
Network World Ceph, GlusterFS Comparison
Support from Red Hat
iRODS Distributed storage management system. iRODS uses existing Unix or NTFS filesystems (and maybe also ceph, too), it does not deploy its own filesystem. BSD
  • iRODS is a great solution if you’ve got lots of data, and growing amounts of it, in traditional, distributed databases (Oracle, MySQL, Postgres). Adding iRODS lets you virtualize read and write for your diverse distributed databases and manage it all with searchable metadata.
  • Not really a cloud solution – some early work is going on to add ceph as one of the file systems that you can use behind iRODs. But mostly iRODs is a way to get greater efficiency, searchability and flexibility out of existing on-premise data center storage.
https://irods.org/
Pure Storage Focused on greenfield SSD storage arrays. Offer:

  • all-flash enterprise array,
  • software-defined storage and
  • cloud storage management platform
Proprietary
  • Simplicity, uptime, optional integrated SDS and storage management
  • Solid ecosystem partners (vmware, Cisco, OpenStack, Microsoft…)
  • Not open source
  • Price
www.purestorage.com

How Tranquil Hosting Does Shared Storage

As shown in Figure 1, the Tranquil Hosting shared storage stack consists of KVM hypervisors orchestrated with CloudStack and backed by ceph + libvirt to manage shared HDD and SSD storage.

In our experience, ceph provides the best balance of features, tunability for performance and cost.

For Tranquil Hosting’s cloud customers, ceph allows us to scalably offer advanced redundancy and availability, through :

  • automatic failover if a disk dies
  • automatic failover if an entire storage node dies
  • if a hypervisor goes down, the workload is automatically brought up on another hypervisor
  • if maintenance is needed on a HV, we can gracefully move the workload to another HV so the VMs see no downtime

Figure 1: Tranquil’s Shared Storage Stack

tq_shared_storage_stack

Up Next – PaaS

In our PaaS blog, we’ll cover the origins of PaaS, looking at Heroku and other pioneers, as well as the newest entrants like PaaSTA.