웹서버를 사용하기 위한 최적의
방법은 무엇인가?
웹 애플리케이션을 개발하고 나면,
실제 서비스를 하기 위해 서버를
구축해야 한다.
클라이언트가 서버에게 자료를 요청
하고, 서버는 요청된 자료를 애플리케이션으로
뿌려주기 때문이다.
웹 개발자가 자신의 사이트를 운여할 때
집에서 서버를 구축하는 경우는 드물다.
24시간 인터넷이 연결되고, 안정적인
서버 운용이 힘들기 때문이다.
전문적인 서버를 제공해주는 사업자에게
호스팅 서비스를 받는게 정신적으로
편한다.
호스팅은 크게 웹 호스팅과 서버 호스팅
2가지로 구분된다. 모두 서버에 Apache,
DB, middleware를 설치하는 것은 동일
하지만, 그 방법에 차이가 있다.
1. 웹 호스팅
웹 호스팅은 apache 같은 웹서버를 제공하고,
php, python 같은 미들웨어를 제공하고,
mongoDB, MySQL을 미리 설치 및 제공한다.
즉 개발자가 해야 할일은 자신이 개발한,
HTML 웹 애플리케이션을 그냥 업로드
하기만 하면된다.
기본적으로 웹 호스팅에서 제공되는 서버
컴퓨터에는 웹서버 및 미들웨어, DB가
다 설치되어 있기 때문이다.
장점은 사용하기 편하다는 것.
단점은 웹 호스팅이 다른 개발자들과
서버 컴퓨터를 공유하는 구조이기
때문에, 다른 사용자의 트래픽이 많아지면
많아질 수록 나의 서비스가 느려질 확률이
매우 높다는 것이다.
2. 서버 호스팅
서버 호스팅은 웹 호스팅 처럼 친절하지 않다.
서버 호스팅은 단순히 컴퓨터만 임대해주는
구조다.
즉, 서버의 역할을 할 수 있는 컴퓨터 한대만
임대를 해주고, 그 다음 step은 개발자가
모두 진행해야 하는 것이다.
장점은 온전한 나의 서버 컴퓨터로 임대를
받기 때문에 다른 사용자들의 간섭을 받지
않는다는 것이다.
반면 단점은 한대의 컴퓨터를 그대로 임대
받는 것이기 때문에 비용이 그만큼 비싸다.
만약 웹 개발을 하고 서비스의 실효성과
비즈니스 모델을 실험하기 위한 용도라면
굳이 서버 호스팅을 이용하기 보다는
웹 호스팅을 이용하는게 훨씬 agile한
방법이 될 수 있다.
이런저런 이유로, 클라우팅 컴퓨팅이
뜨고 있다. 아마존의 AWS을 찾아보자.
'Programming' 카테고리의 다른 글
[Django] Django migration error 대처법 (0) | 2021.09.07 |
---|---|
python virtualenv virtualenvwrapper command not found error 해결 (0) | 2021.09.07 |
[웹 개발] 초보자가 웹 개발 하는 방법 (0) | 2021.09.04 |
클라우딩 컴퓨팅의 세가지 모델은? (0) | 2021.05.26 |
Scrapy 설치하기 (0) | 2021.02.25 |
파이썬에서 file 활용하는 방법 3가지 (0) | 2020.10.27 |
댓글