๐ซ
MSA (Micro Service Architecture)is anarchitectural patternthat organises anapplicationinto theloosely-coupledandindependently functioningservices.

Available at here
MSA is often implemented via REST APIs where each services communicate via APIs or message queues where some services follow the subscription model combined with light protocols than the REST API.
The core of MSA (Microservices Architecture) lies in the independence of services where each microservice has its own independent database.
๐ฆ
Database synchronisationhas to be as well implemented ifMSAimplements theindependent database.
Implementing MSA can be considered as MSA:
๐ improves app-wise flexibility and scalability
allows modifications or updates to be made to specific parts of the system without impacting the entire system
when the demand for a specific service increases, only that service can be scaled
various technology stacks can be implemented independently
๐ improves stability from the fault isolation
application from a single service failing over๐๏ธ simplifies CI/CD processes
MSA, however, has the following drawbacks:
๐ฎ increased overall complexities at the architecture level
๐ high overhead from network latencies and message processing times from the inter-service calls
๐ท followed by possibilities of MSA built in different tools, engineers moving between projects frequently could be challenging (high learning curve)
MSA (Microservices Architecture) has been successfully adopted by many companies worldwide. For example, Netflix, Amazon, and eBay have significantly improved the scalability and flexibility of their systems through MSA.
Netflix is one of the most prominent examples of MSA adoption. Netflix implemented MSA to support its rapid service growth and global expansion. This enabled Netflix to efficiently handle high traffic volumes and large amounts of data.
Amazon initially used a large monolithic architecture but transitioned to MSA due to its business growth and the need for diverse services. This transition allowed Amazon to enable independent development and deployment of services, thereby enhancing the scalability of its system.
These companies adopted MSA to achieve faster development and deployment of services, higher system stability, and the ability to utilise diverse technology stacks. This demonstrates that MSA is a well-suited architecture for modern software development.
These real-world examples show that adopting MSA provides tangible benefits to businesses, enabling them to respond flexibly to growth and change. As a result, MSA will continue to be adopted by many companies in the future.
F-Lab
Microsoft
์๋ฐ ๊ธฐ๋ฐ์ ๋ง์ดํฌ๋ก์๋น์ค ์ดํด์ ์ํคํ
์ฒ ๊ตฌ์ถํ๊ธฐ