Future is Digging History

SOA and Microservices

In the continuation of last two blogs "IT security" and then "Renovation and Evolution of programming languages" under the concept of “Future is Digging History”, again we will look into an important concept in the software development which is “SOA and Microservices”.

SOA and Microservices (variant of SOA) are very important for Architects and Software designers as technology is changing rapidly, it is very essential to have the knowledge of this concepts to transform the existing applications into new design or even design the complete new application from scratch to adopt the latest technological changes (both hardware and hence programming paradigms).

First of all we will see what SOA is:

SOA stands for “Service Oriented Architecture”, the concept of breaking an application into the independent modules called services and have the way so that they can communicate with each other to accomplish the complicated task.

So, why this is done is to enhance the SDLC, and solve the organizational problems.

It tries to solve the organizational problems like, team is too large to work on shared or compact code base, teams working on different modules of the same application are blocked or can’t make progress due to other modules, and communication overhead becomes gigantic and hence lead to Product velocity stalled.

So, the idea of SOA is to divide the large application into the small modules and provide the way so that they can communicate, and the ways are socket, shred memory, pipes, disk files etc.

The benefit of doing this is it improves the maintenance, working and delivery of different modules simultaneously.

The main focus of this style is to have distributed systems rather than centralized ones.

The building blocks of SOA at broad level are:

1)  Service Provider

2)  Service broker

3)  Service consumer

However, according to the need the application can have many more blocks designed.

Microservices

Microservice is again the variant of Service Oriented Architecture however, it focuses on minimizing the communication overhead and making different modules (services) fine-grained.

The main philosophy of SOA or rather Microservices is “Do one small thing but do it well”.

Services can be viewed as small fine-grained module like simple function in the procedural paradigm handling independent and single functionality.


The SOA and microservices offer above mentioned benefit of modularization, the important aspect of this system is to provide platform and programming language/technological flexibility.

This, means the different modules can be implemented using different programming languages according to the need and the problem particular service intended to solve.

The thumb rule should be kept in mind while adopting Microservice architecture is, it solves organizational problems but causes technical problems.

Some drawbacks are:

Though, this technique is widely used, however there is no universally accepted standard of implementation.

The problems caused by Microservice architecture includes addressability i.e. service discovery, monitoring and instrumentation, distributed tracing, communication overhead and the main aspect of security.


Conclusion:

So, the IT professionals have the great responsibility to correctly design the architecture and break down their product into modules to adopt SOA/Microservies with great caution, so that organization can balance between the Organizational problems can be solved and technical problems can be minimized.






Kaustubh Kelkar

Software Engineer | Programmer | Security Enthusiast

7 年

Nice article! Thanks for throwing light on the concept.

回复

要查看或添加评论,请登录

Anand Mokashi的更多文章

  • Windows 10 In-built Virtualization

    Windows 10 In-built Virtualization

    Virtualization technology refers to creating a virtual version of anything including Operating System, Network System…

    7 条评论
  • To be Conscious of Consciousness

    To be Conscious of Consciousness

    The title "To be Conscious of Consciousness" seems difficult. It's not only difficult but impossible, still to be…

  • Realizing yourself: Philosophical approach

    Realizing yourself: Philosophical approach

    Imagine you are with an apple in your hand and you yourself come in front of you and analyze. Sounds fictitious! The…

    1 条评论
  • Contemplation on searching God

    Contemplation on searching God

    There has always been a fight in between modern science and spirituality. But the fact is purpose of both the faculties…

  • Future is Digging History

    Future is Digging History

    Storage and Mahabharat This topic introduces the storage system and tries to trace its usage back to Mahabharat, again…

    2 条评论
  • Future is Digging History

    Future is Digging History

    IT is moving towards Procedural Programming Welcome readers after a bit long to the blog under the concept of "Future…

  • Future is Digging History

    Future is Digging History

    Renovation and Evolution of Programming Languages In continuation of ITsec topic discussed last month under the concept…

  • Future is digging history

    Future is digging history

    Dear readers I am starting new blog writing under the name (concept) of future is digging history intended to share the…

社区洞察

其他会员也浏览了