❯ Guillaume Laforge

Day 1 with Workflows — Your first step to Hello World

With more and more interconnected services, making sense of their interactions becomes critical. With Google Cloud Workflows, developers can orchestrate and automate such complex systems by creating serverless workflows.

In this series of articles, we will learn together how to use Goole Cloud Workflows, and get to know all its features, with short and easy to read tutorials. For our first day, we’ll discover and use the Workflows UI in the cloud console. We will create a simple “hello world” workflow, consisting of a simple step. Going further, in the coming days, we’ll learn more about advanced features. But first things first!

Read more...

Orchestrating microservices with Google Cloud Workflows

The trend toward splitting a monolith into fine-grained loosely-coupled microservices has its merits. It allows us to scale parts of an application more easily. Teams become more effective on their focused perimeter. However, in a chain or graph of services interacting with each other via message buses or other eventing mechanisms, it becomes difficult to understand when things start to break. Your business processes spanning those services are in limbo. Here starts detective work to find out how to get back on track.

Read more...

Running Micronaut serverlessly on Google Cloud Platform

Last week, I had the pleasure of presenting Micronaut in action on Google Cloud Platform, via a webinar organized by OCI. Particularly, I focused on the serverless compute options available: Cloud Functions, App Engine, and Cloud Run.

Here are the slides I presented. However, the real meat is in the demos which are not displayed on this deck! So let’s have a closer look at them, until the video is published online.

On Google Cloud Platform, you have three solutions when you want to deploy your code in a serverless fashion (ie. hassle-free infrastructure, automatic scaling, pays-as-you-go): 

Read more...

Introducing Java 11 on Google Cloud Functions

The Java programming language recently turned 25 years old, and it’s still one of the top-used languages powering today’s enterprise application customers. On Google Cloud, you can already run serverless Java microservices in App Engine and Cloud Run. Today we’re bringing Java 11 to Google Cloud Functions, an event-driven serverless compute platform that lets you run locally or in the cloud without having to provision servers. That means you can now write Cloud Functions using your favorite JVM languages (JavaKotlinGroovyScala, etc) with our Functions Framework for Java, and also with Spring Cloud Functions and Micronaut!

Read more...

Sip a Cup of Java 11 for Your Cloud Functions

With the beta of the new Java 11 runtime for Google Cloud Functions, Java developers can now write their functions using the Java programming language (a language often used in enterprises) in addition to Node.js, Go, or Python. Cloud Functions allow you to run bits of code locally or in the cloud, without provisioning or managing servers: Deploy your code, and let the platform handle scaling up and down for you. Just focus on your code: handle incoming HTTP requests or respond to some cloud events, like messages coming from Cloud Pub/Sub or new files uploaded in Cloud Storage buckets.

Read more...

Deploying serverless functions in Groovy on the new Java 11 runtime for Google Cloud Functions

Java celebrates its 25th anniversary!  Earlier this year, the Apache Groovy team released the big  3.0 version of the programming language.  GMavenPlus was published in version 1.9 (the Maven plugin for compiling Groovy code) which works with Java 14. And today, Google Cloud opens up the beta of the  Java 11 runtime for Cloud Functions. What about combining them all?

I’ve been working for a bit on the Java 11 runtime for Google Cloud Functions (that’s the Function-as-a-Service platform of Google Cloud, pay-as-you-go, hassle-free / transparent scaling), and in this article, I’d like to highlight that you can also write and deploy functions with alternative JVM languages  like Apache Groovy.

Read more...

Machine learning applied music generation with Magenta

I missed this talk from Alexandre Dubreuil, when attending Devoxx Belgium 2019, but I had the chance to watch while doing my elliptical bike run, confined at home. It’s about applying Machine Learning to music generation, thanks to the Magenta project, which is based on Tensorflow.

I like playing music (a bit of piano & guitar) once in a while, so as a geek, I’ve also always been interested in computer generated music. And it’s hard to generate music that actually sounds pleasant to the ear! Alexandre explains that it’s hard to encode the rules a computer could follow to play music, but that machine learning is pretty interesting, as it’s able to learn complex functions, thus understanding what does sound good.

Read more...

HTML semantic tags

We all know about HTML 5, right? Well, I knew about some of the new semantic tags, like header / nav / main / article / aside / footer, but I’m still falling down to using tons of divs and spans instead. So as I want to refresh that blog at some point, it was time I revise those semantic tags. Let’s take the little time we have during confinement to learn something!

Read more...

Modern web game development

Next in my series of videos while doing sports at home, I watched this video from my colleague Tom Greenaway! It’s about modern web game development, and was recorded last year at Google I/O.

There are big gaming platforms, like Sony’s PlayStation, Microsoft’s XBox, Nintendo Switch, as well as plenty of mobile games on Android and iOS. But the Web itself, within your browser, is also a great platform for developing and publishing games! There’s all that’s needed for good games!

Read more...

Decoding a QR code by hand

Doing sport at home on a treadmill or an elliptical bike is pretty boring, when you’re confined, so to make things more interesting, I’m watching some videos to learn something new while exercising. This time, I found this old video about how to decode QR codes… by hand! Have you ever thought how these were encoded?

This video comes from the Robomatics YouTube channel. You recognise easily QR codes thanks to the 3 big squares with the inner white line. I knew about the purple dotted lines that was fixed in those patterns. What I didn’t know however was that there’s a mask that is applied to the data, to avoid QR codes to potentially look all white or black. It was interesting to see also how the bytes were encoded: how they follow a path through out the matrix.

Read more...