가이드

서버리스란 무엇인가? 서버리스 컴퓨팅을 쉽게 설명

서버리스는 서버를 직접 설정하거나 관리하지 않고 코드를 실행하는 방식입니다. 여러분은 코드를 클라우드 제공업체에 맡기고, 제공업체는 무언가 이를 트리거할 때만, 예를 들어 웹 요청, 업로드된 파일, 결제 알림이 왔을 때만 그 코드를 실행한 뒤 멈춥니다. 보통 실제로 실행되는 시간에 대해 비용을 내며, 놀고 있는 기계에 대해서는 내지 않습니다.

AI로 만들 때 서버리스가 중요한 이유

AI로 앱을 만들면서 호스팅 옵션이나 코드를 보면 "서버리스 함수", "엣지 함수", "클라우드 함수"라는 말을 만나게 됩니다. 많은 호스팅 플랫폼이 이를 제공하며, 일부 AI 빌더는 백엔드를 이 방식으로 배포합니다. 이 모델을 이해하면 다음 세 가지 실무적인 질문에 답할 수 있습니다.

  • 비용. 아무도 사용하지 않을 때도 앱에 돈이 드나요?
  • 속도. 조용한 시간 이후 첫 요청이 왜 더 느린가요?
  • 제한. 긴 작업, 예를 들어 큰 보고서 생성이나 영상 처리가 왜 시간 초과로 실패했나요?

또한 서버리스가 아닌 것이 무엇인지도 알아 두면 도움이 됩니다. 서버리스는 백엔드가 없다는 뜻이 아닙니다. 여전히 서버 쪽 코드가 있으며, 기계를 다른 누군가가 운영할 뿐입니다. 기본 개념은 서버가 무엇인지를 참고하세요.

일상적인 비유

전통적인 서버는 자동차를 소유하는 것과 같습니다. 언제든 바로 출발할 수 있게 항상 있지만, 운전을 하든 안 하든 보험, 주차, 정비 비용을 냅니다.

서버리스는 택시를 부르는 것과 같습니다. 탄 만큼만 돈을 내고, 100명이 동시에 차를 부르면 100대의 택시가 옵니다. 하지만 차가 도착하기까지 짧게 기다려야 할 수 있고(콜드 스타트), 각 운행에는 최대 길이가 있으며, 기사는 지난번 탑승을 기억하지 못합니다(함수는 무상태입니다).

서버리스 함수의 작동 방식

가장 흔한 형태는 *서비스로서의 함수(Functions as a Service)*라고 부릅니다.

  1. 함수를 작성합니다. 한 종류의 이벤트를 처리하는 작은 코드입니다. 예: "/api/bookings로 오는 POST를 처리한다."
  2. 배포합니다. 제공업체가 이를 저장하고 트리거에 연결합니다. 트리거는 URL, 일정, 저장소에 새 파일, 큐의 메시지일 수 있습니다.
  3. 이벤트가 도착합니다. 제공업체가 함수의 사본을 시작하거나(또는 따뜻한 사본을 재사용하고), 실행한 뒤 결과를 돌려줍니다.
  4. 스스로 확장합니다. 요청 1,000개가 한꺼번에 도착하면, 제공업체는 계정 한도 내에서 많은 사본을 병렬로 실행합니다.
  5. 유휴 상태가 됩니다. 트래픽이 멈추면 사본이 종료됩니다. 아무것도 실행되지 않으면 연산에 대해 아무 비용도 내지 않습니다.

JavaScript로 된 아주 작은 서버리스 함수는 다음처럼 보일 수 있습니다.

export default async function handler(request) {
  const { name } = await request.json();
  return Response.json({ message: `Hello, ${name}` });
}

서버를 시작하는 코드, 포트를 여는 코드, 프로세스를 계속 실행하는 코드는 없습니다. 플랫폼이 이 모든 것을 처리합니다.

"서버리스"는 더 느슨하게 자동으로 확장되고 사용한 만큼 과금되는 다른 관리형 서비스를 가리키기도 합니다. 예를 들어 유휴 상태일 때 일시 정지되는 서버리스 데이터베이스가 있습니다.

핵심 용어

