넷플릭스는 클라우드를 사용함에 따라 소프트웨어 개발자들이 중요하지만 회사의 핵심가치와는 먼 훌륭한 스토리지 솔루션, 하드웨어 오류 복구 시스템, 네트워크 관련 등과 같은 일들 보다는 넷플릭스 고객들이 고품질 비디오를 시청하도록 하는 것에 집중할 수 있도록 하였다.

 

현재는 기존 데이터 센터를 대신하여 클라우드 인프라 스트럭쳐가 고객 정보에서 추천 알고리즘에 이르기까지, 넷플릭스의 모든 컴퓨팅 및 스토리지 니즈를 담당하고 있다.

 

넷플릭스가 클라우드를 사용하면서 확장성, 서비스 가용성, 새로운 콘텐츠, 기능, 인터페이스 및 인터렉션을 출시하는 속도가 향상되었다.

사물인터넷(IoT)은 전구와 같은 일반 가전 제품부터 의료 기기, 웨어러블 기기, 스마트 기기는 물론 스마트 시티까지 실제 오브젝트를 인터넷에 연결하는 프로세스이다.

 

사물인터넷과 클라우드의 연동 장점을 크게 확장성 및 구축, 상호 운용성 및 데이터 이동성, 통신 및 데이터 관리, 보안까지 총 4가지로 말할 수 있다.

 

 📌 확장성 및 구축

클라우드를 사용하면 물리적 서버 설정, 네트워크 구성, 디비 구축 등의 작업을 직접 수행할 필요가 없으므로 구축이 쉽고 확장성이 높다. 또한 클라우드 서비스를 통해 원격 장치의 수명 주기를 쉽에 관리하며 모니터링이 가능하고 업데이트 자동화 도구를 제공한다.

 

 📌 상호 운용성 및 데이터 이동성

클라우드에 저장되고 처리되는 데이터는 전 세계 어디서나 액세스가 가능하며 실시간으로 수집이 가능하다. 또한 IoT 기기로 생성된 데이터와는 다른 데이터를 연동하거나 통합하기 쉽다.

 

 📌 통신 및 데이터 관리

클라우드는 기계간 통신을 최적화하고 인터페이스간 액세스를 쉽게 한다. 또한 데이터 저장, 처리 및 액세스 할 수 있는 비용을 줄일 수 있다.

 

 📌 보안

맞춤형 클라이언트 및 서버측 암호화를 통해 보안 침해 위험을 줄일 수 있다.

 

 

참고

https://www.daliworks.net/blog/saas_iot_cloud/

https://www.nakivo.com/blog/docker-vs-kubernetes/

먼저, 시스템 구조적으로 컨테이너는 한 OS를 공유하는 구조이고, VM은 각각의 OS를 띄워야하는 구조이기 때문에 컨테이너가 빠르다.

 

또한 컨테이너는 VM보다 이미지 사이즈가 작으며 부팅시 하이퍼바이저 - OS - 미들웨어 - application까지 실행되어야 하기 때문에 부팅 시간이 느린 VM과 달리 컨테이너는 분리된 프로세스 형식으로 OS 부팅이 필요없기 때문에 시작 시간이 빠르다. 

그리고 VM은 생성 후 개별로 변경 사항을 관리하기 때문에 VM간 구성이나 환경이 불일치 할 수 있지만 컨테이너는 application에 필요한 라이브러리나 의존 파일들을 이미지에 포함하기 때문에 환경 문제가 발생하지 않는다.

 

출처: 클라우드컴퓨팅서비스 보안관리 6주차 pdf

마지막으로 VM은 쓰기, 읽기 모두 성능 저하가 있고 컨테이너는 오직 쓰기에서만 성능 저하가 있다.

virtualizable mode는 물리적으로 하나인 자원을 논리적 자원으로 추상화하여 자원이 여러개인 것 처럼 하는 것이다. 따라서 해당 자원을 공유하며 사용 가능하다.

예를 들어, 유저 application은 virtualizable mode에서 작동한다. 이는 추상화된 논리적 환경이므로 여러개의 application을 실행할 수 있다.

 

