“Software does not fail” is a provocative statement and your initial reaction maybe to dismiss it. But if we look deeper, software “failure” is never random compared to possible random failure of hardware components (refer to Dr Nancy Leveson, YouTube, Engineering a Safer World). Yes, there are hard to reproduce issues but software execution is as per the code. The failure is of assumptions, requirements and unhandled conditions that go into writing that code. For example, the recent AWS us-east-1 incident involved no hardware or software failure, rather the complexity of interaction of various components and assumptions made in the…
Getting started from an excellent intro from Charlie Flanagan and his Machine Learning for Business class here is some experimentation with my own models, Google AutoML and AWS SageMaker.
Product reviews from a women’s clothing ecommerce store are provided. Based on each review it has been classified as whether the reviewer would recommend that product or not. Along with each review some additional features are also provided. The goal is to create a model that can predict the likelihood of product recommendation given the customer review and some additional features.
Using Colab and following Charlie’s example.
Step1 — Data and…
In a recent presentation about API Gateways, I got a question about service mesh and I did not understand the question or have a good answer. So here is an attempt to understand these concepts and see how they fit together in the context of a typical container based microservice deployment. At the end of the day it is about routing and shaping traffic.
API Gateways have been around for a while and are an essential component of the “Full Lifecycle API Management” products as Gartner puts it. In this full lifecycle, the API Gateway is typically a L7 reverse…
In this post I am expanding on an original question I asked recently where I am looking for an opinionated build/deploy solution. I will provide some context on the software delivery model and tools used today, challenges with it and issues I am seeking to answer.
I live in the backend Java/Kubernetes ecosystem for Cloud/SaaS services so all examples are in context of that world. Tools/frameworks listed are examples only.
There are numerous tools and frameworks that need to be stitched together to perform various necessary steps to deliver a cloud service. …
Kubernetes docs give a good explanation of what their probes are but for your app how can we best translate these?
Think of kubelet asking the following questions to your app and here are some suggestions on how you should answer. Note that kubelet continuously asks these questions, not just at startup.
Can this pod serve traffic?
Currently I have this limited to “can I connect to my database?” That is the absolute must have. If the database is unreachable then this pod is not ready.
One decision you need to make is about partial availability. For example some microservices…
Some commands that are used occasionally and end up needing a stack overflow search.
Get rid of any commits that are not pushed and reset to origin.
git checkout master
git reset --hard origin/master
Get rid of commits not pushed but keep the changes.
git reset HEAD~1 --soft
What I am doing is replacing a service running inside Minikube with one running on my local host (in IntelliJ). This helps to debug and change code quickly without have to build the image and update it in Minikube.
Assuming you have 3 microservices with a flow like Request → ServiceA → ServiceB → ServiceC. …
Getting into the world of Ethereum one of the learning curve has been about gas.
Gas is essentially how you track and then compute the cost you need to pay for the transaction you submit to the Etheruem network and is collected by the miners.
gasLimit, startGas, gasUsed, gasRemaining and gasPrice.
The fuel analogy is good but what helps me understand is the unit of measure for each.
I think of all these attributes except
gasPrice in the unit “cycle” (thinking about CPU cycles per instruction) while
gasPrice is “ETH/cycle”. …