Continuous Delivery with Cloud Build & Cloud Run

The intent of this blog post is to try out the serverless container platform, Cloud Run and to document the steps to perform continuous deployment using Cloud Build. I’ll also talk about the new kid in town, Cloud Build Button, which allow you to deploy your application to GCP using Cloud Run directly from your source repository. The source code I’m using for this demo is a simple Inventory app written in GO, which expose a set of endpoints for CRUD operations.
Read more

HTTP Web Services

In this blog post I describe the process to create a simple Inventory app, following some best practices and guidelines of writing web services in GO. Building a web service in Go is quite simple, in fact Go has a fast and powerful built in HTTP server. It takes just a couple of lines of code to get a basic HTTP server started. ListenAndServe starts an HTTP server with a given address and handler.
Read more

Part 4: Microservices - Deploy on GKE + Istio

This the last blog post from a series of 5, where I dived into the process of creating and deploying a microservice project, named League App. It is a toy project but my intention was to showcase the technologies I used along the path from creation to deployment. In the previous blog post I deployed the League App locally, which is fine for fast development. But you’ll get into a point where you want to make the App available for the rest of the world.
Read more

Part 3: Microservices - Deploy on Minikube

In my previous blog posts I described the architecture I used to create the League App microservice and the communication between the services. Meantime, I have extended the League App by adding new services, which play specific roles. PlayerOps service perform CRUD operation over the player database, I have implemeneted just Create and Delete player functions but this can be extended easily to Read and Update . Transfer service is used to move a player from one team to another, affecting receiving/outgoing team’s capital.
Read more

Part 2 - cont: Microservices - Create the App with Go-kit

This is the continuation of the previous blog post, where I explained the microservices architecture using GO Kit framework. I strongly recommend you to read the previous post as it gives you the insights into what I’ll cover this post. I talked already about the two layers of the onion architecture: Service and Endpoints. In this post I’ll cover the Transport layer and put everything together in the main function.
Read more

Part 2: Microservices - Create the App with Go-kit

This is the second blog post of the series, where I dive into the process details and the framework I used to create the toy project. It is made up of several distinct microservices. There are a number of microservice frameworks in the wild but the most notable ones for GO are Go Micro, Go-Kit, Gizmo. Go-Kit is the one which has prompted my interest, I’m explaining below why. Asa starting point I’m creating a small application, formed by two microservices.
Read more

Part 1: Microservices - Ingesting data

I’m starting a series of 5 blog posts where I document the path I followed to create a small project which is made up of several components (microservices) deployed over a managed kubernetes infrastructure. In this first blog post I create a simple serverless data ingest pipeline, the next 2 blog posts are in depth description of the microservices architecture and the last 2 blog posts are about deploying the application in a Kubernetes environment and the mechanism to manage and monitor the services.
Read more