호스팅(Hosting)이란 서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해 주는 서비스를 말한다. 사용자가 직접 서버를 구입하고 운영할 필요 없이 호스팅 업체가 미리 준비해 놓은 서버를 빌려 사용하는 형식이다.
출처 : 나무위키
호스팅이란 말의 뜻은 어떤 서비스를 빌려서 사용한다는 말이다. 우리가 웹 서비스를 개발했는데 배포하지 않는다면 내 컴퓨터에서만 돌아가는 프로그램에 불과하다. 따라서 우리는 서버를 빌려서 서비스를 배포하게 되는데 이 작업을 호스팅이라고 한다.
웹 호스팅은 여러 고객이 하나의 서버를 함께 사용하는 형태다. 하나의 서버를 나누어 쓰기 때문에 저렴하게 이용할 수 있다. 그러나 사용할 수 있는 하드웨어가 제한적이고 서버 호스팅에 비해 좋은 성능을 기대하기는 어렵다.
서버 호스팅은 고객이 단독 서버를 사용하는 형태다. 넓은 저장공간을 사용할 수 있고, 서버 운영/관리에 대한 직접적인 권한을 가질 수 있습니다. 하지만 단독으로 서버를 이용하는만큼 비용이 높아 기업같이 많은 데이터를 사용하는 곳에서 사용하기 좋다.
클라우드 호스팅은 웹호스팅의 장점과 서버호스팅의 장점을 모두 가지고 있는 호스팅이다. 예로 AWS의 EC2나 구글의 클라우드 플랫폼 등 다양한 서비스있다. 장점은 쉽게 서버를 생성하고 관리할 수 있으며 트래픽의 변동에 따라서 유연하게 자원을 조절할 수 있다. 42서울 특강에서 클라우드 호스팅을 썼을때 장점에 대해서 질문했었는데 맨토님의 답변이 "클라우드 호스팅을 쓰면 매우 스무스 하다..." 라고 답변해주셨다.
개인 프로젝트처럼 소규모 트래픽이 필요한 곳 -> 웹 호스팅
트래픽과 DB의 사용량이 많은 기업 -> 서버 호스팅
트래픽의 변화에 유동적인 대처가 필요하고 빠른 시간안에 서버를 구축 할 경우 -> 클라우드 호스팅