ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 클라우드란?
    News 2019. 12. 28. 00:05
    728x90
    반응형

    흔히 우리는 네이버의 'N드라이브', 구글의 '구글 드라이브', 'DropBox' 등등 저장하기 위한 원격 저장소를 클라우드라고 생각한다.

     

    하지만, 이는 클라우드가 제공하는 서비스 중 극히 작은 부분을 차지한다.

     

    클라우드 컴퓨팅 Cloud Computing

    클라우드 컴퓨팅은 서버, 데이터베이스, 네트워크, SW등 ICT(정보통신기술) 자원을 필요할때 인터넷을 통해 서비스 형태로 제공받아 이용하는 방식이다. (쉽게 말하면, 컴퓨터 서버를 자신이 원하는 퍼포먼스에 맞게 제공받는 것) 예를들면 개인용 컴퓨터나 기업의 서버에 개별적으로 저장해 두었던 프로그램이나 문서를 클라우드에 저장하고 웹 브라우저 등 필요한 어플리케이션을 구동해 원하는 작업을 수행할 수 있는 사용자 중심의 컴퓨터 환경을 말한다.

     

    물론, 이는 무료가 아니다. 무료체험식으로 이용할 수는 있지만, 결국 제대로 사용을 하려면 돈을 지불하고, 클라우드 서비스를 제공받아 이용할 수 있다.

     

    이러한 서비스를 제공해주는 아마존, 구글, 국내에서는 SK의 cloud Z, KT의 U cloud 등등 여러 회사가 있다.

     

    아마존 AWS : https://aws.amazon.com/ko/?nc2=h_lg

    구글 클라우드 : https://cloud.google.com/products/compute/?hl=ko

    KT Ucloud : https://ucloudbiz.olleh.com/

    SK Tcloud : https://www.tcloudbiz.com/userPortal/main/main.do

    SK cloudZ : https://www.cloudz.co.kr/main

     

    클라우드 서비스 유형 (IaaS / PaaS / SaaS)

    클라우드 서비스는 이렇게 Iaas, PaaS, SaaS 이렇게 3가지로 나눌 수 있다.

     

    이미지 출처 :  https://locustec.com
    이미지 출처 :  http://cloudonmove.com 

    Packaged Software (On Premise) 

    Packaged Software는 직접 인프라와 플랫폼, 어플리케이션까지 모두 구성하여 관리하는 모델을 의미한다.

    정리

    • 물리적인 장치, 하드웨어 (CPU, RAM, Storage, Network device 등등)을 모두 직접 구매해야 한다.

    • 직접 OS를 설치해야 한다.

    • 네트워크 환경을 직접적으로 구성해야 한다.

    • 서버 관리를 직접적으로 해야 한다. (트래픽, 프로지버닝 등등)

    • 이런 모든 것을 사용자가 직접 다 준비해야 하기 때문에 매우 큰 시간과 돈을 소비하게 된다.

     

    IaaS (Infrastructure as a Service) - 인프라 자원을 서비스 해준다.

    IaaS는 컴퓨터 자원을 빌려준다. CPU 코어의 개수, 메모리의 용량, 하드디스크 등등 컴퓨터 자원을 사용자가 원하는 형태로 제공해준다.

    Infrastructure 레벨을 제공하는 서비스를 의미하며 위에 보이는 것과 같이 사용자는 OS를 직접 올리고 그 상위 계층만 구성하면 되는 모델이다.

    정리

    • 우리가 자주 사용하는 가상 호스팅 (VM Hosting)과 비슷하나 가상 호스팅은 우리가 직접 장비를 사서 그 장비의 한에서 자원을 할당하고 구성해야 하지만, IaaS는 기업이 준비해 놓은 환경에서 우리가 선택할 수 있다는 점에서 차이가 있다.

    • 일반적으로 적은 OS가 지원된다. (아마존은 일부 Linux와 Windows Server 제공)

    • 고객은 OS와 어플리케이션을 직접 관리해야 한다.

    • 관리 측면에서 개발자와 인프라 관리자의 역할을 분담시킬 수 있다.

    장점

    • 고객은 가상 서버 하위의 레벨에 대해서는 고려할 필요가 없다는 장점이 있다.

    단점

    • 그러나 역설적으로 가상 서버 하위의 레벨에 대해서는 전혀 고객이 접근하거나 컨트롤 할 수 없다는 것도 특정 사용자 (예를들면 IT 운영부서) 입장에서는 불편함을 느낄 수 있다.

    • 결국, 가상 서버 하위의 레벨에 대해서 고려할 필요가 없는 사용자가 쓰기에 적합한 모델이다.

    예시 - AWS의 EC2

    • AWS의 EC2를 이용하면 우리는 물리적인 서버와 Network, Storage 등등을 직접 구매하거나 준비하지 않아도 원하는 OS를 깔아 서버로 사용할 수 있다.

    • AWS의 EC2는 사용자가 원하는 OS를 고르고 그에 해당하는 스펙을 선택하기만 하면, 모든 관리를 아마존에서 해주는 것이다. OS를 제공한다는 느낌이긴 하지만, 선택권을 주고 OS의 종류나 다양한 자원들을 사용자가 선택하므로 대표적인 IasS라고 불리고 있다.

    사용자

    • AWS처럼 직접 기업이 클라우드를 운영하고 사용자인 우리가 서비스를 받는 AWS EC2 같은 것이 이에 해당한다.

    제공자

    • 직접 클라우드를 구성할 수 있는 OpenStack이라는 오픈 소스도 IaaS에 해당한다. 서비스를 제공 받는 입장이 아닌 제공하는 인프라를 구성할 수 있는 오픈 소스이다.

     

    PaaS (Platform as a Service) - 개발에 필요한 환경을 서비스 해준다.

    개발자가 응용 프로그램을 작성할 수 있도록 플랫폼 및 환경을 제공하는 모델이다.

    PaaS는 컴퓨터 자원은 물론이고, 플랫폼 (개발환경)까지 제공해준다.

     

    정리

    • 운영 팀이 인프라를 모니터링할 필요가 없다.

    • 사용자는 OS, Server 하드웨어, Network 등등을 고려할 필요가 없다.

    • 사용자는 어플리케이션 자체에만 집중할 수 있다. 즉 개발자는 빠르게 어플리케이션을 개발하고 서비스 가능하게 할 수 있다.

    • IaaS와 헷갈릴 수 있는데 아마존과 같은 서비스가 VM을 제공하는 IaaS라면, PaaS는 node.js, Java와 같은 런타임을 미리 깔아놓고, 거기에 소스코드를 넣어서 돌리는 구조이다. 다시 한번 얘기하면 우리는 소스코드만 적어서 빌드하는 것이고, 컴파일은 클라우드에서 하여 결과만 가져오는 것이라고 생각하면 된다.

    장점

    • PaaS의 경우 이미 설치된 미들웨어 위에 코드만 돌리면 되기 때문에, 아무래도 관리가 매우 편리하다.

    • 가장 이상적인 어플리케이션 플랫폼 관점의 클라우드 모델로 받아들여지고 있다.

    단점

    • 이것도 IaaS와 마찬가지로 하나의 인프라를 기반으로 개발할 수 있다는 것 자체가 장점이자 단점이 될 수 있다.

    • PaaS는 기본적으로 어플리케이션과 플랫폼이 함께 제공된다. 어플리케이션이 플랫폼에 종속되어 개발되기 때문에 다른 플랫폼으로의 이동이 어려울 수도 있다.

    예시

    • PaaS의 제공 업체로는 Heroku, Google App Engine, IBM Bluemix, OpenShift, SalesForce가 있다.

    SaaS (Software as a Service) - 사용자가 원하는 소프트웨어를 서비스 해준다.

    설치할 필요도 없이 클라우드를 통해 제공되는 SW.

    소프트웨어까지 모두 다 제공해주며, 사용자는 그저 사용만 하면 된다.

     

    정리

    • 위의 그림에서 보이는 것처럼 모든 것을 기업(클라우드)에서 제공함으로써 사용자는 별도의 설치나 부담이 필요 없이 SW를 사용할 수 있다.

    • SaaS는 소비 관점에서 제공되는 IT 방식의 서비스로 정리할 수 있다.

    장점

    • Public Cloud에 있는 SW를 웹 브라우저로 불러와 언제 어디서나 사용할 수 있다.

    • 사용자는 웹만 접속하면 되기 때문에 사용하기 매우 쉽고, 최신 SW업데이트를 빠르게 제공받을 수 있다. 사실상 기업 입장에서도 클라우드에 SW가 있기 때문에 따로 업데이트를 하지 않아도 접속한 사용자는 최신 SW를 사용할 수 있다.

    단점

    • SaaS의 특성상 반드시 인터넷에 접속할 수 있어야만 사용할 수 있고, 외부의 데이터 노출에 대한 위험이 있다.

    예시

    • 웹 메일, 구글 클라우드, 네이버 클라우드, MS 오피스365, 드롭박스 등이 있다.

     

    이미지 출처 :   https://rubygarage.org/blog/iaas-vs-paas-vs-saas

    위로 갈수록 사용자는 따로 만져줘야 할 부분이 적어지고 (그만큼 서비스를 많이 받고 있으므로) 아래로 내려갈수록, 사용자가 설정해줘야 하는 부분이 많아진다.

     

    클라우드 운영 (Public, Private, Hybrid Cloud)

    이미지 출처 :  http://www.qualityoflifeandhealth.com/hybrid-cloud-computing-what-is/ 

    클라우드를 운영을 할때는 3가지 형태로 나뉜다.

     

    퍼블릭 클라우드 (Public Cloud)

    퍼블릭 클라우드는 클라우드 서비스를 필요로 하는 모든 사용자를 대상으로 하는 서비스이다. 누구나 비용을 지불하면, 사용할 수 있는 클라우드이다. 불특정 다수를 위한 클라우드이며 설비의 소유 및 관리 운영 주체는 서비스 제공업체이다.

    프라이빗 클라우드 (Private Cloud)

    프라이빗 클라우드는 이름에서 알 수 있듯이, 겉으로 드러나지 않는, 즉 기업 및 기관 내부에 클라우드 서비스 환경을 구성하여 클라우드를 이용하는 방식이다. 퍼블릭과는 다르게 해당 기업 및 기관에 속하지 않은 사람은 이용할 수 없다. 특정 조직, 단일 조직 전용의 클라우드이며 해당 조직 또는 제3자가 운영 가능하다.

    하이브리드 (Hybrid Cloud)

    하이브리드 클라우드는 퍼블릭 클라우드 + 프라이빗 클라우드가 합쳐진 형태로, 공유를 원하지 않는(노출되면 안되는) 데이터는 프라이빗 클라우드로, 나머지 서비스는 퍼블릭 클라우드로 이용하는 형태의 서비스이다.

    예를들어, 자신이 회사를 운영하고 있는데, 자신이 가진 데이터를 퍼블릭 클라우드에 보관하고 있다면(클라우드 회사 즉, 제3의 회사) 불안할 수도 있다. 이러한 경우 회사 내부에 프라이빗 클라우드를 구축하여, 회사의 중요 데이터를 자신이 가지고 있다면, 이러한 불안도 감소될 것이다.


    출처: https://hongku.tistory.com/101 [IT에 취하개], https://wnsgml972.github.io/network/network_cloud-computing.html

    728x90
    반응형

    댓글

Designed by Tistory.