CloudEvents Basics

I talked about CloudEvents in the context of event-driven architectures before. In this post, let’s explore CloudEvents in more depth. CloudEvents: Why? What? CloudEvents is a popular specification for describing event data in a common way with the goal of increasing interoperability between different event systems. Google Cloud’s Eventarc, open-source Knative, Azure’s Event Grid, and many more projects rely on CloudEvent specification to define their event formats. CloudEvents, at its core, defines a set of metadata, called “context attributes”. Read More →

Extending Cloud Code with custom templates

Cloud Code is a set of IDE plugins for popular IDEs that make it easier to create, deploy and integrate applications with Google Cloud. Cloud Code provides an excellent extension mechanism through custom templates. In this post, I show you how you can create and use your own custom templates to add some features beyond those supported natively in Cloud Code, such as .NET functions, event triggered functions and more. As a recap, in my Introducing Cloud Functions support in Cloud Code post, I pointed out some limitations of the current Cloud Functions support in Cloud Code: Read More →

How to use Google Cloud Serverless tech to iterate quickly in a startup environment

In a startup, you need to get to the MVP fast, gather feedback from early adopters, and iterate in a quick cycle. Anything that takes time away from developing and iterating on features delays the launch and that’s a serious problem when time-to-market is crucial. Google Cloud offers products that can help you to build and run your backend services on a fully managed serverless platform, saving time and freeing you from the burden of provisioning and managing infrastructure needed to run those services. Read More ↗︎

Introducing Cloud Functions support in Cloud Code

Cloud Code has been providing IDE support for the development cycle of Kubernetes and Cloud Run applications for a while now. I’m happy to report that the Dec 2022 version (1.21.0) of Cloud Code now supports Cloud Functions! In this first release of Cloud Functions support, you can: Use the Cloud Functions Explorer to view your project’s Cloud Functions properties and source code. Download your Cloud Functions to edit your code locally, then configure your local workspace to deploy those changes directly from Cloud Code. Read More →

Workflows patterns and best practices - Part 3

This is a three-part series of posts, in which we summarize Workflows and service orchestration patterns. In this third and final post, we talk about managing workflow life cycles and the benefits of using Firestore with Workflows. If you’re not careful, the workflow definitions you create with YAML or JSON can get out of hand pretty quickly. While it is possible to use subworkflows to define snippets of a workflow that can be reused from multiple workflows, Workflows does not support importing these subworkflows. Read More ↗︎

Workflows patterns and best practices - Part 2

This is part 2 of a three-part series of posts, in which we summarize Workflows and service orchestration patterns. You can apply these patterns to better take advantage of Workflows and service orchestration on Google Cloud. In the first post, we introduced some general tips and tricks, as well as patterns for event-driven orchestrations, parallel steps, and connectors. This second post covers more advanced patterns. Let’s dive in! Design for resiliency with retries and the saga pattern It’s easy to put together a workflow that chains a series of services, especially if you assume that those services will never fail. Read More ↗︎

Workflows patterns and best practices - Part 1

For the last couple of years, we’ve been using Workflows, Google Cloud’s service orchestrator, to bring order to our serverless microservices architectures. As we used and gained more experience with Workflows and service orchestration, we shared what he had learned in conference talks, blog posts, samples, and tutorials. Along the way, some common patterns and best practices emerged. To help you take better advantage of Workflows and service orchestration on Google Cloud, we’ve summarized these proven patterns and best practices in a three-part series of blog posts. Read More ↗︎

.NET 7 on Cloud Run

.NET 7 was released a few days ago with new features and performance improvements and it’s already supported on Cloud Run on Google Cloud! In this short blog post, I show you how to deploy a .NET 7 web app to Cloud Run. Create a .NET 7 web app First, make sure you’re on .NET 7: dotnet --version 7.0.100 Create a simple web app: dotnet new web -o helloworld-dotnet7 This creates the helloworld-dotnet7 folder with a project file. Read More →

Executing commands (gcloud, kubectl) from Workflows

In a previous post, I showed how to manage the lifecycle of a virtual machine using Workflows and the Compute Engine connector. This works well when there’s a connector for the resource you’re trying to manage. When there is no connector, you can try to use the API of the resource from Workflows, if there’s one. Alternatively, you can also use my favorite command line tool to manage the resource: gcloud. Read More →

Workflows that pause and wait for human approvals from Google Sheets

I’ve been writing a series of posts to showcase Google Workspace and Google Cloud Workflows integration. In my first post, I showed an IT automation use case in which a Google Sheets spreadsheet triggers a workflow to create virtual machines in Google Cloud. In the second post, I showed how to feed a Google Sheets spreadsheet with data from BigQuery using a workflow. In this third and final post of the series, I show how to design a workflow that pauses and waits for human approvals from Google Sheets. Read More →