넛지 4차 산업혁명/클라우드 컴퓨팅

클라우드 컴퓨팅(2) : 클라우드 특징

Que sais 2020. 11. 10. 23:22

youtu.be/YR6f71QI984

<남의 것이 내 것, 내 것이 남의 것>

1990년대 이후 웹의 폭발적인 성장은 전 인류가 컴퓨터를 사용하는 틀을 바꾸었다. 개인용 컴퓨터 안에서만 저장, 연산, 정보처리, 정보생성 등의 모든 것을 처리할 수 있는 세상에서 인터넷 단말기만 있으면 어디에 있든 인터넷을 통하여 업무, 오락, 통신 등 모든 컴퓨터 기능을 얻을 수 있게 된 것이다.

사용자 입장에서 사용자 인터페이스(User Interface) 기능을 제외한 모든 컴퓨팅 자원이 인터넷 클라우드에 있다는 뜻을 갖고 있는 클라우드 컴퓨팅은 모든 ICT 기술 및 기능도 플러그에 꽂으면 전기를 사용할 수 있듯이 ICT 서비스를 받을 수 있다는 개념적 특징(ICT as a Service)을 지향하고 있다.

다양한 사람들이 함께 사는 현대에서 시장이란 공간은 매우 냉혹하다. 한마디로 시장에서 성공하기 위해서는 프로토콜(Protocole) 경쟁에서 승리해야 한다. 즉 컴퓨터와 컴퓨터 사이, 또는 한 장치와 다른 장치 사이에서 데이터를 원활히 주고받기 위하여 약속한 여러 가지 규약(規約)에서 자신이 제시하는 것을 보다 많은 사람들이 활용토록 해야 한다는 것이다.

이를 통신과 연계하면 AB에 어떤 메시지를 주고받는 단순한 행위. 1 : 1로 메시지를 주고 받을 수도 있고 1 : N, N : N으로도 메시지를 주고 받을 수 있다. A 한 대의 컴퓨터일 수도 있고 하나의 기업 또는 서버가 클라우드가 될 수도 있다.

여기에서 이들 간을 연결해 주는 네트워크가 필요한데 중요한 것은 서로 메시지를 주고받기 위해 동일한 프로토콜을 이용해야 한다는 것이다. 이때 다소 아이러니한 일은 이들 시장을 유저가 선택할 때 다윈의 자연선택설같은 형태를 보이기도 한다. 한마디로 기술 개발이라는 차원으로 진화되는 것이 아니라 성능이 떨어지고 심지어 가격이 더 비싼데도 불구하고 시장의 선택을 받아 그 기술이 생존해서 진화의 길로 나갈 수 있다는 것이다.

이 말의 뜻은 프로토콜은 누군가가 만든 것이므로 저작권은 물론 사용에 따른 제약 조건이 있다. 가장 우수한 프로토콜이 살아남는 것이 아니라 시장에서 가장 많이 사용되는 프로토콜이 살아남는 이유.

그러므로 프로토콜을 개발한 측은 자신들의 프로토콜이 보다 많이 보급되도록 노력한다. TCP/IP(Transmission Control Protocol/Internet Protocol)가 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 사용하는 대표적인 프로토콜이지만 과거 인터넷에 연결되어 있는 모든 단말기가 고유한 IP로 움직이는 것은 아니다. 그런데도 TCP/IP가 대세를 이루게 된 것은 이들이 다른 프로토콜과는 달리 오픈소스(Open Source)였기 때문이다.

 

그러나 이런 서비스를 위한 환경 구성 비용과 운용비가 만만치 않았다. 그러므로 여러 컴퓨터들을 연결하여 가상의 슈퍼컴퓨터를 만드는 그리드 기술이나 웹호스팅과 같은 네트워크상에서 컴퓨팅 자원을 임대하는 아이디어도 도출되었다.

한국의 경우 네이버N드라이버가 그것이다. 인터넷의 어느 공간에 나만의 저장소가 있거나 또는 웹 호스팅 업체를 통해 기업의 홈페이지가 운용되는 방식 또한 누군가 물리적인 서버 위에 가상으로 할당해준 자원을 유저가 소비하는 개념으로 지금은 거의 모든 IT서비스클라우드 위에서 동작한다고 봐도 무방하다. 그러므로 가상화(Virtualizatjon)라는 용어 또한 클라우드와 거의 동일한 의미로 사용된다. 가상화클라우드 서비스를 제공하는 기본 기술을 의미하지만 현재는 구분 자체가 무의미해진 것이다.

