Cloud

[1028 from 클라우드컴퓨팅 by정재화] 01. 클라우드 컴퓨팅의 이해

01. 클라우드 컴퓨팅의 이해
클라우드 사전:   구름
확장성, 유연성, 즉시성, 가용성(수요중심), Pay as you go
컴퓨팅 서버, 저장장치, 데이터베이스, 네트워크 및 이메일, 보안, 백업/복구 등의 기업용 소프트웨어
IT 리소스 컴퓨팅 하드웨어 및 소프트웨어를 포괄하는 IT구성요소
Pay as you go IT 리소스를 사용하는 만큼 비용을 지불하는 방식
클라우드 컴퓨팅
= aka . 클라우드
1. 정의 
컴퓨팅 리소스를 필요한 시간만큼 인터넷을 통해 활용할 수 있는 컴퓨팅 방식
=(by 일반적)
인터넷상에 존재하는 클라우드 사업자에 의해 서비스가 제공되는 컴퓨팅 기술
=(by NIST : Natinal Institute of Standards and Technology 미국 국립 표준기술원)
클라우드 컴퓨팅은 컴퓨팅 리소스(서버, 저장장치, 애플리케이션, 네트워크 등) 에 언제 어디서나 필요에 따라 편리하게 네트워크를 통해 접근하는 기능을 제공하는 모델
컴퓨팅 리소스는 최소한의 관리로 신속하게 프로비저닝 되고 배포 될 수 있다. 
클라우드 모델은 5가지 기본특성 3가지 서비스 모델 4가지 배포 모델링으로 이루어진다. 
=(by 가트너)
확장 가능하고 탄력적인 IT 기능이 인터넷을 사용하는 외부 고객들에게 서비스 형태로 제공되는 컴퓨팅 방식
=(by 한국 2017년  제정된 "클라우드 컴퓨팅 발전 및 이용자 보호에 관한법률" )
집적 · 공유된 정보통신 기기, 정보통신 설비, 소프트웨어 등 정보통신 리소스를 이용자의 요구나 수요의 변화에 따라 정보통신망을 통해 신축적으로 이용할 수 있도록 하는 정보 처리 체계 

2. IT 리소스를 소유하는 것이 아니라 렌탈 서비스의 형태로 이용하는 모델
하드웨어 : 물리서버, CPU, 메모리, 네트워크 장비, 저장장치
소프트웨어 : 운영체제, 플랫폼, 유틸리티, 애플리케이션, 그룹웨어 등 
프로비저닝 IT 리소스를 실시간으로 사용 가능한 상태로 만드는, 또는 규격품 형태로 패키징 기술
클라우드 역사 개요 1961년 존매카시의 유틸리팅 컴퓨팅
1970년 인터넷의 시초 알파넷(ARPANET)
1980년 네트워크, 웹개술 발전
1990년 웹기반으로 유틸리티 기능 이전
1996년 컴팩컴퓨터 "인터넷 솔루션 디비전" 처음 클라우드 컴퓨팅 용어 등장
2000년 유휴리소스(idle resource) 활용 통해 원격으로 프로비저닝(Provisioning)되는 실험적서비스
2002년 아마존(amazon.com)의 아마존웹서비스(Amazon Web Services)시작
AWS 의 EC2, S3, 구글의 구글앱스를 시작으로 웹브라우저에서 실행 가능하며 가용성이 향상된 기업용 애플리케이션 서비스 제공.  클라우드 컴퓨팅 대중화 시작 

>>1960년대 개념화된 유틸리티 컴퓨팅을 시작으로 네트워크/웹 기술, 가상화 기술, 프로비저닝 기술, 그리드 컴퓨팅 기술이 발전하여 클라우드 컴퓨팅이 가능해졌다. 
컴퓨팅 기술 발전 메인프레임>PC>클라이언트 서버>인터넷>웹서비스>그리드컴퓨팅>유틸리티 컴퓨팅>클라우드컴퓨팅

