ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 클라우드(Cloud)란?
    소프트웨어 엔지니어링 2019. 9. 2. 14:17

    이 포스트에서는 클라우드가 무엇인지 설명하고 클라우드 서비스와 클라우드 컴퓨팅이 무엇인지에 대해 간단하게 설명하도록 한다.

    클라우드(Cloud)란?

    클라우드란 인터넷이다. 클라우드란 인터넷을 은유적으로 표현하는 말이다.

    클라우드 서비스(Cloud Service)란?

    클라우드 서비스란 클라우드, 즉 인터넷을 이용해 제공되는 서비스를 말한다. 예를 들어서 노트 어플을 생각해보자. 기존의 노트 어플(notepad)는 내 컴퓨터에 깔려있다. 노트패드에 노트를 작성하고 저장하면 어디에 저장되는가? 내 컴퓨터에 저장된다. 이 과정은 인터넷 연결이 전혀 필요 없다. 

    이제 요즘 사람들이 많이 쓰는 에버노트나 노션을 생각해보자. 에버노트(evernote)나 노션(notion)에 노트를 작성하고 저장하면 어디에 저장되는가? 내 컴퓨터에 저장되는가? 아니다. 바로 에버노트나 노션 회사의 서버(컴퓨터)에 노트가 저장된다. (실제로는 내 컴퓨터에도 저장되지만 결과적으로는 어플리케이션 서버에 저장된다.) 어떻게 에버노트나 노션의 서버에 내 노트가 저장되었는가? 바로 인터넷을 이용했기 때문이다. 이러한 특성 덕분에 인터넷이 가능한 어느 곳에서나 내 노트를 확인할 수 있다. 구글 드라이브, 드랍박스, 구글 메일, 구글 독, 깃 리파지토리등의 어플들이 클라우드 서비스이다. 이렇게 인터넷을 이용해 서비스를 제공하는 것을 '클라우드 서비스' 또는 SaaS (Software As A Service)라고 한다. 

    클라우드 서비스는 꼭 어플리케이션에만 적용되는 것이 아니다. 어느 서비스든 인터넷을 통해 제공되는 서비스는 클라우드 서비스이다. 이는 컴퓨팅 자원을 사고 운영하는 서비스에 대해서도 마찬가지이다. 컴퓨팅 리소스를 제공하는 클라우드 서비스를 특성에 따라 PaaS(Platform as a Service) 또는 Iaas(Infrastructure as a Service)라고 한다. 그리고 위처럼 인터넷을 통해 컴퓨팅 리소스를 이용하는 것을 클라우드 컴퓨팅(Cloud Computing)이라고 한다.

    *컴퓨팅 리소스(자원) : 서버, 데이터베이스, 방화벽, 등등 컴퓨팅을 위해 사용되는 장비들.

    클라우드 컴퓨팅(Cloud Computing)이란?

    클라우드 컴퓨팅이란, 내 컴퓨터나 내 서버, 데이터베이스, 네트워킹, 등등을 쓰는게 아닌 컴퓨팅 리소스를 제공하는 회사를 통해 서버, 데이터베이스, 네트워킹등등을 사용하는 것이다. 그리고 이런 컴퓨팅 리소스를 '인터넷'을 통해 사고, 관리한다. 컴퓨팅 리소스를 제공하는 대표적인 클라우드 서비스 제공자로는 구글 클라우드, 마이크로소프트 Azure, 아마존 웹 서비스등이 있다.

    즉, 내 어플리케이션의 컴퓨팅(computing)을 인터넷(Cloud) 너머의 누군가의 컴퓨터에서 하는것을 클라우드 컴퓨팅(Cloud Computing)이라고 한다. 이런 종류의 클라우드를 특성에 따라 PaaS(Platform as a Service) 또는 IaaS(Infrastructure as a Service)로 구분한다.

    클라우드 컴퓨팅을 왜 쓰는가?

    비용이 절감된다. 내가 어떤 웹 서비스를 운영하고싶다. 예시를 간단하게 하기 위해 서버만 예로 들어보자. 기존의 방법을 이용하기 위해서 나는 서버를 사야한다. 서버는 한대에 100만원 이상이다. 나는 초기비용으로 적어도 100만원을 써야 한다. 클라우드 컴퓨팅을 이용하면 이보다 훨씬 저렴하게 운영을 시작할 수 있다. 예를들어 아마존 웹 서비스의 EC2 m5.xLarge인스턴스는 한시간(오하이오 기준)에 $0.192 달러이다. 이는 한달에 대략 140불정도이다. 

    초기비용이 다가 아니다. 서버를 샀다면 서버를 운영하는 운영자가 필요하다. 이 서버가 잘 돌고 있는지, 꺼지지는 않았는지 확인하거나, 랜선이 끊겼다면 데이터센터에 가서 고쳐줄 사람을 고용해야 한다. 트래픽이 늘어 서버가 부족하면 서버를 더 사서 세팅 해 줘야 한다. 이런 비용을 운영 비용이라고 한다. 클라우드 컴퓨팅을 이용하면 클라우드 컴퓨팅 제공자가 이를 관리해준다. 따라서 운영에 드는 시간과 비용이 절감된다.


    댓글

f.software engineer @ All Right Reserved