On-Premise
⇒ 기업이 자체 데이터 및 솔루션 등을 저장하기 위해 데이터 센터를 구축해서 IT 서비스를 수행하는 방식
⇒ 하드웨어를 포함한 모든 자원(CPU, 메모리, 디스크, OS, 네트워크, 라이선스 등)에 대한 초기 투자 비용과 탄력적이지 않은 제한된 용량으로 지속적 관리 비용이 증가하는 단점이 있지만 기업의 내재화된 서비스를 통해 품질 및 보안에 대한 신뢰도는 높아진다.
⇒ 기업이 On-Premise 방식에서 벗어나 CLoud 서비스 전환을 고민하는데 그 이유 중 하나가 높은 초기 도입 비용과 운용에 따른 추가 비용 때문
⇒ On-Premise 방식으로 설계 시 자원 사용량은 가급적 최대 사용량을 근거로 하고 네트워크 트래픽 또한 최대 순간 트래픽을 가정하기 때문에 고사양의 설계를 하게 되고 증설에 따른 시간적 인적 비용도 무시할 수 없다.
⇒ 동일 사양으로 1~5년 간의 고정적 비용을 따져본다면 특정 시점부터는 Cloud 비용이 더 커질 수 있기 때문에 Cloud 도입은 비용 측면 보다는 서비스의 가용성과 품질을 확인
⇒ Cloud 접근 방식은 사용한 만큼 지불하는 정산 방식을 통해 필요에 따라 민첩하고 탄력적으로 사용할 수 있으므로 Cloud Computing 및 서비스에 대한 정확한 관리 및 조정 능력이 필요하고 현 상황에 적합한 Cloud 세팅 값을 찾는 것이 서비스의 안정화와 비용의 절약의 시작
Cloud Computing
⇒ 정보 처리를 자신이 보유한 컴퓨터가 아닌 인터넷 너머에 존재하는 컴퓨터에서 처리하는 사고 방식 또는 개념
⇒ IT 자산을 소유하는 것이 아니라 서비스로 이용하는 모델
⇒ 클라우드 이용자는 인터넷에 접속해서 웹 브라우저나 Cloud 전용 소프트웨어를 이용해서 서비스를 이용
⇒ 서비스 제공자의 최소한의 관리나 개입만으로도 신속하게 생성/제거/구성 할 수 있는 공유 공간의 컴퓨팅 자원들을 언제 어디서 어떤 단말인지와 관계없이 필요할 때 네트워크에 접속해서 사용할 수 있도록 해주는 모델
등장 배경
⇒ Cloud Computing이 등장하기 이전의 흐름
- 1980년대에는 메인 프레임이라고 하는 대형 범용 컴퓨터의 시대
데이터와 애플리케이션을 메인 프레임에 모아서 처리하였고 단말기는 입력과 출력 표시 기능만 존재
- 1990년대에는 단말기에도 처리 기능을 부여한 분산형 클라이언트 서버 모델이 주류
- 2000년대에 사내 시스템이 네트워크 환경 위에 구축되기 시작하면서 처리를 서버가 담당
- 2010년대에 여러 곳에 분산 배치된 서버 리소스를 필요할 때 필요한 만큼 사용하는 Cloud Computing 모델이 등장
⇒ 보급된 배경
- 다양한 기술의 발전
CPU의 처리 속도 고속화
가상화 기술과 분산 처리 기술 등의 발전
모바일의 융성
빠르고 저렴해진 네트워크
거대해진 데이터 센터에 의한 규모의 경제
- 기업 사용자와 Cloud 사업자 모두에게 Cloud를 받아들일 환경이 조성
정의와 특징
⇒ 정의 : 공유 구성이 가능한 컴퓨팅 리소스의 통합을 통해 어디서나 간편하게 요청에 따라 네트워크를 통해 접근하는 것을 가능하게 하는 모델이며 이는 최소한의 이용 절차 또는 서비스 공급자의 상호 작용을 통해 신속히 할당되어 제공되는 것
⇒ 특징
- On-Demand Self-Service : 사용자가 별도의 기술 습득 없이 필요할 때 온라인으로 즉시 사용
- Broad Network Access : Any time, Any Place, Any Device
- Resource Pooling : 다중 임대 모델을 통한 자원 할당(Multi-tenancy)
- Rapid Elasticity : 비즈니스 상황에 따른 컴퓨팅 자원의 탄력적 사용(Flexibility, Scalability)
- Measured Service : 사용한 만큼 지불(Pay-Per-Use, Pay as you go)
장점
⇒ 경제성
⇒ 자동화 : 업데이트, 보안 패치, 백업을 직접 수행할 필요가 없다.
⇒ 이동성 : 웹을 지원할 수 있는 모든 장치에서 사용 가능
⇒ 자원 공유
⇒ 가용성
⇒ 빠른 구축
⇒ 확장성
-
Scale-Up : 업그레이드
-
Scale-Out : 개수를 늘리는 것
인디스쿨은 10여년 동안 국내 IDC 서버를 이용해서 매달 고정된 금액을 지불하는 호스팅 서비스를 이용했는데 서버의 노후화로 인한 장애 및 속도 지연 이슈 뿐만 아니라 회원이 14만명까지 늘어나 급증하는 트래픽에 유연하게 대응하지 못하는 한계가 있었다.
인디스쿨은 초등학교 선생님들이 회원이기 때문에 방학 중에는 트래픽이 거의 발생하지 않는 특징을 가지고 있는데 사용량이 거의 없는 방학 중에도 비용이 그대로 지출되었고 서버 용량이 초과할 경우 서비스를 안정적으로 제공하기 위해서 서버를 추가해야 하는데 서버 주문 발주, 배송까지 준비하는 기간이 너무 길다.
{ 인디스쿨은 이 이유 때문에 클라우드로 변경했다. }
⇒ 중복성과 탄력성(Redundancy or Resilence) : 퍼블릭 클라우드는 대부분 여러 개의 데이터 센터(AWS에서는 AZ)를 가지고 있어서 데이터를 여러 곳에 중복해서 저장할 수 있다.
한계
- Internet Access
- Security
- Privacy
- Vendor Lock-In(특정한 벤더에 종속)
클라우드 서비스 종류
컴퓨팅 자원
Network → 스토리지 → 서버 → 가상화 → OS → 미들웨어 → 런타임 → 데이터 → 애플리케이션
⇒ On-Premise : 모든 자원을 직접 구축하고 관리
⇒ IaaS(Infrastructure as a Service)
- 서버, 스토리지, 네트워크와 같은 인프라 자원을 가상화 해서 사용자 요구에 따라 인프라 자원을 사용할 수 있게 해주는 Cloud 서비스 방식
- IaaS는 자동화되고 신속한 확장성을 갖고 있는 IT 인프라를 의미하며 비용은 사용량에 따라 지불하는 방식
- 서비스로서의 인프라 스트럭쳐의 개념도 중요하지만 물리적으로 인프라에 사용되는 각각의 자원(CPU, 메모리, 디스크, 네트워크 등)의 특징에 대한 지식이 유지 관리 차원에서 필요
- 대표적인 IaaS 서비스 중 하나가 AWS의 Amazon Elastic Compute Cloud(EC2)
- ALL CSPs are providing IaaS to the public
⇒ PaaS(Platform as a Service)
- 서비스 개발자가 애플리케이션 개발, 실행, 관리 등을 할 수 있도록 안정적인 플랫폼 또는 프레임 워크를 제공하는 Cloud 서비스 방식 { 미들웨어에서 런타임까지 제공 }
- 프로그래밍 언어의 개발 환경이나 실행 환경 또는 데이터베이스 등이 미리 설치되어 있어서 인프라 구축을 하지 않아도 그 기반을 사용할 수 있기 때문에 단기간에 개발을 해서 서비스를 제공할 수 있다.
- IaaS와 차이점은 서버, 네트워크, 보안 부분을 Cloud 사업자에게 위임하는 것이고 SaaS는 정해진 소프트웨어를 서비스로 제공하지만 PaaS는 직접 개발한 프로그램을 가동을 하기 때문에 자유도가 높다.
- 대표적인 서비스로는 세일즈포스가 제공하는 force.com이나 사이보우즈의 kintone, 오픈소스 기반의 Cloud Foundry, Google Cloud Platform, ServiceNow Platform, DBMS on Cloud(OCI) 등
- 개발 프레임워크 : Ruby on Rails, Spring, Node.js, Eclipse 등
- 메시징 미들웨어(Message Broker) : Amazon SQS, Rabbit MQ, Kafka 등
⇒ SaaS(Service as a Service)
- 업무에서 사용하는 소프트웨어 기능을 인터넷 등의 네트워크를 통해 필요한 만큼 이용할 수 있도록 제공하는 형태
- 하나의 서버를 여러 기업에서 공유하는 것을 전제한 멀티테넌트 방식 서비스를 제공하지만 데이터는 기업 사용자별로 분리되도록 설계하여 보안성을 확보
- 소프트웨어의 업데이트 작업은 사용자가 아니라 Cloud 사업자가 수행하기 때문에 항상 최신의 기능을 사용할 수 있으며 소프트웨어 버그가 방치되지 않는다.
- SaaS 형태로 제공되는 대표적인 소프트웨어는 전자 메일, 그룹웨어, CRM(Customer Relatinoship Management - 고객 관리 시스템) 등
- 서비스로는 Google Apps, Salesforce, MS Office 365, Naver Office 등
⇒ DaaS(Desktop as a Service)
- 서비스로서의 데스크톱을 의미하는데 인터넷만 연결되면 언제, 어디서나 어떤 기기로도 기업 내부 망에 접속할 수 있는 Cloud 서비스의 일종
- 모든 정보가 중앙 서버에 저장되기 때문에 직원의 개별 PC가 바이러스에 노출되거나 파손 및 분실되어도 정보 유출의 위험이 적으며 외부에서 기업의 업무망에 접근하는 가장 안전한 기술
- 특징 연속성 : 구성원들이 일하는 장소나 기기에 상관없이 사무실과 동일한 업무 경험을 유지할 수 있도록 지원 비용 절감
가상의 업무 공간을 구독의 형태로 제공 받는 서비스
초기 구축 비용이 없다.
구축비용의 유무가 가상화 데스크톱인 VDI(Virtual Desktop Infrastructure)와 DaaS를 차별화하는 요소
가상화가 일어나는 공간이 사용자가 보유한 인프라면 VDI가 되고 Cloud 사업자면 DaaS가 된다. 보안성
기업의 업무망을 중앙의 가상화된 서버로 조성하기 때문에 개인 PC에는 화면만 전송하는 기술이므로 개인 PC는 보안에 취약해도 중앙 업무망은 영향을 받지 않는다. 관리 편의성
이용 모델
⇒ public cloud
- CSP(Cloud Service Provider)(AWS, GCP, Azure, Oracle 등)가 시스템을 구축하고 인터넷 망 등의 네트워크를 통해 불특정 다수의 기업과 개인에게 서비스를 제공하는 형태
- 특징
사용량에 따라 비용을 지불하는 요금 산정 방식
사용자 및 그룹 관리로 권한 관리를 통해 서비스를 격리하기 때문에 사용자 간의 간섭이 발생하지 않음
사용자는 IT 자산을 보유하지 않더라도 컴퓨팅 리소스를 서비스로 사용할 수 있으며 필요한 컴퓨팅 자원을 단기간에 저비용으로 마련할 수 있고 운용 관리 부담이 적다.
서비스 이용자를 제한하지 않는다.
⇒ private cloud
- 폐쇄적인 구조
- Cloud 서비스의 사용자 또는 사업자의 데이터 센터에 Cloud 관련 기술이 활용된 자사 전용 환경을 구축하여 컴퓨팅 리소스를 유연하게 이용할 수 있는 형태
- 특정 기업의 특정 사용자 만을 대상으로 하는 Cloud 서비스
- 가상화, 자동화와 같은 Cloud 관련 기술의 활용으로 인해 시스템의 성능과 비용이 최적화 되므로 유연한 사용자 정의가 가능
- 자원과 데이터의 제어권을 기업 자체에서 소유
- 물리적인 데이터 보안 측면이 public cloud보다 강하다.
- 구현 방식 자사가 보유하고 운영 : On-Premise Private Cloud Cloud 사업자가 장비를 보유하고 Private Cloud 서비스를 제공하는 형태 : Hosted Private Cloud
⇒ Community Cloud
- 공통의 목적을 가진 특정 기업들이 Cloud 시스템을 형성하여 데이터센터에서 공동 운영하는 형태
- public cloud와 private cloud의 중간적인 형태
⇒ Hybrid Cloud
- Public Cloud와 Private Cloud를 네트워크를 통해 결합해서 두가지 서비스의 장점을 활용할 수 있도록 만든 Cloud 서비스 방식
- 서로 다른 Cloud 간에 데이터와 애플리케이션 공유 및 이동이 유연하게 처리될 수 있고 용도에 맞는 서비스 구현에 유리
- 기업 내부의 민감하고 중요한 데이터 처리 작업은 통제력을 강화하기 위해서 Private Cloud를 사용하고 일반 업무 데이터 처리 같은 보안 요구 사항이 낮은 작업이나 워크로드가 지속해서 증가하는 작업에는 리소스 자동 조정이 가능한 Public Cloud를 사용하기도 하는데 최근에는 가상 서버와 물리서버의 결합으로 보기도 한다.
⇒ Multi Cloud
- 조직이 2개 이상의 클라우드 제공업체의 클라우드 컴퓨팅 서비스를 사용하여 애플리케이션을 실행하는 것
- 단일 클라우드 스택을 사용하는 대신 2개 이상의 퍼블릭 클라우드, 2개 이상의 프라이빗 클라우드 또는 둘의 조합을 포함
- 특정 비즈니스 요구에 가장 적합한기능을 선택하면 공급 업체 종속을 최소화 할 수 있다.
Cloud & On-Premise
⇒ 비용
- 초기 투자 비용은 On-Premise가 많이 소모
- 사용자가 5년 이상의 장기간에 걸쳐 시스템을 계쏙하는 경우나 대규모 시스템을 구축하고 운영할 경우에는 On-Premise가 더 저렴할 수 있다.
- Cloud 구축 시 기존 On-Premise 시스템의 수정이나 데이터 이행에 소모되는 비용이 많이 발생하는 경우도 있다.
⇒ 안정성과 신뢰성
-
IaaS의 리스크는 Cloud 사업자의 하드웨어 장애로 인한 데이터 손실이나 서비스 중단 등을 들 수 있고 네트워크 리스크로는 통신 도청, 중간자 공격, 스푸핑 같은 통신 위협과 네트워크 관리 미비에 따른 시스템 다운 위협 등을 꼽을 수 있다.
-
사용자가 세울 수 있는 대책은 가상 서버를 백업하거나 가상 서버 환경을 구축하기 위한 템플릿을 마련하는 것
-
클라우드 보안 거버넌스
클라우드를 사용하게 되면 자사가 보유한 정보와 관리와 처리를 클라우드 사업자에게 맡겨버리기 때문에 보안 등의 리스크를 모두 통제할 수 없다는 문제가 발생할 수 있다.
클라우드 서비스의 Incident(사고)와 서비스 복구 같은 사항들은 제어가 어렵고 클라우드 사업자의 갑작스러운 파산이나 서비스 중단과 같은 클라우드 서비스의 연속성 리스크 또한 존재
클라우드를 지탱하는 2개 기술
⇒ 가상화
- 물리적인 메모리와 하드디스크, OS 등 다양한 부품을 소프트웨어로 대체하는 것이 가상화 기술
- 가상 서버는 물리 서버 1대 위에 게스트가 되는 서버 여러 대를 가상으로 생성하는데 본내 서버에 필요한 물리적인 부품을 가상으로 생성해서 가상 서버로 만드는 것
- 네트워크의 경우도 마찬가지로 물리적 배선 1개를 가상으로 분할하여 다른 네트워크와 통합하거나 그 즉시 연결을 변경할 수 있다.
- 가상 서버에 할당된 메모리와 스토리지는 자유롭게 늘리거나 줄일 수 있기 때문에 나중에 필요할 때 용량을 늘리거나 줄여서 메모리와 스토리지 성능을 조절할 수 있지만 가상 서버의 성능을 올리는 것은 한계가 있다.
- 서버의 대수를 늘리는 작업이 쉽다.
⇒ 분산 처리와 로드밸런서