※ 본 포스팅은 21.06.03에 게시된 글을 이전한 것 입니다.
클라우드 컴퓨팅이란?
※클라우드(인터넷)+컴퓨팅(정보의 계산처리)
컴퓨터를 사용한 정보처리를 자신이 보유한 pc가 아닌 인터넷 너머의 존재하는 클라우드 사업자의 컴퓨터에서 처리하는 서비스이다.
여기서 클라우드 사업자는 구글이나 아마존 세일즈포스 등 클라우드 벤더 (cloud vendor)이다.
이는 사고 방식 혹은 개념을 나타내는 단어이며 어떤 특정 기술을 가리키는 것이 아니다.
Nist의 클라우드 정의:
"클라우드 컴퓨팅이란, 공유 구성이 가능한 컴퓨팅 리소스 (네트워크, 서버 , 스토리지, 어플리케이션 서비스)의 통합을 통해 어디서나 간편하게, 요청에 따라 네트워크를 통해 접근하는것을 가능하게 하는 모델이다. 이는 최소한의 이용 절차 또는 서비스 공급자의 상호 작용을 통해, 신속히 할당되어 제공된다."
예를 들어 기업이 클라우드를 이용할 경우, 회사의 정보를 회사안에 구축한 시스템에서 처리하는 것이 아니라 클라우드 사업자의 데이터 센터안의 시스템에서 처리하게된다. 즉 서비스를 이용하는 모델이며 누구나 연결만 한다면 사용할수 있는 서비스다.
결과적으로 클라우드 컴퓨팅으로 인해서 더이상 무거운 컴퓨터는 필요하지 않다.
클라우드 특징
- 주문형 셀프 서비스: 사업자와 직접 상호작용하지 않고 개별 관리 화면으로 서비스 이용가능
- 광범위한 네트워크 접속: 다양한 디바이스를 통해 접속가능
- 리소스 공유: 사업자의 컴퓨팅 리소스를 여러 사용자가 공유하는 형태
- 신속한 확장성: 필요한 만큼의 스케일 업/다운 모두 가능
- 측정 가능한 서비스: 사용한 만큼 지불하는 서비스 = 종량제
장점/ 온프레미스 비교
경제성
- 사용하고자 하는 기간만 서비스로써 사용 가능
- 소프트웨어와 데이터를 클라우드에서 통합관리
→ 소프트업데이트 작업 및 데이터 유지보수의 효율성을 높임 + ☆★☆비용절약☆★☆
유연성
- 필요한만큼 확장하고 축소할수 있음
가용성
- 하드웨어에서 장애가 발생하더라도 서비스를 계속해서 사용할수 있도록 구성
빠른 구축 속도
- 클라우드가 제공하는 하드웨어와 소프트웨어를 이용하여 시스템 신속 구성
결과적으로 서버 세팅 등을 신경쓰지 않고 서비스 운영에만 집중이 가능
클라우드 서비스 유형
① SaaS (Software as a Service), 서비스로서 소프트웨어
주로 업무에서 사용하는 소프트웨어의 기능을, 인터넷 등의 네트워크를 통해 필요한 만큼 서비스로 이용할수 있도록 제공하는 형태이며 가장 완성된 형태의 클라우드 서비스이다.
일반 사용자에게 가장 널리 알려진 서비스로 어플리케이션을 다운 받는것이 아닌 인터넷에서 서비스 받는 경우이다.
또한 하나의 서버를 여러기업에서 공유하는 것을 전제한 멀티 테넌트 방식 서비스를 제공 + 데이터는 사용자 별로 분리된다.(보안성)
클라우드 인프라 위에 소프트웨어를 탑재해 제공(하드웨어 + 소프트웨어)하는 형태로 IT 인프라 자원뿐만 아니라 소프트웨어 및 업데이트, 버그 개선 등의 서비스를 사용자가 아닌 업체가 도맡아 제공함.
별도의 비용을 들여 소프트웨어 라이센스를 구매할 필요 없이 월간/연간 구독 형태의 사용료를 지불하고 제공 업체의 소프트웨어의 필요한 기능을 필요한 만큼 이용하게 됨. 사용료를 지불 한다면 즉시 서비스를 이용할 수 있다.
SaaS를 이용할 경우 사용자는 인프라 구축, 개발 환경 세팅 및 소프트웨어 개발에 소요되는 비용을 절약할 수 있기 때문에 자체적으로 소프트웨어를 개발하는 것 대비 초기 비용을 대폭 줄일 수 있음.
또한 스마트폰이나 테블릿 같은 단말기로 접속이 가능
대표적인 예시 : Google Apps(G메일 , 구글 프레스시트, 구글 문서 도구) , 슬랙(Slack)’, ‘마이크로소프트365(Microsoft 356)’,
‘드롭박스(Dropbox)’ 그리고 ‘세일즈포스(Salesforce)’ 등
② PaaS (platform as a Service), 서비스로서의 플랫폼
IaaS 형태의 가상화된 클라우드 위에 사용자가 원하는 서비스를 개발할 수 있도록 개발 환경(Platform)을 미리 구축해, 이를 서비스 형태로 제공하는 것을 의미한다.
다시말해 기업의 애플리케이션 실행환경 및 애플리케이션 개발 환경을 서비스로써 제공하는 모델이다.
여기서 플랫폼이란 애플리케이션의 개발환경이나 소프트웨어를 위한 기본적인 모듈(부품)군을 뜻한다.
PaaS는 운영체제 , 미들웨어 , 런타임 등을 미리 구축한 상태로 제공한다. 자세히 설명하면 PaaS는 Java , PHP , Ruby등의 프로그래밍 언어를 지원하는 어플리케이션 실행 환경이나 데이터베이스등이 미리 마련 되어 있다.
다시말해서 PaaS는 클라우드 사업자에게 서버 , 네트워크 , 보안 부분을 위임하기 때문에 구축이 쉬우나 달리 생각해보면 상세한 설정을 할 수 없으며 이 환경에 의존도가 너무 높아지게 되면 다른 환경으로의 마이그레이션이 어려워질 수 도 있다.
결과적으로 PaaS사용자는 오로지 앱 개발과 비즈니스에만 집중할 수 있다.
또한 별도의 인프라를 유지하고 운영하는 데 별도의 인력이 소요되지 않기에 하드웨어 및 소프트웨어 인프라 관리에 드는 비용을 절약 할 수 있다.
주된 용도
- 개발 및 테스트 시행에 큰 처리 능력이 필요한 경우 혹은 자사에서 운용중인 어플리케이션의 최대 부하를 분산 처리하는 경우
- 모바일 서비스에서 인터넷 접속이 필요한 경우
- 다양한 '사물'들이 인터넷을 통해 통신하는 IoT (Internet of Things) 에서 다양한 기기들이 생성하는 센서 데이터 같은 대용량 데이터
- 효율적으로 수집하여 처리하는 플랫폼
대표적인 예시 : 세일즈포스닷컴의 Heroku나 Redhat(레드햇)의 OpenShift 등
③ IaaS (Infrastructure as a Service) 서비스로서의 인프라 스트럭쳐
cpu나 하드웨어 등의 컴퓨팅 리소스를 네트워크 통해 서비스로 제공하는 모델 다시말해, 인프라 수준의 클라우드 컴퓨팅을 제공해 사용자가 서버 OS부터 미들웨어, 런타임, 그리고 데이터와 어플리케이션까지 직접 구성하고 관리할 수 있다.
클라우드 서비스 제공업체(CSP, Cloud Service Provider)는 데이터센터를 구축해 다수의 물리 서버를 가상화해 제공하며, 네트워크, 스토리지, 전력 등 서버 운영에 필요한 모든 것을 CSP가 책임지고 관리합니다.
IaaS는 사용자가 관리할 수 있는 범위가 가장 넓은 클라우드 컴퓨팅 서비스라고 볼 수 있다.
대표적인 IaaS서비스로는 가상 서버 및 온라인 스토리지 등이 있다.
가상 서버란 클라우드 사업자가 보유하는 물리적 서버의 cpu와 메모리, 스토리지 등의 하드웨어 자원을 소프트 웨어적으로 나누어 사용자에게 제공하는 것 이다. 사용자는 물리적 서버를 구입하지 않고 필요한 만큼 가상 서버를 만들 수 있다.
또한 가상 서버 리소스는 스케일 업 / 다운이 가능하며 OS에 설치되어있는 DB와 미들웨어, 응용프로그램등의 소프트 웨어를 자유롭게 운용가능하다. 단, 사용자가 스스로 설치하고 관리 하여야한다.
활용 예
- 단시간동안 사용자가 급증할것을 예측하는 경우에 일시적으로 컴퓨팅리소스를 많이 빌려서 사용하고 종료되면 리소스를 감축시켜 비용을 절감함.
- 기업 사용자의 기간계시스템 등 주요 시스템 기반에도 도입이 진행되고 있음.
대표적인 예시: Amazon Web Service(AWS)의 EC2와 Google의 Compute Engine(GCE), 그리고 가비아의 g클라우드 등
클라우드 이용 모델
① 퍼블릭 클라우드
특정 기업이나 사용자를 위한 서비스가 아닌 인터넷에 접속 가능한 모든 사용자를 위한(불특정 다수를 위한) 클라우드 서비스 모델
클라우드 사업자(=서비스 제공자 / csp)가 시스템을 구축하며 (하드웨어 소프트웨어 관리) 데이터나 기능 서버 같은 자원은 각 서비스에
서 서비스 사용자 간에 전혀 간섭이 없다.
클라우드 시스템은 방화벽 외부에 구축된다.
또한 사용자 기업은 자사의 IT자산을 보유하지 않더라도 컴퓨팅 리소스를 서비스로 사용할수 있다.
필요한 컴퓨팅 자원을 단기간에 저비용으로 마련할 수 있고 운용관리 부담이 적다는 장점이 있다.
※간혹, 공공기관이 도입하는 공공 클라우드와 퍼블릭 클라우드의 공공 클라우드를 혼동하는 케이스가 있습니다. 공공기관이 도입하는 공공 클라우드는 Government Cloud, 공용 인터넷망에 연결된 공공 클라우드는 Public Cloud입니다.
② 프라이빗 클라우드
클라우드 서비스의 사용자 또는 사업자의 데이터 센터에 클라우드 관련 기술이 활용된 자사 전용 환경을 구축하여 리소스를 유연하게
이용할 수 있는 형태.
다시 말해 제한된 네트워트상에서 특정 사용자만을 대상으로 하는 클라우드 서비스이며
서비스의 자원과 데이터는 기업내부에 저장된다. 이는 프라이빗 클라우드가 보안성이 뛰어나다는 것을 의미한다.
또한 가상화, 자동화와 같은 클라우드 관련기술의 활용으로 인해 시스템의 성능과 비용이 최적화되므로, 유연한 사용자 정의가 가능함
1) 온프레미스 프라이빗 클라우드
'사용자가 장비를 자사의 데이터 센터 등에 설치하고 자사가 보유하고 운용하는 형태'
사용자가 스스로 클라우드 기반 소프트웨어 등을 이용하고, 자체적으로 구입한 서버 및 스토리지, 하드웨어 리소스를 기업안에 설치
다시 말해 자사 전용 클라우드 환경을 구축하여 이용하는 형태 (스스로 구입한 하드웨어 + 클라우드 기반 소프트웨어)
이는 사용자가 스스로 설계하고 운용 , 관리 하기 때문에 유연한 시스템 설계가 가능 또한 자체적인 보안환경을 구축해서 운용 가능
그러므로 사용자는 구축 및 운영의 부담이 있음
이렇게 대규모 클라우드 환경을 구축하여 운용할 경우, 클라우드 사업자가 제공하는 서비스를 이용하기 보다는 자체 클라우드 환경을 구축하는 편이 저렴한 비용으로 유연한 환경 제공가능
※클라우드 장비를 기업 사용자가 보유
2) 호스티드 프라이빗 클라우드
'클라우드 사업자가 장비를 보유하고, 프라이빗 클라우드 서비스를 제공하는 형태'
클라우드 사업자가☆★☆기업 사용자 별로 클라우드 환경을 제공☆★☆하여 컴퓨팅 리소스를 서비스로 제공하는 형태이다.
다시 말해 기업 사용자는 서버와 같은 장비를 구입하거나 사내에서 시스템을 구축 할 필요가 없으므로 단기간에 전용 클라우드 환경
구축이 가능하며 이때 월 비용을 지불하면 사용 할 수 있다.
전용선과 VPN 망을 통해 보안 수준이 높은 전용 클라우드 환경을 제공하므로 사용자 별 시스템 사용자 정의에도 유연하게 대응 가능
3) 커뮤니티 클라우드
공통의 목적을 가진 특정 기업들이 클라우드 시스템을 형성하여 데이터센터에서 공동으로 운영하는 형태
※ 퍼블릭 클라우드와 프라이빗 클라우드의 중간
4) 하이브리드 클라우드
퍼블릭 클라우드와 프라이빗 클라우드를 병행하여 사용하는 방식으로 여겨져왔으나! 최근에는 클라우드와 온프레미스(물리서버)를
연계시켜 활용하는 시스템 및 서비스를 뜻한다. 이렇게 연계시켜 사용할때는 퍼블릭 클라우드의 유연성, 경제성, 신속성과 물리서버의
안전성 , 보안성 등을 함께 가질 수 있다는 장점이 있다.
※최근에는 전체 워크로드를 클라우드로 이전하기 보다는 주요 데이터는 온프레미스에 남겨두고 이벤트 또는 신규 서비스 처럼 트레픽을 예측할 수 없는 워크로드는 클라우드로 이용하는 구성이 증가하는 추세
출처
하야시 마사유키 『그림으로 배우는 클라우드』,서재원 역 , 영진닷컴
야코 도모노리 『언제 어디서나 사무실처럼! 새로운 접속의 시대 클라우드』, 김정환, 새로운 제안 https://library.gabia.com/contents/infrahosting/9114/
Uploaded by
N2T