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)