- 1980년 메인프레임
: 정보처리 담당 중앙집중식 데이터처리 대형컴퓨터 +  데이터 입출력 표시 기능 담당 터미널로 구성
- 1990년 PC(Personal Computer)
: 클라이언트-서버모델 주류(cs : 중앙 컴퓨가 PC에 데이터 처리 업무를 일부 맡기는 분산형처리 )
- 2000년 그리드컴퓨팅
: 유무선 네트워크 기술의 대중화, 기업 내 시스템이 네트워크와 인터넷 인터페이스, 웹서비스를 활용하여 다른 종류의 컴퓨터들 간에 상호작용을 통한 서비스 지향적 컴퓨팅
- 2010년 클라우드 컴퓨팅
: 전세계 구축된 데이터 센터의 IT 리소스를 필요할 때 필요한 만큼 사용. 
클라우드 등장배경 1. 서버의 유휴 리소스 활용을 통한 효율성 향상_ 빅데이터, 인공지능 영향
: 개별 서버 리소스 사용률 평균 10~15%, 사용하지 않는 컴퓨팅 리소스를 여러 사용자가 공유 70%까지 향상
2. 가상화 기술 , 분산처리 기술 발전, 규모의 경제(큰 규모 운영시 더 효율적으로, 단위당 낮은비용) 
: CPU, RAM, 저장장치 H/W적 발전, 가상화 기술 분산처리 기술 S/W발전 
3. 사용자 맞춤형 서비스, 등 특화된 서비스를 제공하려고하는 사회 트랜드 변화
: 클라우드 컴퓨팅 발전 및 이용자 보호에 관한 법률
: 사회 트렌드 변화로 새로운 서비스를 신속하게 개시  제거
   >> 사용자에게는 IT 투자 비용을 절감하고, 유연한 서비스 설계, 구축 운용비용 경감
서버의 종류와 기능 1. 애플리케이션 서버 : 업무처리 담당, 요청을 받아 업무 규칙에 따라 처리한후 결과 반환기능
2. HTTP 서버 :  기업의 홈페이지 등인터넷 기반 정보제공
3. 데이터베이스 서버 :  조직에서 사용하는 데이터를 무결하게 관리하는 기능담당
4. 메일 서버 : 이메일을 수발신하는 서버  SMTP, POP3, IMAP 등의 프로토콜에 대응
5. DNS 서버 :  도메인 이름과 IP 주소를 변환하는 기능담당
6. 그룹웨어 서버 :  기업에 한정되어 업무처리에 특화된 그룹웨어 기능담당서버
7. 네트워크 관련서버 : DNS 서버, Proxy 서버, NAT 서버 등 네트워크 기동 및 접속에 필요한 기능을 담당하는 서버 
8. 인증서버 : 사용자에게 부여된 권한에 따라 접근을 제어하는 기능 담당. 
온프레미스 On-Premise System
기업이 IT 시스템 운용에 요구되는 데이터 센터에 다수의H/W , S/W 설비를 자체적으로 보유하고 운용하는 방식
=(일반적)
클라우드 기반의 IT 시스템이 아닌 자체 하드웨어를 보유한 것을 의미하며 클라우드의 반의어로 통용
온프레미스
시스템구축
온프레미스 : 요구기능수집 -> 설계 -> 조달 -> 구축 -> 운영 (->시스템확장 : 조달-> 구축 -> 운영)
클라우드    : 요구기능수집 -> 설계 -> 클라우드 서비스(조달 -> 구축 -> 운영)
1. 요구수집
- 용량계획 (capacity planning)  서비스에서 요구되는 하드웨어 등 it 리소스 필요량 추정 확보 계획
- 결핍 (deficit) : 리소스 제공량이 서비스 요구량에 미달된 상태
- 잉여 (surplus) : 리소스 제공량이 서비스 요구량을 초과한 상태
2. 설계
- 피크타임(peak time) : 최대 사용 요구량. 
평소에는 대다수의 it 리소스가  유휴상태인 잉여 리소스가 된다. 
3. 조달
- 조달: 설계 단계에서 작성된 시스템 사양에 맞춰 데이터 센터 구축에 필요한 전체적 구성요소를 실제적으로 구비하는 단계
IT 벤더사를 통해 조달 A사, 회선 B사, 네트워크장비 C사...
4. 구축
기업내의 기술력과 경험을 갖춘 인적 자원활용
5. 운영
H/W, S/W자산의 관리 및 모니터링
데이터 백업 서버실 관리, 시스템 보안 대응
시설관리, H/W임대, 유지보수, 회선, 운영 담당자, 인건비 등다양한 요소의 부대비용

