Firebase 쓰는 이유 (약팔이 영상)

ReadItLater Article

Firebase 쓰는 이유 (약팔이 영상)

우리가 흔히말하는 '웹서버'는 그냥 데이터 꺼내달라고 하면 데이터 꺼내주는 기계입니다.

서버가 있어야 회원 정보를 데이터베이스에 저장하고 뽑을 수 있고 

그래야 웹서비스를 제작가능합니다. 

근데 서버개발을 여러개 하다보면 뭔가 느낌이 듭니다.

"아 서버코드 너무 똑같은데 왜 이걸 손으로 짜고 있는 것임"

왜냐면 서버에서 짜는 코드는 매우 단순하고 반복적이기 때문입니다.

"게시물 뽑아주세요"

"댓글 뽑아주세요"

이런 코드를 주구장창 짜는데 근데 코드들이 다 똑같음 

그래서 어떤 똑똑한 개발자가 생각을 했습니다. 

"자동으로 웹서버 만들어주는 서비스가 있으면 좋겠군"

그래서 Firebase라는 서비스를 출시합니다. 

출시하자마자 10만명이 가입하고 인기가 오져서 구글이 인수함 

Firebase는 서버 대신 만들어주는 서비스입니다

뭔가 배우기 전에 항상 용도를 잘 알아야합니다.

Firebase는 님들이 서버없이도 웹서비스/앱서비스를 만들 수 있게 도와주는 서비스입니다. 

그래서 개발시간을 매우 단축가능한데 왜 가능한 것인지 그림으로 표현하자면 

▲ 원래 웹서비스는 이렇게 동작하는데

유저가 댓글을 올리고 싶으면 1. 댓글을 서버에게 보내고 2. 서버는 댓글을 database에 저장해야합니다. 

서버 안거치면 안됩니다. 악플 야짤 이런거 검열 어케할 것임 

그래서 님들이 개발해야하는 코드는 2개인데 

1. 댓글을 서버에 보내는 코드 (프론트엔드)

2. 서버가 댓글을 database에 저장하는 코드 (백엔드)

이렇게 됩니다. 

▲ 근데 Firebase를 쓰시면 서버 코드 개발을 대신 해주기 때문에

님이 개발할건 1. 댓글을 서버에게 보내기 이거 밖에 없습니다. 

그럼 Firebase가 database에 스마트하게 저장 알아서 해줌

그래서 HTML CSS JS 이 정도만 아시면 누구나 웹서비스 개발이 가능합니다.

근데 보안은 어케하는데요 보안 쓰레기일듯

서버의 존재이유는 유저가 사기치는걸 미리 검사할 수 있기 때문입니다. 

예를 들어서 제가 코인원서버에 가짜로

"저 XX인데 비트코인 10000개 있으니까 1개 매도좀 합시다"

이렇게 요청할 수 있습니다. 

그럼 서버는 이 요청이 가짜일 수도 있으니까 미리 검사를 하겠죠?

유저가 진짜 1만개 가지고 있는지 database를 뒤져봅니다.

그래서 진짜면 허락해주는게 서버의 역할입니다.

근데 Firebase를 쓰면 이걸 어떻게 개발할지 걱정이 될 수 있는데

▲ Database마다 규칙정하는 란이 있습니다.

여기다가 간단한 서버로직같은걸 작성할 수 있기 때문에 

어떤 데이터를 꺼내거나 수정하기 전에 규칙이 맞는지 확인할 수 있습니다. 

이거 말고도 다양한 서버측 기능은 Firebase내의 Functions라는 상품을 이용하면 됩니다. 

이거 말고도

- 월 무료 사용량이 있습니다. 이거 안넘으면 평생 무료임 

- 초심자가 Database 콘솔 다루기 쉬움 

- 서버나 DB의 스케일업 이슈에 대해 생각할 필요없이 얘가 자동으로 해줌

- Database 데이터 변경사항을 리얼타임으로 listen할 일이 있으면 자동으로 해줌 

최대단점 : 비쌈

AWS 이런 것보다 20%이상 비싸다고 생각하시면 되겠습니다.

사이즈 커지면 20% 이상 비싸집니다. DB 데이터 입출력마다 과금이 되는데 그게 비싸서 그렇습니다. 

물론 코드 잘짜면 줄일 수 있습니다.

예를 들면

3천명이서 하루에 명당 1천건의 DB데이터를 읽고 쓴다면 Database 사용료로 월 6만원입니다.

3천명이서 하루에 2~3MB 정도의 사진을 조회한다면 월 3만원입니다. 

근데 생각해보면 안정성도 보장되고 서버개발자가 필요없으니 이 정도면 합리적인 비용일 수 있겠네요. 

하루에 150~200명 정도 들어오면 여러분 사이트 무료사용량이 끝날 것 같은데

처음부터 유저가 1억명이면 어쩌지 하는 걱정은 안하셔도 됩니다

그쯤 되면 투자자가 줄설듯

그리고 프론트엔드만 다루기 때문에 AWS 이런걸로 충분히 이사갈 수도 있습니다. 

다만 서버없이 개발했으니 이사가려면 서버부터 만들어야겠지만요

그래서 다음시간부터 당근마켓을 만들어볼 것인데

강의만 쭉 들으면 2시간이면 될 것 같은데

강의만 듣지 말고 중간에 숙제같은건 혼자 해봐야 혼자 코드짜는 실력이늡니다. 

듣고나면 꼭 당근마켓 아니더라도 DB 입출력이 필요한 서비스들은 충분히 혼자 만들 수 있을겁니다.

© 2025 All rights reservedBuilt with Flowershow Cloud

Built with LogoFlowershow Cloud