IaaS(Infrastructure-as-a-Service)란?
IaaS 구성요소, 장점과 가격, 그리고 IaaS와 PaaS, SaaS, BMaaS, 컨테이너, 서버리스의 관계에 대해 알아봅니다.
검은색과 파란색 배경
IaaS(Infrastructure-as-a-Service)란?

보통 "IaaS"라는 약어로 알려진 Infrastructure-as-a-Service(서비스형 인프라)는 클라우드 컴퓨팅의 한 형태입니다. 기본적인 컴퓨팅, 네트워크, 스토리지 리소스를 온디맨드 방식으로, 인터넷을 통해, 그리고 사용량 기준 지불 방식(pay-as-you-go)으로 사용자에게 제공됩니다. IaaS에서는 사용자가 필요에 따라 리소스를 확장하고 축소하는 것이 가능합니다. 그렇기 때문에 초기에 막대한 자본을 지출하거나 불필요하게 인프라를 "소유"할 필요성이 줄어듭니다. 특히 "변동이 큰" 워크로드의 경우에는 더욱 그렇습니다. IaaS는 PaaS 및 SaaS에 비해 (컨테이너, 서버리스 등과 같은 최신 컴퓨팅 모델과 비교해서도) 클라우드의 리소스에 대한 제어 수준이 가장 낮습니다.

IaaS는 2010년대 초에 인기 있는 컴퓨팅 모델로 각광받았으며, 그 이후 다양한 워크로드 유형에서 표준 추상화 모델이 되었습니다. 그러나 컨테이너, 서버리스 등과 같은 새로운 기술이 등장하고 그와 관련하여 마이크로서비스 애플리케이션 패턴이 부상하는 가운데, IaaS는 여전히 기본적인 역할을 하지만 그 어느 때보다도 경쟁이 많은 분야입니다.

다음 동영상에서 Bradley Knapp이 IaaS의 기본에 대해 설명합니다.

IaaS 솔루션 살펴보기
IaaS 플랫폼과 아키텍처

IaaS는 물리적 리소스와 가상 리소스의 콜렉션으로 구성되며, 소비자가 클라우드에서 애플리케이션과 워크로드를 실행하는 데 필요한 기본 구성요소를 제공합니다.

물리적 데이터 센터. IaaS 제공업체는 주로 전세계에서 대규모 데이터 센터를 운용합니다. 여기에 물리적 시스템도 포함되는데, 이는 그 상위에 다양한 추상화 계층을 두고 사용자가 웹을 통해 이용할 수 있게 합니다. 대부분 IaaS 모델에서는 사용자가 물리적 인프라와 직접 상호 작용하지 않습니다. 그 대신 서비스의 형태로 제공됩니다.

컴퓨팅. IaaS는 주로 가상화된 컴퓨팅 리소스로 간주됩니다. 따라서 여기서는 IaaS 컴퓨팅을 가상 머신으로 정의합니다. 제공업체가 하이퍼바이저를 관리합니다. 그러면 사용자는 프로그래밍 방식으로 가상 "인스턴스"를 프로비저닝하면서 원하는 수준의 컴퓨팅 및 메모리(경우에 따라서는 스토리지) 용량을 확보할 수 있습니다. 대부분 제공업체는 다양한 워크로드 유형에 따라 CPU 및 GPU를 모두 제공합니다. 일반적으로 클라우드 컴퓨팅에는 자동 확장, 로드 밸런싱과 같은 지원 서비스도 함께 제공됩니다. 이러한 서비스를 통해 우선 클라우드를 원하는 수준으로 만드는 확장성과 성능의 특성을 제공합니다.

네트워크. 클라우드의 네트워킹은 소프트웨어 정의 네트워킹의 형태로 이루어지는데, 라우터 및 스위치와 같은 기존 네트워킹 하드웨어가 대개 API를 통해 프로그래밍 방식으로 제공됩니다. 고급 네트워킹 사용 사례에는 멀티존 지역과 가상 프라이빗 클라우드가 구축되어야 하며, 이에 대해서는 나중에 자세히 알아보겠습니다.

