Deploying a Stateful Workload on Google Cloud: A Guide to Scaling and High-Speed Writes

Best Practices for Deploying a Stateful Workload on Google Cloud

Question

You need to deploy a stateful workload on Google Cloud.

The workload can scale horizontally, but each instance needs to read and write to the same POSIX filesystem.

At high load, the stateful workload needs to support up to 100 MB/s of writes.

What should you do?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

D.

https://cloud.google.com/storage/docs/gcs-fuse

For a stateful workload that needs to read and write to the same POSIX filesystem and can scale horizontally, you should consider using a shared filesystem. Among the options provided, the best fit for this requirement is creating a Cloud Filestore instance and mounting it in each instance.

Option A, using a persistent disk for each instance, doesn't meet the requirement of having a shared filesystem, as each instance would have its own isolated storage.

Option B, using a regional persistent disk for each instance, would also not work as it provides block storage and not a shared filesystem.

Option D, creating a Cloud Storage bucket and mounting it in each instance using gcsfuse, would work for reading files but would not be ideal for high load writes, as it may not provide the necessary performance and consistency required for a POSIX filesystem.

Therefore, Option C, creating a Cloud Filestore instance, is the best fit for this scenario. Cloud Filestore is a fully managed NFS file system service that provides consistent, high-performance file storage. It is optimized for enterprise applications that require high levels of throughput and IOPS. Cloud Filestore can scale horizontally, and each instance can read and write to the same POSIX filesystem. Additionally, Cloud Filestore can handle up to 700 MB/s of writes, which exceeds the required 100 MB/s for the workload described in the question.