클라우드 컴퓨팅이란?

1.  클라우드 컴퓨팅

  클라우드 컴퓨팅(Cloud Computing)은 ‘클라우드’라는 정보통신 사회에서 ‘네트워크’ 또는 ‘인터넷’을 표현하는 용어와 컴퓨팅이라는 용어의 합성어로 인터넷에 기반한 컴퓨팅이라는 의미를 갖는다. 정보를 디바이스가 아닌 클라우드에 전송하여 연결되어 있는 다른 디바이스로 처리하는 기술이다.

  컴퓨터를 사용하기 위해서는 소프트웨어, 데이터 파일, 운영체제, CPU, 메모리, 네트워크 같은 컴퓨터를 구성하는 요소 자체가 필요하다. 그러나 클라우드 컴퓨팅은 이러한 물리적 데이터 센터와 서버를 구입, 소유 또는 유지 관리하는 대신, 클라우드를 통해 가상화 된 IT 리소스(컴퓨터의 시스템 리소스)를 온디맨드(on-demand availability)[1]로 제공하여 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석, 인텔리전스 등의 컴퓨팅 자원에 대해 어디서나 접근할 수 있는 주문형 접근을 가능하게 하는 모델이다.

  사용자는 필요에 따라 클라우드 공급자가 클라우드로 제공하는 IT 리소스에 접근하여 사용하기 때문에 필요한 서비스들이 어떻게 구현, 관리되는지 같은 복잡한 부분들을 몰라도 원하는 일을 쉽게 할 수 있다. 그리고 클라우드를 통해 필요로 하는 리소스를 유동적으로 조절할 수 있어 작업을 하는데 유연성을 제공받는다. 또한 일반적인 온사이트 데이터 센터에서 필요로 하는 “래킹과 스테킹(racking and stacking)[2]”의 상당한 부분의 작업을 생략할 수 있어 시간을 절약하여 핵심 사업에 더욱 투자할 수 있게 된다.

 

2.  클라우드 컴퓨팅의 유형

  클라우드 컴퓨팅은 한가지 종류로 고정 되어있지 않고 사용자의 특정 필요를 만족시키기 위해 몇가지의 아키텍처와 배포하는 방식이 있다. 각 유형들이 제공하는 서비스의 특징과 어떠한 배포 전략을 이용할 수 있는지에 대한 이해가 있어야 필요에 적합한 서비스를 결정할 수 있다.

2-1. 배포하는 방식에 따른 클라우드 컴퓨팅

  접근 및 사용 권한에 따라 분류한 유형이다. 크게 공용 클라우드(Public Cloud) 그리고 사설 클라우드(Private Cloud), 하이브리드 클라우드(Hybrid Cloud), 3가지 종류로 나뉘어진다.

  우선 공용 클라우드는 인터넷을 통해 컴퓨팅 리소스를 제공하는 클라우드 공급자가 소유, 유지, 관리, 운영하는 공유 클라우드 인프라를 말한다. 공용 클라우드를 사용할 경우 모든 하드웨어나 소프트웨어 및 다른 지원 인프라를 클라우드 공급자가 소유하고 관리한다. 이를 이용하고자 하는 사용자는 인터넷을 통해 서비스에 접근하여 계정을 통해 관리할 수 있다.

  사설 클라우드는 특정 개인 또는 어느 한 조직에서 독점적으로 사용할 수 있도록 배포하는 방식이다. 이 유형은 서비스와 인프라가 개인 네트워크에서 유지 및 관리된다. 해당 조직 내부의 전용 데이터 센터 안에 배치하여 호스팅 된다.

하이브리드 클라우드는 공용 클라우드와 사설 클라우드 간에 데이터와 어플리케이션을 공유하여 모두 활용할 수 있는 유형을 말한다. 이 유형을 이용하는 사용자는 두 클라우드 모델의 장점을 활용해 유연성과 확장성, 더 많은 개발 옵션을 지원받으면서 중요한 데이터와 운영을 보호할 수 있다.

 

