Firebase는 이제 그만… 오픈소스 대안(Appwrite)을 사용해 보세요

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Firebase는 정말 멋진 도구지만, 앱이 본격적으로 성장하기 시작하면 상황이 달라집니다.
00:00:03사용자가 늘고 트래픽이 치솟으면, 갑자기 백엔드 성능이 아니라
00:00:09비용이 큰 문제로 다가오죠.
00:00:10설상가상으로 백엔드에 대한 제어권이 본인이 아닌 Firebase에 있다는 사실을 깨닫게 됩니다.
00:00:14하지만 인증, 데이터베이스, 스토리지, 실시간 함수 같은 장점은 그대로 유지하면서
00:00:19데이터 소유권은 지키고 직접 운영할 수 있다면 어떨까요?
00:00:24이것이 바로 지난 한 해 동안 수많은 개발자가 갈아탄 오픈 소스, Appwrite입니다.
00:00:29단 몇 분 만에 설정하는 방법을 함께 알아보겠습니다.
00:00:37Firebase가 인증, 실시간 데이터베이스, 스토리지, 메시징 등 유용한 기능을 제공한다는 건 잘 알고 계실 겁니다.
00:00:43그래서 많은 개발자가 거기서 시작하죠.
00:00:45Appwrite는 이러한 핵심 구성 요소에 팀 관리, 셀프 호스팅, 메시징 제공업체,
00:00:52심지어 AI 도구까지 제공합니다.
00:00:54차이점은 간단합니다.
00:00:55여러분의 서버, VPS, 환경에서 여러분의 규칙대로 운영된다는 것이죠.
00:00:59개발 워크플로우를 앞당겨주는 이런 오픈 소스 도구가 마음에 드신다면
00:01:03Better Stack 채널을 꼭 구독해 주세요.
00:01:05Appwrite를 사용하면 이메일, OAuth, 매직 링크, 익명 로그인,
00:01:10그리고 MFA 인증까지 지원됩니다.
00:01:12문서형과 관계형 구조가 혼합된 실시간 데이터베이스도 제공하죠.
00:01:15파일 변환 기능이 포함된 스토리지도 있습니다.
00:01:1713개 이상의 언어를 지원하는 서버리스 함수와 푸시, 이메일, SMS 메시징 등 모든 핵심 기능을 갖췄습니다.
00:01:24셀프 호스팅이나 클라우드 방식 중 선택해서 사용할 수 있습니다.
00:01:27여기서 사람들을 가장 놀라게 하는 부분이 있습니다.
00:01:28이토록 강력한 기능을 갖추고도 셀프 호스팅이 정말 쉽다는 점이죠.
00:01:32말로만 설명하기보다
00:01:34실제로 구동해서 프로젝트에 Appwrite를 어떻게 통합하는지 직접 보여드리겠습니다.
00:01:39첫 단계는 간단합니다.
00:01:41Docker가 실행 중인지 확인하세요.
00:01:43그다음 터미널에서 이 명령어를 입력하고
00:01:46Docker Compose 명령을 실행하겠습니다.
00:01:49그게 끝입니다.
00:01:50백엔드 설정이 이미 완료되었습니다.
00:01:51준비가 다 된 거죠.
00:01:52계정을 새로 만들거나 기존 Appwrite 계정으로 로그인할 수 있는 페이지가 나타납니다.
00:01:58이제 새 프로젝트를 만들어 보겠습니다.
00:02:00데모용으로 보여드릴 거라 이름을 "TodoApp"이라고 지을게요.
00:02:04그런 다음 프로젝트 ID를 복사합니다.
00:02:06나중에 ENV 파일에 추가해야 하니 지금 저장해 두거나
00:02:10바로 ENV 파일에 붙여넣으셔도 됩니다.
00:02:13다음으로 로컬 개발을 위한 웹 플랫폼을 추가하겠습니다.
00:02:16Auth 메뉴에서 웹 앱을 선택하고 플랫폼 추가를 누릅니다.
00:02:19호스트 이름을 localhost로 설정하고 그대로 저장하겠습니다.
00:02:23이제 데이터베이스를 설정하고 컬렉션을 생성해 보죠.
00:02:26데이터베이스 전체에서 컬렉션은 테이블과 같다고 보시면 됩니다.
00:02:30필요한 만큼 열(column)을 생성할 수 있습니다.
00:02:33이번에는 이메일, 제목, 내용,
00:02:38그리고 사용자 ID 정도를 사용해 보겠습니다.
00:02:40여기서 권한을 설정할 수 있습니다.
00:02:42"Any"는 로그인 여부와 관계없이 누구에게나 해당합니다.
00:02:45읽기 권한만 부여하도록 하죠.
00:02:48나머지 권한은 로그인한 사용자에게만 주겠습니다.
00:02:51투두 리스트니까요.
00:02:52읽기, 수정, 삭제 같은 기본적인 CRUD 작업을 설정합니다.
00:02:57백엔드에서 이 모든 걸 직접 처리해 준다는 게 Appwrite의 가장 큰 장점 중 하나입니다.
00:03:02정말 간편하죠.
00:03:03체크박스 몇 개만 선택하면 되거든요.
00:03:05이제 코드에 연결해 보겠습니다.
00:03:06엔드포인트와 프로젝트 ID, 데이터베이스 ID,
00:03:10테이블 이름을 프로젝트의 ENV 파일에 직접 추가합니다.
00:03:16완전한 백엔드 구축처럼 보이지만, 실제로는 Appwrite에서 구성한 몇 가지 정보를
00:03:20코드에 연결했을 뿐입니다.
00:03:23좋습니다.
00:03:24이제 테스트해 볼까요?
00:03:25실행해 보겠습니다.
00:03:26여기서 새 사용자 계정을 하나 만들게요.
00:03:29회원가입을 진행합니다.
00:03:30로그인한 뒤에 실제로 할 일을 등록해 보겠습니다.
00:03:33제목과 설명을 대충 입력하고
00:03:37추가 버튼을 누릅니다.
00:03:38짜잔!
00:03:39오류 없이 잘 작동하는 게 보이시죠?
00:03:41데이터가 애플리케이션으로 전송되고 있습니다.
00:03:43Appwrite 대시보드로 돌아가면 데이터가 들어온 걸 확인할 수 있습니다.
00:03:48이제 탭 두 개를 띄워서 한쪽은 로그인을 하고,
00:03:53다른 한쪽은 로그인을 하지 않아 보겠습니다.
00:03:54첫 번째 탭에서 데이터를 전송하면, 비로그인 사용자도 볼 수 있는
00:03:59읽기 전용 필드가 설정된 두 번째 탭에도 데이터가 나타납니다.
00:04:03아주 적은 양의 코드로 인증 기능을 포함한 모든 데이터가 동기화되었습니다.
00:04:08데이터베이스에 저장된 내용을 가져와서
00:04:13여러 페이지에 걸쳐 보여줄 수 있는 거죠.
00:04:14그렇다면 왜 개발자들이 Appwrite로 이동하는 걸까요?
00:04:17첫 번째 이유는 명확합니다.
00:04:18바로 소유권입니다.
00:04:19여러분이 직접 데이터를 소유하게 되니까요.
00:04:21이것은 오픈 소스 프로젝트이며
00:04:23데이터를 더 안전하게 보호할 수 있게 해줍니다.
00:04:25또한 사용자당 과금되는 방식이 아닙니다.
00:04:27Firebase나 Supabase로 서비스를 키우다 보면 숨겨진 비용이 발생하기 마련이죠.
00:04:31완전히 숨겨진 건 아니더라도, 규모에 따른 비용 부담은 무시할 수 없습니다.
00:04:35Appwrite가 제공하는 대부분의 기능은
00:04:39이미 Firebase나 Supabase에도 있는 것들입니다.
00:04:40기능 면에서 부족할 게 전혀 없다는 뜻이죠.
00:04:42셀프 호스팅이나 클라우드 중 선택할 수 있고, React나 Flutter 같은
00:04:47환경을 위한 SDK도 아주 훌륭합니다.
00:04:49다시 말하지만, 결국 오픈 소스입니다.
00:04:51완벽하진 않을 수 있지만, 개발자라면 대부분의 문제는 금방 해결할 수 있을 겁니다.
00:04:55큰 걸림돌이 되지는 않을 거예요.
00:04:57Docker를 알아야 한다는 조건이 있지만, 그건 배우기 쉽죠.
00:05:01Docker만 안다면 정말 빠르게 구축할 수 있는 최고의 도구입니다.
00:05:05자체적인 글로벌 CDN이나 에지 함수 기능은 없습니다.
00:05:07필요하다면 Cloudflare 같은 서비스와 통합해서 사용해야 합니다.
00:05:10데이터베이스는 MariaDB 기반입니다.
00:05:13Supabase처럼 Postgres를 사용하지는 않죠.
00:05:16그리고 규모를 크게 키우려면 별도의 모니터링 시스템이 필요할 텐데,
00:05:20이건 어떤 셀프 호스팅 도구를 쓰더라도 마찬가지입니다.
00:05:22바로 이 지점에서 Better Stack 같은 도구가 제 역할을 톡톡히 해냅니다.
00:05:26그래서 이 서비스를 실제로 써야 할까요? 혹은 누구에게 적합할까요?
00:05:30늘어나는 비용을 줄이려는 개발자나 스타트업이라면
00:05:35정말 탁월한 선택이 될 겁니다.
00:05:36정말 매력적이죠.
00:05:37개인 정보 보호를 중시하고 제어권을 직접 갖고 싶어 한다면 역시 추천합니다.
00:05:40좋은 SDK를 원하는 Flutter나 모바일 개발자들에게도
00:05:44아주 유용할 거예요.
00:05:45비용을 획기적으로 낮출 수 있다는 점을 기억하세요.
00:05:47돈을 아끼고 싶은 분들이라면 누구에게나
00:05:49아주 멋진 도구가 될 것입니다.
00:05:52Firebase는 너무 비싸게 느껴지고, Supabase는 구성 요소가 너무 많아 복잡해 보인다면
00:05:56Appwrite가 그 중간에서 딱 좋은 대안이 될 수 있습니다.
00:06:00그게 바로 2026년에 Appwrite가 강력한 옵션으로 꼽히는 이유죠.
00:06:04단 몇 분 만에 백엔드를 구축하고 모든 것을 동기화해 보았습니다.
00:06:08Firebase나 Supabase의 대안을 찾는 개발자들에게 왜 좋은 선택인지도 알아봤고요.
00:06:13직접 시도해 보고 싶으시다면 설명란에 링크와 문서를 남겨두었으니 확인해 보세요.
00:06:18구동하는 데 몇 분도 걸리지 않습니다.
00:06:20충분히 시도해 볼 가치가 있죠.
00:06:21이런 코딩 영상과 오픈 소스 도구 소개가 마음에 드신다면
00:06:25Better Stack 채널 구독 잊지 마세요.
00:06:27그럼 다음 영상에서 뵙겠습니다.

