# Google Cloud Storage

Google Cloud Storage is an online file storage web service for storing and accessing data on Google Cloud Platform infrastructure. The service combines the performance and scalability of Google's cloud with advanced security and sharing capabilities. It is an Infrastructure as a Service (IaaS), comparable to Amazon S3. Contrary to Google Drive and according to different service specifications, Google Cloud Storage appears to be more suitable for enterprises.

## Feasibility

User activation is resourced through the API Developer Console. Google Account holders must first access the service by logging in and then agreeing to the Terms of Service, followed by enabling a billing structure.

## Design

Google Cloud Storage stores objects (originally limited to 100 GiB, currently up to 5 TiB) in projects which are organized into buckets. All requests are authorized using Identity and Access Management policies or access control lists associated with a user or service account. Bucket names and keys are chosen so that objects are addressable using HTTP URLs:
* https://storage.googleapis.com/bucket/object
* http://bucket.storage.googleapis.com/object
* https://storage.cloud.google.com/bucket/object

## Features

Google Cloud Storage offers four storage classes, identical in throughput, latency and durability. The four classes, Multi-Regional Storage, Regional Storage, Nearline Storage, and Coldline Storage, differ in their pricing, minimum storage durations, and availability.
* Interoperability - Google Cloud Storage is interoperable with other cloud storage tools and libraries that work with services such as Amazon S3 and Eucalyptus Systems.
* Consistency - Upload operations to Google Cloud Storage are atomic, providing strong read-after-write consistency for all upload operations.
* Access Control - Google Cloud Storage uses access control lists (ACLs) to manage object and bucket access. An ACL consists of one or more entries, each granting a specific permission to a scope. Permissions define what someone can do with an object or bucket (for example, READ or WRITE). Scopes define who the permission applies to. For example, a specific user or a group of users (such as Google account email addresses, Google Apps domain, public access, etc.)
* Resumable Uploads - Google Cloud Storage provides a resumable data transfer feature that allows users to resume upload operations after a communication failure has interrupted the flow of data.

## Limitations of Service Level Agreement

Google Cloud Storage provides a durability guarantee of 99.999999999% (referred to as "11 nines"), primarily addressing data loss from hardware failures. However, this guarantee does not extend to losses resulting from human errors (such as accidental deletion), misconfigurations, third-party failures and subsequent data corruptions, natural disasters, force majeure events, or security breaches. Customers are responsible for monitoring SLA compliance and must submit claims for any unmet SLAs within a designated timeframe. They should understand how deviations from SLAs are calculated, as these parameters may differ from those of other Google Cloud services. These requirements can impose a significant burden on customers. Additionally, SLA percentages and conditions can vary from those of other Google Cloud services. In cases of data loss due to hardware failure attributable to Google Cloud Platform, the company does not provide monetary compensation; instead, affected users may receive credits if they meet the eligibility criteria.