개요
경험이 없는 팀은 서비스 초반에 인프라 결정장애를 겪는다
하나하나 만들어 쓰면 싸고? 좋아 보이는데
좋은 유료 서비스를 쓰면 시간이 절약된다
- aws
- k8s
- ecs
- elastic beanstalk
- rds
- sentry
- github + action
- quay
- bintray
- heroku
k8s가 좋다고 하지만 숙련된 개발자가 없으면 안쓰니만 못하고
간단한 서비스의 경우 heroku 정도를 쓰는게 나을 수 있다
rabbitmq, kafka 매니지드는 비싸서 소규모일 때는 설치해서 쓰고싶은 유혹이..
인프라 결정 기준
- 개발인원에 따라 1~5인, 10인, 100인…
- 서비스 사용자 규모 100명, 1000명
- 인프라 비용
- 무정전 서비스가 필요
다양한 요건이 있는데 인프라 비용에 따라 결정하는게 속편하고 빠르다.
할 줄 안다고 하나하나 직접 하다보면 그것만 하다가 본업을 할 수 없게 되니까
기준을 넘어서는 경우 다음 단계로 올라가기 위한 작업을 하면 된다
결정이고 뭐고 필수사항
- Container – 보통 Docker
- IaC – 인프라 코드화
- Git – github을 많이 쓰는데 gitlab.com은 무료에 빠르다
- 로깅 – Sentry
인프라 월비용에 따른 결정
간단한 웹서비스의 경우
무료 ~ 30만원
모놀리스로 프로토타입 개발하는 시간
또는 잘 설계된 애플리케이션 초반 개발
헤로쿠 heroku.com
AWS 최소인프라로 사용
30만원 ~ 100만원
서서히 기술욕심이 생기는 단계
매니지드 k8s를 사용해볼만하다
헤로쿠는 국내서버 제공이 안되고 느리기도 하니까
GCP, AWS, AZURE, DigitalOcean 매니지드 k8s
금지항목
- EB(ElasticBeanstalk)
- ECS
- GoogleAppEngine
위 항목은 속터지는 것에 비해 편리하지 않다
CloudFunctions, Lambda 등은 생각보다 설계 자체가 어렵고 디버깅도 어렵고 관리도 힘들다
연습용 으로 한두개 추가하기는 괜찮느데 초기 서비스에는 오히려 적합하지 않다
100만원 ~ 1000만원
서버 비용을 걱정하기 시작해야 할 단계
중소 클라우드 업체랑 계약 잘 하면
몇달정도 공짜로 쓰게 해준다
다 쓰고나서 눌러앉아도 되고 옮겨도 된다
어차피 k8s는 다 있으니까 상관없다
네이버 클라우드같은 경우는 IaC가 잘 안되는 문제가 있다.
많이 쓰는 TerraForm 지원이 거의 없다.
서버 API는 잘 돼 있긴한가 모르겠다
1000만원 ~
멀티클라우드