“a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,servers, storage, applications, and services) that can be rapidly provisioned and released withminimal management effort or service provider interaction.” “You do not own computing infrastructure, but you rent it.”
클라우드 컴퓨팅은 구름 속의 컴퓨터처럼, 사용자가 컴퓨팅 자원이 어디에 존재하는지 알지 못하더라도 손쉽게 사용할 수 있는 기술이다. 2010년에 클라우드 컴퓨팅이라는 용어가 정립되었지만, 그 이전에도 NASA 등에서 이미 활용되고 있었던 기술이다. 직접 구축하여 사용하는 기술에서, 다른 기업의 자원을 빌려 사용하는 방식으로 변화했다.
클라우드 컴퓨팅에는 세 가지 주요 서비스 모델이 있음:
IaaS (Infrastructure as a Service): 사용자가 CPU, 디스크, 네트워크 등의 가상화된 컴퓨팅 인프라를 provision해서 사용할 수 있는 서비스. Amazon EC2, S3, Windows Azure등이 해당함.
OS, Storage, 네트워킹, 배포된 앱 등을 직접 관리한다.
PaaS (Platform as a Service): 런타임, 개발 도구, 데이터베이스 등을 제공하여 개발자가 애플리케이션을 쉽게 개발하고 배포할 수 있도록 돕는다. 사용자는 네트워크, 서버, OS, 스토리지 등의 내부 infrastrucure을 관리하지 않고 배포된 어플리케이션에 대한 control이 있다. Google App Engine등이 있다. Docker나 Kubernetes도 이에 해당한다고 볼 수 있다.
SaaS (Software as a Service): 모든 애플리케이션은 제공업체가 관리하며 웹 브라우저를 통해서 제공됨. 유튜브 라이브 스트리밍 서비스와 Gmail, Dropbox 등이 있다.
데이터센터 = 클라우드 컴퓨팅을 위한 물리적인 컴퓨터가 존재하는곳.
네이버 데이터센터는 춘천에 위치해있고 대전에도 짓고 있는 중이다.
구글은 500만개 정도의 cpu를 운영중이다.
데이터센터 구축은 비용이 많이 드는 작업이다. 건물 설계, 냉방, 전기설비 등.