Key Takeaway

Appwrite는 Firebase의 높은 비용과 폐쇄적인 운영 방식에서 벗어나 개발자가 직접 데이터 제어권을 갖고 경제적으로 백엔드를 구축할 수 있게 해주는 혁신적인 오픈소스 플랫폼입니다.

Highlights

Firebase의 비용 문제와 제어권 부족을 해결하는 강력한 오픈소스 대안인 Appwrite 소개

Docker를 활용하여 단 몇 분 만에 서버리스 백엔드를 구축할 수 있는 뛰어난 설치 편의성

인증, 실시간 데이터베이스, 스토리지, 서버리스 함수 등 Firebase의 핵심 기능 완벽 지원

데이터 소유권을 개발자가 직접 가지며 사용자 수에 따른 과금 없이 운영 가능한 경제성

MariaDB 기반의 구조와 다양한 언어 및 프레임워크(React, Flutter 등)를 위한 전용 SDK 제공

셀프 호스팅과 클라우드 방식 중 선택 가능하며 개인 정보 보호와 제어권을 중시하는 팀에 적합

Timeline

Firebase의 한계와 Appwrite의 등장 배경

발표자는 Firebase가 초기 앱 성장에 매우 유용하지만 트래픽이 증가함에 따라 막대한 비용 부담과 데이터 제어권 상실이라는 큰 문제를 야기한다고 설명합니다. 이에 대한 해결책으로 지난 한 해 동안 수많은 개발자가 선택한 오픈소스 백엔드인 Appwrite를 제시합니다. Appwrite는 인증, 데이터베이스, 스토리지 등 Firebase의 장점을 그대로 유지하면서도 사용자의 자체 서버나 VPS에서 운영될 수 있다는 차별점을 가집니다. 특히 이메일, OAuth, MFA 인증뿐만 아니라 13개 이상의 언어를 지원하는 서버리스 함수 등 방대한 기능을 갖추고 있습니다. 이를 통해 개발자는 고유한 규칙에 따라 백엔드를 운영하며 데이터 소유권을 완벽하게 보호할 수 있게 됩니다.

