백앤드 서버 코딩없이 구현하기

[5] 내가 만들고 내가 쓰는 서비스

2024.05.20 | 조회 3.63K |
0
|
첨부 이미지

서비스를 구현하기 위해서는 로그인, 데이터베이스, 스토리지 등의 역할을 하는 백엔드 서버가 필요해요. 그리고 노코드로 앱/웹을 만들더라도 백앤드 서버는 필요해요. 이런 백엔드 서버를 코딩없이 만들수 있는 도구들이 있어요. 이런 도구들을 BaaS(Backend as a Service)라고 해요. 이번 포스트에서 BaaS중 하나인 Supabase를 왜 선택했는지 어떻게 활용할 수 있는지 설명드릴게요. 


📖 요약

백엔드 서버란

백엔드 서버를 직접 구축하는 비용

BaaS, Supabase

- 로그인 기능

- 데이터베이스 기능

- 스토리지 기능

Supabase vs 직접 구축하기 


백앤드 서버란

첨부 이미지

백엔드 서버는 프론트엔드의 API 요청에 대한 응답을 하는 역할이에요. 주로 프론트엔드에서 API 요청을 하면 백엔드 서버는 데이터베이스에서 데이터 저장/조회/업데이트/삭제와 같은 역할들을 수행하고 프론트엔드 서버에 결과값을 전달해요.

예를 들어, 친구와 메신저 앱을 사용한다고 가정해볼께요. 친구에게 메시지를 보내면, 그 메시지는 우선 사용자의 휴대폰에서 백엔드 서버로 전송돼요. 백엔드 서버는 이 메시지를 받아 데이터베이스에 저장하고, 다시 친구의 휴대폰으로 전달해요.

백엔드 서버는 클라이언트의 로그인, 데이터베이스, 스토리지등 다양한 요청에 대해서 처리하고 응답을 전달하는 역할을 해요.

백엔드 서버를 직접 구축하는 비용

개발자가 로그인 기능을 구현하는데 얼만큼의 시간이 걸릴까요? 다음과 같은 일을 진행해야해요. 개발자마다 다르겠지만 대략 1주일 이상의 시간은 소요될 것 같아요.

✔️ 데이터베이스 설정: 약 1 ~ 2일

사용자의 정보를 저장할 데이터베이스를 설정해요. 사용자 테이블을 만들고, 필수적인 필드(예: 사용자 이름, 이메일, 암호화된 비밀번호)를 정의해요.

✔️ 로그인 API 개발하기: 약 1주일

백엔드 서버에서 로그인 기능을 구현해요. 이는 사용자 등록, 로그인 요청 처리, 비밀번호 검증, 세션 관리 등을 포함해요. 암호화 라이브러리를 사용하여 비밀번호를 안전하게 저장하는 것도 포함돼요.

Backend as a Service, Supabase

Backend as a Service(BaaS)는 웹 또는 모바일 애플리케이션의 백엔드 기능을 제공하는 클라우드 서비스에요. 이를 사용하면 개발자가 서버 설정, 데이터베이스 관리, 사용자 인증, 푸시 알림 등의 복잡한 백엔드 작업을 직접 구현하지 않아도 돼요. BaaS는 미리 준비된 백엔드 기능을 API 형태로 제공하므로, 개발자는 프런트엔드 개발과 핵심 기능 구현에 집중할 수 있어, 개발 시간을 단축하고 비용을 절감할 수 있어요. 예를 들어, Firebase나 Supabase 같은 BaaS 도구를 사용하면 로그인 기능이나 데이터 저장소를 간편하게 설정할 수 있어요.

제가 즐겨 사용하는 Flutterflow는 Firebase 연동을 기본적으로 제공하고 Supabase와의 연동도 제공해요. Firebase보다 Supabase를 선택한 이유는 크게 다음과 같아요.

1. 데이터베이스 형태

첨부 이미지

Supabase의 데이터베이스는 관계형 데이터에요. 복잡한 쿼리와 트랜잭션을 쉽게 처리할 수 있어요. 반면에 Firebase의 데이터베이스는 비관계형 데이터에요. 복잡한 쿼리와 트랜잭션을 비교적 복잡하게 처리해야해요.

2. 가격 정책

MAU별 로그인 비용 추세
MAU별 로그인 비용 추세

가격정책은 여러가지 기능들을 담고 있어요. 그 중 저는 로그인과 데이터베이스 요금을 중점적으로 살펴봤어요. 로그인 기능은 MAU(Monthly Active User)기준으로 책정해요. Firebase의 경우 MAU 5만명까지는 무료이고 이후 5만명 ~ 10만명은 $0.055에요. 10만명의 MAU를 유지하는 서비스는 대략 월 37만원정도의 비용을 로그인 비용으로 지불해야해요. 반면에 Supabase같은 경우에는 $25 요금제를 사용하면 10만명까지는 로그인 비용을 지불하지 않고 이후에는 $0.00325를 지불해요. Firebase는 100만명이상 사용해야 로그인 비용이 인당 $0.0032로 Supabase보다 저렴해져요. 소규모 비즈니스의 경우에는 이정도 규모의 유저는 얻기 힘들다고 생각했어요.

데이터베이스는 Supabase는 8GB까지는 무료이고 이후부터는 1GB당 $0.125에요. 반면에 Firebase의 경우 1GiB(1.07374 GB)까지 무료이고 이후부터는 1GB당 $0.1788에요. (1GiB당 $0.192) 그리고 Firebase의 경우 쓰기, 읽기, 삭제 요청마다 요금이 부가돼요. 경우에 따라 다르지만 Firebase가 사용하는 NoSQL의 경우 Supabase의 SQL보다 데이터중복이 많이 발생해서 가격적으로 Supabase가 더 유리하다고 판단했어요.

 

