본문 바로가기

IT/Infra

왜 IaaS를 사용하는가?

안녕하세요. 잇킹 시도르입니다.

클라우드 시대가 되면서 IaaS, PaaS, SaaS라는 용어를 많이 들으셨을 겁니다. 그중 IaaS가 어떤 특징과 장점을 가지는지 알아보려고 합니다.

현재 제가 속한 프로젝트의 환경은 PaaS입니다. AWS에서 제공하는 S3, RDS 등 스토리지와 DB 등의 환경으로 사용하고 있죠. 그런데 이런 환경을 제공함에도 회사에서 보니 IaaS 환경도 많아서 궁금하더라고요. 실제 제가 보고 있는 클라우드 관련 책에서도 IaaS에 대한 소개가 많은 비중을 주고 있었습니다. 그래서 IaaS에 대한 특징과 장점에 대해서 알아보기로 했습니다.

 

IaaS(Infrastruncture as a Service)는 서버, 네트워크, 스토리지 등의 IT 인프라에 필요한 구성 요소를 서비스 형태로 제공합니다. 즉, IaaS 형태의 클라우드에서는 가상화된 환경에서 서버, 네트워크, 스토리지와 같은 인프라 3대 요소를 자유롭게 조합해서 자신만의 서비스 인프라를 만들 수 있기 때문에 SaaS나 PaaS보다 더 높은 자유도를 가집니다. AWS를 예로 들면 RDS를 굳이 사용할 필요 없이 DB 서버는 클라우드가 아니라 자체적으로 가져가고, 서버 간의 Interface를 Glue가 아닌 다른 언어를 사용해서 할 수도 있는 거죠. 물론 저는 높은 자유도가 장점이라고 생각하지는 않고 있습니다만 환경에 따라서 이런 IaaS가 더 편하다고 생각할 수도 있으니깐요. 그래서 IaaS와 PaaS의 선택 여부는 내가 클라우드에서 제공하는 개발 서비스에 익숙하냐 아니냐로 나뉜다고 봅니다.

 

그럼 IaaS가 기존 인프라에 비해 가지는 몇가지 특징에 대해서 보겠습니다.

 

과금 체계

사용한 만큼 과금하는 종량 과금제입니다. 따라서 접속자 수가 증가하는 기간일 때 서버를 늘리고 기간이 끝나면 다시 서버를 줄여서 요금을 효율적으로 쓸 수 있습니다. 이 점은 짧은 시간 동안 서버를 사용할 때에는 분명히 편리한 장점입니다. 하지만 월 사용량으로 얼마를 지불하게 될지 예측이 어렵다는 문제를 가집니다. 따라서 주의가 필요한 사항이기도 합니다.

 

 

서버 생성 속도

서버 생성 속도가 빠릅니다. 온프레미스에서 물리 서버 하나 추가하는데도 꽤 긴 시간이 걸리던걸 생각해보면 정말 편하죠. 클릭 한번 하고 조금 기다리면 바로 생성되니깐요. 그래서 접속자 수에 맞춰서 유연하게 대응할 수 있습니다. 중요한 건 서버 1개가 아니라 여러 대의 서버도 빠르게 추가할 수 있다는 의미가 됩니다. 이렇게 추가한 여러 대의 서버를 연결해서 거대한 시스템을 만들 수가 있습니다. 즉, 서버 수를 늘려 시스템 전체의 성능을 높이는 스케일 아웃이 매우 용이하다는 장점을 가지게 됩니다. 

 

 

서버 생성 자유도

용도 맞춰서 메모리나 CPU, 디스크 등의 서버 스펙을 자유롭게 선택할 수 있습니다. 물론 고스펙일 수록 비용은 많이 나오겠죠. 그리고 변경이 자유롭기 때문에 서버 스펙이 부족한다고 판단되면 스펙을 올리는 스케일업이나 다시 다운시키는 스케일 다운이 자유롭다는 장점도 가집니다. 

 

 

오토 스케일링과 로드밸런서

상황 하나를 가정하겠습니다. 내가 인지하지 못할 때 내 서버에 접속자 수가 급격히 늘어나면 어떡해야 할까요? 아무리 생성 속도가 빠른 IaaS이지만 내가 직접 늘려야만 한다면 이런 상황에 대비가 어려울 겁니다. 이럴 때 자동으로 스케일 아웃하는 기능이 오토 스케일링입니다.

그리고 서버 수가 늘어 났을 때 각 서버들에게 트래픽을 분산시켜 주는 것이 로드 밸런서입니다. AWS의 Elastic Load Balancing이 대표적인 예입니다. 

 

 

저는  IaaS의 가장 큰 장점은 스케일 아웃, 스케일 업, 스케일 인, 스케일 다운이 빠르고 편하다는 것이라고 봅니다.

처음 개발 단계에서는 적은 스펙의 서버로 시작해서 점차 스펙을 늘려가고, 과하게 측정했을 때에는 다시 낮추는 거죠. 그리고 판단에 따라서 스케일 아웃이 필요하다고 판단되면 서버를 늘리면 되는 거고요. 온프레미스 프로젝트에서 처음에 서버 스펙에서 얼마나 많은 고민을 하는지 생각해보면 됩니다. 그 공수를 줄여주는 거죠

 

운영하다가 필요할 때는 같은 환경의 서버를 임시 생성해서 테스트 목적으로 사용해도 되고, 접속자 수가 적다 생각하면 다시 줄이거나, 서버 스펙을 낮춰도 되는 거죠. 물론 가장 중요 이슈는 언제나 비용입니다~...

 

이걸로 왜 IaaS를 사용하는지에 대한 글을 마치겠습니다.

이상입니다!!!!

 

 

 

'IT > Infra' 카테고리의 다른 글

[Cloud]네트워크 구성요소  (0) 2020.03.09
[Cloud]테넌트, 리전, 가용 영역  (0) 2020.03.04
웹 서비스의 인프라 구성  (0) 2020.02.15
프로토콜과 포트, DNS  (0) 2020.02.14
IP 표기 보고 사용가능한 IP 수 알아내기  (0) 2020.02.01