스토리지. 클라우드 스토리지의 3가지 기본 유형에는 블록 스토리지, 파일 스토리지오브젝트 스토리지가 있습니다. 블록 스토리지와 파일 스토리지는 기존 데이터 센터에서 흔히 볼 수 있으나, 클라우드의 규모, 성능, 분산형 특성과는 잘 맞지 않는 경우가 많습니다. 따라서 이 3가지 유형 중에서 오브젝트 스토리지가 클라우드에서 가장 많이 쓰이는 스토리지 모드로 자리잡았습니다. 고도로 분산화되었고(그에 따라 복원력도 우수), 범용 하드웨어를 활용하며, HTTP를 통해 데이터 액세스가 용이하고, 확장성이 사실상 무한할 뿐만 아니라 성능 역시 클러스터 확장과 함께 선형으로 확장하기 때문입니다.  

 

 

 

IaaS와 BMaaS(bare metal as a service) 비교

BMaaS는 일반 IaaS보다도 제어 레벨이 훨씬 더 낮습니다. BMaaS 환경에서도 리소스는 온디맨드 방식으로 프로비저닝되고, 인터넷을 통해 제공되며, 사용량 기준 지불 방식(일반적으로 월 또는 시간 단위 증분)으로 과금됩니다.

일반 IaaS와 달리 BMaaS는 사용자에게 이미 가상화된 컴퓨팅, 네트워킹, 스토리지를 제공하지 않습니다. 그 대신 기반 하드웨어에 직접 액세스할 수 있게 합니다. 이러한 액세스 수준에서는 사용자가 하드웨어 사양을 거의 전적으로 제어할 수 있게 됩니다. 하드웨어가 가상화되지 않았고 여러 개의 가상 머신을 지원하지도 않기 때문에 사용자는 최고 수준의 잠재적 성능을 누릴 수도 있습니다. 따라서 HPC, GPU 컴퓨팅, 고성능 데이터베이스, 분석 워크로드 등과 같은 사용 사례에서 특히 유용합니다.

기존 데이터 센터 운영 방식에 익숙한 사용자라면, BMaaS 환경이 가장 친숙하게 느껴질 것입니다. 그리고 기존 워크로드의 아키텍처 패턴과도 가장 잘 맞을 수 있습니다.

그러나 이러한 장점이 있는 동시에 일반 IaaS의 이점, 즉 간단히 인스턴스의 복사본을 만들어 로드 밸런싱하는 방식으로 빠르게 리소스를 프로비저닝하고 수평 확장할 수 있다는 점이 상쇄될 수도 있습니다.

BMaaS와 IaaS를 비교할 때 어느 한 모델이 다른 모델보다 우위에 있는 것은 아닙니다. 어떤 모델이 해당 사용 사례 또는 워크로드를 가장 효과적으로 지원하는지가 관건입니다.

데이터 센터, 가용성 영역, 지역

오늘날 대부분 클라우드 제공업체는 리소스의 가용성 및 복원력을 향상하고자 워크로드를 물리적/가상 인프라 및 지역에 매핑하는 방식을 계층화합니다.

예를 들어, IBM Cloud는 가용성 영역(availability zone)과 지역(region)을 가지고 있습니다. 이 두 용어를 정의하면 다음과 같습니다.

  • IBM Cloud Region: 지역은 하나 이상의 가용성 영역으로 이루어진 그룹이며, 지리적으로 그리고 물리적으로 분리되어 있습니다. 따라서 다른 지역과 겹치지 않는, 독립적인 전기/네트워크 인프라를 갖추고 있습니다. 지역은 다른 지역과 단일 장애 지점(SPOF)을 공유하지 않도록 설계되었습니다. 그리고 해당 지역 내에서 영역 간(inter-zone) 대기 시간이 짧습니다.

  • IBM Cloud Availability Zone: 가용성 영역이란 IBM Cloud Region 내에서 논리적으로, 물리적으로 분리된 위치입니다. 다른 영역과 겹치지 않는, 독립적인 전원, 냉각, 네트워킹 인프라를 갖추고 있습니다. 이렇게 다른 영역과 단일 장애 지점을 공유하지 않게 하여 내장애성을 강화할 뿐만 아니라 고대역폭을 보장하고 지역 내 영역 간 대기 시간을 단축합니다.

