제목 앞에 도커를 둔 이유는 .. 가상화 기술을 학습하기 전 서버에 개념을 정리해두는 것이 좋기 때문이다. 서버와 더불어 서버 운영 방법에는 어떤 것이 있는지도 간단하게 정리해보려 한다.
서버는 IT 산업에서 쉽게 접할 수 있는 용어이다. 서버 프로그래머, 서버 운영, 서버 설치 등 다양한 곳에서 사용 된다.
한마디로 정의되면 하드웨어와 그 하드웨어에서 실행중인 소프트웨어까지 모두 포함하는 단어이다.
하드웨어 기계만 두고도, 소프트웨어만 있을 때도 다 서버라 부르는 경우가 있기에 문맥에 따라 이해하면 된다.
서버의 전원이 꺼졌습니다 → 하드웨어 서버
서버 설치 파일을 다운받았습니다 → 소프트웨어 서버
위처럼 서버는 상황과 환경에 따라 의미가 다르다.
일반적으로는 하드웨어에서 실행 중인 소프트웨어 라고 생각하면 된다.
Server의 어원을 살펴보자.Serve 라는 단어가 무언가를 제공해 준다는 것을 의미한다.
Service, Serving, Serve.. → 따라서 Server ‘제공하는 주체’이다.
→ 서버는 항상 어떤 요청에 대한 결과를 제공해 준다.
(서버에 무언가를 요청하는 주체를 클라이언트라고 한다.)
클라이언트가 서버에게 요청을 보내면 물리적인 하드웨어를 통해 소프트웨어로 전달되고 소프트웨어가 요청에 해당하는 실제 기능을 수행한 다음에 클라이언트에게 원하는 결과를 응답해준다.
it 산업에서 애플리케이션을 운영하는 근본적인 이유도 사용자에게 어떤 서비스를 제공하기 위해서이다.
어떤 서비스를 제공 하는지는 실행 중인 소프트웨어에 따라서 달라지겠지만 클라이언트의 요청에 대한 결과를 제공해주는 근본적인 역할은 모든 서버가 동일하다.
서버는 서버에서 어떤 소프트웨어가 실행 중 인지에 따라 다양한 서버로 분류할 수 있다. 다양한 서버가 있지만 우리는 기업에서 운영하는 서버의 종류에 대해서 알아보려 한다.
위와 같은 서버들은 이미 개발되어 있는 소프트웨어를 다운 받아서 실행시키는 형태이다.(우리가 웹 브라우저를 사용하기 위해 크롬을 다운받아 쓰는 것과 비슷하다.)또한, 다운받은 소프트웨어는 오픈 소스 소프트웨어를 사용할 수도, 유로 라이선스를 구매해 사용할 수도 있다.
이 외에도 프록시 서버, 메일 서버 등 다양한 서버가 있지만 기업에서 운영하는 대표적인 서버로는 4가지로 볼 수 있다.
엔터프라이즈 환경에서는 아주 많은 양의 서버를 운영해야한다. WEB, WAS, DB.. 등
이렇게 많은 양의 서버를 운영하는 방법으로 크게 3가지를 뽑을 수 있다.
→ 따라서 기업에서 운영하기엔 비효율적인 경우가 많다.
여기서 2,3 번은 하나의 큰 서버를 열 개의 논리적인 작은 서버로 쪼개서 사용하는 가상화 기술을 사용한 방식이다. 이 중에서도 도커는 컨테이너 방식에 해당한다.
2,3은 가상화 기술을 사용한 방식인데 이 두개는 가상화 기술과 함께 다음 포스팅에서 자세히 다뤄볼 예정이다!
정주행 시작했습니다 글이 멋지네요 ~