Currently, there is a lot of hype regarding clouds. There are many application level (Salesforce, Google, Oracle), compute processing level (Amazon EC2), and storage level (Amazon S3, Nirvanix) public cloud providers. The public cloud providers are primarily targeting small and medium sized businesses. There are also service companies like IBM that are aspiring to provide private cloud computing solutions to enterprise level customers with multiple locations and data centers. Finally, there are many computer companies like VMWare (VCloud), EMC (Atmos), IBM (BlueCloud) etc that are aspiring to provide hardware and software to public and private cloud providers.
The basic objective of a cloud provider is to provide a web service/SLA based interface to a combination of hardware and software resources. Moreover, the cloud provider provides the necessary management support and is able to dynamically adapt the supply of hardware or software resources based on the user demand. In the past, people have advocated grid/utility computing paradigms that also provided similar benefits. People are trying to analyze the differences/similarities between cloud computing and grid/utility computing, but in our opinion this analysis is very subjective in nature and it does not provide much value-add.
In this blog entry, I will try to list all of the important cloud friendly attributes that need to be provided by a storage vendor. These features can be leveraged by storage clouds, or indirectly via application clouds.
Requirements Cloud User Requirements Interface requirements: Non-Posix Interface Web Services Based Interface Search Capability Ability to attach Meta-Data Transaction Support Partial file loading Basic file I/O commands Policies/SLAs requirements Data Availability (protection from various types of failures) Performance -Workloads -Some applications require fast read throughput -Some applications are archival in nature -There is minimal read/write or write/write conflicts Reliability Security Spin Down Data Copies and Placement Object De-Dup Object Versioning Geographic Multi-Site Requirements: Global Namespace Global Policy Scope/Engine Data accessible from anywhere Integration with Edge Caches Management Requirements Reporting/Chargeback Application Level Cloud Requirements on Storage Application level clouds will be more popular than storage only clouds. Therefore, it is very important to have good integration with applications like Exchange, VMWare, Oracle, SAP. Interop-Heterogeneity requirements Leverage/Incorporate existing legacy resources into cloud Clouds containing heterogeneous resources Data Migration to clouds and from clouds Additional Cloud Provider Requirements Global Efficiency Requirements Global Storage Efficiency Global Resource Utilization Efficiency Physical Space Efficiency Power Usage Efficiency Management Requirements Change Management Capacity Planner Provisioning Global DR Setup Reporting Multi-Tenancy (ensuring there are secure partitions for the different tenants)

Good list. here's a tangent- what do you think is the right model for 100% cloud-based DR? Specifically, if you can send vmdk and related data to multiple offsite locations, you could replace backup. BUT, what about cloud failover? Is EC2 a possibility? Seems that you'd need scripts for the EC2 instances to point to the storage locations for the vmdk's and data...
Posted by: craig halliwell | December 01, 2008 at 12:21 PM
like Craig just wrote, nice list.
We've beaten this list to death over @ the Google Cloud group (of course) but, you might be interested in taking a look here:
http://share.xmind.net/dave_graham/cloud-optimized-storage-2/
I've tried to take a product agnostic look at Cloud Storage as well as some of the requirements of integrating storage with the cloud hosts. I'd be happy to dialogue with you on this.
cheers,
Dave
Posted by: Dave Graham | December 01, 2008 at 12:44 PM
What is the difference between cloud computing and grid computing.? Could anyone help me.?
Posted by: Fitness Freak | March 17, 2009 at 04:50 AM