본문 바로가기
코딩수업/AWS 클라우드환경 네이티브

6/2 가상화, 가상화 종류, 가상화 기술 종류, 클라우딩 컴퓨터 서비스의 종류, 클라우드 서비스 종류, 도커와 쿠버네티스

by 인생즐겜러 2022. 6. 2.
728x90
반응형

AWS 클라우드환경 네이티브 수업 17일차

 

 

 

가상화 관련 설명

 

리액트 네이티브

325~328

 

 

 

 

https://velog.io/@kjw2298/CISC-RISC-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EC%B0%A8%EC%9D%B4

 

[CISC / RISC] 개념 및 차이

CPU(중앙처리장치) 를 설계하는 방식이다.CPU가 작동하려면 프로그램이 있어야 하고 명령어를 주입해서 설계를 한다.\-명령어가 H/W 적인 방식을 RISC라고 한다.\-명령어가 S/W 적인 방식을 CISC라고

velog.io

https://velog.io/@bky373/Web-%EC%9B%B9-%EC%84%9C%EB%B2%84%EC%99%80-WAS

 

[Web] 웹 서버와 WAS의 개념 이해

인터넷을 기반으로 한, 정보를 공유 검색할 수 있게 하는 서비스URL(주소), HTTP(통신 규칙), HTML(내용네트워크를 통해 클라이언트에게 정보나 서비스를 제공하는 컴퓨터 시스템인터넷을 기반으로

velog.io

https://www.redhat.com/ko/topics/automation/what-is-provisioning

 

프로비저닝(Provisioning)이란? 종류, 설정, 배포, 자동화 방법

프로비저닝은 IT 인프라 설정 프로세스를 뜻하며, 데이터와 리소스에 대한 액세스 관리에 필요한 단계입니다. 서버, 네트워크, 사용자, 서비스 유형이 있습니다.

www.redhat.com

 


가상화

하드웨어의 성능이 좋아짐에 따라 하드웨어를 효율적으로 사용하기 위해

하나의 하드웨어(HW)를 여러개 처럼 동작시키거나 반대로 여러 개의 장치를 묶어 하나의 장치 인 것처럼 사용자에게 공유자원으로 제공할 수 있다는 것

 

 

 


가상화 종류

 

1. 서버가상화

 하이퍼바이저(Hypervisor)와 가상머신 (VM)으로 구성.

 하이퍼바이저 = 하드웨어로부터 제공되는 물리적인 레이어를 추상화하고, 가상머신을 통해 기능들을 사용하도록 해준다.

 

 

 

 

2. 데스크톱 가상화 (VDI) 

 서버에서 운영되는 가상의 PC환경을 의미. 원격 데스크탑과 같다.

 모든 작업의 프로세싱과 저장은 센터에 위치한 서버에서 이루어 지며,

 네트워크만 있다면 어디서든지 자신의 PC 환경 구동이 가능하다

 데이터 센터 급의 보안 서비스를 보장 받는다는 장점이 있다.

 단일 머신에서 여러 운영 체제를 배포할 수 있는 운영 체제 가상화와 혼동하기 쉬움.

 

 

 

3. 애플리케이션 가상화

표준 앱을 속여 운영 체제의 기능과 직접 상호작용한다고 믿게 하는 프로세스.

앱과 OS 사이에 가상화 계층이 삽입되어야 작동이 가능.

이 계층 또는 프레임워크는 앱의 하위 집합을 가상으로 실행하고 하위 OS에 영향을 주지 않아야 함.

가상화 계층은 일반적으로 OS에서 제공하는 런타임 환경의 일부를 대체 후

파일 및 레지스트리 로그 변경 사항을 단일 실행 파일로 투명하게 전환.

 

 


서버 가상화와 애플리케이션 가상화의 차이점

서버 가상화는 여러 서버 그룹으로 클러스터링된 단일 또는 다중 서버 사용을 의미.

예를 들어 데이터 센터에 물리적 서버가 20개 있다면, 각각 서버가 10개인 두 그룹이나 한쪽은 5개이며 다른 쪽은 15개인 두 그룹은 가상화할 수 있습니다. 개별 서버로 작동하는 물리적 서버 5개, 10개 또는 15개 그룹은 가상 서버와 동일합니다.


반대로 하나의 물리적 서버를 별도의 여러 가상 서버로 파티셔닝하여 조직 리소스를 극대화하고 예기치 않은 서버 중단 시 쉽게 복구할 수도 있습니다. 가상 서버를 사용하면 유지 관리와 환경 및 전력 비용도 절감됩니다.


앱 가상화는 앱이 종속성 없이 다른 운영체제나 브라우저를 통해 실행된다는 뜻이기도 합니다.

예를 들어 Microsoft PowerPoint를 가상화하면 Opera 브라우저를 통해 Ubuntu에서 실행할 수 있습니다.


두 환경은 구현 방법도 다릅니다. 데스크톱 가상화는 네트워크 아키텍처, 전송 프로토콜 및 데이터 센터에 영향을 주지만 서버 가상화는 서버 변경 사항에만 영향을 줍니다.

 


가상화 기술 종류

 

 

1. 호스트 가상화

호스트가상화는 Base가 되는 Host OS위에 Guest OS가 구동되는 방식.

ex) VM Workstation, VMware Server, VMware Player, MS Virtual Sever, Virtual PC, Virtual Box, Paralles Workstation 등

 