2-2. 서비스 유형에 따른 클라우드 컴퓨팅

  제공하는 서비스가 실제 디바이스에 얼마나 가까운지에 따라 분류한 유형이다. 이 유형은 크게 세가지, IaaS(Infrastructure-as-a-Service)와 PaaS(Platform-as-a-Service), SaaS(Software-as-a-Service)로 나눌 수 있다. 이러한 클라우드 컴퓨팅 서비스는 중첩되어 사용되기 때문에 클라우드 컴퓨팅 “스택(stack)”이라고 부르기도 한다.

1)    IaaS(Infrastructure-as-a-Service)

  IaaS는 서비스로서의 인프라를 의미한다. 가장 기본적인 형태의 클라우드 컴퓨팅 서비스이다. 컴퓨터, 디스크, 네트워크 같은 실제 물리적 장치(Physical Resource)를 대체할 수 있는 인터넷 상의 가상장치(Virtual Resource)를 대여해주어 사용자가 기본 인프라에 대해 접근할 수 있는 모델이다. 그래서 물리적 서버와 기타 데이터 센터 인프라를 구입, 관리하는데 요구되는 비용을 막을 수 있다. 또한 수요에 따라 스케일을 조절할 수 있고 사용하는 만큼만 비용을 지불하면 되기 때문에 낭비 없이 시스템을 운영할 수 있다는 장점 또한 갖고 있다. 일반적으로 IaaS를 이용하여 테스트 및 개발, 웹사이트 호스팅, 저장소의 백업이나 복구, 웹앱, 빅데이터 분석등을 수행할 수 있다.

2)    PaaS(Platform-as-a-Service)

  PaaS는 서비스로서의 플랫폼이다. 이 모델의 경우 사용자에게 완전한 개발 및 배포 환경을 포함한 컴퓨팅 플랫폼을 지원한다. 따라서 PaaS 사용자는 응용 프로그램과 서비스만을 관리하고 그 밖의 요소, 하드웨어나 운영체제 등의 기본 인프라를 관리해야 하는 수고를 줄일 수 있다. 이러한 점에서 PaaS는 IaaS와 동일한 장점을 가지면서, 추가적으로 개발도구, 미들웨어, 기타 업무 도구들을 사용자에게 제공하여 더 많은 장점을 취한다.

