What are my options for placing storage in the cloud?
Storage in the cloud started in an object format, with Amazon's launch of its Simple Storage Service (S3) in the Amazon Web Services (AWS) cloud in 2006. The name of the service suggests what S3 was (and still is) all about: providing an extremely easy way for developers to get started storing objects in the cloud to support their cloud-architected applications. Object storage is a great fit because it's low-cost, scalable, manageable and well-suited to applications written for the cloud.
However, for traditional on-premises applications, object storage isn't as great a fit, since nearly all legacy applications are already written to use block or file storage. While customers might still find object storage attractive because of its scalability and manageability, it's not that easy to adapt or rewrite existing apps to take advantage of object storage. For customers brave enough to try, there are a number of challenges they'll need to overcome, such as these:
- Who rewrites existing apps to take advantage of object storage? What happens to the existing metadata database, and how are those metadata components related to objects?
- What about performance? If an application is latency sensitive or IOPS-challenged, adapting or rewriting it for an object storage format will likely make performance worse.
- What happens when a company wants to rearchitect an existing app for object storage in an external cloud and continue to run the app with block storage on-premises, e.g., for performance or compliance reasons? Does it make sense to split an app into two different versions and try to support and maintain each one? If so, how can data for that app be shared on- and off-premises?
Given these and other challenges, businesses looking to take advantage of cloud economies and scalability need other approaches to bring their existing applications and associated data storage into the cloud. Here are three popular options that customers should consider:
- Move apps based on block storage to cloud computing services that offer associated block storage, usually closely aligned to the apps -- e.g., AWS Elastic Compute Cloud (EC2) or Elastic Block Storage (EBS), in which storage volumes can be created in EBS and attached to EC2 instances. This will be a bit of work, but much less effort than would be needed to rewrite the apps for object storage.
- Employ a cloud storage gateway approach using an on-premises appliance with local primary storage (for performance, compliance and control) connected to storage in a public cloud (for cloud bursting and ultra-scalability, plus the economies of storing Tier 2 or Tier 3 backup data or archiving it in a low-cost cloud repository). This option requires an investment in hardware and support, but provides a quick and cost-effective on-ramp to cloud storage, without your having to give up the benefits of existing on-site storage.
- Look at third-party products that provide storage specifically for applications running in an external (public or private) cloud. For example, several traditional and startup vendors, including Red Hat (with Red Hat Storage Server for AWS), NetApp and Zadara, offer storage solutions that are closely aligned with instances running in AWS public or virtual private clouds. For instance, Zadara's Virtual Private Storage Array lets you define a private storage array that has all the flexibility that generally comes with a Tier 1 storage array, except it's built entirely using AWS storage. NetApp's Private Storage for AWS allows a NetApp storage array of your choice to be collocated in (or close to) the AWS data center where EC2 instances would be running. These alternatives will make the most sense for companies that are already customers of one or more of these third-party vendors.
Dig Deeper on Public cloud storage
Related Q&A from Arun Taneja
Hyper-converged systems and software-defined storage provide similar storage management features, but the technologies are architected very ... Continue Reading
This advice explains the purpose of creating LUNs and details reasons for creating multiple LUNs. Continue Reading