- 직접비용(hard cost)
: 구축 : OS, 하드웨어, 로드밸련싱, 방화벽, 백업, 네트워크장치, 향온, 향습, 전력, 물리보안, 물리공간
- 간접비용(soft cost)
: 유지: 직무교육, 장비관리 인력, H/W& S/W 유지보수
자원
제공량& 요구량
관계
CP 클라우드 제공자 : Cloud Provider
조달> 구축 : 원스톱 제공.
:  클라우드 기반 it리소스 제공하는 기업, 사용 기업과 이용계약, SLA 등과 같은계약을 통해 IT 리소스의 조달및 유지 보수
SLA Service Level Agreement :  사용자 수준 계약  : cp가 서비스 수준 정량화, 미달하는 경우 손해를 배상하도록 하는 서비스 품질 보장 계약 
CapEx [캡팩스] = Capital expense , 자본지출
물리적 인프라에 대한 비용을 초기에 지출, 시간 지남에 따라 납입 고지서에서 비용을 공제하는 지출방식
시간이 지남에 따라 감가삼각.  => 온프레미스
OpEx [옵팩스]= Operational expense, 운영지출
현재 서비스, 제품에 대해 균등하게 지출되어 청구 되고있는 비용, 
초기비용없는 서비스, 제품에 대한 지불. => 클라우드 컴퓨팅(캡팩스에서 옵팩스로 전환)
lift and shift 온프레미스 사용기업 작은업무부터 클라우드로 이관하여 클라우드 기반 시스템을 축적한후 인프라 및 관리 비용을 절감하기 위해 점진적으로 이동하도록 선택할 수 도 있다. 
서비스모델 1. IaaS[이아스] : Infrastructure as a service : CPU, 메모리 등의 H/W 리소스 제공 클라우드 서비스
2. PaaS[파스] : Platform as a Service :  IaaS + OS와 S/W 개발이나 데이터 분석위한 도구들제공
3. SaaS[사스] : Software as a Service :  PaaS + 응용 S/W (애플리케이션) 까지 제공. 
배포모델 클라우드 컴퓨팅 사용하기에 앞서 결정해야 할 사항, 클라우드컴퓨팅 아키텍처를 정하는 일
1. 퍼블릭 클라우드 Public Cloud 
 :  다수의 사용자가 클라우드 제공자가 공급하는 서버, 저장소와 같은 it리소스 공유 사용 모델
ex) AWS, Azure, GCP, Naver Cloud
2. 프라이빗 클라우드  Private Cloud
 : 단일 조직이 독점적으로 데이터 센터를 구축하고 독점적으로 사용하는 컴퓨팅 환경. 
온프레미스방식과 유사하지만, 데이터 센터의 it 리소스를 가상화하여 사용하는 방식, 특정 조직 내에서만 운영되고 접근 가능한 폐쇄적 클라우드
3. 하이브리드 클라우드 Hybrid cloud
 : 둘 이상의 호환되는 여러 클라우드 인프라가 결합되어 사용되는 방식
