본문 바로가기

프로그래밍/Computer Network

13. Cloud

1. Introduction

 

Cloud라는 단어는 보통 명확하게 정의하기 어려운 어떤 것을 말한다. Cloud computing이란 computing resources가 공유되는 방식의 기술적 접근법이다. 많은 user들은 그들이 필요로 할때, 그들이 필요로 하는 것을 사용할 수 있다. 기존에 shared resources를 이용해 service하는 방식과 같다. 

핵심은 Hardware virtualization이다. 하나의 physical machine(host)에서 많은 individiaul virtual instances(guests)들이 동작하게 된다. Hypervisor는 virtual machine을 관리하고 동작시키면서, guests들에게 실제 hardware의 OS와 같은 virtual operating system을 제공한다.

Cloud는 이런 개념을 더 확장한 것인데, 하나의 machine이 아닌 여러 machine들을 거대한 cluster로 묶은 뒤, 수많은 사용자에게 resource를 제공하는 것이다. 

우리는 필요한만큼만 원하는 resource를 구매하고, 사용한 만큼만 비용을 내면된다. Virtualization되어있으므로, 실제 Hardware자원이 교체된다고 해도 사용자는 알 필요가 없다. 실제 서버를 구축하는 노력이 필요없다.

 

Public cloud란, 다른 회사에 의해 운영되는 거대한 cluster of machine이다. 

Private cloud란, 물리적으로 own premise로 운영되고, 하나의 회사에서 사용하는 cluster of machine이다.

Hybrid cloud란, 민감한 것들은 private cloud로, 덜 민감한 것들은 public cloud로 운영하는 것을 말한다. 

 

2. Everything as a Service

 

우리가 앞서 정의한 것들은, IaaS(Infrastructure as a Service)에 관한 것이였다. 우리는 network, server의 구축을 신경 쓸 필요가 없고 그에 대한 service를 제공받는다. 

Pass(Platform as a Service)는 customer가 그들의 service들을 제공하는데 필요한 plattorm을 제공한다. 기본적으로 customer의 프로그램들이 동작하기 위한 execution engine이 필요하다. 

SaaS(Sortware as a Service)는 다양한 software들을 licensing하여 중앙에서 이들을 관리하고 software의 기능을 제공한다. 과거에 우리는 많은 software를 직접 컴퓨터에 설치하고 사용하였지만, 이제는 이것을 browser에 넣고 web에서 service를 요청함으로서 많은 기능(Word processor, Design program, etc...)들을 사용한다. 이러한 것들이 Subscription based SaaS이다. 

 

3. Cloud storage

 

Cloud storage system에서 customer은 data secure, accessible, available과 같은 것들을 보장받기 위해서 cloud storage provider와 계약한다. 여러 다른 지리적으로 다른 공간에 storage를 두면서 availability를 향상시킨다. 스마트폰의 많은 데이터들은 cloud에 저장됨으로서, 스마트폰을 잃어버려도 데이터를 복구할 수 있다.

'프로그래밍 > Computer Network' 카테고리의 다른 글

14. IPv6  (0) 2024.04.23
12. Verifying connectivity  (1) 2024.04.21
11. Connecting to Internet (2)  (0) 2024.04.20
10. Connecting to Internet (1)  (0) 2024.04.16
9. VPN & Proxy  (0) 2024.04.15