개인의 컴퓨터 혹은 모바일에서 웹 서비스를 이용하여 특정 사이트 혹은 모바일 어플을 사용하기 위해선
해당 플랫폼 ( PC : 인터넷, 모바일 : 3~5G 데이터 & 인터넷 서비스 ) 서버의 존재가 반드시 필요하다.
예를 들어 우리가 크롬 or MS edge or Safari 같은 웹 브라우저를 통해
네이버 혹은 쿠팡 혹은 에어비엔비 혹은 아고다 같은 사이트를 방문해서 어떤 기능을 수행하고 싶다면
해당 사이트들의 서버 호스팅이 반드시 필요하다.
더 자세하게 말하면
사용자의 컴퓨터에서 네이버 접속해서 검색 버튼을 클릭했을 때 네이버의 서버에 통신이 날라간다.
네이버의 서버는 검색창에 입력된 값을 바탕으로 클라이언트측, 즉 사용자 컴퓨터의 브라우저에게 응답을 돌려준다.
우리는 네이버 서버에게 우리가 원하는 값을 요청하고 응답으로 받은 값을 보게 된다. ( 검색 결과 )
쿠팡에서 쇼핑을 하거나 구매를 할 때 누르는 버튼도 마찬가지
아고다, 에어비엔비도 마찬가지다.
사실상 웹 사이트나 모바일 어플리케이션에 존재하는 대부분의 버튼이 서버에 통신을 전달하는 매개체다.
자 그렇다면 사용자의 컴퓨터는 살아있는데 서버는 존재하지 않는다면 ( 과부하 때문이던 서비스 중단이던 죽어있다면 ? )
우리는 그 사이트를 사용하지 못하는 것이다. ( 브라우저에서 404 에러를 표시해주거나 기타 에러 메시지를 표시해줄거다 )
어떤 웹사이트건 서비스 구조는
클라이언트 ( 사용자 ) --- 서버 ( + DB ) 의 형태다.
클라이언트는 사용자의 PC 혹은 모바일이 될 것이고 서버는 그럼 무엇인가 ?
각 기업의 데이터센터가 서버가 된다.
데이터 센터는 뭐냐? 쉽게 말하면 24시간내내 켜져있는 고성능 컴퓨터들의 집합이라고 보면 된다.
컴퓨터로 보낸 요청 ( 클라이언트 ) 은 컴퓨터 ( 서버 ) 로 응답해준다는 기본적인 사실을 인지하고 있자.
자, 사용자가 사이트를 언제 방문해서 어떤 기능을 사용할지는 제각각이다.
누군가는 아침 10시에, 누군가는 새벽 3시 혹은 4시에 사용할 수 있다.
서버는 사용자의 요청에 언제든지 응답을 돌려줘야 하기 때문에 24시간동안 켜져있어야 한다.
그말은 즉슨, 24시간 내내 데이터 센터로 전기가 흐르고 있어야 한다는 말과 동일하다.
그 말은 전기세가 상당할 것이다라는 말이다. ( 전력 요금 누진제 )
그리고 고성능이어야 한다.
만약 사이트를 1000명의 사용자가 동시 접속했다고 가정하자.
저성능의 컴퓨터는 이 트래픽을 해결하지 못하고 에러가 발생할 것이고 그렇다면 서버는 중단된다.
서버가 중단되면 모든 사용자들은 해당 사이트 혹은 어플리케이션을 이용하지 못하게 되고 누군가는 큰 피해가 발생할 수 있다.
때문에 데이터센터는 인프라 투자 비용이 엄청난 만큼 왠만큼 거대 기업이 아닌 이상 구축하기 어렵다.
때문에 클라우드 컴퓨팅을 활용한 서버 호스팅이 트렌드다.
클라우드 컴퓨팅은 무엇인가?
쉽게 말하면, 기존에 데이터 센터를 구축한 기업에 돈을 지불하고 그 데이터 센터의 일부를 임대하는 것이다.
대표적으로 AWS EC2 가 있다.
이렇게 세계 곳곳에 대규모 데이터 센터를 건립해서 데이터 센터를 임대해주는 업을 클라우드 사업이라고 하며
google, AWS, MS, Digital Ocean 등이 대표적인 클라우드 기업들이다.