Cloud Functions — to develop and run functions, small units of logic glue, to react to events of your cloud projects and services
App Engine — to deploy web apps, for web frontends, or API backends
Cloud Run — to deploy and scale containerised services
The theme of the workshop is to build a simple photosharing application (hence the play on words, with a picture a day) with those serverless products, but along the way, developers also get to use other services like:
Pub/Sub — as a messaging fabric to let events flow between your services
Firestore — for storing picture metadata in the scalable document database
Cloud Vision API — a machine learning API to make sense of what's in your pictures
The workshop is freely accessible on our codelabs platform: "Pic-a-Daily" serverless workshop. So you can follow this hands-on workshop on your own, at your own pace. There are 4 codelabs:
The first one lets you build a function that responds to events as new pictures are uploaded into Cloud Storage, invoking the Vision API to understand what is in the picture, and storing some picture metadata information in Firestore.
The second lab will use a Cloud Run service which reacts to new files stored in Cloud Storage too, but will create thumbnails of the pictures.
A third lab is also taking advantage of Cloud Run to run on a schedule, thanks to Cloud Scheduler. It creates a collage of the most recent pictures.
Last but not least, the fourth lab will let you build a web frontend and backend API on Google App Engine.
We have a dedicated Github repository where you can check-out the code of the various functions, apps and containers, and you can have a look at the slide deck introducing the workshop and the technologies used.
And now, the videos of the first edition are also available on YouTube!
The first part covers Cloud Functions and Cloud Run with the first two labs:
Guillaume Laforge is blogging here about whatever comes to his mind,
but mostly about technology, and especially topics related to
the Groovy dynamic language,
the Gaelyk lightweight toolkit
for developing applications for Google App Engine,
and all the other cool things in the Java and Groovy ecosystem.