장점 : 가상의 하드웨어를 에뮬레이팅하기 때문에 호스트 운영체제에 크게 제약사항이 없음

단점 : OS위에 OS가 얹히는 방식이기 때문에 오버헤드가 클 수 있음. 

 

※참고

오버헤드 : 어떤 처리를 하기 위해 들어가는 간접적인 처리 시간 · 메모리 등을 말한다.

 

 

 

 

2. 하이퍼바이저 가상화

하이퍼가상화는 Host OS없이 하드웨어에 하이퍼바이저를 설치하여 사용하는 방식.

ex) Xen, MS hyper-V, citrix, KVM 등.

 

장점 : 별도의 Host OS가 없기 때문에 오버헤드가 적고, 하드웨어를 직접 제어하기 때문에 효율적으로 리소스를 사용 가능
단점 : 자체적으로 머신에 대한 관리 기능이 없기 때문에 관리를 위한 컴퓨터나 콘솔이 필요함

 

 

 

 

2-1. 전가상화 (Full virtualization)

하드웨어를 완전히 가상화 하는 방식으로 Hardware Virtual Machine 이라고도 불립니다.
하이퍼바이저를 구동하면 DOM0라고 하는 관리용 가상 머신이 실행되며,

모든 가상머신들의 하드웨어 접근이 DOM0을 통해서 이루어집니다.
즉, 모든 명령에 대해서 DOM0가 개입을 하게되는 형태입니다.

 

하이퍼바이저는 가상화된 OS가 뭐든지간에 각 OS들이 내리는 명령어를 알아들을 수 있습니다.
예를 들어 윈도우 에서 Add, 리눅스 에서 ADD, 맥에서 add 라는 명령어를 내렸을때

하이퍼바이저가 “더해라”라고 번역 하여 명령어를 실행해주는 것입니다.
하이퍼바이저는 이러한 번역 뿐만 아니라 가상화된 OS들에게 자원을 할당해주는 역할도 담당합니다.

 

 장점 : 하드웨어를 완전히 가상화하기 때문에 Guest OS 운영체제의 별다른 수정이 필요 없음

 단점 : 하이퍼바이저가 모든 명령을 중재하기 때문에 성능이 비교적 느림

 

 

2-2. 반가상화 (Para virtualization )

반가상화는 전가상화와 달리 하드웨어를 완전히 가상화 하지 않습니다.

전가상화의 가장 큰 단점인 성능저하의 문제를 해결하기 위해

하이퍼콜(Hyper Call)이라는 인터페이스를 통해 하이퍼바이저에게 직접 요청을 날릴 수 있습니다.

가상화된 각 OS들이 각각 다른 번역기를 갖고 있는 것입니다.

그 번역기는 각각 다른 OS에서 내리는 각각 다른 명령어를 “더해라”라고 번역해주게 되는 것입니다.

 

장점 : 모든 명령을 DOM0를 통해 하이퍼바이저에게 요청하는 전가상화에 비해 성능이 빠름

단점 : 하이퍼바이저에게 Hyper Call 요청을 할 수 있도록 각 OS의 커널을 수정해야 함.

           오픈소스 OS가 아니면 반가상화를 이용하기가 쉽지 않음

 

 

 

3. 컨테이너 가상화
호스트 OS 위에 컨테이너관리 소프트웨어를 설치, 논리적으로 컨테이너를 나누어 사용합니다.
컨테이너는 어플리케이션 동작을 위한 라이브러리와 어플리케이션등으로 구성되 기때문에

