웹풀스택 공부 중
Infrastructure: 서버의 구성 기초 본문
우리가 만든 Web Application을 구동시키려면 서버가 필요한데, 그 서버를 어떻게 구축 / 구성해야할까?
서버는 어떻게 구성하나?
- 물리 서버 vs 클라우드 서버
- 물리 서버 (On-premise): 요구사항 (필요에 따라)에 맞춰 직접 중소형 데이터 센터를 구축 및 유지보수
- 구축과 유지보수 비용이 많이 높다
- Cloud Server: 이미 구축된 초거대 데이터센터에서 사용할 부분만 OnDemand로 임대한다
- 실체가 없음 (추상화)
- 필요에 따라 즉각적으로 서버를 구성한다
- 다 쓰면 폐기가 가능하다
- 매몰 비용이 없음!
- 다 쓰면 폐기가 가능하다
- ex.) 아파트: 이미 구축된 거주단지에 임대로 살기
- 물리 서버 (On-premise): 요구사항 (필요에 따라)에 맞춰 직접 중소형 데이터 센터를 구축 및 유지보수
- 서버를 선택하는 방법
- 물리적 서버를 사용할지, 클라우드 서버를 사용할지 선택
1-1. 클라우드 서버를 선택했다면 Serverless로 사용할지, Server를 임대할지 선택해야함
- 물리적 서버를 사용할지, 클라우드 서버를 사용할지 선택
물리 서버
- 데이터센터 구축에 따른 고정비용 + 직접 운영과 관리가 필요하다
- 단점:
- 건물 유지비용, 서버 구매비용, 유지보수 등
- 다수의 서버
- 네트워킹 장비
- 장소
- 한번 구매, 설정하면 수요에 상관없이 계속 보유 및 관리가 필요함
- 전원 및 냉방 공급
- 백업 시스템
- 운영 인력
- 건물 유지비용, 서버 구매비용, 유지보수 등
- 장점:
- 대여 비용이 발생하지 않음
- 전기세만 내면 됨
- 상황에 따라 사용하면 좋음
- ex.) 금융거래
가상 서버 (Cloud Server)
- 데이터 센터 임대에 따른 OnDemand 비용 + AWS가 대신 운영과 관리를 해줌
- "쓰는 만큼 비용을 지불함"
- 호스팅 업체의 수많은 클라우드 서버 중 일부를 대여함
- 장점:
- 매우 간편한 설정
- 필요에 따라 원하는 네트워크 및 서버 구축을 며초안에 완료할 수 있음
- 몇번의 클릭으로 리소스 확보 가능!
- 고정되지 않은 유동적인 비용
- 필요할때만 쓰고 비용을 지불하니까 비용이 절감됨
- 클라우드는 피크에 해당하는 비용만 지불하면 되서 낭비되는 자원에 따라 낭비되는 비용이 발생하지 않음
- 필요에 따라 원하는 네트워크 및 서버 구축을 며초안에 완료할 수 있음
- 매우 간편한 설정
Serverless
- 물리적 서버든 클라우드 서버든 이 서버들을 구매하지 않고도 작업을 수행할 수 있는 것을 Serverless라고 부름
- 사실 Server가 존재함!
- 요청이 들어오면 기존에 떠있는 서버가 받아서 처리하는게 "아닌"
- 요청이 들어오면 처리를 위해 서버를 만들고 -> 수행 후 -> 서버를 죽인다
- "요청 횟수에 따른 과금이 발생함"
- 과금이 아주 많이 들어 경제성 계산이 필요하다
- ex.) Vercel을 통해 Next.js 배포 시 모든 것이 Serverless로 돌아간다
- Backend Server Logic중 호출 횟수가 적은데 자원이 생각보다 큰 작업일 경우 Serverless로 처리한다
- ex.) 이미지, 영상 처리
- 상시 사용하는 양에 비해 필요한 웹 서버의 메모리가 너무 높음
- 그래서 이미지, 영량처리만 Lambda의 Serverless Function으로 수행한다면 웹 서버는 불필요하게 높은 자원으로 배포할 필요가 없다!
- 상시 사용하는 양에 비해 필요한 웹 서버의 메모리가 너무 높음
- ex.) 이미지, 영상 처리
Lambda?
- AWS 서비스의 이름임
반응형
'웹개발 > 웹 개념' 카테고리의 다른 글
Proxy란? (0) | 2024.08.23 |
---|---|
Load Balancer와 배포방식의 기초 (0) | 2024.08.16 |
운영체제 (OS) 와 프로그램의 기초 (0) | 2024.08.16 |
Hydration 개념 공략 (0) | 2024.08.13 |
2주차 (0) | 2024.08.13 |