본문으로 건너뛰기

VM으로 Server를 구축하는 이유


PaaS , SaaS 와 같은 것이 더 편리한 것이 있는데 불구하고 왜 굳이 VM 으로 Server를 구축하려는 것 일까요?

온 프레미스 환경 을 구축하는게 아닌 이상 보편적으로 AWS, Azure와 같은 클라우드 컴퓨팅 서비스 를 이용하게 됩니다.

4대 클라우드
  1. AWS-Amazon
  2. IBM Cloud-IBM
  3. Azure-MS
  4. Google Cloud Platform-Google

온 프레미스 환경 과 클라우드 환경 의 장/단점 존재하지만 엄청난 대형 서비스를 운영하는 게 아닌 간단하게 서버를 열어서 테스트하거나 소규모 Project용 혹은 취미용으로 사용하는 경우에는 사용한 만큼 가격을 지불하고 보안 및 관리가 용이한 클라우드 환경 이 편리합니다.

AWS, Azure는 클라우드 환경 에서 PaaS 형태로 용도에 맞게 여러 서비스를 제공합니다.

이 중에 용도에 맞는 Service를 선택하지 않고 하나의 VM으로 Server를 구축하는 이유는 뭘까요?

먼저 Server란?​

Server는 클라이언트에게 네트워크를 통해 서비스하는 컴퓨터를 의미합니다.

DB Server가 되면 클라이언트 사용자들이 DB에 저장된 정보를 요청하면 DB에서 요청된 정보를(때로는 가공하여) 제공하는 서비스 역할을 할 수도 있고

또는, Web Server가 되면 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 역할을 할 수도 있습니다.

이와 같이 Server는 넓은 역할을 수행할 수 있습니다.

용도에 맞는 서비스 이용​

클라우드 환경에는 용도에 맞는 서비스를 제공합니다.

Azure를 예로 들면

  1. 웹 사이트를 호스팅 하기 위한 App Services
  2. DB Server인 Azure Cosmos DB
  3. 등등...

해당 서비스를 이용하면 용도에 맞게 특화되고 강력한 기능을 제공합니다.

장점​

  1. 서비스에 맞는 강력한 기능 제공
  2. 독립적인 리소스로 관리가 가능
  3. 서비스 사용량만큼 가격을 지불하는 형태라 합리적이다
  4. 서비스가 다운되더라도 독립적이기 때문에 하나만 다운됨

단점​

  1. 여러 서비스를 관리해야 하는 어려움

그럼에도 VM? 🙄​

그럼에도 불구하고 VM를 사용하게 되면 생기는 이점이 있습니다.

note

데일리 하게 가볍게 사용하는 사용자 입장으로 서술되었으며 하나의 VM만 사용한다는 가정으로 서술되었습니다.

장점​

  1. VM 하나로 모든 서비스를 관리할 수 있다. 😍
  2. 온프레미스 환경 과 비슷한 환경을 만들 수 있다.
  3. 원하는 기능을 제약 없이 만들 수 있다.
  4. 하드웨어 성능을 선택할 수 있으며 변경이 자유롭다.
  5. 필요한 기능을 하나하나 설치하고 Setting 해야 되기 때문에 구동 메커니즘 이해에 도움이 된다.

단점​

  1. VM 다운시 모든 서비스가 다운된다. 😱
  2. 보안 관리가 어렵다.
  3. 항상 작동 가정으로 독립적인 서비스보다 지출이 크다.

결론​

내가 구현하는 서비스나 환경에 맞게 잘 선택해서 사용하는 것이 바람직합니다.

아직은 경험치가 부족하여 여러 서비스를 공부하는 것보다 하나의 VM으로 관리하고 느껴보는 것이 좋다고 판단되어 해당 시리즈에서는 VM을 Server로 사용하는 방법을 가이드 하게 되었습니다.

Reference​

  1. Azure 공식 Docs

parkgang