
One of the more reliable Professional Cloud Architect exam questions gives you a data volume, an internet bandwidth, and asks how you would move the data into Google Cloud Storage. The answer almost always comes down to two services: Transfer Appliance or Storage Transfer Service. I want to walk through how I think about that decision, then cover the command-line option for smaller uploads.
Transfer Appliance is Google Cloud's offering for large, one-time data migrations when network bandwidth is the bottleneck. The flow is physical. You order the appliance from Google Cloud, and the device gets shipped to you. You connect it to your systems and load your data onto it. Once it is full, you ship it back to Google Cloud.
On the receiving end, Google Cloud uploads the data into a Cloud Storage bucket you designate. The service that handles this is called the Rehydrator, which is a high-capacity server that decrypts and reassembles your files into the bucket. After that, you verify the upload and start using your data in the cloud.
The point of Transfer Appliance is to handle situations where moving data over the internet is not practical. If you are working with petabytes of data and you do not have the bandwidth to push that across the wire in a reasonable amount of time, you ship hard drives instead. That is the whole story.
Storage Transfer Service is the managed service for moving data over the internet. It covers a few common scenarios. You can move data from another cloud provider like AWS or Azure into Google Cloud, or from Google Cloud back out to those providers. You can move data from on-prem systems into Cloud Storage. And you can automate ongoing or scheduled transfers, which is useful when you need a recurring sync rather than a one-time migration.
The constraints are bandwidth and volume. You want at least 100 Mbps of stable connectivity, and 1 Gbps is preferred. Storage Transfer Service is recommended for data volumes up to hundreds of terabytes. Once you cross into petabyte territory, or if your bandwidth is well below that 100 Mbps floor, the calculus shifts toward Transfer Appliance.
The Professional Cloud Architect exam tends to test this as a forced choice. Read the question for two numbers: how much data, and how fast is the connection. If the data is in the petabyte range, or the bandwidth is poor relative to the volume, the answer is Transfer Appliance. If the data is in the terabyte range and the connection is at least 100 Mbps with stable throughput, the answer is Storage Transfer Service. If the question mentions ongoing or scheduled transfers, that is also a Storage Transfer Service signal because Transfer Appliance is for one-time migrations.
For smaller uploads where you do not need a managed transfer service, you can push data directly to Cloud Storage from the command line. There are two tools that do essentially the same thing with slightly different syntax: gcloud storage and gsutil.
With gcloud storage, a single file upload looks like this:
gcloud storage cp [LOCAL_FILE] gs://[BUCKET_NAME]/
And a directory upload uses the -r flag for a recursive copy:
gcloud storage cp -r [DIRECTORY] gs://[BUCKET_NAME]/
The gsutil equivalents follow the same pattern:
gsutil cp [LOCAL_FILE] gs://[BUCKET_NAME]/
gsutil cp -r [DIRECTORY] gs://[BUCKET_NAME]/
Both tools work fine. gcloud storage is the newer interface and is what Google Cloud is steering customers toward, but gsutil still shows up in plenty of documentation and existing scripts. For exam purposes, recognize either form as a valid way to upload data from a local machine to a bucket.
My Professional Cloud Architect course covers Transfer Appliance and Storage Transfer Service alongside the rest of the storage and analytics material.