서버리스 컴퓨팅이란 무엇입니까? | 서버리스 정의

서버리스 컴퓨팅은 사용량에 따라 백엔드 서비스를 제공하는 방법입니다. 서버가 여전히 사용되지만 서버리스 업체로부터 백엔드 서비스를 받는 기업에 부과되는 비용은 고정 대역폭이나 서버 개수가 아닌 사용량에 따릅니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 서버리스 컴퓨팅을 정의할 수 있습니다.
  • 서버리스 아키텍처 사용 시 장점을 설명할 수 있습니다.

글 링크 복사

서버리스 컴퓨팅이란 무엇입니까?

서버리스 컴퓨팅은 사용량에 따라 백엔드 서비스를 제공하는 방법입니다. 서버리스 아키텍처로 사용자는 기본 인프라를 걱정하지 않고 코드를 작성하고 배포할 수 있습니다. 서버리스 업체로부터 백엔드 서비스를 받는 기업은 사용량에 따라 비용을 부과받으며 서비스 규모가 자동으로 결정되기 때문에 고정 대역폭이나 서버 개수를 유지하거나 그에 대한 비용을 지불하지 않아도 됩니다. 네임 서버리스에도 불구하고 물리적 서버는 여전히 사용되지만 개발자는 이를 인식할 필요가 없습니다.

웹 초기에는 웹 애플리케이션을 구축하려면 서버를 실행하기 위한 물리적 하드웨어를 보유해야 했고 이것은 귀찮고 비용이 많이 필요한 작업이었습니다.

그런 다음 고정된 수의 서버 또는 일정량의 서버 공간을 원격으로 임대할 수 있는 클라우드 컴퓨팅이 등장했습니다. 이러한 고정 서버 공간을 대여한 개발자와 기업은 일반적으로 초과 구매하여 트래픽이나 활동 급증이 월간 한계를 초과하고 응용 프로그램을 중단시키지 않게 합니다. 이는 비용을 지불한 서버 공간의 상당 부분이 낭비될 수 있음을 의미합니다. 클라우드 업체는 자동 크기 조정 모델을 도입하여 이 문제를 해결하려 했지만 DDoS 공격 같은 원치 않는 활동 급증 때문에 많은 비용이 발생할 수 있습니다.

서버리스의 장점

서버리스 컴퓨팅으로 개발자는 유연하게 실제 사용량에 따라 백엔드 서비스를 구매할 수 있습니다. 즉, 개발자는 사용한 서비스에 대해서만 결제하면 됩니다. 휴대 전화 요금제를 고정 요금제에서 실제 사용한 데이터 바이트에만 요금을 지불하는 요금제로 변경하는 것과 같습니다.

백엔드 서비스를 제공하느 서버가 여전히 있기 때문에 ‘서버리스’라는 용어는 약간 오해를 일으킬 수 있지만 서버 공간과 인프라 문제는 모두 업체가 처리합니다. 서버리스는 개발자가 서버를 전혀 걱정하지 않고 작업할 수 있다는 뜻입니다.

백엔드 서비스란 무엇입니까? 프런트엔드와 백엔드의 차이점은 무엇입니까?

애플리케이션 개발은 일반적으로 프런트엔드와 백엔드의 두 가지 영역으로 나뉩니다. 프런트엔드는 시각적 레이아웃처럼 사용자가 보고 상호 작용하는 애플리케이션의 부분입니다. 백엔드는 사용자가 볼 수 없는 부분으로서 여기에는 애플리케이션 파일이 있는 서버와 사용자 데이터와 비즈니스 로직이 있는 데이터베이스가 포함됩니다.

애플리케이션의 프런트엔드와 백엔드 비교

예를 들어 콘서트 티켓을 판매하는 웹사이트가 있다고 가정하겠습니다. 사용자가 브라우저 창에 웹사이트 주소를 입력하면 브라우저는 웹사이트 데이터로 응답하는 백엔드 서버에 요청을 보냅니다. 그러면 사용자는 텍스트, 이미지 및 사용자가 채울 양식 필드와 같은 콘텐츠를 포함할 수 있는 웹사이트의 프런트엔드를 보게 됩니다. 사용자는 프런트엔드의 양식 입력란 중 하나와 상호 작용하여 좋아하는 음악 공연을 검색할 수 있습니다. 사용자가 ‘제출’을 클릭하면 또 다른 요청이 백엔드로 전송됩니다. 백엔드 코드는 데이터베이스를 확인하여 해당 이름의 공연자가 있는지 확인하고, 공연자가 있다면 향후 공연 일자와 남은 티켓 수량을 확인합니다. 이후 백엔드는 해당 데이터를 프런트엔드로 보내고 프런트엔드는 사용자가 이해할 수 있는 방식으로 결과를 표시합니다. 마찬가지로 사용자가 계정을 만들고 티켓을 구매하기 위해 금용 정보를 입력하면 프런트엔드와 백엔드 사이에 또 다시 통신이 일어납니다.

서버리스 컴퓨팅은 어떤 유형의 백엔드 서비스를 제공할 수 있습니까?

