Microservices architecture is one of the most popular ways of building a modern software system. At its core, microservice architecture involves building software applications using smaller cohesive services. Rather than building a large monolith, you build small independently deployable services. As a result, a single team can own end-to-end functionality.

What is microservices architecture?

In the olden days, a software application was built as a large monolith, and It’s still being done. However, in recent times microservices architecture has become a popular choice for developing software applications. In a microservice architecture, the microservices often need to communicate with each other. …

Photo by Alina Grubnyak on Unsplash

The gRPC is a remote procedure call (RPC) framework that’s used for inter microservices communication. The gRPC supports four types of RPC:

  1. Unary RPC: the client sends a single request and receives a single response.
  2. Server streaming RPC: the client sends a single request and in return, the server sends…

Photo by Adi Goldstein on Unsplash

In the previous post RESTful Microservices with Spring Boot and Kubernetes, I explained how to design and develop a microservice application using Spring Boot.

Although this post talks about the Spring Boot application, the concepts discussed apply to any microservice application.

Are you curious to know how to deploy microservices…

In 2012, I attended the JavaOne conference. In one of the talks, eBay engineers talked about how eBay was running 50,000 servers. They also mentioned that eBay was experimenting with a self-healing system to manage a fleet of 50,000 servers. This generated quite a buzz among the participants. Self-healing was…

Photo by Loik Marras on Unsplash

What is helm?

Consider you need to deploy a complex microservices application on Kubernetes. Most likely you will end up maintaining many YAML files for each microservices. Maintaining those YAML files is complex and error-prone. This is where Helm comes into the picture.

Helm is an application package manager for Kubernetes (think apt…

Photo by Pelipoer Lara from Pexels

Kind, also know as Kubernetes in Docker is a tool for creating a local Kubernetes cluster using a Docker container. In this article, we are going to learn:

  • What is Kind?
  • Interacting with Kind
  • Installing ingress controller
  • Accessing application using ingress

What is kind?

Kind allows you to run Kubernetes locally. You can…

@pixabay on pexels.com

An API Gateway or Backend for frontend (BFF) is an important design pattern for building applications based on microservices architecture. I touched on the API Gateway, aka Backend for Frontend (BFF), in the article gRPC for microservices communication. In this article, I will delve deeper into the whys of API…

Photo by Florian Krumm on Unsplash

gRPC is one of the most popular modern RPC frameworks for inter-process communication. It’s a great choice for microservice architecture. And, undoubtedly, The most popular way to deploy a microservice application is Kubernetes.

A Kubernetes deployment can have identical back-end instances serving many client requests. Kubernetes’s ClusterIP service provides load-balanced…

Photo by Markus Spiske on Unsplash

Handling errors right can be tricky and it can be even trickier in gRPC. The current version of the gRPC only has limited built-in error handling based on simple status codes and metadata. In this article, we will see the limitations of gRPC error handling and how to overcome and…

Pankaj Kumar

Software Architect @ Schlumberger ``` Cloud | Microservices | Programming | Kubernetes | Architecture | Machine Learning | Java | Python ```

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store