Docker를 이용한 초고속 백엔드 구축 및 설정

Appwrite의 가장 놀라운 특징 중 하나인 간편한 설치 과정과 초기 프로젝트 설정 방법을 구체적으로 시연합니다. Docker가 실행 중인 상태에서 간단한 터미널 명령어 하나만으로 백엔드 환경 구성이 완료되는 과정을 보여주며 설치 편의성을 강조합니다. 이후 대시보드에서 'TodoApp'이라는 이름의 새 프로젝트를 생성하고 프로젝트 ID를 환경 변수(ENV) 파일에 저장하는 단계를 안내합니다. 또한 로컬 개발 환경을 위해 웹 플랫폼을 추가하고 호스트 이름을 localhost로 설정하는 과정도 포함됩니다. 이 섹션은 복잡한 백엔드 설정 없이도 개발자가 즉시 프로젝트에 착수할 수 있음을 입증하는 데 목적이 있습니다.

데이터베이스 설계 및 권한 설정의 단순화

Appwrite의 데이터베이스 구조와 컬렉션 생성 방법을 설명하며 관계형과 문서형이 혼합된 유연한 방식을 소개합니다. 사용자는 이메일, 제목, 내용과 같은 열을 자유롭게 추가하여 테이블 역할을 하는 컬렉션을 구성할 수 있습니다. 특히 GUI 환경에서 체크박스 몇 개를 선택하는 것만으로 읽기, 수정, 삭제 등 기본적인 CRUD 작업에 대한 세밀한 권한 설정이 가능하다는 점이 큰 장점입니다. 예를 들어 비로그인 사용자는 읽기만 가능하게 하고 로그인 사용자에게는 모든 권한을 부여하는 식의 설정이 매우 직관적으로 이루어집니다. 이는 복잡한 백엔드 로직을 직접 코딩하지 않고도 안전한 데이터 관리 체계를 구축할 수 있음을 보여줍니다.

