오픈소스 SW개발 (10) Cloud Computing

2022. 6. 22. 15:34강의 내용 정리/오픈소스SW개발

728x90
반응형

Cloud Computing


1. Cloud Computing

1) Traditional models

- 클라우드 컴퓨팅이 없었을 때는 우리가 만든 서버 위에서 서비스가 출시되었다. 즉, 물리적인 머신을 직접 임대하거나 구매해서 서비스를 제공했다. 그 위에 OS나 환경을 설치해야했다. 하지만 서비스의 특징 상 시간대별로 고객의 접속량이 달라질수밖에 없다. 만약 사용자가 많이 몰릴 때 서버가 작다면 서비스의 질이 낮다고 느낄 수밖에 없다. 그렇다고 이를 위해 서버의 크기를 키울수밖에 없는데 이러한 경우에는 서버가 쉬는 시간이 많을 것이다.

 

2) Data Center

- 물리적인 머신을 구매하거나 임대해서 여기에 배치해서 서비스를 운영하는 식으로 진행했다. 데이터 센터에 서버를 갖춰놓고 이를 사용하기도 한다.

 

3) Cloud Computing

- 그러나 스타트업은 컴퓨터를 사서 사용하기 어렵기에 추상화된 컴퓨터를 빌려서 사용하기도 한다. 이에 따라 사용한 시간만큼 비용을 지불해가면서 사용할 수 있다. 만약 특정 시간대에 고객이 몰린다면 이에 맞춰 유연하게 서비스를 제공할 수 있다.

 

클라우드 컴퓨팅은 다음과 같은 특징이 있다.

(1) Virtualization

- 물리적인 컴퓨터에서 돌리는 것이 아니라 가상 머신 위에서 돌린다.

 

(2) Autonomic computing

- 서비스의 양이나 호출량이 급격하게 늘어난다거나 하는 등의 일이 발생했을 때 이를 자동화해서 미리 설정한 로직 등에 의해 알아서 서비스를 제공한다.

 

(3) Service-Oriented Computing

- 직접 스토리지를 빌리는 것이 아니라 서비스 형태로 클라우드 컴퓨팅을 사용할 수 있다. 즉, API 형태로 이를 제공받아 사용할 수 있다.

 

 

- 다시말해 클라우드 컴퓨팅은 컴퓨터 리소스를 빌려쓰는 것을 의미한다. 다시말해 원격에서 컴퓨터 리소스를 빌려 쓸 수 있는 것이다. 실제 저장소는 클라우드 컴퓨팅을 제공해주는 회사에 위치해있을 것이고, 저장소 뿐만 아니라 네트워크, 서버, 스토리지, 어플리케이션 등의 컴퓨팅 리소스를 빌릴 수 있다. 이에 따라 내가 사용한 만큼만 비용을 지불하면 된다.

 

4) Essential Characteristics

(1) On-demand self-service

- 필요한 것을 구현할 수 있다.

(2) Broad network access

- 원격으로 제공한다.

(3) Resource pooling

- 가상화, 추상화를 통해 리소스를 제공

(4) Rapid elasticity

- 컴퓨터 리소스를 유연하게 사용할 수 있다.

 

(5) Elasticity

- x축은 시간, y축은 사용량

- 생활패턴에 따라 사용량이 달라질 수밖에 없다. 

- 사용량이 매우 많아졌을 때 사용자가 많이 몰리는 시간에도 빠르게 처리할 수 있어야한다. 하지만 물리적인 컴퓨터를 구매해서 이를 구축하고자 한다면 왼쪽 그림과 같이 된다. 이에 따라 이용자가 많으면 속도가 느려지고, 이용자가 얼마 없으면 서버가 놀기에 비효율적이다. 따라서 클라우드 컴퓨터를 사용하면 오른쪽과 같이 바꿀 수 있다.

 

(6) Elasticity (Auto-Scaling)

- 수동으로 유동성을 조정할 수 있지만 대부분 자동으로 이를 구현해놓는다.

 

5) Scaling

(1) Horizontal Scaling

- 서버의 수를 조정한다.

- 서버를 운영하다보면 장애가 발생하는 상황이 나타날 수 있다. 또한 종종 특정 서버만 죽는 경우도 존재한다. 이때 서버가 몇 대 있다면 안정성이 높다고 할 수 있다. 

cf) scale out, scale in

 

(2) Vertical Scaling

- 스토리지의 양을 늘리고 줄인다.

- 서버 한대를 가지고 scale up, scale down을 한다면 안정성이 낮아서 하나의 서버가 다운되면 모두 다운되기에 요즘 일반적으로 scale out, scale in을 한다.

cf) scale up, scale down

 

(3) Elasticity (Auto-Sacliing) Rules

Rule-based mechanism

- 기준 매트릭을 설정하고 서비스의 사용량, 리소스의 사용량이 늘었는지 줄었는지 확인하여 자동으로 Scaling을 할 수 있다.

728x90
반응형