하지만 가상화되지 않은 OS는 non-virtualizable mode에서 작동하는데 이는 특권모드이기 때문이다. 가상화를 시킨다면 특권모드에 OS 대신 하이퍼바이저가 놓인다. 따라서 virtualizable mode에서 실행시켜서 application처럼 여러개의 운영체제를 실행시킨다.

출처: 클라우드컴퓨팅서비스 보안관리 6주차 pdf

 

 📌 전가상화 without HW support

일반적인 protection ring과 달리 guest OS가 ring1에 위치하고 하이퍼 바이저는 ring0에 위치한다. guest OS가 항상 ring0에 있는 하이퍼 바이저를 통해 명령을 수행하기 때문에 오버헤드로 인한 성능 저하가 발생한다.

 

 📌 반가상화

반가상화는 변형된(수정된) guest OS가 ring0에 위치한다. 하이퍼바이저는 전가상화 without HW support의 VMM과는 달리 ring -1에 위치하며 guest OS는 hyper call을 통해 하드웨어에 직접 접근할 수 있다.

하이퍼바이저를 거치긴하지만 반가상화는 이진 변환이 없기 때문에 오버헤드가 적다는 장점이 있다.

 

 📌 전가상화 with HW support

guest OS가 ring0, VMM ring -1에 위치한다. 전가상화에서의 성능 저하 문제였던 이진 변환을 하이퍼바이저가 아니라 CPU가 수행함으로써 성능 향상이 있고 보안 관점에서도 좋다.

 📌 전가상화

전가상화는 호스트의 cpu의 가상화 기술을 이용하여 전체 하드웨어를 완전히 가상화하는 것이다. 게스트 OS는 하드웨어 자원을 요청하기 위해 반드시 하이퍼바이저가 중재한다. 게스트 OS가 하이퍼바이저에게 하드웨어 시스템 제어를 요구하면 하이퍼바이저가 하드웨어에게 요구사항을 전달한다.

 

 📌 반가상화

반가상화는 하드웨어 일부를 가상화한 것으로 게스트 OS를 일부 수정해서 필요한 하드웨어 자원을 하이퍼콜(Hyper call)이라는 명령어를 통해 직접 요구하게 하는 것이다. 하이퍼바이저가 모든 명령을 중재하는 전가상화보다 반가상화가 더 성능이 좋다.

Type1과 Type2는 Hypervisor를 어떠한 형태로 개발할 것이냐에 따라 나뉜다.

 

Type1은 하이퍼바이저는 OS 형태로 개발한다. 하이퍼바이저가 하드웨어 바로 위에서 실행되며 하이퍼바이저가 하드웨어를 직접 제어하기 때문에 자원을 효율적으로 사용할 수 있고, 별도의 Host OS가 없어서 오버헤드가 적지만 여러 하드웨어 드라이버가 필요해서 설치가 어렵다.

 

Type2는 하이퍼바이저는 Application 형태로 개발한다. 호스트형 하이퍼바이저는 일반적인 소프트웨어처럼 Host OS 위에서 실행된다. 이는 하드웨어 자원을 VM 내부의 guest OS에 에뮬레이트하는 방식이기 때문에 Type1보다 오버헤드가 크지만 게스트 OS 종류에 대한 제약이 없다. 또한 하이퍼바이저가 application으로 취급되기 때문에 만약 다른 application에서 악성코드가 실행될 경우 문제를 전달받을 수 있다.

더보기

virtual machine이란?

 

가상 머신은 컴퓨팅 환경을 소프트웨어로 구현한 것, 즉 컴퓨터 시스템을 에뮬레이션하는 소프트웨어다.

가상머신상에서 운영 체제나 응용 프로그램을 설치 및 실행할 수 있다. 

vitural machine의 종류에는 VM Workstation, VMware Server, Virtual Box, Paralles Workstation 등이 있다.

 

 📌 가상머신의 특성

가상 머신을 사용하면 여러 운영체제나 시스템을 완벽히 독립된 채로 같은 컴퓨터에서 이용할 수 있다.

