IRCoC: Intelligent Resilience for Cloud-of-Clouds Services

From Navigators

Revision as of 15:35, 16 January 2017 by Bessani (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Cloud services have been changing the way computing is done in the last years due to its pay-as-you-go cost model and the ubiquity of service access. However, employing resources from a public cloud provider (e.g., Amazon) implicitly requires complete trust in such provider, an issue particularly relevant when companies consider moving critical data and applications to the cloud. First, there are concerns related with the dependability of the access network and of the cloud provider infrastructure. Although usually providers implement means to tolerate and recover from failures, recent incidents affecting the cloud have resulted in temporary unavailability, data loss and even corruption. Additionally, once the datacenter of an organization is “cloudified”, applications have to be utilized through the internet and consequently the quality of the service becomes highly sensitive to the latency and throughput of the interconnection. Second, security is a fundamental concern since the cloud has complete control over the data and processing of the services. Issues like confidentiality and integrity of the data are becoming paramount, with an already large number of distinct attacks known. These can be performed, for instance, by the employees of the provider or by other tenants sharing the resources. Finally, there is the risk of vendor lock-in, in which companies can become dependent on a particular cloud service, as the organization is unable to switch to another provider without incurring substantial costs.

One way to address these problems is through the use of multiple cloud providers, or a cloud-of-clouds (CoC): since each provider operates independently, a common failure affecting multiple clouds is expected to be very unlikely. Moreover, since their datacenters are connected to the internet at different locations, path diversity increases and, as a consequence, good quality of service for its users becomes more attainable. Security can also be obtained by leveraging from the multiple clouds, e.g., a computation can be replicated in three providers and, in case the integrity of one of the results is violated, the user is able to detect the fault by observing the majority of correct results, from the other two. Finally, since CoC services need to operate on various providers, vendor lock-in is no longer an issue.

The IRCoC project aims to make significant advances on the use of a CoC for storage, coordination and execution of critical services, enabling organizations and individuals to benefit from the clouds without requiring complete trust on any single provider. More precisely, the project aims to make two main contributions. First, we will design new data-centric replication solutions, in which the cloud services (e.g., Rackspace Queue, Amazon DynamoDB) are modeled as fail-prone shared objects [Jay98] where no code or functionality (besides what they provide) can be deployed. The key advantage of this approach is the low costs and the ease of management, since there are no servers to be configured and maintained. We plan to investigate some fundamental theoretical questions on this model and provide practical multi-writer resilient storage and coordination algorithms for this setting. Second, novel replication protocols will be developed, ensuring the correct execution of web services running across multiple clouds. These protocols will be highly configurable to support different security requirements and adaptable to the conditions of the network and clouds. This will enable a more intelligent deployment of resources, departing from existing solutions that are mostly static.

Publications

BibTeX

Navigators - IRCoC project
Personal tools
Navigators toolbox