프로필사진
DevOps 부트캠프 기록일지
DevOps_04_김재환
2023.05.03(마이크로서비스와 서버리스는 어떤 관계가 있나요)
2023.05.03(마이크로서비스와 서버리스는 어떤 관계가 있나요)

2023. 5. 3. 15:50부트캠프/DevOps 과제

  • 마이크로서비스와 서버리스는 어떤 관계가 있나요
  • 서버리스는 마이크로서비스의 어떠한 특징들을 반영하고 있나요?

마이크로서비스 아키텍처와 서버리스 컴퓨팅은 둘 다 분산 컴퓨팅 환경에서 애플리케이션을 개발하고 배포하기 위한 방법론이지만, 목적과 구현 방식에서 차이가 있습니다.

마이크로서비스는 하나의 큰 애플리케이션을 작고 독립적인 서비스 단위로 분해하여 각각이 독립적으로 배포, 확장 및 관리될 수 있도록 하는 아키텍처입니다. 각 마이크로서비스는 완전히 분리되어 자체 데이터베이스와 UI를 가지며, RESTful API를 사용하여 다른 마이크로서비스와 통신합니다.

반면, 서버리스 컴퓨팅은 개발자가 서버나 인프라 관리를 하지 않고 코드를 실행할 수 있는 환경을 제공합니다. 이러한 방식은 클라우드 제공업체가 제공하는 Function-as-a-Service(FaaS) 모델에 따라서 이루어집니다. 서버리스 컴퓨팅에서는 개발자가 코드를 작성하고 업로드하면, 클라우드 제공업체가 이를 관리하고 실행하는 인프라를 제공합니다.

둘 다 분산 컴퓨팅 환경에서 작동하며, 애플리케이션의 독립적인 단위로 구성됩니다. 마이크로서비스는 서로 다른 기술 스택을 사용하여 구축될 수 있으며, 각각이 독립적으로 배포됩니다. 반면, 서버리스 컴퓨팅에서는 이러한 단위가 함수 단위로 존재합니다.

마이크로서비스와 서버리스는 서로 보완적인 기술로, 마이크로서비스 아키텍처를 서버리스로 구현하는 것이 가능합니다. 예를 들어, 서버리스 함수를 사용하여 마이크로서비스의 인프라를 자동으로 확장하고 관리할 수 있습니다.

 

 

 

출처:

https://microservices.io/

https://aws.amazon.com/serverless/