MSA - Micro Service Architecture

MSA

  • Existing system
    • Install APPlication (program) on top of system (infrastructure)
    • MONOLIX : ONE SINGLE APPLICATION / SYSTEM
  • MSA: Split by function
    • micro
    • Why..? splitting ??
      • What’s better…?
      • Communication between splitted systems is possible
      • Increased complexity
      • ex 1) A failure occurred in Netflix: All services were down
        • Advantages 1 > Let’s prevent the entire site from failing at the same time!
        • stop some of the services among whole system
      • ex 2) Running multiple services in one application
        • service 1 : inquiry
        • service 2 : payment
        • service 3 : settlement
        • Advantage 2 > If, among the services, “inquiry” service occupies 90% of API calls among all functions
          • In this case, MSA is introduced from the perspective of infrastructure efficiency
          • Introduction of Auto-scale function
        • Advantage 3 > When frequent update / distribution is required
          • Only some services update / distribute only the function
  • ROI : Need to consider Return of Investment

Docker

Each service split in MSA is managed as individual IMAGE through Docker
In Docker, each service is managed as a separate image, not as a VM

  • Docker: very easy to scale compared to VM

DevOps

Each service divided in MSA can be divided into tasks such as function development / operation infrastructure management
DevOps: Development + Operations

SRE (Site Reliability Engineering)

SRE: Technology to operate a stable site

Point

Manage large-capacity services based on Service Docker while taking them to the MSA structure
MSA functional unit managed / developed by DevOps team
The goal of DevOps is to operate a site with stable / trust considering SRE

RPC Message procedure

Remote Procedure Call - Stateful Continue reading

PubSub architecture

Published on August 10, 2023

RESTful architecture

Published on August 09, 2023