반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

웹풀스택 공부 중

Infrastructure: 서버의 구성 기초 본문

웹개발/웹 개념

Infrastructure: 서버의 구성 기초

lukeit 2024. 8. 16. 16:16

우리가 만든 Web Application을 구동시키려면 서버가 필요한데, 그 서버를 어떻게 구축 / 구성해야할까?

서버는 어떻게 구성하나?

  • 물리 서버 vs 클라우드 서버
    • 물리 서버 (On-premise): 요구사항 (필요에 따라)에 맞춰 직접 중소형 데이터 센터를 구축 및 유지보수
      • 구축과 유지보수 비용이 많이 높다
    • Cloud Server: 이미 구축된 초거대 데이터센터에서 사용할 부분만 OnDemand로 임대한다
      • 실체가 없음 (추상화)
      • 필요에 따라 즉각적으로 서버를 구성한다
        • 다 쓰면 폐기가 가능하다
          • 매몰 비용이 없음!
      • ex.) 아파트: 이미 구축된 거주단지에 임대로 살기
  • 서버를 선택하는 방법
    1. 물리적 서버를 사용할지, 클라우드 서버를 사용할지 선택
      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으로 수행한다면 웹 서버는 불필요하게 높은 자원으로 배포할 필요가 없다!

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