일반적으로 프라이빗 클라우드의 용량이 부족시 퍼블릭 클라우드의 인프라가 결함되어 사용되는 방식
4. 커뮤니티 클라우드 Community cloud
: 금융권과 같이 여러 조직의 업무와 기능이 유사한 경우, 파트너쉽을 맺고 연합된 조직 또는 코뮤니티가 펴블릭 클라우드와 유사하게 공동으로 데이터 센터를 구축하고 공유된 접근을 허용하는방식. 
장점 1. 탄력성 : 초기 투자 비용 없이 대규모 컴퓨팅 인프라를 확보할 수 있는 탄력성(=탄력적리소스제공)
-it 리소스 프로비저닝 기술, 운영에 관한 세부사항을 실시간으로 "as a service" 사용모델을 제공
2. 신속성 : 몇번의 마우스 클릭만으로 신속성 있게 구축
3. 경제성 : H/W, S/W 소유하지 않아도 서비스 사용가능
4. 신뢰성 : 예측불가능 요구 사용량 대응. 임곗값(threshold)도달 시 서비스 중단에 따른 손실 피함
- 가용성 : availability : 가용성이 높다 = 오랜시간 접근 가능하다. 
- 신뢰성 : reliability :  예외 상황 발생 시 더 욱 신속하고 효과적으로 복구 가능. 
온프래미스의 경우 백업(backup), HA(High Availability: 이중화) 등의 조치 필요 .
단점 1. 보안 취약성 증가
기업의 신뢰 경계를 기업 내부에서 외부 클라우드 데이터 센터까지 확대해야 한다. 
취약점의 증가, 보안 아키텍처 구축이 어려워짐 
클라우드-사용자 연결 네트워크 다운, 공격자의 통신 도청, 중간자 공격, 스푸핑 등의 공격 리스크도 높아짐. 
약의적인 사용자로부터 클라우드 it리소스 내의 데이터를 도용하고 손상시킬 수 있는 기회 제공. 

2. 책임소재 불분명
온프레미스 it리소스 보다 낮은 수준의 관리 제어권한
사용자와 클라우드 제공자 사이의 지리적 거리가 멀수록 네트워크 전달 단계가 많아져 지연시간 발생 및 잠재적 대역폭의 제약
이러한 문제에 대해 클라우드 사용자가 대체하거나 해결할 수 있는 제어권한 없음. 

3. 제한된 이식성
국제표준이 없다.  종속적 솔루션 구축을 할수밖에 없고, 클라우드 이동이 어려운 락인(lock-in)효과가 발생가능하다. 

4. 과도한 비용 지출
- 초기비용에는 유리하나 5년이상 장기간 사용시 온프레미스가 저렴한 경우도 발생. 
- 클라우드 이동비용이 운영비용상회 가능성

5. 규제와 법적 이슈
2015년 클라우드 컴퓨팅 발전 및 이용자 보호에 관한 법률 제정.  (= 클라우드 보급 원인)
-국가기관 등은 클라우드 컴퓨팅을 도입하도록 노력하여야한다. 정부는 '국가정보화 기본법' 에 따른 국가 정보화 정책이나 사업추진에 필요한 예산을 편성할 때에는 클라우드 컴퓨팅 도입을 우선적으로 고려하여야한다. 
- 이용자는 클라우드 컴퓨팅 서비스 제공자에게 이용자 정보가 저장되는 국가의 명칭을 알려주도록 요구할 수 있다.  

>> 퍼블릭 클라우드의 경우 데이터, 비지니스로직 저장되는 실제 위치를 몰라서 개인정보 보호, 데이터 저장소 정책에 관한 규제와 관련 심각한 법적 문제가 될수 있다. 
예를 들어 한국과 영국은 자국민의 개인정보는 반드시 그 국가 내에서 보관되어야 한다고 법적명시
또한 국가사이버안전관리규정, 정보보안 기본지침 등에서 클라우드 환경을 적용할 수 없는 업무 또는 기능을 명시,  심각한 법적이슈 발생가능성이 있다. 
따라서 클라우드 적용의 정도와 범위에 대해 계획단계부터 명확히 할 필요가 있다. 

