Empowering Business & Developers with Microservice Architecture: Part-I Introduction
As business, we create the room to showcase the products and value them in all the aspects. We’re the one who put the idea to create own world.
As developers, we’re the builder of new era, creating the ideas and putting logics in the form of code that helps business to transform their idea in the shape of a Software products. On the one hand we help to simplified complex problems for business and on another aspect, we craft various patterns & practices to layout the plan and to resolve these complex problems.
From above both business and developers are two different sides of a same coin. I am trying to cover both aspects with respect to microservices architecture. In this first part, I am starting with the introduction of microservice architecture.
From the early days of having tiers and layers being represented interchangeably and mostly being same, we have come a long way to the world of Microservices. As a software developer I am not able to shake off the contentment I had just to see my code neatly stacked across the three layers lovingly referred as Presentation layer, Business layer and the Database layer. The application architecture we are talking about is referred as Monolithic architecture. Depending on the level of our prowess with OOPs we would employ classes, interfaces and shared libraries to keep the code manageable.
There wasn't anything wrong with the approach. However, there wasn't humongous amount of internet traffic or expectation of lightning speed responses to deal with either. So, after employing best of patterns and spending days of refactoring it was becoming apparent that it wasn't enough to handle the enterprise applications. Before we move on to Microservices let's see what are the challenges with Monolithic architecture.
Monolithic Architecture Limitations
I will try to list them here in the sequence of importance as a developer (in my experience):
Monolithic Architecture Benefits
Microservices
The term microservices was used for the first time in mid-2011 at a workshop on software architects. In March 2012, James Lewis presented some of his ideas about microservices. By the end of 2013, various groups from the IT industry started having discussions about microservices, and by 2014, they had become popular enough to be considered a serious contender for large enterprises.
In 2014, James Lewis and Martin Fowler came together and provided a few real-world examples as well as presenting microservices (reference- https://martinfowler.com/microservices/ ) as follows:
领英推荐
The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and are independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and may use different data storage technologies.
Microservices Attributes
In view point of a developer, microservices attributes are the set of practices and discipline along with these attribute-based development, that creates a true Microservice architecture. Let's see what are the core attributes are:
As developer, the transitioning of the monolithic application is not just another fad or forced change. This is a natural and gradual transition in the way we develop application while responding over time to the change in sheer size of the applications or the volume of traffic these applications are meant to handle.
Closing
In this first part, I tried to cover very basic and introductory level aspect of microservices in view of a developer. In the upcoming series, I will cover more advance topics.
*Cover image credits: Medical abstract vector created by Starline
Founder Shiksha ?? ??? |Writer |BJP |circle secretary Anti corruption front Merut Up(BVM)|Legal Advisor|social activist
2 年Good article, nice to see you back in action
IIB//WMB||IBM ACE || WebSphere MQ || Mulesoft Developer || Devops Engineer||Docker||kubernetes||AWS||Core Java||Advanced Java
2 年Very Good Article Gaurav Aroraa
IBM Executive Architect | Hybrid Cloud Architect | Senior Inventor | Author | Builder
2 年Very good article Gaurav. Waiting for the next chapter!
APAC Practice Leader, Complex Solution Architecture at IBM Consulting
2 年Good article Gaurav
IBM Master Inventor | International Published Author | ATL Mentor of Change | Delhi Business Blaster & Innovation Coach | Delivering IT Excellence through Innovation | Partner, Hybrid Cloud Services at IBM Consulting
2 年Very nicely explained. From a Manage perspective, Monoliths have long lines of code & difficult to debug, long start up time and difficult to monitor, track, test or scale, and hence costly to maintain & sustain. Microservices are easier to manage, easier to debug & fix, easier to optimise on cost & efficiency, and simple to scale. Eagerly waiting for the next posts in this series.