피트니스 산업과 IT, 그리고 스타트업

IT

백엔드 할 줄 모르면 Supabase Edge Function

핏더스트리 2025. 5. 16. 15:41

백엔드 할 줄 모르면 Supabase Edge Function

서비스를 만들다 보면 ‘이 로직을 프론트엔드에서 처리하기엔 무리다’ 싶은 순간이 찾아옵니다. 예를 들어 외부 API를 호출하고 그 결과를 가공해 사용자에게 보여주거나, 데이터베이스에 조건부로 데이터를 조작해야 하는 경우처럼요. 이럴 때 백엔드 지식이 없다면 벽에 부딪히기 마련이죠.

 

특히 프론트엔드 개발자나 노코드 툴 사용자들이 실제 배포 단계에서 가장 자주 겪는 고민은 “백엔드는 어떻게 처리하지?”입니다. 하지만 반가운 소식이 하나 있어요. 이제는 Supabase의 Edge Functions를 이용하면, 복잡한 백엔드 서버 없이도 필요한 서버사이드 로직을 작성하고 배포할 수 있습니다.

 

Supabase Edge Functions는 간단한 API 라우팅부터 외부 서비스 연동, 인증 기반 요청 처리까지 가볍고 빠르게 처리할 수 있는 서버리스 함수입니다. 무엇보다 Supabase 대시보드 내에서 바로 작성하고 배포할 수 있어, 백엔드 지식이 많지 않아도 누구나 금방 시작할 수 있다는 점이 가장 큰 장점이죠.

 

이번 글에서는 “백엔드 잘 몰라도 서버사이드 기능을 쓰고 싶다”는 분들을 위해, Supabase Edge Function을 대시보드에서 생성하고 사용하는 기본적인 방법을 차근차근 소개해드릴게요.

 

 

Supabase 대시보드에서 바로 만드는 나만의 함수

Supabase Edge Function의 시작은 정말 간단합니다. Supabase 프로젝트 대시보드에서 Edge Functions 탭으로 이동한 후, “Deploy a new function” → “Via Editor”를 클릭하면 바로 함수 생성 페이지로 진입할 수 있어요.

 

이 에디터에서는 Node.js 기반의 함수를 작성할 수 있으며, 템플릿도 제공돼 처음에는 예제를 골라 조금씩 수정해보는 것만으로도 충분히 감을 익힐 수 있습니다. 함수의 기본 구조는 Express나 Fastify와 유사한 HTTP 핸들러 형태로 되어 있고, HTTP 요청과 응답을 자유롭게 다룰 수 있어요.

 

함수를 작성하고 나면 이름을 지정하고 Deploy 버튼을 클릭하면 즉시 배포됩니다. 이로써 함수는 HTTP endpoint로 외부에서 접근 가능한 상태가 됩니다. Supabase는 기본적으로 각 함수에 고유의 URL을 제공하므로, API처럼 바로 호출할 수 있죠.

 

배포한 후에는 테스트도 가능합니다. 함수 상세 페이지에서 “Test” 버튼을 누르면 HTTP 메서드, 헤더, 요청 본문 등을 입력해 직접 호출해볼 수 있어요. 예를 들어, POST 방식으로 JSON 데이터를 보내고 함수가 이를 받아 응답하는 구조라면, 여기서 그대로 테스트하며 결과를 확인할 수 있습니다.

 

무엇보다 인상적인 점은, 이러한 일련의 과정이 코드 한 줄도 설치하지 않고, 브라우저에서 전부 해결 가능하다는 것입니다. 서버 환경을 따로 만들지 않아도 되고, 인증이나 보안 처리를 Supabase 내부에서 바로 연동할 수 있기 때문에 백엔드 없이도 백엔드 로직을 갖춘 서비스를 만들 수 있게 되는 거예요.

 

 

 

로컬 개발과 Supabase Assistant로 더 편리하게

Supabase Edge Function은 대시보드에서 바로 작성하고 배포할 수 있을 만큼 간편하지만, 규모가 커지거나 협업을 고려한다면 로컬 개발 환경을 구성하고 버전 관리를 하는 방식이 훨씬 효율적입니다. 특히 반복해서 수정하고 테스트하는 경우, 매번 브라우저에서 코드를 붙여넣고 테스트하는 건 번거롭고 실수도 늘어나기 때문이죠.

 

이럴 때는 Supabase CLI가 매우 유용합니다. CLI를 통해 Edge Function을 로컬에서 만들고, 수정하고, 테스트하고, 필요할 때만 배포할 수 있어요. 먼저 Supabase CLI를 설치하고 프로젝트를 로컬에 연결합니다. 프로젝트 레퍼런스 ID는 Supabase 대시보드 URL이나 프로젝트 설정에서 확인할 수 있습니다.

supabase link --project-ref your-project-ref

 

이후 현재 프로젝트에 존재하는 모든 Edge Function 목록을 확인할 수 있고, 특정 함수 코드를 다운로드하거나 새 함수를 생성할 수도 있습니다. 함수를 수정한 후에는 supabase functions serve 명령어로 로컬 서버를 실행해서 직접 테스트할 수 있고, 확인이 끝나면 supabase functions deploy로 배포하면 끝입니다.

 

이처럼 로컬에서의 작업은 버전 관리(git)와도 자연스럽게 이어질 수 있기 때문에, 실제 서비스에 들어가는 중요한 함수라면 CLI 기반 개발 방식을 추천드려요. 개발 중간에 문제가 생겨도 이전 상태로 쉽게 돌아갈 수 있고, 협업 시에도 수정 히스토리를 명확히 공유할 수 있기 때문입니다.

 

