개발일지
MSA(Microservice Architecture)란?
윤승임
2023. 3. 29. 14:56
MSA 또는 Microservice Architecture는 애플리케이션을 작은 독립적인 서비스로 분해하는 소프트웨어 아키텍처이다.
각 서비스는 고유한 비즈니스 로직을 수행하며, 서로 다른 기술 스택과 데이터 스토어를 사용할 수 있다.
이러한 작은 서비스들은 API를 통해 서로 통신하며, 이를 통해 더 큰 애플리케이션을 구성한다.
MSA를 사용하면 애플리케이션의 부분적인 변경이나 업그레이드가 전체 애플리케이션에 영향을 미치지 않는다.
장점으로는 개발자들이 각 서비스를 더 작고 관리 가능한 단위로 분해할 수 있기 때문에,
기능 추가나 유지보수가 용이하고
서비스 간 독립적인 배포와 확장이 가능해져서 전체 애플리케이션의 가용성과 확장성을 높일 수 있다.
하지만 MSA를 구현하는 것은 전체 애플리케이션 설계 및 운영에 대한 복잡도를 증가시키기 때문에, 적절한 도구 및 자동화 도구를 사용하는 것이 중요하다.
이러한 이유로 MSA를 사용하는 조직들은 대부분 DevOps 문화와 함께 클라우드 네이티브 기술 스택을 사용하고 있다.