Cloud Storage in Google Cloud Platform (GCP)
Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Gmail, Search, file storage, and YouTube.
Features of GCP:
- Object Lifecycle Management: Define conditions that trigger data deletion or transition to a cheaper storage class.
- Object Versioning: Continue to store old copies of objects when they are deleted or overwritten.
- Retention policies: Define minimum retention periods that objects must be stored for before they’re deleted.
- Object holds: Place a hold on an object to prevent its deletion
- Customer-managed encryption keys: Encrypt object data with encryption keys stored by the Cloud Key Management Service and managed by you.
- Customer-supplied encryption keys: Encrypt object data with encryption keys created and managed by you.
- Uniform bucket-level access: Uniformly control access to your Cloud Storage resources by disabling object ACLs.
- Requester Pays: Require accesses of your data to include a project ID to bill for network charges, operation charges, and retrieval fees.
- Bucket Lock: Bucket Lock allows you to configure a data retention policy for a Cloud Storage bucket that governs how long objects in the bucket must be retained.
- Pub/Sub Notifications for Cloud Storage: Send notifications to Pub/Sub when objects are created, updated, or deleted.
- Cloud Audit Logs with Cloud Storage: Maintain admin activity logs and data access logs for your Cloud Storage resources.
- Object- and bucket-level permissions: Cloud Identity and Access Management (IAM) allows you to control who has access to your buckets and objects.
Note: Cloud storage is binary large-object storage with high performance, internal scale, and simple administration (does not require capacity management).
- File storage: Manage data as a hierarchy of folders
- Block storage: Operating system manages data as chunks of disk.
- Object storage: Save to your storage here. You keep this arbitrary bunch of bytes I give you and storage lets you address it with a unique key(in form of URLs). Object storage interacts nicely with web technologies.
Cloud storage is a fully managed scalable service, i.e., no need to provision capacity ahead of time. Each object in Cloud storage has a URL. Cloud storage consists of buckets you create and configure and used to hold your storage objects(immutable – no edit, create new versions). Cloud storage encrypts your data on the server-side before written to disk. (by default = https). You can move objects of cloud storage to other GCP storage services. When you create a bucket, it is given a globally unique name, specify a geographic location where the bucket and its contents are stored, and a default storage class.
Bucket attributes Bucket contents Globally unique name Files in a flat namespace Storage class N/A Location Region or multi-region IAM policies or access control lists Access Control Lists(ACLs) offer finer controls Object versioning setting N/A Object lifecycle management rules N/A
- Roles are from projects to the bucket to object. ACL tells who has access to your buckets and objects and what level of access.
- ACL: Scope (who can perform specified actions), e.g. user or group of users
- Permission (actions to be performed), e.g. read, write
- You can also turn on object versioning:
- List archived versions of an object.
- Restore an object to an older state
- Permanently delete a version
- If no object versioning, new will always override old
- Versioning offers junk accumulation, therefore Cloud storage offers lifecycle management policies. eg:
- Tell cloud storage to delete objects older than 365 days
- Before a specified date
- Keep only 3 most recent versions
Cloud Storage Interactions
There are 4 types of storage classes of cloud storage –
|Intended for data that is||Most frequently accessed||Accessed frequently within a region||Accessed less than over a month||Accessed less than once a year|
The price per GB per month increases from left to right
The total Price per GB per month transferred decreases from left to right
|Use cases||Content storage and delivery||In-region analytics transcoding||Long-tail content backups||Archiving, disaster recovery|
Multi-regional storage: At least 2 geographic locations separated by at least 160km
Regional: To store data close to their compute engine or virtual machines
Cloud storage pricing
Pricing for Cloud Storage services is based on what you use, i.e., the amount of data you store, the time period for which you store it, the number of operations you perform, and the network resources used when moving or accessing your data. starting at $.02 per GB per month starting at $.01 per GB per month starting at $.004 per GB per month starting at $.0012 per GB per month
STANDARD STORAGE NEARLINE STORAGE COLDLINE STORAGE ARCHIVE STORAGE
starting at $.02 per
GB per month
starting at $.01 per
GB per month
starting at $.004 per
GB per month
starting at $.0012 per
GB per month
Use Cases of Cloud Storage:
- Integrated repository for analytics and ML: Cloud Storage is strongly consistent giving accuracy in analytics workloads.
- Media content storage and delivery: Cloud Storage provides the availability and throughput needed to stream audio or video directly to applications and websites.
- Backups and Archives: Backup data in Cloud Storage can be used for more than just recovery because all storage classes have ms latency and are accessed through a single API.