신입 웹 개발자일 때 알았더라면 좋았을 기본 웹 아키텍처 개념
Domain Name Server
- enables WWW
- changes domain name to ip address
Load Balancer
- Horizontal scaling is always better than vertical scaling
- enables horizontal scaling
Web Application Server
- executes business logic and sends responds through HTML
- Should choose proper server language (Node.js, Ruby, PHP, Scala, Java, C#, .NET, ...) and its web MVC framework (Express for Node.js, Ruby on Rails, Play for Scala, Laravel for PHP)
Database Server
- struct, insert, find, modify, delete, and compute data
- Each backend service could have distinct different database
- SQL vs NoSQL
Cache Service
- provide key-value data that could be found in O(1)