Javan Cipta Solusi
Published in

Javan Cipta Solusi

Microservice Versus Monolithic Architecture. What Are They?

Source of Image : https://divante.com/blog/wp-content/uploads/2020/01/Frame-1.png

You consider yourself as a developer now days but don’t know what microservice architecture is.

You’re an old school, bro.

Before we discuss whether microservice and monolithic, we must get to know what the software architecture is.

What is software architecture ?

Software architecture is defined as a basic process in creating the structure of an application which meets operational and technical requirements which consider the quality of manageability, performance and security. Each structure consists of elements of the software itself, connections or relationships of each structure and its properties. Software architecture can be used to blueprint the application to be developed and explain the definition of the tasks that need to be completed by the team.

In daily use, there are many patterns in software architecture. Some of them are commonly used by the world of software developers, as follows:

  1. Monolithic architecture
  2. Microservice architecture
  3. Event-driven architecture
  4. Layered (n-tier) architecture
  5. Space-based architecture, and many more.

In this article, the author will only compare monolithic architecture with microservice architecture

What is monolithic architecture?

Monolithic architecture is an architecture used in the process of creating applications where all the components to build applications become a single unit. One unit in this case is that the front-end application and the back-end application are in one application. Every software architecture which we used in making applications have advantages and disadvantages of each of them.

Disadvantages of monolithic architecture in application development:

  1. Substitution of technology, language or framework from the old to the newer in the application that has been built will make changes as a whole
  2. Applications in the form of large code bases will be more difficult to understand
  3. Each element in the application is tightly bound and dependent on one another so the process of updating becomes a challenge.
  4. The development of applications that become increasingly large, will reduce the performance of the application
  5. Error in a function in the application will affect the overall performance of the application

Advantages of monolithic architecture in application development:

  1. Frameworks, templates or scripts become easier to implement
  2. Development of new application is easier and simpler
  3. Applications are easier to deploy to the server or the cloud, all you need to do is place the application on the server that has been prepared
  4. Applications will be easier to be tested because they are in a single unit.

What is microservice architecture?

Microservice architecture is an architecture used in the process of application creation where each feature is developed separately and independently between one feature and another. To communicate between each feature or service using HTTP rest or message bus. In its development, it looks much more complex and requires more effort compared to monolithic architecture.

Disadvantages of microservice architecture in application development:

  1. Development complexity becomes higher. This is because each service must be run at a different runtime. Not the same as the use of monolithic that run on the same service.
  2. Automation is needed in every application development
  3. Dependency among services is high, when one service is not running, the application process will be disrupted
  4. Spending more time in every mature design which every time there is a change in a service

Advantages of microservice architecture in application development:

  1. Application maintenance made easier
  2. There is no need to worry about implementing new technology
  3. Applications are scalable, reliable and also more secure
  4. Each service can run independently means which each service can run independently without disturbing the other services.
  5. The development of each service can be done by a different team of developers

Thank you for spending your time to read this article.

Suggestions and criticisms are needed to the writer for the next article with better content and grammar

“Keep feeling curious for every new thing that you don’t know yet” — Author. April 2020

Reading Source :

https://divante.com/blog/monolithic-architecture-vs-microservices/

https://en.wikipedia.org/wiki/Software_architecture

https://indosystem.com/blog/microservices-konsep-dan-implementasi/

--

--

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