용어의미
함수(FaaS)제공업체가 필요할 때 실행하는 작은 코드 단위.
트리거 / 이벤트함수를 시작시키는 것. HTTP 요청, 파일 업로드, 타이머, 큐 메시지 등.
콜드 스타트요청을 처리하기 전에 함수의 새 사본이 시작되어야 하는 지연.
웜(warm)이미 실행 중이어서 즉시 응답할 수 있는 사본.
무상태(stateless)함수가 실행 사이에 기억을 유지하지 않음. 계속 남아야 하는 것은 데이터베이스나 저장소에 둬야 함.
타임아웃한 번 실행에 허용되는 최대 시간. 예를 들어 AWS Lambda의 최대는 15분이며, 많은 플랫폼은 그보다 훨씬 짧게 기본 설정되어 있습니다.
엣지 함수사용자와 가까운 여러 위치에서 실행되는 함수. 제한이 더 빡빡한 경우가 많습니다.
0으로 확장(scale to zero)트래픽이 없을 때 아무것도 실행하지 않고, 연산에 대한 비용도 내지 않음.

실제 예시: 작은 예약 사이트

요가 스튜디오의 예약 사이트는 매주 일요일 저녁 새 시간표가 올라갈 때 방문자가 몰리고, 나머지 요일에는 방문자가 거의 없습니다.

  • 항상 켜져 있는 서버라면, 스튜디오는 일요일 저녁의 최고 부하에 맞춰 24시간 기계 한 대에 돈을 내야 하고, 나머지 시간에는 대부분 놀고 있습니다.
  • 서버리스 함수라면, GET /api/classes와 POST /api/bookings가 함수입니다. 일요일의 폭주는 많은 사본을 자동으로 띄우고, 한가한 화요일 아침에는 거의 아무것도 실행되지 않아 청구서가 거의 0에 가깝습니다.

트레이드오프도 있습니다. 화요일 아침 사이트를 처음 여는 사람은 콜드 스타트 때문에 조금 더 기다릴 수 있습니다. 데이터베이스는 많은 함수 사본에서 오는 짧은 연결을 많이 처리해야 하므로, 연결 풀러가 필요할 수 있습니다. 그리고 스튜디오가 나중에 "모든 회원의 연간 출석 PDF 생성" 작업을 원한다면, 함수의 시간 제한을 넘을 수 있어 다른 곳에서 실행해야 할 수도 있습니다.

서버리스가 맞는 경우와 맞지 않는 경우

잘 맞는 경우덜 맞는 경우
트래픽이 적고, 급증하거나 예측하기 어려운 경우지속적으로 트래픽이 많아서 항상 켜져 있는 편이 더 저렴할 수 있는 경우
API, 폼 처리기, 웹훅 같은 짧은 요청/응답 작업대용량 영상 처리, 큰 데이터 가져오기 같은 장시간 작업
서버 관리를 원하지 않는 작은 팀라이브 연결을 계속 열어 두는 앱(일부 채팅이나 멀티플레이어 기능). 플랫폼이 지원하지 않는다면
이벤트 처리: "파일이 업로드되면 썸네일을 만든다"요청 사이에 많은 메모리를 유지해야 하는 앱

흔한 오해

  • "서버리스는 백엔드가 없다는 뜻이다." 관리할 서버가 없다는 뜻입니다. 백엔드 코드는 여전히 작성하고 보호해야 합니다.
  • "서버리스는 항상 저렴하다." 적은 양에서는 저렴하지만, 많고 꾸준한 양에서는 요청당 요금이 쌓일 수 있습니다.
  • "서버리스는 무한히 확장된다." 플랫폼에는 동시 실행 한도가 있으며, 함수보다 데이터베이스가 먼저 병목이 되는 경우가 많습니다.
  • "함수에 저장한 파일은 다음에도 남아 있다." 로컬 저장소는 일시적입니다. 데이터베이스나 파일 저장소를 사용하세요.
  • "서버리스와 0으로 확장은 같은 것이다." 관련은 있지만 같지는 않습니다. 일부 플랫폼은 앱을 평범한 서버처럼 실행하며, 유휴 상태일 때 잠들었다가 다음 요청에 깨어납니다. 절약 효과와 첫 요청의 지연은 비슷하지만, 요청마다 함수 방식의 시간 제한은 없습니다.

