Micro service Architecture

Abdul Hameed P
3 min readApr 2, 2019

--

The term “Microservice Architecture” has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data. — Martin Flower

“Microservices” — yet another new term on the crowded streets of software architecture. Although our natural inclination is to pass such things by with a contemptuous glance, this bit of terminology describes a style of software systems that we are finding more and more appealing. We’ve seen many projects use this style in the last few years, and results so far have been positive, so much so that for many of our colleagues this is becoming the default style for building enterprise applications. Sadly, however, there’s not much information that outlines what the microservice style is and how to do it.

In short, the microservice architectural is an approach of 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 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 use different data storage technologies.

Before to start with Microservices let’s know about Monolithic application architecture.

What’s Monolithic ?

A monolithic application built as a single unit. Enterprise Applications are often built in three main parts: a client-side user interface (consisting of HTML pages and javascript running in a browser on the user’s machine) a database (consisting of many tables inserted into a common, and usually relational, database management system), and a server-side application. The server-side application will handle HTTP requests, execute domain logic, retrieve and update data from the database, and select and populate HTML views to be sent to the browser. Architecture diagram is provided in below.

Image result for monolithic vs microservice

What’s Microservice ?

In short, 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 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 use different data storage technologies.

Is Microservices the future?

The main purpose of this article is to explain the main ideas and principles of microservices. By taking the time to do this, we clearly believe that the microservice architecture style is an important idea — it is worth considering it carefully when developing an enterprise system. We have recently built several systems in this way, and we know that other teams agree with this style.

My level is limited. If there is anything wrong, please help me to correct me, thank you.

--

--

Abdul Hameed P
0 Followers

Tech Learner, Node JS, JAVA, React JS, Angular, React Native, Big Data Technologies. Linked in — https://www.linkedin.com/in/abdulhameedp/