작은 서비스를 만들면서도 추후에 잘되면,
Scalability를 걱정할 필요없는 그런 아키텍쳐를 구성하려면 어떻게 해야할까요?

이 글에서는 이런 것들에 대한 개인적인 생각을 정리하고 업데이트 해 가려고 합니다.

또한 이 글은 AWS를 사용한다는 가정하에, 아키텍처의 구성 요소들에 대해서 생각해 보려고 합니다.

 

1. Serverless or Server

개인적으로는 Serverless에 대해서는 고려하지 않는 것으로 정했는데요.

Serverless의 경우 사용한 만큼 요금을 지불하기 때문에,

자금력이 되거나 투자를 받은 스타트업,

혹은 Serverless를 잘 통제할 수 있을 만큼 기술적 내공이 있는사람에게는,

좋은 선택이 될 것이라고 생각합니다.

 

하지만, 위에 개인적으로는 해당되지 않는다고 생각하기에,

작은 실수 하나만으로도 많은 Request가 발생하거나,

혹은 예상하지 못한 그리고 도움이 되지 않는 불특정한 곳으로부터의 request에도,

비용으로 연결된다는 것은 Serverless를 선택하지 않게 됩니다.

 

2. NGINX or AWS ELB Load Balancer

NGINX와 AWS의 ELB 모두 Load Banlancing기능을 갖추고 있습니다.

NGINX자체는 Load Balancing이외에도,

할 수 있는 것들이 많이 있어서 사용하기는 하겠지요.

참고로 ELB의 비용이 월 3,4만원 이하로 알고 있기 때문에,

NGINX를 Load Balancer로서 직접 이런저런 설정을 해주면서 관리하는데 시간을 쓰기보다는,

AWS ELB를 사용하는 쪽이 비용대비 효율이 좋은 것 같다고 생각합니다.

 

3. S3 vs FireStorage

 

 

+ Recent posts