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

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

Share facebook icon linkedin icon twitter icon email icon

서버리스

학습 목표

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

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

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

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

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

이후 클라우드의 시대가 열리면서 고정 개수의 서버나 서버 공간을 원격으로 대여할 수 있게 됐습니다. 이러한 고정 서버 공간을 대여한 개발자와 기업은 일반적으로 초과 구매하여 트래픽이나 활동 급증이 월간 한계를 초과하고 애플리케이션을 중단시키지 않게 합니다. 즉, 많은 유료 서버 공간이 일반적으로 사용되지 않습니다. 클라우드 업체는 자동 크기 조정 모델을 도입하여 이 문제를 해결하려 했지만 DDoS 공격 같은 원치 않는 활동 급증 때문에 많은 비용이 발생할 수 있습니다.

서버리스의 장점

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

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

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

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

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

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

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

대부분의 서버리스 제공 업체는 데이터베이스와 저장소 서비스를 고객에게 제공하며 많은 경우 Cloudflare Workers 같은 FaaS(Function-as-a-Service) 플랫폼도 보유하고 있습니다. 이 플랫폼은 데이터를 저장하지 않고 에지에서 코드 조각을 실행할 수 있습니다.

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

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