Google Blobstore versus Google Cloud Storage

21,061

Solution 1

Better to use the Blobstore. The service has 5 GB of space for free (as of March 2012). The cloud storage is a paid service. The App Engine blobstore is like Amazon S3, but less flexible. It has HTTP-based API and Java / Python APIs (see http://code.google.com/appengine/docs/java/blobstore/overview.html).

Solution 2

If you're starting a new project, I would go with Cloud Storage.

It seems that Google is pushing their Cloud Storage platform harder than their blobstore platform. For example, currently programmatically writing files to the blobstore is deprecated but is supported by Cloud Storage. I can't read the future, but I would bet that Google will be deprecating more and more of the blobstore API in favor of the Cloud Storage API, which will lead to headaches down the road.

UPDATE: Programatically writing to the blobstore is no longer supported, but it is fully supported on app engine. Further, you can use the blobstore API and still use Cloud Storage as a backend. At this point, it's clear that Cloud Storage will outlive the blobstore.

UPDATE 2017: Google's official recommendation is to now Cloud Storage rather than the blobstore. Called this one 4 years ahead.

Solution 3

First, I'd say that if your HTML file(s) are small (or could be small via gzip compression), then just store it as a BlobProperty in the datastore and add meta-data properties so you can retrieve it appropriately later.

If this is not an option, then perhaps consider the future growth of your application. The two big things Cloud Storage has over the Blobstore are 1) accessibility by third-party and 2) no file size restrictions.

  • Will other services need to read or write these files as well? Then use Cloud Storage.
  • Will your files possibly exceed 50MB? Or could their sizes possibly be unknown? Then use Cloud Storage.

If, however, you KNOW that these two things will never need to be addressed for your application, then just stick with Blobstore.

Share:
21,061
Vik
Author by

Vik

http://www.oracle.com/innovation/innovator-vivek-kumar.html http://adfjsf.blogspot.com http://www.linkedin.com/vikceo http://www.twitter.com/vikceo

Updated on July 17, 2022

Comments

  • Vik
    Vik almost 2 years

    We have our application hosted on Google app engine for Java and we have a requirement where we want to store the blood donor appreciation certificates (html files) somewhere.

    So, we can use either Google Blobstore or Google Cloud Storage. I know both of these solutions are feasible to do using gae for Java

    However, the problem for us is to decide which one to use. What are the pros and cons of these two approaches?

    We are a non profit and cannot pay a lot.