또 하나 유용한 도구는 Supabase가 제공하는 Assistant입니다. Supabase Edge Functions 탭에서 번개 모양 아이콘을 클릭하면 나오는 이 Assistant는, 마치 ChatGPT처럼 “이런 기능이 필요해요”라고 입력하면 자동으로 함수 코드를 생성해줍니다.

 

예를 들어, “OpenAI API를 호출해서 요약된 텍스트를 반환하는 함수” 같은 요구사항을 입력하면, 관련된 코드가 자동으로 생성되고, 배포까지 이어질 수 있어요. Assistant는 단순히 코드를 뱉어주는 것이 아니라, 필요한 환경변수 설정 방법까지 안내해주고, 배포 버튼도 함께 제공합니다.

 

이때 중요한 부분이 하나 있는데요. OpenAI API Key처럼 민감한 정보는 절대 코드에 하드코딩하지 말고, Edge Functions의 Secrets 기능을 통해 설정해야 합니다. Supabase에서는 Secrets 탭에서 환경변수를 설정하고, 함수 내에서 안전하게 참조할 수 있게 도와줍니다.

supabase secrets set OPENAI_API_KEY=your_key_here

 

이렇게 설정하면, 함수 코드 내에서는 Deno.env.get("OPENAI_API_KEY") 방식으로 값을 불러올 수 있습니다. 보안적으로도 안전하고, 유지관리 측면에서도 훨씬 유리하죠.

 

결론적으로, Supabase Edge Functions는 간단한 UI 기반 개발부터 전문적인 로컬 개발 환경까지 모두 지원합니다. 처음에는 대시보드에서 테스트하면서 시작하고, 익숙해지면 CLI와 Assistant를 통해 훨씬 빠르고 안정적으로 백엔드 기능을 확장해나갈 수 있어요.

 

 

 

Supabase Edge Function, 어디까지 쓸 수 있을까?

Supabase Edge Function은 처음에는 간단한 API 처리를 위해 쓰이기 시작하지만, 조금씩 익숙해지다 보면 활용 범위가 생각보다 넓다는 걸 알게 됩니다. 가장 대표적인 예는 외부 API 연동입니다.

 

예를 들어, OpenAI, Stripe, SendGrid, Kakao API 등 외부 서비스와 통신해야 할 때, 프론트엔드에서 직접 호출하면 보안상 문제가 생기거나 CORS 정책에 걸릴 수 있어요. 이럴 때 Supabase Edge Function을 중간에 끼워 넣으면, 안전하게 요청을 처리하고, 필요한 데이터만 프론트에 반환할 수 있습니다.

 

또한, 사용자 인증 정보를 기반으로 로직을 분기하거나, 특정 조건에 따라 Supabase DB를 직접 조작하는 백엔드 처리도 가능합니다. Supabase는 인증 토큰이 있는 요청을 함수 내부에서 바로 확인할 수 있도록 도와주기 때문에, 사용자가 로그인 상태인지, 어떤 권한을 가졌는지에 따라 서로 다른 응답을 만들 수도 있어요.

 

재미있는 활용으로는, 백엔드 없이 마치 “서버리스 마이크로서비스”처럼 여러 개의 함수를 구성해 놓고 필요한 API 호출마다 해당 기능만 제공하는 구조도 가능합니다. 기존 백엔드 서버를 운영하는 데 부담을 느끼던 팀이라면, Supabase Edge Function만으로도 충분히 작은 규모의 백엔드 아키텍처를 구성할 수 있어요.

 

물론 한계도 있습니다. 로컬 파일 저장이나 복잡한 비즈니스 로직, 장시간 처리 작업(예: 영상 인코딩 등)은 서버리스 특성상 적합하지 않을 수 있어요. 하지만 오늘날 대부분의 MVP 수준의 서비스에서는 “필요한 만큼만 가볍게 백엔드 기능을 붙일 수 있다는 점”에서 Supabase Edge Function은 정말 큰 매력입니다.

 

 

마치며...

Supabase Edge Function은 “나 백엔드 몰라요”라고 말하는 개발자에게 진짜 필요한 도구입니다. 서버 인프라 지식 없이도, 복잡한 배포 파이프라인 없이도, 클릭 몇 번과 간단한 코드만으로 내가 원하는 백엔드 기능을 바로 구현하고 배포할 수 있기 때문이죠.

 

이제는 프론트엔드 개발자도 서버를 만들고, API를 배포하고, 외부 서비스와 통신하고, 보안 설정까지 할 수 있는 시대입니다. Supabase는 그런 흐름을 가장 앞에서 실현해주는 도구 중 하나이고, Edge Function은 그중에서도 백엔드의 진입 장벽을 가장 많이 낮춰준 기능입니다.

 

처음엔 어렵게 느껴질 수도 있어요. 하지만 하나씩 따라 해보고, 에러 로그를 살펴보고, 간단한 테스트부터 시작하다 보면 어느새 자신만의 백엔드 함수를 자유롭게 구성하게 될 거예요.

 

만약 지금 “프론트엔드만 할 줄 아는데 이걸로 서비스 될까?”라는 걱정이 있다면, 대답은 이렇습니다.

 

Supabase와 Edge Function을 안다면, 그 자체로 훌륭한 백엔드가 된다.

 

지금 이 글을 닫는 그 순간, Supabase 대시보드에 들어가 첫 함수를 만들어보세요. 생각보다 훨씬 쉽게, 원하는 기능을 구현하게 될 거예요!

반응형