AI 빌더에게 요청할 것

  • "이 백엔드는 서버리스 함수로 실행되나요, 아니면 항상 켜져 있거나 잠드는 서버로 실행되나요? 비용에 어떤 의미인가요?"
  • "어떤 작업이 플랫폼의 시간 제한보다 오래 걸릴 가능성이 있나요? 그렇다면 어떻게 처리해야 할까요?"
  • "영구적으로 남아야 하는 것은 메모리나 로컬 파일이 아니라 데이터베이스나 파일 저장소에 저장해 주세요."
  • "많은 사본이 동시에 실행될 때 데이터베이스 연결은 어떻게 관리해야 하나요?"
  • "앱이 한동안 유휴 상태였다가 첫 요청이 올 때 지연은 얼마인가요?"

Mythex가 앱을 호스팅하는 방식

Mythex는 자신의 호스팅을 서버리스 함수로 설명하지 않습니다. 게시하면 여러분의 앱은 Mythex가 관리하는 일반 웹 앱이나 컨테이너로 실행되며, 호스팅을 따로 설정할 필요가 없습니다. 이는 0으로 확장하는 방식입니다. 게시된 앱과 그 데이터베이스는 유휴 상태일 때 잠들었다가 다음 방문에 깨어납니다. 잠든 앱은 연산 비용이 없고, 트래픽이 많을 때만 추가 기계가 시작됩니다(Pro 요금제는 서비스당 최대 3대). 연결된 Postgres 데이터베이스도 유휴 5분 후 잠들며, 깨어 있던 시간만큼 과금됩니다. 그래서 "사용한 만큼 지불"하는 장점의 상당 부분을 얻을 수 있고, 조용한 시간 이후 첫 요청의 지연도 비슷하게 겪게 됩니다. 문서의 호스팅 제한을 참고하고, 웹 호스팅이란과 호스팅 비용 줄이는 법 가이드도 읽어 보세요.

자주 묻는 질문

서버리스는 쉽게 말해 무엇을 뜻하나요?

서버리스는 클라우드 제공업체에 코드를 맡기면, 필요할 때만, 예를 들어 요청이 들어올 때만 코드가 실행되고, 여러분은 서버를 설정하거나 관리하지 않아도 된다는 뜻입니다. 보통 항상 켜져 있는 기계 값이 아니라 코드가 실제로 실행된 시간만큼 비용을 냅니다.

서버리스에 정말 서버가 없나요?

서버는 있습니다. 여러분이 관리하지 않을 뿐입니다. 제공업체가 자체 기계에서 여러분의 코드를 실행하고, 요청이 도착하면 시작하고, 부하가 걸리면 확장하고, 유휴 상태가 되면 종료합니다.

콜드 스타트란 무엇인가요?

콜드 스타트는 서버리스 함수가 유휴 상태 후에 실행될 때 생기는 추가 지연입니다. 제공업체가 먼저 새 사본을 시작해야 하기 때문입니다. 플랫폼, 언어, 코드 크기에 따라 거의 느껴지지 않을 정도에서 1초 이상까지 다양합니다.

서버리스가 일반 서버보다 저렴한가요?

트래픽이 적거나 들쭉날쭉한 앱에는 보통 그렇습니다. 유휴 상태일 때는 거의 비용이 없기 때문입니다. 트래픽이 많고 계속 발생하는 앱에는 항상 켜져 있는 서버가 더 저렴할 수 있습니다. 사용 패턴과 제공업체의 요금에 따라 달라집니다.

서버리스 플랫폼의 예에는 무엇이 있나요?

잘 알려진 예로 AWS Lambda, Google Cloud Run functions, Azure Functions, Cloudflare Workers, 그리고 Vercel, Netlify 같은 호스팅 플랫폼의 함수 기능이 있습니다.

Mythex · Pricing · AI로 무엇이든 만들기 · 웹사이트 및 앱 템플릿 · Mythex 비교 · AI 앱 개발 용어집 · 무료 AI 앱 개발 도구 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)