Part 2: Demystifying gRPC

Let’s assume that the dev teams have been asked to extend the services and there are multiple teams working on it. Often, the teams prefer a specific programming language for a certain job. Luckily, gRPC is supported by a broad range of languages. We are going to extend the service to communicate to a storage service, but this time the service will be written in Python. This simple service can be written in whatever language of choice but in order to showcase the gRPC functionality in Python we could say that it is a project specification.
Read more →

Part 1: Demystifying gRPC

As we are moving more towards distributed systems and micro-services, the way the services are communicating between each other becomes increasingly important. As you can imagine, the request-response delay is multiplied by the number micro-services running in the backend. Until recently, the industry standard was JSON over REST, which is a software architectural style that defines a set of recommendations for designing loosely coupled applications that use the HTTP protocol for data transmission.
Read more →

Simple Tensorflow Serving Operator

Kubernetes is a powerful and highly extensible system for managing containerized workloads and services. It has two main components, the Master Components and the Node Componenets, and extensions. The Master Components: # Kube-apiserver, the API server is the front end for the Kubernetes control plane. etcd, is a highly-available key value store used as Kubernetes’ backing store for all cluster data. kube-scheduler, is the component of the master that watches newly created pods that have no node assigned, and selects a node for them to run on.
Read more →

DialogFlow Webhook in GO

In this article, I make the assumption that you know how to setup the DialogFlow agent by using the intents and entities. I’ll just give a short description of the DialogFlow without providing too much details on how to set it up. This is the third article and last of the series, where I show another options to consume the data from a REST service. If in the first two posts, I covered the standard web pages and the mobile application using Flutter, this time I’ll do the third option which is by Voice.
Read more →

UI Flutter Rest API

In my previous posts I wrote the backend for Items Inventory application and display the items with a simple Web interface using HTML and JavaScript. In this article I’ll show how to create a Mobile UI using the Flutter toolkit. This is the second post in a series and maybe the most exciting one for me as this is my first Flutter application. The app retrieve the Items by invoking the backend REST API.
Read more →

Items Rest API & Web Page

In the HTTP Web Services I talked about the best practices on creating HTTP Web Services. My blog post was inspired by a number of articles about structuring GO code, written by a number of well-known individuals of GO community. I would recommend to read that first and then come back here. This is a continuation of that blog post, as I’ll implement persistent storage using Firestore, instead of keeping all the data in Memory.
Read more →

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 →