기본적으로 아래 세 가지의 개념은 서로 관련이 깊은 것 같다.
* Cloud Computing
* Datacenter
* Virtualization ( 가상화 )
특히나 Cloud Computing 과 Data Center는 서로 떼어놓을 수 없는 것이
Cloud Computing을 통해 우리가 자유자재로 사용할 수 있는 컴퓨터를 모아 놓은 곳이자 우리의 데이터를 보관하는 컴퓨터를 모아 놓은 곳이 Data Center이기 때문이다.
Data center의 쉬운 예로는 정확하진 않지만 영화 속에 나오는 컴퓨터 본체처럼 생기진 않았는데 본체같기도 한 서버실 같은 장면을 떠올리면 된다.
( Youtube에 data center라는 키워드로 검색하면 나오는 영상. 구글의 데이터 센터를 영상에 담은 것 같은데, 수업 때 흥미롭게 보아 첨부해봄
https://www.youtube.com/watch?v=XZmGGAbHqa0 )
Cloud Computing 이란 원격으로 서버를 운영하는 컴퓨터를 놔두고 클라이언트들이 원격으로 그 컴퓨터의 자원을 이용할 수 있는 것을 의미한다.
기본적으로 Elastic한 특성을 가지고 있다. ( 이용한 만큼 돈을 낸다는 탄력성 )
Cloud Computing의 특성 - 장점
* 경제적으로 탄력적이다. - 내가 적게 쓴 달엔 적게, 많이 쓴 달엔 많이 요금을 내면 된다.
- 안 써도 될 때 ( 서버에 요청이 적거나 하여 서버를 닫고 싶을 때)는 요금을 안 내도 된다. 물론 요금제마다 다르긴 하다.
* 확장이 편리하다. - 만일 사업의 규모가 점점 커져갈 경우, cloud computing 방식이 아닌 convetional method 를 이용하고 있었다면, 기존에 가지고 있던 서버 컴퓨터를 업그레이드를 하기 위해 교체해야하는 경우가 발생할 수 있다. 이 경우 매우 번거롭고 많은 에러가 발생할 수 있는데, cloud computing을 이용하면 돈을 내는 만큼 좋은 사양으로 손 쉽게 업그레이드 할 수 있다.
- 또한 주로 startup들에게 초기 자금을 낮추는 효과와 낮은 리스크를 제공할 수 있다. ( e.g. 사업이 잘 될 줄 알고 엄청난 자본을 들여 서버를 구축했으나 쪽박치는 경우 방지 )
Cloud Computing의 특성 - 단점
* 인터넷이 안되는 곳에서는 이용할 수 없다. - 솔직히 억지같음. 인터넷도 안되는 곳에서 무슨 작업을 할 수 있을까
* 보안이 취약하다 - 이 또한 내가 볼 땐 살짝 억지 같은 게, 만약 자기 회사 내에 직접 서버를 운영함으로써 Google 이나 Amazon의 Cloud Computing services를 이용하는 것 보다 보안을 뛰어나게 유지할 수 있다면 모르겠으나, 나의 얕은 지식을 배경으로 한 의견에선, 그리 문제가 있을까 싶음.
* 아무래도 리소스 낭비는 존재한다. - 물리적으로 연결되어있는 상태에서 작업을 수행하는 것이 아니기 때문에 서버에게 명령을 전송하고 서버에서 그 명령을 수행하고, 다시 그 결과를 클라이언트에게 전송하는 등의 방식을 거쳐야하기때문
진짜 쉽게 예시를 들어 말하자면
전통적 방식을 각각의 회사나 개인이 자신의 서버를 운영하기 위한 컴퓨터를 소지하고 그것을 관리하는 방식이라고 하고
새로운 방식으로 Cloud computing 이 있다고 하자.
각자 자신의 집 앞에 차고를 운영하고 관리해야했던 시대에서
공용 주차장이 생겨 이제는 자신이 차고를 직접 관리할 필요는 없어진 것이다.
그럼 만약 내 차고가 2칸이었는데, 차를 하나 더 사게 됐을 경우 차고를 공사해야한다. ( 사업이 흥해 직접 서버 규모를 확장하는 경우와 비슷 )
근데 만약 공용 주차장을 이용한다면, 돈을 조금 더 주고 한 칸을 더 이용하면 될 것이다.
Cloud Computing 종류
크게 세 가지로 나눌 수 있다
SaaS, Software as a Service
- 가장 얕은 계층의 서비스이다. 예를 들면 Gmail, naver mail, blogs
등등 기업이 제공하는 서비스를 이용하는 경우이다.
내가 직접 나의 데이터를 가지고 있지는 않지만, 기업이 이용하는 Data center에 내 데이터가 저장되고 내가 이용할 수 있다.
PaaS, Platform as a Service
- 중간 계층의 서비스
- Docker 나 Hadoop을 예시로 들던데, 나는 둘 다 아직 잘 몰라서 모르겠다.
- 쉽게 말하자면 컴퓨터를 조작할 권력을 조금 갖는 계층의 서비스
IaaS, Infrastructure as a Service
- 깊은 계층의 서비스
- 쉽게 말해 OS 자체를 밀어버리거나 할 수는 없지만, 마치 정말 내가 컴퓨터의 소유자인 것처럼 이용할 수 있다.
- e.g. Amazon Web Services, MS Azure, goorm ide
수업에서 배운 내용을 바탕으로 정리하였습니다.
'Linux > Docker' 카테고리의 다른 글
docker daemon 설정을 이용해 원격으로 docker 이용하기 (0) | 2020.03.08 |
---|---|
Docker 를 이용해 가장 간단하게 다양한 가상환경에서 작업하기 (0) | 2019.09.08 |
Dockerfile의 CMD와 ENTRYPOINT 차이. docker-compose.yml의 command (0) | 2019.08.26 |
[Docker] Docker 시작하기. 예제를 하나 만들고 실행해보자 (0) | 2019.03.16 |
[Docker] Docker 시작하기. Docker란? Docker와 Container의 개념에 대하여 (0) | 2019.03.16 |