마이크로서비스 첫번째 제출과제

[C811] 마이크로서비스와 서버리스는 어떤 관계가 있나요?

마이크로 서비스와 서버리스 둘 다 클라우드 네이티브 컴퓨팅 환경에서는 중요한 주제이다. 비록 서버리스와 마이크로 서비스는 종종 밀접하게 연관되어있지만, 두개는 확실히 현대 소프트웨어 환경에서 구분되는 기술이다.

하지만 서버리스와 마이크로 서비스는 서로 다른 종류의 기술인데, 마이크로 서비스는 응요 프로그램을 설계하는 방법인 반면, 서버리스는 응용프로그램(혹은 일부분)을 실행하는 방법이다

그럼에도 불구하고, 둘 다 클라우드 기반 환경에서 공통적인 기술이라는 점은 공통점이고, 서버리스기능은 마이크로 서비스를 호스팅하는 한 방법이다. 

즉, 마이크로 서비스에 대한 코드를 작성한 후 서버리스 함수로 실행되도록 설정하여 '서버리스 마이크로 서비스'를 만들 수 있다는것이다.

또한 서버리스와 마이크로서비스는 모니터링 및 관리에 대해 유사한 접근 방식이 필요하다는 점에서도 공통점을 가진다.

차이점

그렇다고해서 마이크로 서비스가 서버리스가 항상 같이 공존하는것은 아니다. 애플리케이션의 모든 마이크로 서비스를 서버리스 기능으로 실행하는것은 드문일이고, 애플리케이션 프런트엔드와 같은 마이크로서비스는 지속적으로 실행되어야하는데, 서버리스 환경에서는 이러한 서비스가 제대로 동작하지 않는다. (아마 컨테이너 안에 배치하는게 좋을것..)

서버리스 기능을 활용하기 위해서 마이크로 서비스 아키텍쳐를 사용할 필요가 없다. 단일 구성 요소가 있고 항상 실행되어야 하는 애플리케이션 유닛과 특정 시간에만 필요한 애플리케이션 유닛을 분리할 수 없는 경우에는 서버리스가 제공하는 효율성을 활용할 수 없다.

서버리스 환경에는 수십 개의 서로 다른 서버리스 기능이 포함될 수 있으며, 그 중 일부는 여러 애플리케이션에서 공유할 수 있습니다. (다시 이미지 크기를 조정하는 서버리스 기능의 예로 돌아가면 해당 기능이 필요한 여러 애플리케이션이 실행 중일 수 있으므로 해당 기능을 공유할 수 있습니다)

대조적으로, 단일 애플리케이션에서 수십 개의 마이크로 서비스를 실행하는 것은 드물다(그러나 결코 불가능하지는 않다). 또한 핵심 애플리케이션 기능이 아닌 보조 기능(로그 수집 등)을 제공하는 서비스가 아니라면 여러 애플리케이션에 걸쳐 동일한 마이크로 서비스를 공유하는 것도 일반적이지 않습니다.

 

C812] 서버리스의 특징 중 하나인 무상태성(Stateless)는 무엇을 의미하나요? 

클라우드 환경에서 서버리스라는 용어는 일반적으로 고객이 더이상 서버의 유지보수의 핵심에 관심을 갖지 않는다는 것을 의미. 

그리고 그 고객은 가동시간, 확장, 보안등에 걱정하는 대신 본인의 업무에 더 집중할 수 있게 됩니다.

클라우드 공급업체 전반에서 서버리스 아키텍처에 대한 일반적인 접근 방식인 서비스로서의 기능(FaaS)에 대해 중점적으로 살펴보겠습니다

함수는 일반적으로 상태가 저장되지 않는(stateless) 컨테이너에서 보안적으로 안전하게(거의) 실행됩니다.

즉, 이벤트가 완료된 이후 한 참이 지난 응용 프로그램 서버에서 코드를 재실행하거나 이전 실행 컨텍스트를 사용하여 요청을 제공하는 코드를 실행시킬 수 없습니다.

JUNE .

20'S LIFE IN SYDNEY and BUSAN

    이미지 맵

    DevOps Bootcamp/Assignments 다른 글

    이전 글

    다음 글