코드라이언 0주차 개발환경 구축

클라이언트의 요청에 따라 웹 페이지를 보내는 서버를 편의 상 서비스 서버라고 하자. 사실 웹 서비스를 제공하기 위해서는 이 서비스 서버만 있으면 된다. 하지만 개발의 편의를 위하여, 서비스 서버 외에 하나의 서버를 더 개설하고 여기에서 개발 작업을 수행하는 경우가 있다. 이를 개발 서버라고 부른다.
Mac OS나 리눅스를 운영체제로 하는 컴퓨터는 별도의 작업 없이 개발 서버로 사용할 수 있다. 하지만 윈도우(Windows)를 운영체제로 하는 컴퓨터의 경우, 그 자체를 개발 서버로 돌리기에는 사전에 거쳐야 할 셋팅 과정이 까다로우며 실제 사용하기에도 돈이 너무 많이 든다. 그래서 윈도우 이용자들의 경우 외부로부터 리눅스를 운영체제로 하는 서버를 제공받아 원격으로 개발 서버를 이용하는 것이 더 편리하다.
 
한편 최근 들어서는 클라우드 컴퓨팅(cloud computing)’ 기술이 각광받고 있다. 클라우드 컴퓨팅은 가상화 기술을 이용하여 한 대 혹은 여러 대의 서버 공간을 가상으로 분할하여 제공하는 방식으로, 사용성, 확장성, 비용 등의 측면에 있어 웹/서버 호스팅을 능가한다. 이렇게 등장한 클라우드 컴퓨팅 서비스 중에서 가장 인기있는 서비스는 아마존 웹 서비스(이하 AWS. Amazon Web Services)이다.
도메인은 인간의 편의를 위해 인간의 언어로 붙인 서버 주소로서, 네이버를 비로소 ‘www.naver.com’으로, 구글을 비로소 ‘www.google.com’으로 만들어준다.
이 때 중요한 것은, 컴퓨터는 서버의 주소를 IP주소로 이해하며, 인간은 서버의 주소를 도메인으로 이해한다는 점이다. , 컴퓨터와 인간 모두를 위해 IP주소와 도메인은 공존해야 하는 것이며, 상호간에 일대일로 대응되어 자유롭게 변환될 수 있어야 한다. 이렇게 IP주소를 도메인으로, 도메인을 IP주소로 변환하는 작업을 담당하는 서버가 존재하는데, 이를 DNS(Domain Name System) 서버라고 한다.
 
다른 클라우드 컴퓨팅 서비스에 비해 AWS가 전 세계적으로 각광받고 있는데, 그 이유로는 다음과 같은 것들이 있다(다음의 사항들은 AWS 측에서 적극적으로 내세우는 장점들이다):
초기 투자금이 없으며, 유지 비용이 저렴함: 서버 장비를 구입하고 설치할 필요가 없기 때문에 초기 인프라 구축을 위한 비용이 필요가 없다. 서버를 유지하는 데도 상대적으로 적은 비용이 소요된다.
용량 유연성: 서비스에 대한 수요에 따라 서버의 용량을 늘려야 할 경우, 손쉽게 확장시킬 수 있다.
속도 및 민첩성: 클라우드 컴퓨팅을 통해 불과 몇 분만에 여러 개의 서버를 배포할 수 있다.
운영이 필요 없는 애플리케이션: 서버에 대한 투자와 운영에 노력을 쏟을 필요가 없다.
글로벌 지원: 전 세계 지역을 대상으로 고품질의 서비스를 쉽게 배포할 수 있다.
서서버 관리자는 맨 먼저 자신의 서버로 접속한다. 그리고 서버 상에 각종 프로그램을 작성해 놓는다. 또한 서버 상의 각종 데이터도 관리한다. 이들 작업은 모두 클라이언트의 요청에 원활히 대응하기 위한 준비 작업에 해당한다. 실제로 클라이언트의 요청에 응답하는 건, 내가 준비해놓은 대로 알아서 돌아가고 있는 서버 컴퓨터의 몫이다.
 
서버와 파일을 직접적으로 주고받는 데 사용되는 프로그램이 존재한다. 이를 FTP 클라이언트라고 한다.
출처 코드라이언

댓글

이 블로그의 인기 게시물

윈도우 설치에서 파티션 설정 오류(NTFS)

[exploit writing] 1_스택 기반 오버플로우 (1) First

하둡 설치 오류 정리