1. 클라우드 컴퓨팅
가) 클라우드 컴퓨팅 개발 목적: 개별 서버마다 남아도는 기업의 컴퓨터 용량을 효율적으로 활용하고 불확실한 서비스의 수요에 유연하게 대처하기 위한 목적으로 개발됨
나) 특징
(1) 복잡한 내부를 몰라도 어디에서나 자기가 원하는 컴퓨터 자원을 사용하여 작업이 가능하다
(2) 지원하는 기술 인프라스트럭쳐에 대한 전문 지식 없이도 인터넷으로부터 원하는 서비스를 이용할 수 있게 되었다.
다) 클라우드 서비스 도입 기대효과
(1) 비용: CAPEX 감소, OPEX 증가, TCO 감소
* CAPEX(Capital expenditures): 미래의 이윤을 창출하기 위해 지출된 비용
* OPEX(Operationg Expenditure): 운영비용
* TCO(Total Cost of Ownership) : 시스템 도입 및 유지보수 비용까지 포함한 전체 비용
(2) 기간: 개발기간 단축, 제품 개발주기 단축
(3) 운영: 운영인력 감소, 자원 효율성 강화
(4) 제품: 제품 집중도 향상
라) 클라우드 서비스, 클라우드 컴퓨팅 정의
(1) 클라우드 서비스: 사용자 중심으로 클라우드 컴퓨팅 환경을 제공하는 주문형 아웃소싱 IT 서비스
(2) 클라우드 컴퓨팅: 가상화와 분산처리 기술을 기반으로 인터넷을 통해서 IT 자원을 임대하고 사용한만큼 요금을 지불하는 컴퓨팅 환경
마) 그리드 컴퓨팅과 클라우드 컴퓨팅의 차별성
그리드 컴퓨팅 | 클라우드 컴퓨팅 | |
정의 | 네트워크 상에서 컴퓨터나 데이터 등의 리소스를 가상화해서 통합하고 필요에 따라서 가상 컴퓨터를 동적으로 생성하기 위한 구조 | 가상화와 분산처리 기술을 기반으로 인터넷을 통해서 IT 자원을 임대하고 사용한만큼 요금을 지불 |
컴퓨터의 위치 | 지리적으로 분산되어 있고 각기 다른 조직이 관리 | 지리적으로 분산되어 있지만, 중앙에서 단일 조직이 관리 |
컴퓨터 구성 | 이기종 혼재 | 동일한 기종이 대다수 |
표준화단체 | 존재 | 없음 |
기술표준 | 리소스 관리, 스케쥴링, 데이타 관리 보안 등의 표준이 있음 | 없음 |
상호 접속성 | 중시 | 고려하지 않음 |
용도 | 과학 기술적 계산, 대규모 연산 등 병렬성이 높은 에플리케이션 | 웹 어플리케이션 등 범용적인 용도로 사용 |
2. 클라우드 컴퓨팅 유형
가) 서비스 유형에 따른 분류
(1) IaaS(Infrastructure as a Service)
인터넷 네트워크를 경유하여 인프라 자원(서버, 스토리지, 네트워크)을 서비스로 제공하는 형태
서비스 업체에서 서버를 호스팅 받는 것과 유사한 방식
(2) PaaS(Platform as a Service)
개발 및 운영 환경을 구축할 필요없이 필요한 개발 및 운영 환경을 서비스 형태로 사용하는 방식
(3) SaaS(Software as a Service)
웹브라우저로 접근: 설치형 소프트웨어가 아닌 웹 브라우저로 접근
사용량 기반 비용: 소프트웨어를 사용한 만큼 비용 지불
온디멘드: 필요한 소프트웨어는 즉시 사용가능
IT 수요 최적화: IT 인프라스트럭쳐에 대한 관리 및 확장 이슈가 없음
자체인프라 | IaaS | PaaS | SaaS | |
데이터 | 사용자 관리영역 | 사용자 관리영역 | 사용자 관리영역 | 서비스제공영역 |
어플리케이션 | 사용자 관리영역 | 사용자 관리영역 | 사용자 관리영역 | 서비스제공영역 |
런타임 | 사용자 관리영역 | 사용자 관리영역 | 서비스제공영역 | 서비스제공영역 |
미들웨어 | 사용자 관리영역 | 사용자 관리영역 | 서비스제공영역 | 서비스제공영역 |
운영체제 | 사용자 관리영역 | 사용자 관리영역 | 서비스제공영역 | 서비스제공영역 |
가상화 | 사용자 관리영역 | 서비스제공영역 | 서비스제공영역 | 서비스제공영역 |
서버 | 사용자 관리영역 | 서비스제공영역 | 서비스제공영역 | 서비스제공영역 |
스토리지 | 사용자 관리영역 | 서비스제공영역 | 서비스제공영역 | 서비스제공영역 |
네트워크 | 사용자 관리영역 | 서비스제공영역 | 서비스제공영역 | 서비스제공영역 |
나) 클라우드 운영 형태에 따른 분류
클라우드 서비스 | 설명 |
퍼블릭 클라우드 | 인터넷 상에 불특정 다수에게 공개된 클라우드 서비스로 인터넷 만으로 접근 가능한 클라우드 서비스 |
프라이빗 클라우드 | 기업 및 기관에서 폐쇄 네트워크 망에 클라우드 서비스를 구축하여 제한된 사용자에게만 접근을 허용하는 클라우드 서비스 |
하이브리드 클라우드 | 퍼블릭 클라우드와 프라이빗 클라우드의 결합된 형태로 외부에 공개된 클라우드 서비스와 폐쇄된 클라우드 서비스를 모두 사용하는 형태 퍼블릭 클라우드에 배포한 서비스를 프라이븟 클라우드 영역으로 이동하고 반대로 프라이빗 클라우드 영역의 서비스를 퍼블릭으로 보낼 수 있는 호환성이 매우 중요함 |
3. 서버 가상화 기술
*가상화:
-. 컴퓨터 자원을 추상화하는 방식
-. 여러대의 컴퓨터 자원을 하나의 서버처럼 보이게 하거나
-. 하나의 컴퓨터 자원을 복수의 컴퓨터 자원인 것처럼 보이게 하는 기술
*서버가상화기술:
-. 1개의 컴퓨터에서 동시에 1개 이상의 운영체제를 가동시키는 것이 가능
-. 컴퓨터 자원의 활용율과 관리 효율성을 극대화
-. x86 가상화기술: 클라오드 컴퓨팅 환경의 근간
가) 하이퍼바이저(Hypervisor)
호스트 OS: 서버 가상화에서 물리적으로 존재하는 서버
가상서버(Guest OS): 가상으로 제공되는 서버
서버 가상화 기술구분: 가상서버가 물리적인 서버와 같이 보일 수 있도록 물리적 자원을 할당하는 방식에 따라 구분
* 하이퍼바이저(Hypervisor): 물리적인 서버를 가상화하는 기술
서버 가상화를 위한 논리적 플랫폼
가상 머신 모니터(Virtual Machine Monitor)
설치방식과 가상화방식으로 분류
나) 하이퍼바이저의 유형
Native방식:하드웨어에 직접 설치
Hosted방식: 일반 프로그램 처럼 운영체제 위에 설치
(1) Native방식
가상머신 모니터(VMM, Virtual Machine Monitor)를 물리적 하드웨어에 직접 설치하는 방식
호스트 OS가 필요없는 방식
Type1
Xen, Citrix의 XenServer, VMWare의 ESxServer, IBM의 Power 하이퍼바이저, 마이크로소프트의 Hyper-V, KVM
(2) Hosted 방식
기존의 운영체제 위에 설치되는 소프트웨어
마이크로소프트의 Virtual PC, VMWare의 Workstation, 오라클의 VirtualBox
다) 서버 가상화 방식의 유형
(1) 전가상화(Full Virtualization)
(2) 반가상화(Para Virtualization)
장점: 하드웨어 에뮬레이션을 하지 않고 하이퍼바이저를 통해서 제어하기 때문에 높은 성능제공
단점: 게스트 OS의 커널을 일부분 수정해야 하기 때문에 오픈소스 운영체제만을 게스트 OS로 사용할 수 잇다.
(3) OS레벨 가상화(OS-level Virtualization)
[Hypervisor 가상화와 OS 레벨 가상화 비교]
항목 | Hypervisor 가상화 | OS-Level 가상화 |
하드웨어 독립성 | VM 내에서 완전 독립 | 호스트 OS 사용 |
OS 독립성 | Host OS와 완전 독립 | 호스트 OS와 게스트 OS 동일 |
성능 | 높은 Overhead 발생 성능 향상을 위한 HW 가상화 적용 |
Overhead 발생 없음 |
관리 | VM 별로 별도 관리 | 공통 SW 중앙 집중식 관리 |
응용분야 | 이기종 통합 리눅스 & 윈도우 혼합 |
단일 OS 환경 자원 통합 |
가상화 기술 | Xen, MS Virtual Server, KVM | Solaris, LXC(Linux Container), Docker |
[OS레벨 가상화 장단점]
강점 | 단점 | |
1 | 빠른 시작과 종료: 하이퍼바이저 기반 가상황 비교하여 매우 빠름 | Host OS에 종속적 |
2 | 높은 집적도: 여러 컨테이너를 운영시 OS는 1개이므로 소비자원 최소화 | 컨테이너별 커널 구성이 불가능 |
3 | 낮은 오버헤드: 에뮬레이션 없이 사용자 공간 관리 | |
4 | 어플리케이션 컨테이너 지원: 어플리케이션별 컨테이너 구성 지원 |
4. 스토리지와 네트워크 가상화 기술
가) 스토리지 가상화
필요로 하는 스토리지 공간 대신 This-Provisioning 이라는 기술을 통해서 초기 필요한 최소 공간만을 가상으로 할당하여 서비스 구현이 가능하도록
추가로 이기종 스토리지 시스템 통합을 사용하는 환경 제공
나) 네트워크 가상화
하드웨어 어플라이언스 형태로 존재하더 ㄴL2, L3, L7 스위치, 네트워크 방화벽, 보안 장비들을 구상머신으로 구현
네트워킹 자원들이 하나의 공유된 물리적인 환경에서도 내부적으로 가상화를 통해 분리되어 조작하게 한다.
5. 클라우드 플랫폼
가) 클라우드 플랫폼의 정의
서버, 스토리지, 네트워크, 가상화 기술 등과 같은 리소스들을 모으고 이들을 제어하고 운영하기 위한 Cloud Operation System
나) 오픈스택(Openstack)
오픈스택프로젝트 | 설명 |
Nova | 대규모 가상 컴퓨터 인스턴스 자동제어, 운영, Core컴포넌트 |
Swift | 대규모 신뢰성있는 클리우드 오브젝트 스토리지서비스 구현 |
Glance | 가상디스크 이미지파일 관리 저장/등록/관리/전달 |
Keystone | 통합인증 및 권한 시스템 |
Cinder | 볼륨 복제 및 스냅삿지원 블록스토리지 |
Ceiolmeter | 미터링 지원 |
Horizone | 셀프 서비스 포털 |
Heat | 복구 및 시스템 복원 |
Neutron | NW서비스 |
Trove | 데이터베이스 서비스 제공 |
Sahara | 스파크 및 데이터프로세스 지원, 하둡지원 |
다) 클라우드 스택(CloudStack)
Cloud.com에 의해 개발되고 citrix에 의해 아파치 재단에서 관리 개발하고 있는 클라우드 컴퓨팅 오픈소스 프로젝트
라) 쿠버네티스(Kubernetes)
구글이 자사 서비스를 위해 개발했던 운영 노하우를 공개한 것
컨테이너의 관리와 운영을 위한 오케스트레이션 플랫폼
선언형 프로그래밍 형석으로 노드에서 여러 컨테이너를 관리하고 예약할 수 이따
쿠버네티스 컨트롤 플레인(Kubernetes Control Plane)을 통해 특정 구성을 지정하면 쿠버네티스가 그 상태를 자동으로 유지
마) 메소스(Mesos)
클라우드 인프라 자원과 컴퓨팅 엔진들의 자원을 통합적으로 관리 할 수 있도록 만든 자원관리 프로젝트
네트워크로 연결되어 있는 분산 컴퓨팅 자원을 하나로 묶어서 리소스 풀(Resource Pool)을 만들고 하나의 컴퓨팅 자원처럼 보이게 해주는 기능 제공
사용자가 응용 프로그램 실행을 요청하면 인스턴스를 할당하고 응용 프로그램을 실행할 수 있게 해준다
메소스는 마라톤과 크로노스 프레임워크로 구성되어 있다.
마라톤은 자원할당과 잡을 만드는 역할
크로노스는 스케쥴링 담당
'TOPCIT > TOPCIT교재' 카테고리의 다른 글
15. 이동 통신 및 멀티미디어 통신기술 - 이상희 (0) | 2022.08.01 |
---|---|
11. 데이터 링크계층 - 김도현 (0) | 2022.08.01 |
5. 데이터 처리기술 - 안혜진 (1) | 2022.08.01 |
3. 운영체제 - 이강욱 (0) | 2022.08.01 |
2. 네트워크 개념 - 이상희 (0) | 2022.08.01 |