IBM Cloud 블로그에서 지역과 영역에 관해 자세히 알아보세요.

가상 프라이빗 클라우드와 IaaS

많은 사용자가, 특히 중요 데이터나 엄격한 지침준수 요건이 있는 기업일수록 퍼블릭 클라우드 내에서 추가적인 보안 및 개인정보 보호정책이 있기를 기대합니다. 가상 프라이빗 클라우드(VPC)가 속도, 확장성, 기능의 손실 없이 클라우드 인프라 리소스를 더 확실히 분리하는 방법이 될 수 있습니다.

VPC에서는 사용자가 퍼블릭 클라우드 내에서 단일 테넌트를 위한 전용 네트워크를 구축할 수 있습니다. 그러면 사용자는 서브넷 생성, IP 주소 범위 선택, 가상 방화벽, 보안 그룹, 네트워크 ACL, 사이트 간 가상 전용 네트워크(VPN), 로드 밸런싱을 제어할 수 있게 됩니다.

다음 동영상에서 Ryan Sumner가 VPC에 대해 좀 더 자세히 설명합니다.

IaaS 가격 책정

일반적으로 IaaS는 사용 기준 가격 책정 방식입니다. 즉, 실제 사용량으로만 청구합니다. 클라우드 인프라의 가격 결정 모델은 차츰 여러 단계로 세분화되기 시작했습니다.

  • 구독 및 예약 인스턴스: 많은 제공업체가 장기 계약, 보통 1년~3년 계약을 체결하려는 고객에게 정가 기준 할인을 적용합니다.

  • 월 단위 과금: 월 단위 과금 모델은 BMaaS 시장에서 가장 많이 쓰입니다. 이 시장에서는 대개 물리적 인프라에서 변동폭이 크지 않은 안정적인 워크로드의 특성을 보여주기 때문입니다.

  • 시간/초 기준: 일반 클라우드 인프라에서 가장 많이 쓰이는 단위이며, 사용자는 오로지 실제 사용량에 따라 요금이 부과됩니다.

  • 임시/스팟: 임시/스팟 인스턴스의 형태로 미사용 용량을 저렴하게 제공하는 곳도 있습니다. 이 인스턴스의 용량이 필요할 때는 인스턴스를 재확보(reclaim)하면 됩니다.
IaaS의 장점

종합적으로 보면, 클라우드 인프라를 적합한 선택으로 고려할 만한 여러 가지 이유가 있습니다.

  • 사용랑 기준 지불: IaaS는 기존 IT와 달리 초기에 자본 투자가 필요하지 않습니다. 사용자는 실제 사용량에 대해서만 지불합니다.

  • 속도: IaaS에서는 사용자가 작은 용량 또는 대용량 리소스를 분 단위로 프로비저닝하면서 새로운 아이디어를 신속하게 테스트하거나 검증된 아이디어를 훨씬 더 빨리 확장해보는 것이 가능합니다.

  • 가용성: 멀티존 영역 등을 통해 클라우드 애플리케이션의 가용성 및 복원력을 기존 접근 방식을 능가하는 수준으로 강화할 수 있습니다.

  • 확장성: 용량이 거의 무제한적이고, 리소스를 자동으로 또는 어느 정도 관리 감독하면서 확장하는 것이 가능합니다. 따라서 어떤 애플리케이션/워크로드의 인스턴스를 1개에서 여러 개로 간단히 늘릴 수 있습니다.

  • 대기 시간과 성능: 대부분 IaaS 제공업체가 광범위한 지리적 거점을 두고 있으므로, 사용자와 가까운 곳에서 애플리케이션과 서비스를 실행하기 용이합니다. 그러면 대기 시간이 짧아지고 성능이 향상됩니다.
IaaS 사용 사례