과거에 기업들과 관공서들은 모두 서버실을 갖추고 전문 인력을 고용하여 서버를 운용했다. 당시 서버 자체가 비쌌지만 서비스를 위한 환경 구성 비용과 운용을 위한 인건비가장 큰 문제였다. 그러나 클라우드 서비스가 발전하면서 네트워크 시장이 획기적으로 바뀐 것은 기업들이 이제 서버를 구매하기보다는 클라우드 서비스 회사와 계약하여 자신들의 IT자원을 클라우드에 구축한다는 점이다.

기업들은 자체 서버를 운용하기보다 저렴한 클라우드를 선호하는 것은 자연스럽다고 볼 수 있다. 특히 스마트폰의 폭발적인 증가로 모든 서비스가 앱 형태로 바뀐 지금 거의 모든 서비스는 클라우드에 존재한다. 페이스북이나 카카오톡과 같이 실시간으로 엄청난 데이터가 생성되는 SNS가 증가할수록 네트워크 관점의 트래픽 전달경로는 기존과 완전히 달라진 것이다.

 

<클라우드의 특징>

클라우드인터넷 기술을 활용하여 다수의 고객에게 높은 수준의 확장성을 가진 IT자원들을 서비스로 제공한 것이라고 볼 수 있는데 학자들은 클라우드의 특징을 다음과 같이 구분한다.

 

주문형 셀프 서비스

사용자가 서비스 공급업체의 도움을 받지 않고도 간편하게 서버, 스토리지, 애플리케이션 등과 같은 컴퓨팅 자원을 설정하고 이용할 수 있다.

 

폭넓은 네트워크 접근성

사용자는 다양한 기기 즉 데스크탑 PC, 노트북, 스마트폰, 태블릿 등으로 브로드밴드, 와이파이, LTE 등의 다양한 네트워크를 통해 서비스를 이용할 수 있다.

 

컴퓨팅 자원 공유

서비스 공급업체의 각종 컴퓨팅 자원은 사용자의 요청에 의해 동적으로 할당되며 상호 독립적으로 여러 사용자에게 제공된다.

 

신속한 탄력성

사용자는 자신이 원하는 컴퓨팅 자원을 상황에 따라 탄력적으로 확장하거나 축소할 수 있다.

 

측정 가능한 서비스

컴퓨터 자원은 측정된 사용량에 따라 사용자에게 과금되므로 서비스 공급업체는 측정된 정보에 따라 설비를 증축하거나 감축할 수 있다.

 

클라우드의 이러한 서비스는 크게 세개의 카테고리로 나뉘어 운행된다. 클라우드 서비스 사업자, 벤더, 사용자.

클라우드 서비스 사업자는 사용자를 위해 클라우드 서비스를 제공한다. 아마존, 세일즈포스닷컴, 구글 등이 이에 해당한다. 클라우드 서비스 형태는 불특정 사용자 다수를 위한 퍼블릭 클라우드와 특정 사용자만 이용하는 프라이빗 클라우드가 있는데 일반적인 개인 사용자는 퍼블릭 클라우드를 사용한다.

벤더는 클라우드 서비스 사업자를 위해 네트워크, 하드웨어, 솔루션, 애플리케이션 등을 제공하는 업체를 통칭한다.

사용자는 클라우드 서비스를 실제로 이용하는 개인, 기업, 공공기관 등이다.여기에는 인터넷 서비스를 제공하는 데 클라우드를 이용하는 인터넷 업체포함된다.

클라우드4차산업혁명의 핵심이 될 수 있는 배경은 여러 가지다.

우선 비용절감을 들 수 있다. IT자원은 기본적으로 값비쌀 뿐만 아니라 트래픽이 몰리거나 장비가 고장 나는 등 특별한 사고가 일어날 수 있으므로 별도로 IT 자원을 확보해 놓아야 한다. 하지만 이것이 간단한 일은 아니다.

둘째는 치열한 시장 경쟁으로 비즈니스 속도 전쟁이 벌어지고 있는데 클라우드가 이에 적합하기 때문이다. 클라우드는 즉시 컴퓨팅 자원을 제공받아 빠르게 비즈니스를 구현할 수 있다.

셋째 상호 연동되는 디바이스가 계속 확대되고 있기 때문이다. PC 뿐만 아니라 스마트폰, 태블릿 등의 모바일 기기를 비롯해 각종 디바이스와 사물인터넷 기기들이 확산됨에 따라 언제 어디에서든지 동일한 서비스를 이용하려는 수요가 계속 증가하고 있는 상황이다.

 

<클라우드 서비스 모델>

클라우드 자체서비스 모델이지만 세부적으로 세 가지 서비스 모델로 나뉜다.

첫째는 서비스로서의 인프라스트럭처(Iaas)사용자가 운영체제에서 애플리케이션까지 모든 소프트웨어를 직접 구성하고 실행할 수 있는 기본 컴퓨팅 자원가상화 환경으로 제공하는 것이다. 간단히 말하여 하드웨어 인프라 즉 서버, 저장장치, 네트워크 장비를 비롯하여 IT기술제공하는 서비스.