대부분의 서버리스 제공 업체는 데이터베이스와 저장소 서비스를 고객에게 제공하며 많은 경우 Cloudflare Workers 같은 FaaS(Function-as-a-Service) 플랫폼도 보유하고 있습니다. FaaS를 통해 개발자는 네트워크 에지에서 작은 코드 조각을 실행할 수 있습니다. FaaS를 사용하면 개발자는 모듈식 아키텍처를 구축하여 기본 백엔드를 유지 관리하는 데 리소스를 소비하지 않고도 코드베이스를 확장할 수 있습니다. FaaS에 대해 자세히 알아보기 >>

서버리스 컴퓨팅의 장점은 무엇입니까?

  • 낮은 비용 - 기존 클라우드 제공 업체의 백엔드 서비스(서버 할당)는 사용자에게 사용하지 않은 공간이나 CPU 대기 시간에 대해 비용을 종종 청구하기 때문에 서버리스 컴퓨팅은 일반적으로 매우 비용 효과적입니다.
  • 간편한 확장성 - 서버리스 아키텍처를 사용하는 개발자는 코드 확장을 위한 정책을 걱정하지 않아도 됩니다. 서버리스 업체가 요청에 따라 확장을 모두 처리합니다.
  • 간단한 백엔드 코드 - 개발자는 FaaS를 사용하여 API 호출 같은 단일 목적을 독립적으로 실행하는 간단한 기능을 만들 수 있습니다.
  • 시간 단축 - 서버리스 아키텍처는 시장 진출 시간을 크게 줄일 수 있습니다. 복잡한 배포 프로세스를 이용하여 버그 수정과 새로운 기능을 배포하는 대신 개발자는 필요에 따라 코드를 추가하고 수정할 수 있습니다.

서버리스 컴퓨팅의 1 장점에 대해 자세히 알아보십시오.

서버리스는 다른 클라우드 백엔드 모델과 어떻게 비교됩니까?

서버리스 컴퓨팅과 종종 혼동되는 몇 가지 기술은 서비스로서의 백엔드와 서비스로서의 플랫폼입니다. 유사점을 공유하지만 이러한 모델이 서버리스의 요구 사항을 반드시 충족하는 것은 아닙니다.

Backend-as-a-service (BaaS)는 개발자가 프런트엔드 코드 작성에 집중할 수 있도록 클라우드 공급자가 데이터 스토리지와 같은 백엔드 서비스를 제공하는 서비스 모델입니다. 그러나 서버리스 응용 프로그램은 이벤트 중심이고 에지에서 실행되지만 BaaS 응용 프로그램은 이러한 요구 사항 중 하나를 충족하지 않을 수 있습니다. BaaS에 대해 자세히 알아보기>>

Platform-as-a-service (PaaS)는 기본적으로 개발자가 운영 체제 및 미들웨어와 같은 것을 포함하여 클라우드 공급자로부터 응용 프로그램을 개발 및 배포하는 데 필요한 모든 도구를 임대하는 모델입니다. 그러나 PaaS 응용 프로그램은 서버리스 애플리케이션만큼 쉽게 확장할 수 없습니다. PaaS는 반드시 에지에서 실행되는 것은 아니며 서버리스 응용 프로그램에는 없는 눈에 띄는 시작 지연이 있는 경우도 많습니다. PaaS에 대해 자세히 알아보기 >>

Infrastructure-as-a-service (IaaS)는 고객을 대신하여 인프라를 호스팅하는 클라우드 공급업체를 통칭하는 용어입니다. IaaS 공급자는 서버리스 기능을 제공할 수 있지만 용어는 동의어가 아닙니다. IaaS에 대해 자세히 알아보기 >>

서버리스의 다음 단계는 무엇입니까?

서버리스 공급자가 일부 단점을 극복하기 위한 솔루션을 제시함에 따라 서버리스 컴퓨팅은 계속해서 발전하고 있습니다. 이러한 단점 중 하나는 콜드 스타트입니다.

일반적으로 특정 서버리스 기능이 한동안 호출되지 않으면 공급자는 에너지를 절약하고 과잉 프로비저닝을 피하기 위해 기능을 종료합니다. 다음에 사용자가 해당 기능을 호출하는 응용 프로그램을 실행할 때 서버리스 공급자는 이를 새로 가동하고 해당 기능을 다시 호스팅하기 시작해야 합니다. 이 시작 시간은 '콜드 스타트'로 알려진 상당한 대기 시간을 추가합니다.

기능이 시작되어 실행되면 후속 요청(웜 스타트)에서 훨씬 더 빠르게 제공되지만 잠시 동안 기능이 다시 요청되지 않으면 기능은 다시 한 번 휴면 상태가 됩니다. 이는 해당 기능을 요청하는 다음 사용자가 콜드 스타트를 경험하게 됨을 의미합니다. 상당히 최근까지 콜드 스타트는 서버리스 기능을 사용하는 데 필요한 절충안으로 간주되었습니다.

Cloudflare Workers는 TLS 핸드셰이크 동안 서버리스 기능을 미리 가동하여 이 문제를 해결했습니다. Workers 기능은 핸드셰이크를 완료하는 데 필요한 시간보다 훨씬 짧은 시간에 에지에서 회전하므로 결과는 콜드 스타트가 없는 1FaaS 플랫폼입니다. Cloudflare Workers를 시작하려면 개발자 문서를 참조하세요.

서버리스 사용의 단점이 점점 더 많이 해결되고 에지 컴퓨팅의 인기가 높아짐에 따라 서버리스 아키텍처가 더 널리 보급될 것으로 예상할 수 있습니다.