빠른 개발과 다양한 요구사항에 대응하기 위해서 MSA를 적용하는 기업이 증가하고 있습니다.
특히, MSA는 클라우드 환경에서 시스템을 구축할 때 효율적인 측면이 많은데요.
떼려야 뗄 수 없는 클라우드와 MSA에 대해 알아보았습니다.
MSA(Microservices Architecture)란?
마이크로서비스 아키텍처(MSA)는 단독으로 실행 가능하고 독립적으로 배치될 수 있는 작은 단위로 기능을 분해하여 서비스하는 아키텍처로, 레고 블록을 조립하여 원하는 모양으로 만드는 것에 비유할 수 있는데요.
마이크로서비스 아키텍처 사용으로 개발자들이 클라우드 망을 통해 공유하고 협업해 자유롭게 소프트웨어를 개발할 수 있으며, 개발 및 유지보수에 드는 시간과 비용이 절감할 수 있습니다.
단일 서비스로 개발하는 기존 모놀리식 아키텍처(Monolithic Architecture) 방식과는 반대되는 의미입니다.
확장성과 빠른 대응을 위해 'MSA'로 전환을 선택한 글로벌 기업들
여러 개의 서비스를 빠르게 개발하고, 다양한 요구사항에 대응하기 위해서는 MSA의 도입이 필수적인데요.
넷플릭스와 우버 등 글로벌 기업에선 기존 모놀로식 아키텍처에서 MSA로 전환을 선택하여 빠른 효율성이 요구되는 IT환경에
대응하고 있습니다.
먼저, 1997년 DVD대여 서비스로 출발한 '넷플릭스'는 데이터베이스 손상으로 DVD 발송에 문제가 생기자, 데이터센터를 클라우드로 이전하게 되었고, 확장성과 유연성, 빠른 배포를 위해 모놀리식 아키텍처를 MSA로 전환하게 되었습니다.
차량공유기업 '우버' 역시 승객 관리, 경로 관리와 같은 기능을 위해 모놀리식 구성이던 기존 체계를 클라우드 기반의 MSA로 분할하였고, 개별 마이크로서비스를 구축하게 되었습니다.
클라우드에 '모놀로식 아키텍처'가 아닌 'MSA'를 적용해야 하는 이유는?
그렇다면, 클라우드 환경에서 시스템을 구축할 때 MSA를 도입해야하는 이유는 무엇일까요?
클라우드에 MSA가 아닌 모놀로식 아키텍처(Monolithic Architecture)를 접목한다면, 비효율적인 비용이 발생하게 됩니다.
기본적으로 클라우드는 사용량을 기준으로 비용을 측정하는데, 하나의 클라우드 환경에서 모든 서비스를 동작한다면 기존 하드웨어에서 동작하는 것보다 비용이 저렴하지 않기 때문입니다.
반면, MSA는 클라우드 환경에 맞게 서비스 단위로 기능을 구분하는 등 최적화가 가능하기 때문에 비용적인 문제를 해결할 수 있고, 모놀로식 아키텍처(Monolithic Architecture)를 하드웨어에서 동작할때보다 더 저렴하게 운영하고 관리할 수 있습니다.
따라서 클라우드 환경에서 시스템을 구축할 때는 MSA를 적용하는 것이 효율적이라 할 수 있습니다.
















