Part 2: Diagnose Go code - beginner guide

This is the continuation of the previous post. I would strongly recommend reading Part 1 first then continue here as the description of the program, the intent and the current state are relevant as we move forward. Iter 3 - Remove Contention # Iter 3 code on Github Reading line by line from the stream and sending those over to the goroutines to be processed works, but may not be the most efficient way to process a large file.
Read more →

Part 1: Diagnose Go code - beginner guide

In this blog post I’ll iterate over a simple script and refactor it each time to improve its performance. Before diving into the details I would quote a couple of well known individuals from the GO Community. “You want to write code that is optimized for correctness. Don’t make coding decisions based on what you think might perform better. You must benchmark or profile to know if code is not fast enough.
Read more →

Part 1: Exploring Tensorflow 2 - Keras API

TensorFlow is a free and open-source software library for dataflow and differentiable programming across a range of tasks and it is used for machine learning applications such as neural networks. Tensorflow has grown to become one of the widely adopted ML platforms in the world. TensorFlow offers multiple levels of abstraction so you can choose the right one for your needs. You can build and train models by using the high-level Keras API, which makes getting started with TensorFlow and machine learning easy.
Read more →

Part 3: Demystifying gRPC

gRPC describes itself as: gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services. This is Part 3 of a series of three articles describing gRPC functionality.
Read more →

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 →