애플리케이션 연동 및 실시간 데이터 동기화 테스트

구축된 Appwrite 백엔드를 실제 코드에 연결하여 기능이 정상적으로 작동하는지 검증하는 테스트 단계를 진행합니다. 프로젝트의 ENV 파일에 엔드포인트와 각종 ID 정보를 입력하는 것만으로 백엔드 연동이 완료되는 단순함을 강조합니다. 실제로 새 사용자 계정을 생성하고 할 일(Todo) 목록을 등록했을 때 오류 없이 실시간으로 데이터가 전송되는 모습을 확인할 수 있습니다. 특히 로그인한 사용자와 비로그인 사용자가 동시에 접속했을 때 설정된 권한에 따라 데이터가 실시간으로 동기화되어 나타나는 장면이 핵심입니다. 이를 통해 매우 적은 양의 코드로도 강력한 인증 및 데이터 동기화 시스템을 구현할 수 있음을 증명합니다.

Appwrite를 선택해야 하는 이유와 고려사항

개발자들이 Firebase나 Supabase 대신 Appwrite로 이동하는 결정적인 이유로 데이터 소유권과 경제적 이점을 꼽습니다. 사용자 수에 비례하여 늘어나는 숨겨진 비용 없이 오픈소스 기반으로 운영할 수 있다는 점이 스타트업과 개인 개발자에게 매우 매력적입니다. 다만 글로벌 CDN이나 에지 함수 기능이 기본적으로 내장되어 있지 않아 Cloudflare와 같은 외부 서비스와의 통합이 필요하다는 기술적 특징도 솔직하게 언급합니다. 또한 MariaDB를 사용한다는 점과 대규모 운영 시 별도의 모니터링 도구가 필요하다는 주의사항을 전달하며 투명한 정보를 제공합니다. 결론적으로 비용 절감을 원하거나 개인 정보 보호를 중시하는 모바일 및 웹 개발자들에게 Appwrite가 2026년 현재 가장 강력한 대안임을 강조하며 마무리합니다.

Community Posts

View all posts