본문 바로가기
개발

[AWS] Scalability

by 마스터누누 2017. 5. 13.
728x90
반응형

Scalability




AWS를 사용해서 Scalability를 확보하는 방법에 대해 알아보자

이 과정을 통해 최종적으로, 

EC2 인스턴스를 이용해서 여러대의 컴퓨터를 병렬로 연결하는 ELB를 배울것이고

병렬로 연결되는 컴퓨터를 자동으로 생성하고 삭제하는 auto scaling 이라는 기능을 배울것이다.


먼저 EC2 의 특징을 알아보자

1) 가상화

2) 종량제

2개의 대표적인 특징을 가지고 있다.






먼저 가상화에 대해 알아보려면 가상 머신을 알아야한다.

여기서 이야기하는 머신은 컴퓨터를 뜻하고 가상은 현실이 아님을 말한다.

현실이 아니라는 것은, 물리적으로 형체를 가진것이 아니라 소프트웨어로 구축된 컴퓨터라는 뜻이다.


컴퓨터를 쓴다고 하면 물리적 장치(노트북, 데스트탑에 들어가는 하드웨어)가 필요하다

그 컴퓨터를 사용하기 위해서는 운영체제를 깔아야한다.

이 운영체제가 하는 역할은 여러가지 응용 프로그램이 깔릴 때 물리적인 기계와 연동 시켜주는 것이다.

이러한 응용프로그램 중에 하나로 가상 머신을 깔아주는 것이다.

이 가상 머신의 특징은 자신이 CPU와 메모리를 가지고 있는 것처럼 행동하는 것이다.

이렇게 하는이유는 하나의 물리적 장치위에 여러가지 OS 를 설치할 수 있기 때문이다.


개인용 가상머신이라면 VM Ware, Virtual Box, Parallels 등이 있다

이런 가상 머신을 설치하는 이유는 자신의 OS에서 돌아가지 않는 프로그램을 사용하기 위해서 이다.






클라우드 컴퓨팅에서 가상 머신을 사용하는 이유는 무엇일까?

그것은 서비스를 회사나 대규모의 컴퓨팅 파워가 필요한 곳(엔터프라이즈)들에 제공하기 위해서이다.


예를 들어, 아마존 웹 서비스의 경우, 대규모의 사용 요청을 위해서

결국에는 물리적인 기계가 있어야한다.

이런 요청을 수행하기 위해서 엄청 많은 물리적 서버를 장만 해야한다. 

사용자는 2개의 케이스가 있다고 하는데, 규모가 작거나 대기업처럼 규모가 큰 것이다.


이때 클라우드 컴퓨팅의 장점이 발휘되는데, 규모가 작은 기업이나 개인이라면, 

필요에 따라 한 컴퓨터의 용량을 할당해서 매우 낮은 성능의 인스턴스를 만들 수 있다는 것이다.


만약 큰 회사이고 강력한 컴퓨팅 파워가 필요하다면,

CPU개수가 많고 메모리가 어마어마한 컴퓨터를 즉시 생성 할수있다는 것이다.

이는 컴퓨터의 병렬 연결로 1대의 컴퓨터 처럼 행동하는 환상을 만들어 주는것이다.


이것이 EC2 인스턴스가 하는 일이고,

Type을 선택한다면 위와같은 일이 일어나는 것이다.





클라우드 컴퓨팅은 사용자의 증감에 따라 유동적으로 가상화 머신이 변경되기 때문에

상당히 효율적인 모습을 보인다.

또한 이 모든 과정이 거의 자동화 되어있기 때문에 손 쉽게 서버를 구축할 수 있다는 것이다.

OS위에 응용프로그램으로써 가상화 머신이 설치되어있으므로 속도면에서 일반 컴퓨터보다 조금 떨어질수 있지만

쉽게 변화에 대응할 수 있으니 경제적으로나 시간적으로 상당히 많은 비용을 줄일수 있는 장점이 있다.


이렇게 얼마나 많은 요구를 받아들일수 있는지에 대한 내용을

Scalability라고 한다.




출처 : 생활코딩, 아마존 웹 서비스

반응형

댓글