여기서 가상화란 컴퓨팅 자원의 추상화를 뜻하는 광범위한 용어로 물리적으로 단일한 하드웨어를 마치 여러 대의 개별 기기가 작동하는 것처럼 제공하는 것을 의미한다. 또한 가상화는 여러 대의 물리적인 하드웨어를 통합해 하나로 보이게 만들 수도 있다. 사용자가 이용하는 가상화된 개별 기기가상머신이라고 한다. 가상머신은 마치 진짜 컴퓨터처럼 인식되지만 사실은 가짜 컴퓨터. 그런데 가상머신이 윈도우, 리눅스, 유닉스 등 완전한 운영체제의 실행을 지원한다.

서비스로서의 플랫폼(Paas)은 클라우드 애플리케이션을 개발하고 통합할 수 있는 개발환경 및 도구를 클라우드 기반으로 제공한다. 여기에는 인프라의 운영체제뿐만 아니라 플랫폼 개발을 위한 각종 도구를 비롯한 가상화 기술까지 제공한다.

마지막으로 서비스로서의 소프트웨어(Saas)이다. 여기서 말하는 소프트웨어는 바로 클라우드 애플리케이션클라우드 인프라를 기반으로 실행되는 각종 애플리케이션을 뜻한다. 애플리케이션은 다양한 클라이언트 기기에서 웹브라우저 등을 통해 이용할 수 있으며 사용자는 애플리케이션을 이용하기만 하면 된다. 그러므로 사용자가 직접 운영체제, 서버, 스토리지, 네트워크 등을 설치를 하거나 관리하지 않아도 되는 장점이 있다.

클라우드 서비스를 학자들은 노스-사우스(north-south)' 트래픽이 이스트-웨스트(east-west)' 트래픽으로 바뀌고 있다고 표현한다. 노스-사우스 트래픽이란 기존의 고객이 어떤 서비스를 사용하기 위해 특정 서버로 접속하는 트래픽을 의미한다. 예를 들어 내 컴퓨터에서 메일을 쓰기 위해 구글 지메일 서버에 접속하는 것과 같다. 하지만 클라우드 시대는 사용자가 클라우드 어디엔가에 이미 접속해 있고 서비스 기능별로 다른 클라우드에 접속하여 데이터를 보내거나 갖고 온다. 이런 트래픽을 동일 계위(Hierarchy)간 연결이란 뜻으로 이스트-웨스트 트래픽이라 부른다. 데이터 센터트래픽으로 현재 전 세계의 대규모 네트워크데이터 센터 내부(Intra Datacenter Network)데이터 센터 간 연결(Inter Datacenter Network)에 집중되고 있다.

과거에 수많은 서버를 네트워크 스위치에 전부 연결한 상태에서 사용했지만 현재는 그 서버들을 마치 거대한 한 개의 컴퓨터로 만들어 주는 가상화 기술운용된다. 물리적으로는 똑같이 연결된 것으로 볼 수 있지만 가상화 솔루션을 통해 사용자, 서비스별컴퓨팅 자원과 네트워킹 자원을 할당하고 있다.

 

이러한 클라우드 서비스소프트웨어(SaaS), 플랫폼(PaaS), 인프라스트럭처(IaaS),로 대별되지만 이들이 서로 관련될 필요는 없다는 특성이 있다. PaaSIaaS 계층을 사용하지 않고 SaaS베어메탈에 구현할 수 있으며, 역으로 IaaS에서 프로그램을 실행하여 이것을 SaaS래핑(wrapping)하지 않고 직접 접근할 수 있다. 이들 세 가지를 보다 설명한다.

 

SaaS(Software as a Service)

제공자가 소유하고 운영하는 소프트웨어웹 브라우저 등을 통해 사용하는 서비스. SaaS 모델에서 사용자들은 응용 소프트웨어와 데이터베이스에 대한 접근 권한을 가진다. 클라우드 제공자들은 응용 프로그램을 실행하는 인프라스트럭처와 플랫폼을 관리한다. 그러므로 SaaS주문형 소프트웨어(on-demand software)로 칭하기도 한다.

SaaS 모델에서 클라우드 제공자들은 클라우드에 응용 소프트웨어를 설치, 운영하며 클라우드 사용자들은 클라우드 클라이언트의 소프트웨어에 접근한다. 클라우드 사용자들은 이러한 응용 프로그램들이 실행하는 클라우드 인프라스트럭처와 플랫폼을 관리하지 않으므로 클라우드 사용자 자신의 컴퓨터응용 프로그램을 설치하고 실행할 필요가 없다.