로그인 기능 구현

Supabase Auth Providers
Supabase Auth Providers

Supabase는 많은 소셜 로그인 기능을 제공해요. [참고] 해외 서비스임에도 카카오톡 로그인도 지원하는 것을 확인할 수 있어요. Supabase Dashboard에서 Provider를 설정후에는 노코드툴에서 연동하면 돼요. Flutterflow의 경우에는 Dashboard에서 클릭으로 쉽게 연동할 수 있어요. [참고]

첨부 이미지

데이터베이스

Supabase Database Table View
Supabase Database Table View

데이터베이스를 Web에서 쉽게 조작할 수 있어요. 데이터베이스를 테이블 뷰로 확인하고 수정하고 테이블을 만들고, 테이블간의 관계를 지정할 수 있어요.[참고] 이렇게 구축한 데이터베이스는 Flutterflow에서 연동하여 사용할 수 있어요. 자세한 내용은 공식문서를 참고하세요. [참고]

스토리지

스토리지는 이미지, 영상, 문서등 파일 형태의 데이터를 저장할 수 있는 기능이에요. 서비스에서 사용되는 파일을 Supabase 스토리지에 저장하고 불러와서 사용할 수 있어요. Flutterflow에서는 별도의 설정없이 Actions 기능에서 사용할 수 있어요.

첨부 이미지

Supabase vs 직접 구축하기

백엔드 서버를 직접 구축하는 것은 많은 시간과 노력이 필요해요. 개발자는 서버 설정, 데이터베이스 관리, 사용자 인증, 보안 등 여러 가지 복잡한 작업을 직접 처리해야 하죠. 이 과정에서 발생하는 문제를 해결하기 위해 많은 시간과 비용이 들며, 유지보수와 업그레이드도 지속적으로 필요해요. 특히, 비즈니스가 성장함에 따라 서버의 확장성과 안정성을 유지하는 것이 큰 부담이 될 수 있어요.

반면에 Supabase 같은 Backend as a Service(BaaS)를 사용하면, 이러한 복잡한 작업들을 간편하게 처리할 수 있어요. Supabase는 서버 설정, 데이터베이스 관리, 사용자 인증 등의 기능을 미리 준비된 서비스로 제공하여, 개발자는 핵심 기능 구현에 집중할 수 있어요. 이는 개발 시간을 단축하고 비용을 절감할 수 있게 해줘요. 특히, 작은 규모의 팀이나 빠르게 시장에 진입하고자 하는 스타트업에게는 Supabase가 매우 효율적인 선택일 수 있어요. 

 

 

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

노코더 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !

다른 뉴스레터

경영학과로 입학한 학생은 어떻게 개발자가 되었을까?

컴맹에서 개발자까지. 저는 4년차 정도의 AI 개발자에요. 다양한 도메인에서 AI 기능을 개발하고 서비스화하는 작업들을 진행했어요. 하지만 몇년전까지만 해도 엑셀마저 능숙히 다루지 못할정도로 컴퓨터와

2024.08.05·회고·조회 3.27K

혼자서 Character.ai를 클론하기

거인의 어깨위에 올라타기. Character.ai는 ChatGPT다음으로 유명한 AI 서비스에요. 내가 좋아하는 캐릭터와 대화할 수 있는 서비스죠. Character.ai는 120명정도의 큰 조직으로 이루어

2024.08.20·조회 3.15K

[6부작] 내가 만들고 내가 쓰는 서비스

2. 프로토타이핑. 이번주에는 IELTS 기출문제를 조금 풀어봤어요. IELTS를 경험한 후 단기간에 원하는 점수를 얻을려면 매일 2시간씩 집중해야 원하는 성적으로 얻을 수 있을 것 같다는 생각이 들

2024.04.07·노코드·조회 1.05K

노코드로 만든 서비스 살펴보기

Flutterflow로 어디까지 갈 수 있을까?. 노코드로 어디까지 만들 수 있을까요? 노코드 도구를 도입하기로 결정할 때 구현해야하는 기능의 요구사항을 구현 가능한지 확인해야해요. 노코드 도구를 도입하게 되면 최종적으로 구현할

2024.04.22·노코드·조회 2.13K

[6부작] 내가 만들고 내가 쓰는 서비스

1. 한달간 해외 살면서 느낀 것. 호주, 뉴질랜드의 다양한 곳을 돌아다니면서 여러 삶의 모습을 보고 다양한 사람들과 더 깊은 대화를 나누고 싶다는 생각이 들었어요. 가능하면 여행이 아닌 생활도 해보고 싶었어요. 그

2024.04.01·노코드·조회 1.17K

노코드로 반복작업 제거하기

Zapier를 이용하여 반복작업 제거하기. 같은 포스팅을 여러 플랫폼에 올리기, 고객마다 이메일 보내기, 고객 지원 이벤트 발생시 기록하기 등 반복작업은 어디에나 있어요. 반복작업은 부가가치를 창출하기보다는 반복적으로 시간

2024.03.18·노코드·조회 1.22K
© 2026 노코더

개발자가 아니어도 서비스를 만들 수 있는 방법들을 공유드려요!

뉴스레터 문의ryu071511@gmail.com

메일리 로고

도움말 자주 묻는 질문 오류 및 기능 관련 제보

서비스 이용 문의admin@team.maily.so 채팅으로 문의하기

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울특별시 송파구 위례광장로 199, 5층 501-8호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스