IaaS는 보편적 용도의 컴퓨팅 리소스이므로 모든 유형의 사용 사례를 지원할 수 있습니다. 오늘날 IaaS는 개발 및 테스트 환경, 고객 응대 웹사이트 및 웹 애플리케이션, 데이터 저장/분석/데이터 웨어하우징 워크로드, 그리고 특히 온프레미스 워크로드를 위한 백업 및 복구에 가장 많이 쓰입니다. IaaS는 SAP와 같은 대표적인 비즈니스 소프트웨어 및 애플리케이션을 배치하고 실행하는 데에도 적합합니다.

그리고 (나중에 자세히 살펴보겠지만) IaaS에서 정말 다양한 워크로드를 지원할 수 있으나, 마이크로서비스와 같이 특정 유형의 워크로드/애플리케이션 아키텍처를 더 효과적으로 지원할 수 있는 새로운 컴퓨팅 모델도 등장하기 시작했습니다.

IaaS, PaaS 및 SaaS 비교

IaaS, PaaS, SaaS와 같이 느슨하게 구분되는 -aaS 카테고리를 구별하는 가장 쉽고 일반적인 방법은 스택의 어떤 요소를 벤더가 관리하는지, 그리고 어떤 요소는 사용자가 관리하는지를 파악하는 것입니다.

기존 IT 환경에서는 사용자가 스택의 전체를, 즉 서버 및 네트워킹을 위한 물리적 하드웨어부터 가상화, 운영 체제, 미들웨어 등까지 모두 관리합니다.

IaaS, PaaS, SaaS로 갈수록 점진적으로 추상화 계층이 확대됩니다. IaaS는 물리적 컴퓨팅, 네트워크, 스토리지, 그리고 이러한 리소스를 가상화하는 데 필요한 기술을 추상화합니다. PaaS는 여기서 더 나아가 운영 체제, 미들웨어, 런타임의 관리를 추상화합니다. 서버리스 컴퓨팅(아래 참조)은 애플리케이션 코드 자체를 제외하고 모든 것의 관리를 추상화합니다. SaaS는 최종 사용자 애플리케이션 전체를 aaS 형태로 제공하면서 스택 전체를 추상화합니다.

IaaS, PaaS, SaaS의 차이점을 더 자세히 알아보세요.

IaaS, 컨테이너 및 서버리스 비교

최근에는 컨테이너와 서버리스가 클라우드 워크로드에 관한 논의의 중심이 되고 있습니다. 여러모로 IaaS는 클라우드의 비전을 향한 여정에서 진일보한 단계였습니다.

IaaS에서는 사용자가 훨씬 더 세부적인 수준에서 사용량에 따라 지불하는 것이 가능해졌지만, 전적으로 사용량만 기준으로 삼아 지불하는 경우는 드뭅니다. 대개 가상 서버도 장기간 실행되는 프로세스가 있으며 모든 용량이 완전하게 활용되지는 않습니다.

IaaS는 여러 하위 레벨 구성요소를 추상화하므로, 개발자는 비즈니스 차별화 요소가 될 비즈니스 로직에 집중할 수 있습니다. 하지만 여전히 최종 사용자가 운영 체제, 미들웨어, 런타임을 관리해야 합니다.

IaaS는 기존 컴퓨팅보다 리소스 효율성 및 경제적 효율성이 더 우수한 편이지만, VM을 생성하는 데에는 다소 시간이 걸리며 VM 각각에는 운영 체제의 형태로 오버헤드가 발생합니다.

이러한 IT 모델은 워크로드의 관점에서 보면 거의 무엇이든 지원할 수 있으나, 클라우드 본연의 원칙 및 가치와 관련하여 개선할 여지가 있었습니다.

컨테이너와 서버리스는 일반 IaaS 모델의 한계를 극복하는 새로운 클라우드 모델로서 특정 클라우드 네이티브 애플리케이션 및 워크로드 클래스에서 탁월한 가치를 제공합니다.

이미 컨테이너가 표준 프로세스/서비스 배치 단위로 VM를 대체하는 경우도 있습니다. 이를 위해 Kubernetes와 같은 오케스트레이션 툴을 사용하여 클러스터 에코시스템 전반을 관리합니다.