이를 각각 개별 서버처럼 사용가능합니다.

 

장점 : 컨테이너 가상화는 오버헤드가 적어 가볍고 빠른 장점이 있음

 

 

 

 

012
위의 세개 비교

 

 

 (출처 : https://tech.cloud.nongshim.co.kr/2018/09/18/%EA%B0%80%EC%83%81%ED%99%94%EC%9D%98-%EC%A2%85%EB%A5%983%EA%B0%80%EC%A7%80/)

 

 

 


 

클라우딩 컴퓨터 서비스의 종류

 

1. IaaS

클라우드 컴퓨팅의 가장 기본적인 계층은 IaaS(Infrastructure as a Service), 즉 ‘서비스형 인프라’로, 비즈니스 운영에 필요한 스토리지, 네트워킹 및 컴퓨팅 리소스를 제공

 


2. PaaS

PaaS(Platform as a Service)는 ‘서비스형 플랫폼'을 뜻합니다.

애플리케이션 및 서비스를 구축할 수 있는 플랫폼을 제공.

IaaS와 다른 점은, 여기에 추가로 미들웨어, 데이터베이스 관리 시스템, 개발 툴, 비즈니스 인텔리전스 및 분석 툴 등을 제공하고 관리합니다.

PaaS를 사용하는 클라이언트 사에서는 개발 중인 애플리케이션과 서비스를 관리하는 역할만 담당.

 

 

3. SaaS

SaaS(Software as a Service)는 ‘서비스형 소프트웨어'를 뜻 함.

Google Drive, 네이버의 MYBOX가 바로 SaaS의 대표적 예시입니다. 기업의 측면에서는, 기업용 메신저나 이메일, 화상회의, 일정 관리 서비스 등도 SaaS에 포함.

SaaS는 사용자와 연결된 “패키지 소프트웨어”이며 모든 사용자에게 동일하게 보입니다.

업데이트나 업그레이드가 발생할 때 컨트롤할 수 없고, 일부 커스터마이징 기능은 제공되지만,

전체 스택은 제3자가 관리합니다.

설치 및 지원은 일반적으로 공급업체에서 처리하므로 소프트웨어를 더 쉽게 사용할 수 있다는 장점.

 

결론은 1->3으로 갈 수록 편하지만 제약이 많다.

 

 


클라우드 서비스 종류

 

1. Public Cloud

아무나 다 쓸 수 있다.

ex) 아마존, 구글

 

2. Private Cloud

전산실에 직접 구축해서 회사 내부적으로만 쓴다.
일반적으로 사설 클라우드를 구축하는 경우에는 보안을 위해 외부의 인터넷망과의 IT 인프라를 분리하거나, 운영 회사에서 원하는 형태로 보안 시스템과 내부 IT 인프라를 구성할 수 있음.

여유 자원이 한정되어 있다는 단점이 있다.

ex) Vmware

 

 

 


도커와 쿠버네티스

 

 

 

 

 

1. 전통적 배포

일반적인 PC를 쓰듯이 한 컴퓨터에 뱅킹 업무랑 게임을 다 같이 쓰는 것. 이는 프로그램 충돌을 야기한다.

 

2. 가상화 배포

위의 충돌을 막기 위해 가상 시스템을 구동할 수 있는 하이퍼바이져를 넣고,

물리적인 스펙( CPU, 메모리, 저장 장치)을 각각 나누어 가상 컴퓨터에 부여하여 여러 개를 구동한다.

가상 컴퓨터 별로 하나는 은행, 하나는 게임 이런 식으로 구동하면 충돌이 안일어난다.

문제점은 각 컴퓨터 별로 OS가 하나하나 깔려있기 때문에 무겁다.

 

3. 컨테이너 중심의 배포 

컨테이너는 OS를 매번 설치할 필요가 없다. 그림에서 보는 것과 같이 OS는 하나만 사용.

1번과 같은 느낌이지만 단, 간섭을 일으킬 수 없는 장벽 친다.

동시에 OS는 게임과 인터넷 뱅킹이 사용할 수 있도록 각각 CPU, 메모리 등의 자원 할당하고 관리한다.

때문에 2번보다는 가볍고 1번보다 충돌 위험이 낮다.

문제점은 내 프로그램의 문제가 OS에 문제를 일으킬 경우에는

OS에서 구동 중인 전체 컨테이너의 문제가 될 가능성이 있다.

 

 

 


다시 리액트

325~328

728x90
반응형

댓글