도입효과 1. 비용절감 : 구축, 인력 비용
2. 시스템 도입과정 단축
3. 구축 , 운영에서 발생하는 문제에서 자유로운 환경 제공- 해외운영 
관련기술 1. 클러스터링 기술 
클러스터 컴퓨터 : 고속 네트워크로 동기화되어 단일 시스템인것처럼 동작하는 독립적인 it리소스그룹
클러스터링 기술 : 이중화와 장애 극복 기능이 내장되어 가용성과 신뢰성을 갖춘 클러스터 컴퓨터 구성하는데 사용하는 기술
전통적으로 H/W와 OS 기반에서 구성가능, 현대에는 이기종(heterogeneous) 환경에서도 구성가능
2. 그리드 컴퓨팅
슈퍼 가상 컴퓨터, 컴퓨팅 리소스가 플랫폼 상에서 논리적 리소스 풀로 등록되어 풀에 포함된 리소스가 집합적으로 고성능 분산 그리드를 제공하는 기술
클러스터링과 다르게 결합성이 매우 작고, 서로 다른 기종 리소스들이 물리적으로 분산되어 있다. 
네트워크 접근, 리소스 풀링, 확장성, 탄력성 측면 영향
3. 가상화 virtualization
컴퓨터 환경상 가상 인스턴스를 만드는 데 사용되는 기술. 
호스트가상화, 하이퍼바이저 가상화, 컨테이너 가상화
4. 서버리스 컴퓨팅 기술
서버리스 컴퓨팅(서버를 생성, 구성, 유지관리 하지 않고, 애플리케이션 코드 실행 할수있는 환경)
서버리스 모델은 각 기능이 실행 할 때 사용하는 IT 리소스의 처리 시간에 대해서만 지불. 
관련기술_3. 가상화 1. 호스트 가상화 
H/W -위->  Host 운영체제 -위-> 가상화S/W -위-> Guest 운영체제
장점 : 구동중인 시스템 변경없이 가장 간편하게 구성,
단점 : CPU나 메모리 사용이 증가하는 오버헤드 발생

2. 하이퍼바이저(hypervisor) 가상화 
H/W -위-> 하이퍼바이저(가상화전담 s/w) -> 게스트 운영체제 
장점 : Host OS 설치 없이 하이퍼바이저가 직접 H/W제어해서 불필요한 CPU, 메모리 사용 줄어든다. 단점 : 여전히 애플리케이션 구동 환경별로 게스트 OS 가 설치  작동, 오버헤드 발생

3. 컨테이너 가상화
H/W -위-> Host OS -위->  컨테이너 엔진 
컨테이너기술(애플리케이션, 구동환경 격리 기술)로 애플리케이션 환경제공
컨테이너기술은 초기에 소프트웨어개발환경, 구동환경 차이로 인한 예상치 못한 오류방지를 위해 등장
애플리케이션과 구동환경만을 가상화 함으로써  가상머신에 비해 훨씬 가볍고 효율적이며 안정적서비스

 

* 그리드 : 격자무늬

격자무늬

* on-premise:현존하는

premise : 전재

* IDC

internet data center  기업의 전산시설을 위탁 관리하는 곳

 

실습 by 한국마이크로소프트 김영욱 부장 
하이브리드는
일반적인 전략
Public 22%  Hybird 69% Private 3%
고객 관리 범위 제공자 관리 Enterprise IT =Legacy It = 온프라미스
: Application, Security, Database, Operating Systems, Virtualization, Servers, Storage, Networking, DataCenters
Infrastructure As A Service = IaaS
: Application, Security, Database, Operating Systems, Virtualization, Servers, Storage, Networking, DataCenters
Platform As A Service = PaaS
: Application, Security, Database, Operating Systems, Virtualization, Servers, Storage, Networking, DataCenters
Software As A Service = SaaS
: Application, Security, Database, Operating Systems, Virtualization, Servers, Storage, Networking, DataCenters

일반적으로 PaaS가 저렴하게 쓰기 쉬운데  IaaS는 고집하는 특별한 서비스가 필요할때 사용. 
SaaS ex) offce365

클라우드 제공모델 Comute :  IaaS
Web & Mobile : PaaS   : 자체로 AutoScaling 가능
Data & Storage : PaaS  
Analytics
Internet of Things & Intelligence
Media & CDN
Identity & Access Management 

Data & Storage : Azure의 경우 기본 3중화 , 파일 입력시 > 복사본 3개생김 > 지역복제시 페어에 3개 기본 6중화 까지
AutoScaling : 사용자를 보고 자동으로 빌려주고 회수함

prevalent [프레밸런트] 일반적인