Bio

I am a software architect with 20 years of experience in designing and developing enterprise software systems.

My expertise includes Microservices Architecture, Cloud Technologies, NoSql Databases, UI Technologies, Middlewares, and…


Microservices is an architecture pattern that is realized through a set of patterns and technologies. This article sets the foundation for our series which helps in understanding each of these patterns along with their sample implementations. Our exercise-driven learning series is based on Spring Boot, Spring Cloud, and the related technologies.

Image by Arek Socha from Pixabay

Before we jump into the world of Microservices, let's spend some time understanding the fundamentals. As it involves, a multitude of technologies, it's easy to lose track. If you think, you are already aware of the fundamentals, associated patterns, and frameworks, you can skip it and move to the series directly.

What is Microservices?

The new architecture pattern is been adopted by almost all sizes of organizations, be it small, medium, or large. Organizations have started realizing the value of it. In spite of such widespread adoption of this pattern, it's unfortunate, there is no consistent definition of Microservices.

One of the early…


In this article, we are going to understand the fundamentals of Centralized Configuration Service based on Spring Cloud Config. We will do the sample implementation based on Spring Boot & Spring Cloud.

Photo by Rima Kruciene on Unsplash

Spring Cloud Config is one of the Spring Cloud Projects. This is directly mapped to one of the important patterns of Microservice Architecture — Centralized Configuration Service. This provides the means to centralize and manage the externalized configurations across different applications/services in a distributed system.

We will walk through this topic in the following steps

Understanding Traditional Configuration Options and Challenges

Configurations increase the flexibility of our applications(services). We can deploy the same application in multiple environments or we can change the providers (like a database) with minimal or no code change.


In this article, we will try to understand the fundamentals of Spring Cloud Gateway which represents one of the most important patterns in the Microservices Architecture — API Gateway. We will create sample implementations based on Spring Boot & Spring Cloud Gateway. This is the fifth part of our Spring Boot Microservices series.

Photo by Zetong Li on Unsplash

API Gateway

Spring Cloud Gateway provides a library to build an API Gateway. This is the preferred gateway implementation provided by Spring Cloud. It's built with Spring 5, Spring Boot 2, and Project Reactor.

To understand the offerings of Spring Cloud Gateway we must understand the API Gateway pattern in detail. Let's assume, we are implementing the microservices architecture for our e-commerce system. One of the microservices in the system is Product Catalog Service, which is responsible to manage product lifecycle through — create, update, delete, and get operations. Let’s go through some common scenarios, we might come across —

Scenario 1 — Multiple Versions of Service


In this article, we will learn the fundamentals of one of the must pattern in the Microservices world — Circuit Breaker. We will do the sample implementation based on Spring Boot, Spring Cloud & Resilience4j. This is the sixth part of our Spring Boot Microservices series.

What is Circuit Breaker?

As the name suggests, the pattern derives its inspiration from the electrical switches, which are designed to protect an electrical circuit from damage, caused by excess current from an overload.

When a particular microservice or resource is not responding, this pattern helps in registering the fault, switching off the communication, and restoring it back when the service is ready to serve the requests. This helps the microservice ecosystem in multiple ways —

  1. It handles the service failure and exits gracefully
  2. It helps in reducing the overload on the service, which is already stressed
  3. It stops the spread of failure across…

The article provides a quick view on the architecture, core components and functions of Snowflake, focussed towards the how part of it.

Photo by Darius Cotoi on Unsplash

Overview

Snowflake is the leading data warehouse technology. But that’s not all, it provides support for many other data oriented implementations including data lake, advanced analytics, data engineering, etc.

On top of it, it provides many additional features such as data security, time travel, disaster recovery, etc.

The platform is offered as software as a service, which means we do not need to worry about the hardware or software needs of such implementations. Internally it utilizes the compute and storage options available over the cloud. This also makes it a highly scalable and available system.

In subsequent sections, we are going…


This article highlights the limitations, challenges and shortcomings with snowflake technology

Photo by Til Jentzsch on Unsplash

Overview

Snowflake is undoubtedly one of the leading data warehouse technologies and provides multiple benefits over its traditional counterparts. I already covered the benefits in one of my articles.

In this article I am going to capture the other side of it — Limitations, challenges and shortcomings of Snowflake.

No On-premise Option

Snowflake is available as a SAAS (Software as a Service) offering, which means we cannot host it on premise. This leads to relatively less control over the implementation.

Though snowflake provides multiple cloud options, the count is just three — AWS, Azure and Google Cloud. If you are on another cloud platform…


The article discusses the key benefits and offerings of Snowflake.

Photo by Wolfgang Hasselmann on Unsplash

Overview

Snowflake started as the cloud based data warehouse in 2014 and has evolved into an end to end data solution provider, since then. It can be defined as —

A fully managed, software as a service for data warehousing, data lakes, data engineering, data science, data application development, and for securely sharing and consuming shared data.

Because of its promising set of data solutions, it is listed as one of the leading technologies in the technology radar by thoughtworks. In this article, I will take a deeper dive into the benefits it brings on the table.

Supports Multiple Data Oriented Use Cases

One of the USP(unique…


The article covers the fundamentals of delta lake — definition, benefits, core components, limitations and future roadmap

Photo by Salmen Bejaoui on Unsplash

What is Delta Lake?

Delta lake is one of the key products offered by Databricks, which is the “Data + AI” company. The company was founded in 2013 by the original creators of Apache Spark™.

By definition, Delta Lake is an open format storage layer that delivers reliability, security and performance on data lake — for both streaming and batch operations. …


This article covers the fundamentals of lakehouse architecture along with its needs, evolution, core components, functions, technologies, challenges and the roadmap.

Photo by Luca Bravo on Unsplash

Overview

When it comes to data analytics, the current ecosystem is divided in two segments — one which is based on traditional data-warehouse systems (like Teradata) and the other which is based on datalakes using technologies like Amazon S3, GCS, etc. Both these models have their pros and cons and typically co-exist in an organization.

Lakehouse architecture combines the benefits of both these worlds — data lakes and data warehouses.

As per the paper presented in CIDR 2021 (Conference on Innovative Data Systems Research), Lakehouse Architecture can be defined as a data management system based on low-cost and directly-accessible storage that…

Lal Verma

Technology Evangelist|Microservices Architecture,Cloud Technologies,Enterprise Softwares: https://www.udemy.com/course/understanding-microservices-architecture

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