스타트업 시스템 구성 추천 (2023.04. 기준)

sig03
5 min readApr 21, 2023

--

스타트업으로 이직한지 1년이 다 되어 간다. 회사의 IT 인프라가 전무했는지라 하나 하나 자료 조사하고 구축하고 개발도 하고. 재미도 있었지만 그때 미리 알았다면 이런 선택을 하지 않았을텐데 하는 부분들이 제법 생겼다. 조사할때는 그게 진리인 줄 알았는데 경험하고 나니 그런 것도 아닌, 그때는 맞고 지금은 틀린 것들.

그래서 경험한 것을 바탕으로 스타트업의 시스템 구성을 추천해 보려 한다. 기준은 IT 인프라가 필요한 초기 스타트업이고 2023년 버전이다. 본인이 경험많고 이 바닥을 잘 아는 A급 인재는 아니니 참고 자료 정도로만 활용하길 희망한다.

1. 클라우드

무조건 AWS다. 가장 많이 쓰고 인기도 많고 레퍼런스도 많다. 그만큼 도움 받을 곳도 많다. 스타트업이라면 무료 크레딧 받을 수 있는 기회도 많다. 다른 클라우드 서비스랑 비교하고 고민할 필요도 없이 AWS로 가자.

2. 프론트엔드

무조건 React다. 레퍼런스도 많고 개발자도 많다. 어설프게 Vue, Svelte 같은거 선택하면 개발자 구할 때 어려움이 생길 것이다. 요즘은 React 단독으로만 구성하지 않고 Next.js를 많이 쓴다. Next.js로 가자.

3. 프론트엔드 서버

프론트엔드를 만들었으면 호스팅할 서버를 구성해야 한다. EC2에 Niginx 올리고 뭐 이런 식으로 구성하겠다면 말리지는 않겠으나 인력과 시간과 리소스가 부족한 스타트업에서 이런 부분까지 케어하는건 오바다. 프론트 호스팅 서비스를 사용하자. 돈으로 시간을 사는 것이라 생각하자.

AWS의 호스팅 서비스인 Amplify를 사용해 봤는데 이게 Next.js랑 궁합이 안 맞는다. 문제가 좀 있다. 프론트 접속하면 콜드 스타트처럼 몇 초 후에 사이트가 로딩되는 문제가 있었다. 확인한 게 이거고 또 어떤 문제가 있을지 모르겠다. Next.js 제작사인 Vercel의 호스팅 서비스를 사용하자. AWS 한 곳에 다 구축하는게 편하긴 하겠지만 문제가 있다면 다른 것과 병행하는 것도 좋은 방법이다.

4. 백엔드

Node의 프레임워크인 Nestjs, Python의 프레임워크인 Django 로 고민을 했었는데 Django가 인기가 있어보여 Django를 골랐다.그런데 Django 레퍼런스가 크게 부족하다 느낀다. 구글 검색하면 많이 나오기는 하는데 보통 튜토리얼 같은 낮은 수준의 레퍼런스가 많다. 관련 도서도 별로 없다. 그래서 지금은 약간 후회가… Python이 인기가 많은 거지 Django가 인기가 높은 건 아닌 듯 하다. 만약 그때로 다시 돌아간다면 Node 생태계를 선택하고 싶다. 그러면 프론트 개발자의 서포트도 가능하다.

프론트엔드, 백엔드로 구성하기로 했다면 백엔드는 어차피 단순 API 역할만 할거라 대단한 무엇이 필요치 않다. 인증 같은 부분도 모듈 쓰면 되고. 그러고보면 굳이 무거운 프레임워크 안 쓰고 Node.js로만 구성해도 되지 않을까 싶다. 그래서 결론은 백엔드를 고르겠다면 Node를 먼저 고려해보길. Django를 선택하겠다면 레퍼런스 부족을 감안해야 할 것이고 Java는 잘 알지도 못하고 무겁다 느껴져 추천하지 않는다.

5. 백엔드 서버

AWS의 PaaS 서비스인 Elastic Beanstalk를 사용중인데 이건 추천 50, 반대 50이다. 신경쓸 거 없어 매우 편하긴하다. 그런데 만들어진걸 가져다 쓰는 거라 제약도 많고 문제 생겼을 때 디버깅도 불편하다. EC2에 직접 구축하는게 엄두가 안 나서 선택하긴 했으나 EC2 환경도 한 번 구축해 놓으면 크게 신경쓸거 없지 않을까 하는 생각이 든다. EC2로 구축했다면 상위 레이어에 로드 밸런스 붙이고 Auto-Scaling 환경 구축해서 Scale-out도 대비하고. 그래도 시간 단축과 편의성이 높으니 최초에는 Elastic Beanstalk 같은 PaaS로 구성하고 이후에 회사 규모가 생기면 EC2로 옮겨가는 방안을 추천한다.

6. DB

RDB. MySql 같은 관계형 데이터베이스 쓰면 된다. 특별한 이유가 있어 Mongodb 같은 NoSql 써야 하는게 아니라면 그냥 RDB 쓰자. Mongodb 가 아무리 인기가 많다 해도 RDB가 쌓아높은 레퍼런스를 넘어서려면 한참 멀었다. 고생 안 하려면 그냥 RDB 쓰는게 좋다. 프론트, 백엔드를 다른 걸로 교체하는 것 보다 DB를 교체하는게 더 어렵고 조심스럽긴 하다. MySql 쓰다가 Mongodb로 전환하겠다면…생각만 해도 골치 아프다. 그렇게 생각하면 미래에도 계속 사용할 DB로 선택하는게 맞지 않을까 생각도 들지만 회사 규모가 커지고 교체의 필요성이 생긴다면 나 말고 다른 사람이 그 작업 하지 않을까? 추천은 RDB, 참고 견딜 수 있다면 NoSql. (그렇다고 Mongodb가 전혀 못 써먹겠다는 말은 아님) RDB도 AWS의 RDS 같은 PaaS를 사용하자.

7. 소스 관리

Gitlab 쓰자. 5인 이하는 무료다. 스타트업이 개발자 5인 넘어가면 대기업 아닌가? 그때는 기분좋게 돈 내고 쓰면 된다.

8. 업무 관리

Jira, Notion 쓰자. Jira로 업무 단위를 관리하자. 그러나 Jira는 검색이 잘 안 된다. 지식 기반 또는 디테일한 업무를 기록하는 툴이 필요한데 같은 회사의 Confluence는 구리다. Notion 쓰자. 무료로 써도 충분하다. 회사 공용 계정을 유료 결제하면 다 같이 지식 기반 환경을 구축할 수 있다.

--

--

sig03
sig03

No responses yet