3)    SaaS(Software-as-a-Service)

  SaaS는 서비스로서의 소프트웨어를 의미한다. 대체로 SaaS는 최종 사용자 어플리케이션을 일컫는다. SaaS의 사용자는 클라우드 제공자에 의해 실행되고 관리되는 완전한 제품을 제공받는다. 모든 기본 인프라, 미들웨어, 어플리케이션 소프트웨어, 어플리케이션 데이터는 제공자의 데이터 센터에 있어, SaaS 사용자는 백그라운드에서 수행되는 작업들을 신경 쓰지 않고 해당되는 특정 소프트웨어를 어떻게 사용해야하는 지만 고려하면 된다.

  SaaS 어플리케이션의 대표적인 예시로 웹 기반 메일 서비스가 있다. 웹 브라우저를 통해 계정에 로그인하여, 클라우드 제공자의 네트워크에 있는 메일 소프트웨어를 이용하고 사용자의 메일 또한 클라우드 제공자의 네트워크에 저장된다. SaaS의 장점으로는 데이터가 클라우드에 저장된 경우, 사용자는 인터넷과 연결이 가능한 디바이스가 있다면 장소의 제약 없이 데이터에 접근이 가능하다. 또한, 앱 데이터가 클라우드에 저장되어 있으면, 사용자의 디바이스에 결함이 생겨도 데이터의 손실을 막을 수 있다는 점이 있다.

 

 

 

  3. 그리드 컴퓨팅

   그리드 컴퓨팅(Grid Computing)은 일종의 분산 시스템으로 컴퓨팅 기기를 하나의 네트워크로 연결해 가상 슈퍼 컴퓨터로 공통 목표를 위해 함께 작동하는 컴퓨터 리소스 모음이다. 쉽게 풀어서 여러 대의 컴퓨터들을 연결해 마치 하나의 컴퓨터인 것처럼 만드는 것이다. 네트워크를 통해 서로 연결된 그리드 클라이언트에는 미들웨어라는 특수 소프트웨어가 설치된다. 네트워크는 모든 관리 작업을 처리하는 그리드 서버에 연결되고 자체 저장소를 갖는다. 그리드 컴퓨터의 사용자는 그리드 서버를 통해서 필요한 데이터에 접근할 수 있다.

   그리드 컴퓨팅은 여러 컴퓨터들을 네트워크로 연결해 연결한 컴퓨터들의 CPU에 일을 분산시켜 더욱 빠르게 처리 할 수 있도록 해준다. 일반적으로 CPU를 100% 사용하는 경우가 드물어 항상 일정량의 유휴자원[3]이 발생한다. 그리드 컴퓨팅은 이 유휴자원을 네트워크로 공유하여 작업을 처리한다. 즉, 그리드 컴퓨팅은 놀고 있는 CPU에도 일을 분담해 리소스의 낭비를 줄일 수 있다는 장점을 갖고 있다는 말이다.

   이렇게 작업을 분할하여 작업 처리 시간을 줄여 효율성은 높이고, 낭비되는 자원을 최소화하는 그리드 컴퓨팅의 정보 처리 능력은 슈퍼 컴퓨터 혹은 그 이상 수준으로 극대화할 수 있다. 그래서 빅데이터 분석이나 날씨 모델링 같은 대규모 연산이 필요한 작업을 수행할 때 쓰인다.

   그리드 컴퓨팅에서 가장 중요한 부분은 소프트웨어 기술이다. 그리드 컴퓨팅은 CPU의 사양보다 이들을 효과적으로 운용할 수 있는 소프트웨어가 더 중요하다. 그렇기 때문에 그리드 컴퓨터에 관한 연구 또한 분산 처리에 대한 소프트웨어 개발과 컴퓨터 간의 광대역 네트워크 구축에 초점을 맞추고 있다.

 

  4. 클라우드 컴퓨팅과 그리드 컴퓨팅의 차이점

   클라우드 컴퓨팅은 인터넷을 통해 하드웨어와 소프트웨어 자원을 원격으로 조작과 구성, 접근하는 것을 말하며, 그리드 컴퓨팅은 하나의 작업을 처리하기 위한 여러 컴퓨터들의 자원의 모음을 말한다. 그리드 컴퓨팅은 여러 장치를 연결해 연산 작업을 처리하므로 서버, 개인용 컴퓨터 및 워크 스테이션은 독립적으로 동작하며 인터넷과 느슨하게 연결되지만, 클라우드 컴퓨팅은 인터넷을 통해 응용 프로그램과 유틸리티에 접근할 수 있다. 또한 그리드 컴퓨팅은 분산 아키텍처를 사용하고 클라우드 컴퓨팅은 클라이언트-서버 아키텍처를 사용한다.

   클라우드 컴퓨팅과 그리드 컴퓨팅은 모두 멀티 태스킹 기능을 활용하고 다른 시스템으로 작업을 퍼트린다는 공통점을 갖고있지만 둘은 다른 개념이다. 자원을 관리하는 방식에도 차이가 있다. 그리드 컴퓨팅은 컴퓨터의 자원이 서로 다른 위치에 있는 서로 다른 장치에 분산되어 있지만, 클라우드 컴퓨팅의 자원은 클라우드 서비스를 제공하는 데이터 센터(클라우드)에서 관리하는 중앙 집중 방식이다. 또한 그리드 컴퓨팅은 작업을 독립적으로 나누어 여러 장치들에 분산하여 할당한 후, 결과를 주 기기로 다시 전송하는 식으로 자원을 이용한다. 그러나 클라우드 컴퓨팅은 사용자의 요청에 따라 사용자가 필요로 하는 자원을 제공한다.

   그리드 컴퓨팅은 자원이 분산되어 있기 때문에 중간에 해커가 개입할 수 있지만, 클라우드 컴퓨팅은 자원이 가상화되어있는 클라우드 중앙 집중 방식이기 때문에 이러한 보안문제는 불가하다. 그러나 클라우드 컴퓨팅은 네트워크에서 리소스와 데이터를 사용하기 때문에 클라우드를 관리하는 회사에서 서비스 중단이 발생하거나 클라우드에 문제가 생길 경우 클라우드 컴퓨팅의 사용자들은 서비스를 이용하지 못하게 된다.

 

  5. 결론

   클라우드 컴퓨팅에 대해서 잘 알지 못했을 때에는 몰랐지만, 이 서비스는 생각보다 우리의 주변에서 흔하게 사용되고 있었다. IaaS나 PaaS 형태의 클라우드 컴퓨팅은 실제 디바이스와 상대적으로 멀어 일반인들에게 조금 생소한 분야일지도 모른다. 그러나 SaaS 형태의 클라우드 컴퓨팅은 위에서 언급되었듯이 이메일 또는 블로그, 인터넷 게임처럼 클라우드 즉, 인터넷을 이용하여 정보를 전송하거나 다른 디바이스로 처리할 수 있는 것들은 일반인들 또한 흔하게 사용하고 있다.

   이전에 한 포털 사이트의 계정이 해킹 당하여 정지를 당한 적이 있었다. 그런데 이를 해제하기 위해서는 핸드폰번호를 입력하여 인증을 받아야 했다. 이렇게 개인의 신상을 증명하는 수단으로 핸드폰 번호를 요구할 정도로 각 개인이 핸드폰을 소지하는 것은 당연하게 여겨지고 있다. 이것은 요즘 모바일 디바이스의 발전과 보급의 발달로 이루어진 결과이다. 이처럼 과거보다 사람들의 인터넷에 대한 접근이 더욱 좋아진 만큼, 클라우드를 이용하는 서비스들은 계속 앞으로도 지속적으로 증가하게 될 것이다. 클라우드 서비스가 증가하는 만큼 이로 인해 쏟아지는 데이터들 또한 굉장할 것인데, 이 데이터들을 분석하여 쓸모 있는 정보로 만드는 데이터 분석 작업에 필요한 알고리즘 또한 앞으로도 개발자들이 해결하고 더욱 발전시켜야 할 과제라고 생각한다.

 

참고자료

https://www.sap.com/korea/trends/internet-of-things.html

https://ko.wikipedia.org/wiki/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C_%EC%BB%B4%ED%93%A8%ED%8C%85

https://aws.amazon.com/ko/what-is-cloud-computing/

https://azure.microsoft.com/ko-kr/overview/what-is-cloud-computing/

http://www.clunix.com/cloudCom01_01/253

https://www.hpe.com/kr/ko/what-is/cloud-computing.html

https://azure.microsoft.com/ko-kr/overview/what-is-grid-computing/

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=rbdi3222&logNo=220618571041

https://ko.strephonsays.com/difference-between-grid-and-cloud-computing

https://www.netinbag.com/ko/internet/what-is-the-difference-between-grid-and-cloud-computing.html

https://freewlan.tistory.com/75

https://genesis8.tistory.com/273



[1] 요구하는 즉시 제공하는 것

[2] 시스템 내의 컴퓨터 하드웨어의 조립을 설명하기 위해 사용하는 용어로 어셈블리를 효과적인 방법으로 구성하는 것을 의미함

[3] 현재 사용되지 않는 자원

728x90