서버리스는 가장 발전된 모델로서 비즈니스 로직을 제외하고 거의 모든 것을 추상화합니다. 따라서 필요에 따라 완벽하게 확장할 수 있고, 오로지 사용량을 기준으로 지불하는 방식을 제대로 구현합니다.

마이크로서비스 아키텍처, 즉 애플리케이션이 더 작은 부분으로 나뉘어 독자적으로 배치되고 각자의 데이터를 관리하면서 API를 통해 통신하는 환경이 자리잡으면서 컨테이너 및 서버리스 모델이 더욱 보편화될 것입니다.

현재까지는 일반 IaaS가 클라우드에서 가장 성숙한 컴퓨팅 모델로서 이 분야에서 가장 큰 시장 점유율을 자랑하지만, 컨테이너와 서버리스는 적합한 시나리오에서 빠르게 도약할 수 있는 주목해야 할 기술입니다.

IaaS와 IBM Cloud

IBM은 풀스택 클라우드 플랫폼을 제공합니다. 여기에는 가상화된 컴퓨팅, 네트워크, 스토리지를 비롯한 IaaS 계층 전체가 포함됩니다. 게다가 업계에서 유일하게 IBM Cloud는 기반 하드웨어를 더 강력하게 제어하고 싶은 사용자를 위해 BMaaS도 제공합니다.

IBM은 클라우드 네이티브 애플리케이션 및 워크로드를 위한 솔루션 제공에도 주력하고 있습니다. 여기에는 IaaS뿐만 아니라 IBM Cloud Kubernetes Service, 그리고 서버리스 애플리케이션을 위한 IBM Cloud Functions도 포함됩니다.

클라우드 IaaS를 시작하고 싶다면, IBM Cloud 계정을 생성한 다음 첫 가상 서버를 프로비저닝하세요.

관련 솔루션
IBM Cloud Bare Metal Servers

전용 서버에서 최고의 성능과 안전한 단일 테넌시를 구현할 수 있습니다. 모든 서버 리소스에 대한 루트 레벨 액세스를 통해 더 손쉽게 워크로드를 맞춤화할 수 있습니다.

IBM Cloud Bare Metal Servers 살펴보기
Virtual Servers

IBM Cloud Virtual Servers는 공용 및 전용 가상 서버로서 필요에 따라 프로비저닝하고 확장할 수 있습니다. 월 및 시간 단위 과금 옵션이 제공됩니다.

Virtual Servers 살펴보기
클라우드 스토리지 서비스

클라우드 스토리지 서비스는 서로 연결된 데이터 서버의 네트워크로서 뛰어난 확장성, 내구성, 보안, 비용 효율성을 바탕으로 각종 디바이스에서 데이터에 대한 액세스를 지원합니다.

클라우드 스토리지 서비스 살펴보기
리소스 가상 머신이란?

가상 머신은 실제 컴퓨터의 가상 표현 또는 에뮬레이션입니다. 가상화를 통해 하나의 물리적 컴퓨터에서 여러 개의 가상 머신을 생성할 수 있습니다.

클라우드 스토리지란?

고객은 클라우드 스토리지를 통해 오프사이트 위치에 데이터 및 파일을 저장하고, 공용 인터넷이나 사설 전용 네트워크 연결을 통해 액세스할 수 있습니다.

소프트웨어 정의 네트워킹(SDN)이란?

SDN은 네트워크 제어 로직을 네트워크 디바이스에서 분리함으로써 네트워크 및 인프라 관리를 간소화합니다.

다음 단계

IBM Cloud의 IaaS 솔루션으로 전세계 60여 개 데이터 센터를 이용하여 필요에 따라 리소스를 확장하거나 축소할 수 있습니다. IBM Cloud 인프라 솔루션을 선택하면, 베어 메탈까지 포괄하는 컴퓨팅 스택 전체를 이용할 수 있게 됩니다. 인프라에 대한 더 강력한 주도권을 확보하고 정확한 사양에 따라 하드웨어를 맞춤 구성하면서 워크로드의 요구 사항을 완벽하게 해결할 수 있습니다.

IBM Cloud 인프라 솔루션 살펴보기