1 13930 SSG-NOW Cloud Storage Report
1 13930 SSG-NOW Cloud Storage Report
April 4, 2011
By Deni Connor, Patrick H. Corrigan and James E. Bagley Client Relations: Phylis Bockelman
Storage Strategies NOW 8815 Mountain Path Circle Austin, Texas 78759 (512) 345-3850
SSG-NOW.COM
Note: The information and recommendations made by Storage Strategies NOW, Inc. are based upon public information and sources and may also include personal opinions both of Storage Strategies NOW and others, all of which we believe are accurate and reliable. As market conditions change however and not within our control, the information and recommendations are made without warranty of any kind. All product names used and mentioned herein are the trademarks of their respective owners. Storage Strategies NOW, Inc. assumes no responsibility or liability for any damages whatsoever (including incidental, consequential or otherwise), caused by your use of, or reliance upon, the information and recommendations presented herein, nor for any inadvertent errors which may appear in this document. This report is purchased by StorageCraft for distribution only to its customers and prospects. Copyright 2011. All rights reserved. Storage Strategies NOW, Inc.
Sponsors ......................................................................................................................................................................................... 4 What is cloud storage? ....................................................................................................................................................................5 How is cloud storage deployed? .....................................................................................................................................................7 Public Cloud ................................................................................................................................................................................7 Private Cloud ...............................................................................................................................................................................7 Hybrid Cloud ...............................................................................................................................................................................7 Community Cloud .......................................................................................................................................................................7 Cooperative Cloud ......................................................................................................................................................................7 Cloud Requirements ...................................................................................................................................................................... 8 Multi-tenancy ............................................................................................................................................................................. 8 Security ....................................................................................................................................................................................... 8 Secure Transmission Channel .............................................................................................................................................. 8 Data Verification ........................................................................................................................................................................ 9 Audit Trails ................................................................................................................................................................................ 9 Performance ............................................................................................................................................................................... 9 Quality of Service (QoS) ............................................................................................................................................................ 9 Data Protection and Availability ..............................................................................................................................................10 Customer Data Protection ........................................................................................................................................................ 11 Retention, Compliance, eDiscovery ......................................................................................................................................... 11 Manageability............................................................................................................................................................................ 11 Data & Metadata Portability .................................................................................................................................................... 11 Metering and Billing ................................................................................................................................................................. 12 The Cloud Storage Market An IT Professionals Survey ........................................................................................................... 13 Cloud Storage Trends ................................................................................................................................................................... 26 Personal Cloud Servers ............................................................................................................................................................ 26 Customer Name: Ray Morgan Company .....................................................................................................................................27 Cloud Storage APIs ...................................................................................................................................................................... 28 Block Systems, File Systems and Object Storage ................................................................................................................... 28 Block Interfaces ....................................................................................................................................................................... 28 File Interfaces .......................................................................................................................................................................... 29 C0mmon Internet File System (CIFS) .................................................................................................................................... 29 Network File System (NFS) ..................................................................................................................................................... 29 Other File Systems ................................................................................................................................................................... 30 Object Storage .......................................................................................................................................................................... 30 REST (or ReST)........................................................................................................................................................................ 30 SOAP......................................................................................................................................................................................... 30
2
Cloud APIs by Vendor ................................................................................................................................................................... 31 Amazon S3 APIs ........................................................................................................................................................................ 31 Eucalyptus APIs ........................................................................................................................................................................ 31 Mezeo APIs ................................................................................................................................................................................ 31 Nirvanix APIs ........................................................................................................................................................................... 32 Open Grid Forum Open Cloud Computing Interface (OCCI) ............................................................................................... 32 OpenStack Cloud Computing and Storage ............................................................................................................................. 32 Rackspace Cloud Files APIs .................................................................................................................................................... 32 SMEStorage.............................................................................................................................................................................. 33 SNIA Cloud Data Management Interface ............................................................................................................................... 33 SNIA Content-aware eXtensible Access Method Storage API (XAM) .................................................................................. 34 VMware vCloud API ................................................................................................................................................................ 34 Windows Azure Storage Services REST API .......................................................................................................................... 35 Cloud Computing Initiatives ....................................................................................................................................................... 36 Cloud Computing Interoperability Forum ............................................................................................................................. 36 Distributed Management Platform Task Force, Inc. (DMTF) .............................................................................................. 36 Open Data Center Alliance ...................................................................................................................................................... 36 Development Platforms: EMC Atmos ..........................................................................................................................................37 Best practices ................................................................................................................................................................................ 38 Vendor Name: StorageCraft ........................................................................................................................................................ 39 Backup and Recovery, Disaster Recovery Tables ....................................................................................................................... 44
Sponsors
From the customer point of view, the storage appears as one or more volumes or servers. As more storage is needed it is available, eliminating much of the need for buying new local servers and storage. Capacity planning shifts from capital expense (CAPEX) and staffing expenditures to operation expense (OPEX) for upload, download and storage costs. Staffing time can also be reduced with cloud storage, allowing the reallocation of IT staff to more strategic business initiatives. Data is deployed to cloud storage either through Web-based applications or through Web services application programming interfaces (APIs). Web-based applications are often used for manual access to data or management
5
functions, while APIs are used for more automated or transparent approaches. Since standard APIs and communications protocols are used, the physical location of the data becomes irrelevant, since it can be made available virtually anywhere via the Internet or private network. This also means that cloud data can be easily replicated to multiple locations for fault tolerance, high availability and other purposes, often without involvement of the customer. APIs are the particular rules and specifications that allow software programs to access particular services. Cloud storage APIs are the rules and specifications for accessing cloud storage services. Cloud storage APIs are usually based on simple object access protocol (SOAP) or representational state transfer (REST). Cloud storage providers such as Amazon, Nirvanix and Mezeo Software have created their own proprietary APIs for accessing their storage resources. Although a number of providers allow the use of Amazons API to access their services, not all do. Also, other services and servicespecific APIs, such as the Nirvanix offering, provide features that are different from Amazons. A number of organizations have developed or are developing methods to generalize cloud storage access. The most common approach is to create an abstraction layer or a set of programming libraries that front-end proprietary APIs, effectively creating a common API for supported services. Cloud Data Management Interface (CDMI) Probably the most ambitious project is being spearheaded by the Storage Networking Industry Association (SNIA). SNIAs Cloud Data Management Interface (CDMI) is an attempt to standardize the methods for accessing and managing cloud data. SNIAs website (http://www.snia.org/tech_activities/standards/curr_standards/cdmi) gives the following description of CDMI and its purpose: The Cloud Data Management Interface defines the functional interface that applications will use to create, retrieve, update and delete data elements from the Cloud. As part of this interface the client will be able to discover the capabilities of the cloud storage offering and use this interface to manage containers and the data that is placed in them. In addition, metadata can be set on containers and their contained data elements through this interface. This interface is also used by administrative and management applications to manage containers, accounts, security access and monitoring/billing information, even for storage that is accessible by other protocols. The capabilities of the underlying storage and data services are exposed so that clients can understand the offering. The Cloud Storage Library The Cloud Storage Library project is made up of a PHP client library that lets customers integrate with common APIs that both Amazon S3 and Nirvanix support. http://code.google.com/p/cloudstorageapi CloudStorage.API The CloudStorage.API can be used to connect application to cloud storage and enable persistence ignorance and testability for cloud applications. http://cloudstorageapi.codeplex.com/ Cloud loop Cloud loop is a universal adapter for cloud storage that gives users a single common interface for storing and managing data in the cloud. http://www.cloudloop.com Simple Cloud API The Simple Cloud API brings cloud technologies to PHP and the PHPilosophy to the cloud, starting with common interfaces for three cloud application services file, document and simple queue services. http://simplecloudapi.org
Cloud Requirements
Multi-tenancy In a multi-tenant model, the providers resources are pooled to serve many customers, with different physical and virtual resources dynamically assigned and reassigned as needed. This elastic, shared-storage model allows the provider to costeffectively provision resources and bill by usage rather than available storage. Security Secure cloud storage requires a secure transmission channel, methods to make sure the data itself is secure and physical security at the storage site. Securing data usually entails using a combination of encryption, authentication and authorization. Encryption is the process of scrambling data in such a manner as to make it unreadable without special information, called a key, to make it readable again. Encryption can be used to safeguard data while it is being transmitted (in transit) as well as while it is being stored (at rest) in the cloud. Authentication is the process of determining someone or something is who or what they say they are. Authentication can employ passwords, biometrics, identifying tokens and other means. Generally speaking, the more complex the authentication process the more secure it is. Long passwords of numbers and uppercase and lowercase are more secure than simple passwords. Two-factor authentication, employing, for example, a physical token and a complex password, is more secure yet. Authorization determines who or what has access to data and what level of each authorized person or device has. For secure cloud storage, access must be controlled for the transmission channel, the data source site and the cloud storage sites. Physical security must be provided for the cloud storage site. Even if data is encrypted, physical hardware and communications channels can be sabotaged. Secure Transmission Channel The four primary methods used to secure network communications are: Transport Layer Security (TLS) and Secure Sockets Layer (SSL). TLS, like its predecessor SSL, is a cryptographic protocol that provides data security across a network. TLS is a client/server protocol that uses a handshaking procedure to establish a secure connection. Hypertext Transfer Protocol Secure (HTTPS). HTTPS combines the standard Internet HTTP protocol with TLS to secure web-based transactions. Private Networks. A private network uses dedicated connections to link sites. An example of this is the U.S. Courts data communications network (DCN), which connects the various facilities of the courts. A private network provides security because, for the most part, access is limited to those within that particular organization. Security can potentially be compromised, however, because most private networks have gateways connected to the public Internet. Connecting to a public cloud service from a private network would require the use of a gateway. Virtual Private Networks (VPNs). A VPN creates a virtual, encrypted tunnel connecting two or more locations across the Internet. A VPN connection requires some method of authentication for a user or device to join the network. VPN connections can be made by individual user computers, servers, or network routers and gateways. VPNs provide most of the benefits of private networks without the cost.
Data Verification How do you know that the data you are storing in the cloud are actually there? Due diligence requires tools and procedures to verify cloud data. Unfortunately, the standard methods of checksums, file and object comparisons, attribute verification and database transaction verification all create additional network traffic and data accesses, which can degrade performance and, depending on the service provider, engender additional costs. At this time there appear to be no standard methods for cloud data verification, although several groups of researchers are working on the issue: http://eprint.iacr.org/2009/281.pdf http://www.iaeng.org/publication/WCE2010/WCE2010_pp485-486.pdf http://www.cs.odu.edu/~mukka/cs775s10/Presentations/Security.6.pdf Audit Trails Most organizations, especially medium and large organizations, need the ability to verify not only who has access to cloud data, but, in many cases, who specifically has accessed that data. When choosing cloud storage services it is important to make sure that the audit information you require is easily and quickly available. Performance Cloud storage performance can be categorized in two waysactual transmission speed and latency. Although slow transmission speed will cause latency, there are other factors involved as well. Some of the factors that affect cloud storage performance include: Available network bandwidth is a major factor. Unless high-speed dedicated links over relatively short distances are employed, the network will be a significant bottleneck. Efficiency of the systems employed to provide multi-tenant concurrent access at the storage providers data center. Use of compression and deduplication. These functions create latency. Compressing or deduplicating data prior to transmission, however, can decrease the time and bandwidth needed for transmission. , in many cases, can improve overall performance. Caching. Caching data locally provides immediate access to the cached data and also typically reduces the amount of data that must be uploaded and downloaded from the remote storage site.
Quality of Service (QoS) Quality of service (QoS) refers to the ability to guarantee performance, apply different levels of performance for different classes of data, or both. QoS applies to cloud storage as well as the network itself. Network, QoS, however, is beyond the scope of this report. Since cloud computing and cloud storage are based on a multi-tenant model, some mechanism should be in place to guarantee that each tenant can effectively access its data without undue performance degradation. In a multi-tenancy model, costs can go down as the number of tenants increase, but so can performance for each tenant. In addition, certain types of data may be more time-sensitive than others. For example, looking up credit card information for eCommerce is usually a higher priority than storing data for archive purposes.
A number of providers offer tools to monitor QoS but few offer their customers QoS management tools. Most providers have service level agreements (SLAs), but in many cases they are quite vague and open-ended. For example, one providers SLA states: {provider} will use commercially reasonable efforts to make {service} available with a Monthly Uptime Percentageof at least 99.9%... Data Protection and Availability To assure that data is protected from loss and available when needed, cloud storage providers generally take some or all of the following measures: Physical site security. Cloud storage providers typically provide some level of physical security for their servers. The degree of security, however, can vary greatly from provider to provider. Smaller cloud storage sites might be housed in a co-location facility with minimal access control. Protection against power loss. A cloud storage site should be equipped with backup power to prevent failure in case of a power outage. Protection against loss of network access. Some data centers use multiple network connections, supplied by separate carriers. with entry points at different locations in the building, to guard against loss of communications due to cable cuts and similar events. Data redundancy. Storage servers may use RAID-type methods to provide for data availability in case of drive failure. Server redundancy and server fail-over. Storage sites typically employ some type of server fail-over mechanism to provide continued data and service availability in case of a server failure. Redundant data sites. Many vendors mirror data between multiple sites to provide data availability in case of a site disaster. Some providers, such as Amazon S3, allow the customer to specify the level of redundancy required for different classes of data. Reduced redundancy generally means lower costs but greater risks of data loss. Levels of redundancy. Some providers offer different levels of redundancy at different price points. The idea is to reduce storage costs for less-critical data. For example, Amazon offers Reduced Redundancy Storage (RRS), which stores objects on multiple devices across multiple facilities, providing 400 times the durability of a typical disk drive, but does not replicate objects as many times as standard Amazon S3 storage. thus is even more cost effective. (http://aws.amazon.com/s3/#pricing) Versioning and data retention. Versioning provides the ability to maintain multiple versions of data. Some vendors provide versioning for data objects stored on their servers. With many providers, data retention policies can be applied to determine the number of copies of files or data object to be retained and the period of retention. Versioning can also be provided by various storage and backup systems and applications. Accessibility of cloud storage as live data. In many cases, customers use local servers to provide live data and use cloud storage for backup or replication only. In such cases, being able to access data stored in the cloud as if it is on a local server or volume can help prevent downtime if local data becomes unavailable. Backup to tape or other media. Even redundant data can be lost or corrupted, so backing up data is still important. For example, an attempted software upgrade caused Google to lose data for 150,000 Gmail accounts. Although it took several days, they were able to restore most of the lost data from backup tapes.
10
Data availability and retention in case of billing or contract disputes. Different providers have different policies governing access to and retention of data if billing or other disputes arise.
Customer Data Protection Even if cloud storage vendors provide reasonable data protection, in most cases it is a good practice for customers to protect data locally as well. This protects the customer in case the cloud storage service, for whatever reason, is unavailable. Also, recovering data from local storage is typically faster than recovering from cloud storage. This is especially important if a significant amount of data needs to be recovered in a short period of time. Retention, Compliance, eDiscovery Long-term data retention, regulatory compliance. Federal eDiscovery requirements all present challenges when data is stored in the cloud. Security and access control, searchability of data and long-term data integrity are major issues with cloud storage. These concerns must be addressed by IT and legal staff and should be part of any service level agreement (SLA) with the cloud service provider. Manageability Currently each provider has their own mechanism for managing cloud storage and services. Different providers offer different management capabilities. IT staff must often use different management tools and management consoles to manage storage services from different providers. The Storage Networking Industry Association (SNIA) has created two standardization initiatives to address these issues. SNIAs Cloud Data Management Interface (CDMI) addresses many of these issues. CDMI focuses on the storage side of cloud data. You can find information about the initiative here: http://www.snia.org/forums/csi/programs/CDMIportal SNIAs eXtensible Access Method (XAM) is a standardized access method for accessing cloud data. It provides a standardized approach for storing, archiving and accessing data and its related metadata. One major goal of the XAM initiative is to assure data portability between cloud providers and cloud storage applications. XAM APIs can be used to build applications that conform to the standard. For more information: http://www.snia.org/forums/xam Both CDMI and XAM are described in detail later in this report. Data & Metadata Portability Because of the proprietary nature of cloud, the portability of data and metadata between cloud providers affect cloudbased applications and virtual machines as well as specialized storage sites, such as those dedicated to graphics, photos, etc. Metadata can include security policies, access control lists, rankings and display order for graphics files on sites like Flickr, comments and much more. Unfortunately this metadata is not easily transportable between providers. First, it is often unclear who owns the metadatathe customer or the provider. Second, there are no standards for metadata, so each provider is free to maintain and store it in its own way. Third, many providers consider their metadata mechanisms part of their added value and do not want to make its transfer easy.
11
The portability of the data itself is a less complex issue, but still a major problem. For example, many graphics sites have no mechanism for bulk transfer of datathe client can only transfer one image at a time. SNIAs CDMI attempts to address many of these issues. Until portability standards are established, it is a good idea to maintain local copies of data (always a good idea anyway) and detailed records of security policies, access control lists and other critical cloud metadata. Metering and Billing Cloud storage billing is typically based on the following: Amount of data uploaded Amount of data downloaded Amount of data stored Number of requests and type of request
Most providers charge for data upload, download and actual storage capacity. Some charge for requests. For example, at this writing, Amazon S3's posted charges for requests are either $0.10 per 1,000 requests or $0.01 per 10,000 requests, depending on request type. Others such as Nasuni offer a total package price that includes the cost of their cloud gateway and the cost of storing data at one of its many partners.
12
13
What applications are you most likely to store in the storage cloud?
14
15
16
17
What are your organizations most important IT priorities over the next 12-18 months? (Please rank by importance, 1=Most important to 10=Least important) Improve data backup and recovery 1 Increased use of server virtualization 2 Information security initiatives 3 Business continuity/disaster recovery 4 Manage data growth 5 Upgrade network infrastructure 6 Major application deployments 7 Data center consolidation 8 Large-scale desktop/laptop PC deployments 9 Regulatory compliance initiatives 10
18
What is your primary reason for storing data in the storage cloud?
What storage applications are you planning to or have deployed in the storage cloud (Select all that apply) Cloud 2011 Cloud 20122014 20.3% 29.6% 19.0% 13.8% 14.8% 19.4% 28.8% 13.3% 15.6% 11.5% 13.1% 14.9% 12.1% 17.3% 1.6% 3.6% Private cloud 2011 16.5% 15.5% 21.5% 13.8% 9.8% 3.2% 10.6% 5.0% 7.8% 9.8% 11.5% 14.9% 6.1% 12.3% 7.9% 5.4% Private cloud 20122014 16.5% 11.3% 20.3% 20.0% 18.0% 16.1% 21.2% 11.7% 15.6% 19.7% 11.5% 19.4% 16.7% 14.8% 3.2% 8.9% Public/hybrid Cloud 2011 Public/hybrid Cloud 20122014 6.3% 7.0% 10.1% 3.1% 1.6% 12.9% 9.1% 13.3% 10.9% 3.3% 8.2% 10.4% 6.1% 7.4% 3.2% 0.0% Do not expect to deploy in cloud 17.7% 18.3% 10.1% 38.5% 50.8% 37.1% 18.2% 46.7% 34.4% 47.55 49.2% 25.4% 43.9% 23.5% 76.2% 82.1% Totals
Primary backup and restore Second copy of backup data Archiving and retention Data warehousing Primary data, Tier 1 Storage Secondary data, Tier 2 Storage Business continuity and disaster recovery Storage bursting Data tiering eDiscovery/Compliance Replace centralized computing/global access Host files, unstructured data Database, transactional structured data E-mail None of the above Other
15.2% 12.7% 11.4% 4.6% 1.6% 6.5% 9.1% 3.3% 4.7% 1.6% 1.6% 10.4% 9.1% 19.8% 6.3% 0.09%
7.6% 5.6% 7.6% 6.2% 3.3% 4.8% 3.0% 6.7% 10.9% 6.6% 4.9% 4.5% 6.1% 4.9% 1.6% 0.0%
100% 100% 100% 100% 100% 100% 10I0% 100% 100% 100% 100% 100% 100% 100% 100% 100%
19
20
What were the biggest concerns that you or your organization has or had to overcome before signing up for cloud storage? (Please type in 1, 2, or 3 to select your 3 largest concerns. 1=Largest concern.) Security 1 Performance (i.e. latency) 2 Price/Pricing model 3 Availability 4 Regulatory and/or compliance requirements 5 Internal company culture 6 Vendor lock-in 7 Difficult to get started (i.e. need to learn new tools 8 Unable to license my desired software on the cloud storage service 9 Unable to customize to my needs 10 What cloud enablement and gateway vendors are you planning to use for your public cloud storage plans? (Please select your top 3.) Other CommVault/Dell Symantec Hitachi Data Systems F5 Nirvanix Avere Systems Nasuni StorSimple CTERA Gladinet Cleversafe Scality Cirtas Panzura Mezeo Software Seven10 Storage Software DataDirect Networks Twinstrata 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
What cloud infrastructure vendors are you planning to use for your public cloud storage plans? (Please select your top three) EMC 1 Other 2 HP 3 Hitachi Data Systems 4 IBM 5 Oracle 6 3PAR 7 NetApp 8 Avere Systems 9 DataDirect 10 Cleversafe 11 Caringo 12 Nexsan 13 F5 14
21
15 16 17 18 19 20 21
Please select the top three (3) vendors of products or services for your private cloud storage plans. EMC 1 Other 2 CommVault/Dell 3 HP 4 IBM 5 Hitachi Data Systems 6 NetApp 7 DataDirect Networks 8 Cirtas 9 Oracle 10 3PAR 11 Gladinet 12 Gluster 13 Nasuni 14 CTERA 15 Caringo 16 Avere Systems 17 Symantec 18 StorSimple 19 Cleversafe 20 F5 21 Nexsan 22 RELDATA 23 IceWeb 24 Nexenta 25 Nirvanix 26 Zetta 27 Mezeo Software 28 Panzura 29 Permabit 30 Twinstrata 31 Scality 32 Seven10 Storage Software 33 Why did you originally sign up with your cloud storage service provider? (Please select the three most important reasons.) On-demand pricing (pay only for what I use, no CAPEX) 1 Speed-to-market (ability to implement a solution in a short period of time 2 Trust the vendors ability to operate/leverage/use world class datacenters 3 Outsource IT infrastructure I) (focus on other tasks) 4 Flexibility (choice of operating system, software, programming languages) 5 Scalability (add resources on demand) 6
22
Service features and functionality Availability (SLAs) Other Global footprint My boss told me to
7 8 9 10 11
What cloud storage standards will you require being included in RFPs?
23
Which of these standards are important for public/hybrid storage cloud? 1=Not important 20.0% 20.0% 18.0% 20.0% 22.0% 20.0% 2=Somewhat important 22.0% 42.0% 32.0% 36.0% 26.0% 32/0% 3=Important 28.0% 28.0% 42.0% 30.0% 38.0% 26/0% 4=Very Important 30.0% 10.0% 8.0% 14.0% 14.0% 22.0% Totals 100% 100% 100% 100% 100% 100%
SNIA OGF OCCI DMTF OVF OASIS SMPL OASIS Identity in the Cloud CSA Cloud Audit
When are you going to require vendors to comply with cloud storage standards?
By CIO/CTO
24
25
26
Type of Organization: Technology Document Equipment, IT product line, Cloud Managed Service Provider for equipment customers. Number of Employees: 250 at 15 locations Location and Environment: Chico, California with offices in Northern and Central California and Nevada. Customers are SMB and government organizations. Contact name: Michael Fraser, Technology Consultant Amount and type of data protected: 20TB when all customers deployed. Challenges: Virtualization environment is complex for many backup and recovery operations Customer concerns over public cloud security Data protection and disaster recovery services highly desirable in customer base Ray Morgan has 15 locations plus 100 equipment customers Ray Morgan capable of providing and supporting customer IT infrastructure Solution: StorageCraft ShadowProtect Server and ShadowProtect ImageManager deployed on customer equipment and shared datacenter Benefit: ShadowProtect ImageManager provides rapid replication into private cloud Ease of use for both internal and external deployment Confidence in StorageCraft new product development process New revenue stream for cloud storage service Higher service level to customers increases loyalty and new sales Low total cost of ownership due to shared resources
27
to a local drive. While this interface is inefficient over a wide area network connection, it is reliable and drivers and support for iSCSI is available in all modern operating systems. It is a simple implementation and is very often incorporated with a cloud gateway appliance to provide a plug-and-play capability for access to the cloud. The gateway device, which has implemented a cloud API compatible with one or more cloud storage providers, simplifies and aggregates communications from the using computer network to improve bandwidth utilization and increase throughput. File Interfaces File interfaces have been in use for many years but require a higher level of operating system integration. The primary advantage of a file system is that the applications are separated from the low-level disk emulation operations. higher efficiencies can be gained. In addition, systems managers can implement file naming conventions that can span across many hundreds, even thousands, of client computers. The common buzzwords for this capability are Global Name Space. While a number of file systems are in use, the predominant network file systems are the Common Internet File System (CIFS) and the Network File System (NFS). While cloud storage service providers do not directly support these file systems due to the amount of bandwidth that they consume, most cloud access appliances support either CIFS, NFS, or both. C0mmon Internet File System (CIFS) A direct descendant of the Microsoft Disk Operating System, CIFS is widely deployed and supported by many generations of Microsoft client and server operating systems. is therefore often the default file system in many Network Area Storage (NAS) systems and cloud appliances. Documented and maintained by Microsoft, CIFS is considered a baseline for most file server, or Filer uses. Based on the widely used SMB (Server Message Block) network protocol, CIFS has become a key file sharing protocol due to its ubiquitous distribution and its inclusion of enhancements that improve suitability for internet file sharing. It is an integral part of workstation and server operating systems as well as embedded and appliance systems, including cloud appliances, file acceleration devices and wide area network optimizers. Network File System (NFS) NFS was developed by Sun Microsystems and first specified way back in 1984. NFS uses the Open Network Computing Remote Procedure Call (ONC RPC) system, which provides an open standard defined and published by the Internet Engineering Task Force (IETF) describing methods, behaviors, research or innovations applicable to the systems which support NFS via Internet Protocol. Early versions of NFS include v1 and v2. NFS v2 was the first version released outside of Sun Microsystems. Open platform releases controlled by the IETF are set by Request for Comment (RFC) documents, which are incrementally issued until a consensus standard is defined. NFSv2 was defined by RFC 1094 in 1989. It had the then-reasonable limitation that only the first 2GB of a file could be accessed. NFSv2 used User Datagram Protocol, which could efficiently execute storage commands without maintaining a prior state. While fast and efficient, UDP has limitations that would haunt the early implementations of NFS. NFSv3 was defined by RFC 1813 in 1995 and had the features that have made it the gold standard for open file protocols for over fifteen years. Features included 64bit file addressing and the inclusion of TCP protocol which allows routing of commands over a Wide Area Network (WAN). NFSv3 remains the predominant NFS implementation. Version 4 (RFC 3010, December 2000; revised in RFC 3530, April 2003) was influenced by Andrew File System (from Carnegie-Melon University AFS) and CIFS. But it took until January of 2010 for NFSv4.1 to be finalized, partly because Sun Microsystems turned support over to the IETF in 2000, which retarded development and adoption. Most vendors that support NFSv3 are currently developing NFSv4 somewhere on the roadmap. CIFS compatibility is usually the stated reason. Parallel NFS is also a new variant the provides multiple paths to the file system that is prevalent on appliance and NAS system roadmaps. NFS is common to open Unix and Linux operating systems including Solaris, AIX and HP-UX.
29
Other File Systems Modern open-source file systems include Gluster File System (GFS) and Zettabyte File System (ZFS). Both have tremendous features for internal use on storage systems that support both block and file interfaces, but are usually too complex to be considered for a cloud API. Cloud storage infrastructure and access appliances have been developed using these file systems for the underlying storage. Object Storage Because it helps cloud storage providers to implement more efficient systems, proprietary APIs and the cloud storage standards including the SNIA CDMI and the DTMF are heavily focused on object storage features. In the near term, this will probably enhance the gateway appliance market as vendors in that area can claim support for current generic interfaces (iSCSI, CIFS, NFS) and roadmap support for coming industry standards. Representational State Transfer (REST) is a web-based architecture that uses the Hyper-Text Transfer Protocol (HTTP) as a means to communicate to Internet-based object storage systems. Simple Object Access Protocol (SOAP) provides programming within the Extensible Markup Language (XML) message format and can support a wide variety of user developed storage functions. REST (or ReST) REST is particularly applicable to cloud storage applications as it can be implemented completely within HTTP (web page programming) and has the communications features that we take for granted when using the worldwide web. Clients can issue requests to servers without concern as to the location or intermediary devices routing the request. Servers in turn can send programming information back to the client and have it execute the code. REST is a stateless architecture, which means that each message contains everything that the client or server needs to execute the request. By using Universal Resource Locator (URL) and Universal Resource Identifier (URI) from a browser or direct web interface, information can be exchanged between clients and cloud servers by using simple Get, Put, Post and Delete functions, which address the storage resource using a standard web address. Since REST is an architecture rather than a specific protocol, reference to the cloud storage providers specific command functions is necessary. SOAP As its name (Simple Object Transfer Protocol) implies, SOAP is a protocol with a specific protocol standard, although with additional functionality by using an XML messaging format. This provides an application development environment which is very flexible and can provide considerable functionality for development of many applications, including cloud storage operations. SOAP is an industry standard managed by the W3C committee which maintains a wide range of standards within www protocols (hence W3C). As the SOAP abstract states in the latest W3C version of the standard (April 2007): SOAP Version 1.2 is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. "Part 1: Messaging Framework" defines, using XML technologies, an extensible messaging framework containing a message construct that can be exchanged over a variety of underlying protocols.
30
31
Nirvanix APIs Nirvanix came out of stealth mode in 2007 and operates seven data centers in the United States, Europe and Asia. Nirvanix provides both a software appliance that can be installed on customer equipment, as well as a REST or SOAP web APIs. The CloudNAS software appliance, once installed, can be mounted as any storage device and provides CIFS and NFS support. The simplicity of this approach means that the global namespace feature of NAS can extend into a boundless, worldwide storage array that is transparent to end users. The system features encryption both in transit and once stored in the cloud. CloudNAS is a key to Nirvanix rapid expansion into significant end user accounts. In addition, the Nirvanix Web Services API feature-rich REST and SOAP interface exists for clients who wish to use this deeper control structure, which can be used over both HTTP and HTTPS. Methods supported provide functions for Authentication, Accounting, File System Management including base file and folder commands such as create, rename, copy, move. delete. Add, modify, delete. search custom metadata for files and folders. Transfer to upload or download files or parts of files, sharing, image operations, video format commands and audio file control. The CloudNAS appliance is written using this API. Open Grid Forum Open Cloud Computing Interface (OCCI) The Open Grid Forum (OGF) is a European-based standards body that is developing a standard for an Open Cloud Computing Interface (OCCI). This standard is at a very early stage but stakeholders in the cloud computing services industry should monitor the developing standards closely. OCCI is included by reference in the SNIA CDMI specification (see a following heading). There are two documents currently out for review regarding the OCCI, both released at the end of January, 2011. The first is a specification rendering of a cloud computing API using REST architecture. The second is a document describing automated negotiation and reservation of cloud computing services. Both documents can be reviewed by using this link: http://www.ogf.org/gf/docs/?public_comment OpenStack Cloud Computing and Storage OpenStack is an interest group developing a massively scalable cloud operating system platform in an open source environment. Open source code can be freely obtained under the Apache 2.0 license. Contributors include Dell, Rackspace, NASA, Citrix, Cisco, Canonical and over 50 other organizations. There are two interrelated projects, cloud computing and object storage, which are released independently but with the same code name. Early releases, code named version Bexar (no doubt after the Texas county where the Apaches once roamed and home of the Alamo) were completed in February of 2010, with the next scheduled releases, named Cactus, scheduled for Q2 2011. Information about OpenStack can be accessed using this link: http://www.openstack.org/index.php Rackspace Cloud Files APIs Rackspace, using OpenStack, has recently made its Cloud Files service generally available. A control panel GUI can be used to first establish an account and then move and manage files from a client/server into the Rackspace cloud. The GUI resembles a typical file management screen. Rackspace supports a REST API as well as language-specific API with documents and assets for C#/.NET, Python, PHP, Java and Ruby. Rackspace also publishes an interesting set of caveats and limitations regarding its Cloud Files service. As these limitations apply to any cloud storage service without a NAS or block-level storage gateway, they should be viewed as universal, or at least become discussion points with any cloud storage provider: Native support within your operating system. It is not possible to mount or map the Cloud Files storage system as a virtual hard-disk on your computer or server.
32
Disk mirroring or backup solutions that require byte/block level differences. There are no concepts of appending data or file locking operations within Cloud Files. Data can be organized into storage compartments called Containers, but Containers cannot be nested. Since there is only one top level of organization, you will not be able to upload nested directory/folder structures into Cloud Files unless a transformation is performed to flatten the structure. There is no built-in concept of permissions or access controls in the Cloud Files system such as you may be accustomed to in a traditional file system. There are no transcoding capabilities to read a file in one format and upload it in one or more other formats into Cloud Files. Rackspace, as a long-term web hosting and services firm, has a well established support organization and has recently announced extended support by this group for cloud storage implementation services. Information on Cloud Files can be accessed by this link: http://docs.rackspacecloud.com/files/api/v1/cf-intro-20110124.pdf SMEStorage SMEStorage is a London, UK company that provides a server gateway appliance and client driver support for workstations, laptops, iPads, iPhones and Motorola Droid smart phones. It has built-in support for a large number of cloud storage services, currently including: Amazon S3 RackSpace Cloud Files Box.net MobileMe Microsoft SkyDrive Microsoft Live Mesh Evernote (import only) Google Docs (currently import only) Email-as-a-Cloud (the ability to use any email account as a storage cloud) GMail-as-a-Cloud (the ability to use Google mail as a storage cloud) FTP-as-a-Cloud (the ability to use FTP as a storage cloud) WebDav (any WebDav enabled cloud) Access is also provided via a GUI and includes file synchronization and recovery functions. It also supports a REST-based API that works above any supported cloud service and that has bindings for .NET, PHP, PERL, Ruby and Java. Operating systems support includes Windows, Macintosh and Linux. SNIA Cloud Data Management Interface The Storage Network Industry Association (SNIA) is the leading trade association in the computer storage field and a Platinum sponsor of this report. The SNIA Cloud Initiative has been focused on developing an all-encompassing standard that addresses legacy interfaces such as iSCSI, CIFS and NFS along with a substantial REST architected object store standard that covers a broad set of methods from the standard Get, Put, Post, Erase to methods that retrieve information regarding the cloud providers CDMI implementation status. CDMI uses REST URI/URL namespace based on containers (similar to the Amazon S3 buckets) and a substantial lexicon of Methods.' The team and companies that contributed to the proposed architecture deserve tremendous recognition. CDMI Version 1.0 was released in April 2010 as a SNIA Technical Position, a beginning point on the long road to the development of an international standard. As stated at the beginning of this section, many years will pass before an ISO level standard is final, but this is a very complete document and provides a rationalized content for a cloud storage standard. CDMI can be considered a superset of APIs offered by the participants in the cloud storage and services industry.
33
In SNIAs words: SNIA standards are primarily related to data, storage. information management and address such challenges as interoperability, usability and complexity. They start out in SNIA-sponsored Technical Working Groups (member collaboration efforts centering on best practices) or as contributions from independent vendor collaborations. are subject to a rigorous processes involving checks and technology reviews by SNIAs Members, Technical Council. Board of Directors, conducted under provisions that respect and protect intellectual property and address licensing of essential claims. A SNIA standard that has completed these processes is labeled a SNIA Technical Position, which signifies that the SNIA endorses and recommends the ideas, methodologies. technologies described. SNIA may take SNIA Technical Positions to ANSI, ISO. other national and international standards bodies for additional endorsement. Information regarding the SNIA Cloud Storage Initiative can be found at: http://www.snia.org/cloud The SNIA CDMI Version 1.0 Technical Position document can be found at:
http://www.snia.org/tech_activities/standards/curr_standards/cdmi/CDMI_SNIA_Architecture_v1.0.pdf
SNIA Content-aware eXtensible Access Method Storage API (XAM) The XAM Interface specification defines a standard access API between Consumers (application and management software) and Providers (storage systems) to manage information storage services. XAM includes metadata definitions to accompany data to achieve application interoperability, storage transparency. automation for Information Life Cycle Management (ILM)-based practices, long term records retention. information security. XAM will be expanded over time to include other data types as well as support additional implementations based on the XAM API to XAM conformant storage systems. XAM is included by reference in the CDMI standard. XAM is defined in three SNIA Technical Position documents, the latest versions 1.01 published in June 2009. Part 1 addresses architecture: http://www.snia.org/tech_activities/standards/curr_standards/xam/XAM_Arch_v1.01.pdf Part 2 addresses a C programming language API: http://www.snia.org/tech_activities/standards/curr_standards/xam/XAM_C_API_v1.01.pdf Part 3 addresses a Java programming language API: http://www.snia.org/tech_activities/standards/curr_standards/xam/XAM_Java_API_v1.01.pdf VMware vCloud API VMware released its vCloud API version 1.0 in April of 2010 with an update in August of 2010. The REST architected API includes HTTP URL/URI methods for browsing containers including log-in and authentication, provisioning, data center operations, re-configuring a vApp or re-configuring a Virtual Machine. Within a vCloud environment, a complete set of cloud storage and elastic computing is provided. The specification is concise and the API is consistent with VMwares operational command structure. While the API is simple and concise, an extensive VMware infrastructure is necessary to operate the vCloud functionality. A white paper discussing the architecture can be found at: http://www.vmware.com/files/pdf/VMware-Architecting-vCloud-WP.pdf The vCloud API specification can be found at: http://communities.vmware.com/docs/DOC-12464
34
Windows Azure Storage Services REST API Windows Azure supports a REST URL/URI API with methods to access Account services, Blob services, Queue services and Table services. The system provides persistent, redundant storage. A very well-developed and supported service, Azure has operated with the same version since September 2009. Account services are accessed first to establish ownership of containers that support two types of blobs, one optimized for streaming operations and another for random access. Queue support is for messaging between Azure services. is particularly useful in email-like operations. Table services allow the creation of tabled data sets which can be used for load balancing across storage nodes. No specific database schema is enforced, so users are free to develop data structures within the table service. With Microsoft support and a large and loyal ecosystem, Azure is a major power in the cloud storage provider industry and stakeholders should ensure continuing compatibility with this architecture. The SNIA CDMI is fully compliant with the Queue and Table methods. The Azure API is documented at: http://msdn.microsoft.com/en-us/library/dd179355.aspx
35
36
37
Best practices
Moving to cloud storage provides many benefits, but also bears some risk as well. As with any other major IT endeavor, proceed with caution. Doing a little homework and study in advance can help prevent problems later on. The following, while not complete, is a list of some things you should consider when implementing cloud storage: Not all cloud services are the same. Make sure your service provider meets you needs. Ask yourself the following questions: o o o What degree of redundancy is provided? Some service providers offer multi-site redundancy, some only provide single-site redundancy (mirroring, etc.) while some provide no redundancy at all. Is there automatic fail-over in case of a disk/server/site failure? Does the provider offer versioning, or do they only store the most current version of a file or data object? Is there a retention period for deleted files? If they do offer versioning, how flexible is the retention policy? Does the provider back up data? If so, what is the backup cycle and retention policy? In an emergency how long will it take to restore data? Even cloud service providers can have hardware and software failures that can cause data loss. Does the provider offer an easy-to-use management console? Is it web-based and can it be accessed from any location in case of emergency? Does the pricing structure fit your business model? For example, some vendors charge for every file access (read, write, etc.) in addition to per-gigabyte upload and download charges. If you are moving large blocks of data those access charges will be minimal. If you are doing primarily database lookups and updates, however, they can add up quickly.
o o
Determine the cloud deployment model that is best for you. Public, private, hybrid, community or cooperative models all have their pros and cons, but each does not fit every business model. Dont put your eggs in one basket. As with local storage make sure you back up your data. Do you need local storage as well as cloud storage? Local storage provides immediate access to your data, even if there are network issues. If this is important to you than consider replicating your cloud data locally. Read the contract. What liability does the provider have in case of data loss, etc.? What are the service commitments, if any? What happens if there is a billing dispute? Can your data be held hostage, or, even worse, deleted? Take things a step at a time. While cloud storage can solve many problems it can create new ones as well. There will be a learning curve for you and your staff. Taking small steps, at least initially, limits your exposure if things dont go as anticipated.
38
Vendor Name: StorageCraft Product Name: ShadowProtect Server, ShadowProtect Desktop, ShadowProtect Small Business Server Link to website: www.storagecraft.com Link to data sheet: http://storagecraft.com/shadow_protect_server.php http://storagecraft.com/shadow_protect_desktop.php http://storagecraft.com/shadow_protect_SBS.php Product Description: StorageCraft ShadowProtect Server is disk-based backup software for Windows servers that performs full, incremental, synthetic and differential backups. It supports Microsoft Hyper-V, VMware ESX, Citrix XenServer and Oracle VirtualBox and can run as a virtual machine using VirtualBox technology. ShadowProtect Server supports Microsoft Exchange, SQL Server and SharePoint applications as well as Oracle, Sybase and MySQL databases. Agents are available at no charge for bare metal restore, encryption, SQL Server, Exchange Server and Active Directory. The product supports an unlimited number of snapshots and bare metal recovery. It supports inline deduplication and near-continuous data protection. Replication is available for $92.99 to $299 via ShadowProtect ImageManager Enterprise. This optional software includes one on-site replication and one off-site replication per server job, as well as HeadStart Restore, which provides the ability to pre-stage a recovery job in a virtual machine. Another add-on component for StorageCraft ShadowProtect Server is ShadowProtect Granular Recovery for Exchange. This capability is licensed per Exchange mailbox and is designed to recover individual Exchange mailboxes, e-mail messages and attachments without the need to restore the entire Exchange database. StorageCraft also provides protection for Windows Vista, XP and Windows 7 desktops and laptops via its ShadowProtect Desktop software. The software is disk-based backup that performs full, incremental, synthetic and differential backups. It supports Microsoft Hyper-V, VMware ESX and Citrix XenServer as well as Oracle VirtualBox. In addition it has included agents for bare metal restore and encryption. It supports an unlimited number of snapshots and also provides bare metal recovery capability. Inline deduplication and near-continuous data protection are supported. StorageCraft has the heart of SMBs in mind with its support of Microsoft Small Business Server. Its ShadowProtect Small Business Server software provides disk-based support for Windows Small Business Server installations. Like ShadowProtect Server and ShadowProtect Desktop, the software allows full, incremental, synthetic and differential backups and support for Microsoft Hyper-V, VMware ESX, Citrix XenServer and Oracle VirtualBox. It also supports Microsoft Exchange, SQL Server, SharePoint, Oracle, Sybase and MySQL and has included agents for bare metal restore, client encryption, SQL Server, Exchange Server and Active Directory. ShadowProtect Small Business Server supports unlimited snapshots and bare metal recovery. It provides inline deduplication and near continuous data protection. Two optional packages ShadowProtect ImageManager Enterprise and ShadowProtect Granular Recovery for Exchange provide replication and granular Exchange mailbox recovery. StorageCraft also has an arrangement with Symform, manufacturer of the Cooperative Storage Cloud. In this relationship, customers backup their networks with StorageCraft software and that information is then replicated into the cloud. The service costs $40-$100 per server and $6 to $25 per laptop or desktop. Cost: ShadowProtect Server is $995 per server. Replication is available for $92.99 to $299; ShadowProtect ImageManager Enterprise is $299 per server; and, ShadowProtect Granular Recovery for Exchange ranges in price from $800 to $2,500, depending on the number of mailboxes on the Exchange server. ShadowProtect Desktop with one-year of maintenance support starts at $89.95. ShadowProtect Small Business Server is $495 per server.
39
The company partners with Symform and Doyenz to offer their software as a cloud service. Channel: StorageCraft sells direct and through MSPs, service providers, VARs and corporate/government distributors.
40
Cost/GB/month
Starting Cost
StorageCraft
ShadowProtect
ShadowProtect Server is $995 per server. Replication is available for $92.99-$299; ShadowProtect Desktop starts at $89.95. ShadowProtect Small Business Server is $495 per server.
Backup and Recovery, Disaster Recovery: Server and Desktop Operating System Support
Windows Server 2003 R2 x64 Edition Windows Vista 64-bit Edition
Windows VISTA
Windows XT
Windows 7
Macintosh
Other Macintosh
Linux
Other
StorageCraft ShadowProtect
41
Other
Unix
StorageCraft ShadowProtect Amazon S3 Amazon EC2 AT&T Synaptic SaaS GoGrid IBM Smart Business, Cloudburst Windows Azure Nirvanix SDN Rackspace Cloud Files Terremark Worldwide (Now Verizon) Other Symform, Doyenz
42