그러므로 SaaS 어플리케이션은 어떤 장치에서나 이용할 수 있다는 잇점이 있다. 이는 유저들이 자신의 집 PC나 사무실 PC, 노트북, 태블릿, 스마트폰 등으로 언제나 지금 막 업로드된 문서를 이용할 수 있음을 의미한다.

또한 SaaS협업 지향적이므로 두 명 이상의 사용자가 동시에 같은 문서를 작업할 수 있으며 더욱 중요한 것은 원격작업으로 가능하다는 점이다. 그 결과 이동의 필요성이 줄어들며 특히 유저는 이 시스템이 무엇으로 구축되고 어떻게 동작하는지, 백업은 이루어지는지 등을 알 필요가 없이 곧바로 바로 사용이 가능하다. 물론 SaaS가 정한 틀 안에서 운용해야한다.

 

SaaS의 단점은 사용자 데이터를 클라우드 제공자의 서버에 저장하므로 데이터를 인증하지 않고 접근할 수 있다는 점이다. 그러므로 사용자들이 인텔리전트 서드파티 키 관리 시스템채택하여 자신들의 데이터의 보안을 유지하기도 한다.

현재 네이버에서 제공하는 네이버 클라우드, 드롭박스, G메일 등이 포함된 Google G Suite 등이 이를 사용한다.

 

PaaS(Platform as a Service)

개발자가 개발환경을 위한 별도의 하드웨어, 소프트웨어 등의 구축비용이 들지 않도록 개발하고 구축하고 실행하는 데 필요한 환경 즉 플랫폼(인프라)적 환경을 제공한다. 특히 PaaS업체들은 새로운 온라인 어플리케이션을 신속히 생성하고 테스트하여 구동시키는 데 필요한 모든 것을 제공한다. 이렇게 만들어진 어플리케이션은 특정 조직의 직원만 사용할 수 있게 하거나 아니면 무료나 유료로 누구나 사용할 수 있게 할 수도 있다. 이는 PaaS의 용도가 상당히 크다는 것을 의미한다.

그러나 SaaS, PaaS를 사용하든 자신이 만든 어플리케이션이 구동되는 물리적 인프라 및 플랫폼어떤 통제권도 갖지 못한다는 점이다. 구글, 마이크로소프트의 애저PaaS에 특화된 서비스의 예인데 이것의 특징은 자체 프로그램을 제작할 수는 있지만 클라우드 서비스 업체결정하는 방식으로 한정된다. 예를 들자면 구글 앱 엔진에서 어플리케이션을 개발할 때 사용할 수 있는 프로그래밍 언어자바(Java)파이썬(Python) 중 하나다. 이때 프로그래머가 예를 들어 한글로 작성하고 싶다 해도 구글앱인 경우 작동되지 않는다. 최근의 전문화된 PaaS로 서비스로서의 블록체인인 BaaS가 있다.

 

IaaS(Infrastructure as a Service)

응용서버, 웹서버 등을 운영하기 위해서는 기존에는 하드웨어 서버, 네트워크, 저장장치, 전력 등 여러 가지 인프라가 필요하다. 이런 것들을 가상의 환경에서 쉽고 편하게 이용할 수 있게 제공하는 서비스. 한마디로 IaaSSaaS, PaaS처럼 자신의 프로그램 제작에 대한 제한이 없으므로 아마존 등 상당수 클라우드 컴퓨팅IaaS 모델을 기반으로 한다. IaaS는 고객이 원하는 어플리케이션의 가동과 데이터를 저장할 수 있도록 클라우드 하드웨어에 대한 접근을 허용한다.

IaaS 제공업체들이 고객들의 데이터를 저장하고 애플리케이션을 구동시킬 수 있는 서버대여하지만 업체들이 제공하는 서버의 대다수는 실체라기 보다 가상적이다. 이것이야말로 클라우드 컴퓨팅의 장점이라고 볼 수 있는데 클라우드데이터샌터들은 서버 블레이드가 장착된 물리적 서버들이 가상화라 불리는 소프트웨에 처리에 의해 나눠져 있다는 것이다.

실질적으로 서비스형 인프라를 이용하는 개인과 기업들은 자신의 컴퓨팅 활동을 변경할 필요없이 클라우드 컴퓨팅의 이점을 누릴 수 있다. 과거와 다른 점은 어플리케이션이 사내 혹은 자체 데이터 센터에 설치된 서버가 아니라 저 바깥 어딘가에 있는 클라우드에서 구동된다는 점이다.

IaaS 클라우드 제공자들은 요청이 오면 데이터 센터에 설치된 수많은 장비를 통해 제공해준다. 광역 연결의 경우 고객들은 인터넷이나 전용 가상 근거리 통신망캐리어 클라우드 중 하나를 사용할 수 있다. 특히 단순히 서버 등의 자원을 제공해 주면서 사용자가 디바이스에 제약없이 데이터에 접근할 수 있도록 해준다.