따라서 사용자가 하드웨어를 직접 혼자 쓰는 것처럼 느끼게 만든다. 이는 하드웨어나 VM 사이에서 중재해주는 하이퍼바이저 덕분이다.

 

 📌 단점

만약 하나의 물리적 시스템에서 여러 VM을 돌릴 경우 성능이 불안정해질 수 있으며 가상머신은 물리적 컴퓨터보다 파일 입출력 작업의 성능이 낮음 등 효율성이 떨어지며 실행 속도가 느리다는 단점이 있다.

 📌 Public cloud

퍼블릭 클라우드는 CSP가 인터넷 망을 통해 사용자에게 컴퓨팅 자원을 빌려주는 것이다.

이는 사용료를 지불하면서 빌려쓰는 방식으로 IT 자원에 대한 구매가 아닌 '구독'을 하고 사용한 만큼 사용료를 지불한다.

따라서 초기 토자 비용이 절감되기도 한다. 또한 클라우드는 정기적인 최신 성능 업그레이드가 이루어지기 때문에 시설 노후화에 대한 부담 감소가 있다. 그리고 OPEX 기반 환경이므로 CAPEX가 적고 특정 기업에 갇힐 확률이 적다.

하지만 클라우드에서 정보 유출 사고가 발생할 경우 detect가 힘들고 인터넷이 어떻게 끊길지 모른다는 단점이 있다.

이는 대체로 규모가 중-소인 기업에 적절하다.

 

 📌 Private cloud

프라이빗 클라우드는 자신의 온프레미스(on-premise)내에 클라우드 플랫폼을 구축해서 운영한다.

자체적으로 보안 시스템을 운영할 수 있고, 사용자의 필요와 요구에 따라 맞춤형 구축이 가능하다는 장점이 있다.

하지만 설치운영 비용인 CAPEX가 생기고 관리를 위한 전문가 고용이 필요하다는 단점이 있다. 또한 특정 기업에 갇힐 확률이 크다.

이는 규모가 큰 비지니스에 적절하다.

 

 📌 Hybrid cloud

하이브리드 클라우드는 public과 private cloud를 혼합한 형태이다. 보안이 중요한 것은 private cloud로, 신규 서비스나 이벤트 등 예측하기 어려운 대용량 데이터는 신속하게 자원을 확장할 수 있도록 public cloud에 배치하는 것이다. 이는 퍼블릭 클라우드의 유연성과 확장성, 비용 효율성을 누리면서 보안 걱정을 덜 수 있다.

출처: 클라우드컴퓨팅서비스 보안관리 5주차 pdf

 

📌 IaaS (Infrastructure as a Service)

IaaS는 이용자가 서버나 스토리지 같은 하드웨어 자원을 빌려쓰기 때문에 데이터, 처리 기능, 도구 및 운영 관리에 대해 높은 수준의 제어를 가지고 있다.

따라서 이용자는 환경구성부터 응용 서비스 등에 대한 전반적인 책임이 있으며 CSP는 하드웨어 가용성이나 유지보수 정도의 책임만 가진다.

즉, OS, data, application, middleware, runtime을 담당하고 CSP는 network, server, virtualization, storage 관리와 액세스를 담당한다.

 

 📌 PaaS (Platform as a Service)

PaaS는 CSP가 애플리케이션이나 서버가 실행되는 환경을 제공한다. 즉, 소프트웨어 서비스를 개발할 때 필요한 플랫폼을 제공한다.

따라서 이용자는 데이터 처리 및 관련 풀, 응용 프로그램에 대한 책임이 있으며 CSP는 OS 환경 구성이나 시스템 패치 등에 대한 책임이 있다.

 

 📌 SaaS (Software as a Service)

SaaS는 CSP가 애플리케이션이나 소프트웨어를 서비스 형태로 제공하는 것으로 이용자는 데이터 관리에 대한 책임만 가지고 CSP는 데이터, 미들웨어부터 서버, 스토리지 같은 모든 기술 문제에 대한 책임이 있다.

+ Recent posts