2017.04.05

차세대 클라우드 인프라 서버리스 컴퓨팅의 현황과 전망

Brandon Butler | Network World

서버리스 컴퓨팅(Serverless Computing)에 관해 이야기하기에 앞서 짚고 넘어가야 할 부분이 있다. ‘서버리스'라는 표현이 엄밀하게 말해 꽤 부적절한 어휘라는 점이다.

서버리스 컴퓨팅은 대략 2년 전부터 클라우드 컴퓨팅 시장에서 주목 받아온 개념으로, 그 명칭과는 달리 분명히 그 구동 기반을 서버에 두고 있다. 여기에서 ‘서버리스’라는 표현은 최종 사용자의 입장에서 자신들의 코드를 구동하는 서버 관리의 필요성이 없어지는 것을 의미한다.

개념적으로는 그리 낯설지 않은 설명이다. 기술적으로, 퍼블릭 클라우드 서비스(IaaS, Infrastructure as a Service) 내부의 최종 사용자들 역시 물리적인 차원에선 서버 관리에 관여하지 않는다. 아마존 웹 서비스(AWS)나 마이크로소프트 애저(Azure) 서비스의 핵심이 바로 이것이다.

반면 이른바 서버리스 컴퓨팅은 여기에서 한 발 더 나아가 개발자들이 작성한 코드의 실행을 거기에 필요한 정확한 양의 컴퓨트 자원만으로 처리함으로써 운영 자원을 효율화한다. 해당 코드를 개시하는 사전 정의 이벤트가 발생하면, 서버리스 플랫폼은 작업을 실행한다. 이 과정에서 최종 사용자가 서버 공급자에게 몇 회의 이벤트, 함수가 실행될 것인지를 통보하는 별도의 과정은 필요하지 않으며, 비용 지불은 함수가 실행된 횟수에 따라 청구될 뿐이다. 이런 구조 때문에 일부에서는 서버리스 컴퓨팅이라는 표현 대신 함수 서비스(FaaS, Functions as a Service), 이벤트 주도형 컴퓨팅(event-driven computing) 등의 용어로 이를 지칭할 것을 주장하기도 한다.

IBM의 서버리스 컴퓨팅 솔루션인 오픈휘스크(OpenWhisk)를 담당하는 클라우드 제품 관리 담당 부사장 다미온 헤레디아는 “오픈휘스크는 개발자들이 교류할 수 있는 추상화의 층위를 인프라의 측면에서부터 변화시킬 수 있다는 아이디어에서 출발했다. 어떤 워크로드의 경우에는, 사용자가 물리적 환경이나 가상머신, 컨테이너 따위의 관리는 잊어버리고, 서버의 관리나 인프라에 관한 걱정 없이 자신들의 코드를 실행할 수 있을 것이라 생각했고, 우리가 그런 환경을 지원할 수 있길 원했다. 이것이 서버리스의 핵심이다”라고 설명했다.

IT 업계의 애널리스트부터 지지자들, 비평가들은 이 기술이 우리에게 어떤 영향을 미칠지를 두고 뜨거운 논쟁을 벌이고 있다. 일종의 진화나 혁명으로 볼 수 있을까? 서버리스 컴퓨팅이 앞으로 이것을 어플리케이션 구동의 표준으로 확산될까? 아니면 일부 사용례에 한정된 방식 정도로 자리잡게 될까? 이제 막 개념이 등장한 시장 상황 속에서 이런 질문들에 답을 내리기란 어려운 일이다. 한가지 확실한 점이라면 이 기술과 관련한 열기와 관심, 그리고 이것의 잠재력을 그저 외면할 수 없다는 것이다.

서버리스 컴퓨팅의 가치
아마존 웹 서비스는 2014년 람다(Lambda)라는 서버리스 컴퓨팅 상품을 선보이며 시장 흐름을 주도했다. AWS 전략 부문 총괄 책임자인 매트 우드는 람다가 자사 최대의 상품 가운데 하나인 S3(Simple Storage Service)로부터 아이디어를 얻어 개발된 것이라고 그 탄생 배경을 설명한 바 있다.

클라우드 구루 블로그(A Cloud Guru Blog)의 운영자 샘 크루넌버그는 S3와 람다 간의 관련성이 중요한 의미를 지닌다고 지적하며, “S3는 스토리지용 오브젝트를 취급한다. 사용자가 오브젝트를 제공하면 S3가 이를 저장하는 식이다. 사용자의 입장에선 어떻게 그것이 처리되고, 어떤 곳에 저장되는지의 문제는 신경 쓸 필요가 없는 방식이다. 드라이브나 디스크 공간 같은 요소들도 전부 추상화돼 사용자가 신경 쓸 필요가 없어진다. S3 스토리지 용량이 과도한지, 부족한지의 여부 또한 생각하지 않아도 되며, 그저 원하는 만큼 이용하면 된다”라고 설명했다.

우드는 AWS가 이런 철학을 컴퓨팅에까지 적용하길 원한다고 분석하며, “람다는 함수를 다루는 솔루션이다. 사용자가 함수 코드를 제공하면, 람다는 이를 온디맨드 방식으로 실행하며, 람다 내 실행 용적 설정에 관해서는 사용자가 전혀 신경 쓸 필요가 없다”라고 설명했다.

전통적인 IaaS 클라우드 환경에서는 가상머신에서 스토리지, 데이터베이스, 그리고 이와 관련한 모든 보안, 관리 툴의 설정 부담이 고객에게 전가된다. 이들 가상머신에 애플리케이션을 로드하고 로드 밸런서 등의 툴을 활용해 확장하는 작업, 관리 소프트웨어를 활용해 인스턴스 규모를 최적화하고 실수로 남겨진 가상머신을 머신을 확인하는 작업이 모두 사용자의 몫이었다. 하지만 람다를 비롯한 여타 FaaS 플랫폼들은 새로운 접근법으로 사용자의 편의성을 높였다. 이들 모델에서 코드는 함수로 작성되고, 해당 함수를 개시하는 이벤트가 발생하면 람다는 이 코드를 실행한다. 그밖에 용량 계획이나 로드 밸런싱은 요구되지 않으며, 그저 작업을 실행할 뿐이다.

AWS의 우드는 이런 모델이 다양한 사용례에서 보다 효과적인 방식이라 소개한다. 예를 들어, 람다 함수 작성을 통해 S3에 새로운 사진이 업로드되면, 자동으로 데스크톱, 모바일, 태블릿 환경에 최적화된 크기로 복제해주는 기능이나, 데이터베이스에 업로드되는 각 엔트리에 대해 아마존 레드시프트(RedShift) 등의 데이터 웨어하우스로의 데이터 로드를 진행해 향후의 분석에 활용하는 등의 작업이 가능할 것이다. 우드는 “많은 고객들이 람다를 AWS 서비스들과 ‘결합’해 리포팅, 스케줄링, 데이터 변환 등 분석을 위한 사전 작업에 이용하고 있다”라고 설명했다.

우드는 람다의 또 다른 주요 용례로 사물 인터넷(IoT, Internet of Things)와 관련된 내용을 언급했다. IoT 분야는 대규모의 실시간 응답이 요구되는 영역으로, AWS는 이와 관련해 최근 자사 그린그래스(Greengrass) 플랫폼을 통한 사물 인터넷 기기 내 람다 함수 구동 기능을 선보인 바 있다. 이 기능을 통해 기기들은 클라우드 데이터센터와의 통신이 제한되는 저연결 영역에서도 람다 함수 실행이 가능해진다. 서버리스 컴퓨팅 환경에는 종일을 유휴 상태로 보내는 가상머신 서버가 존재하지 않으며, 이벤트 주도형 코드는 기능 개시 상황에서만 구동된다. AWS의 고객사인 파이어아이(FireEye)는 기존 EC2 인스턴스를 람다로 교체해 VM 비용을 최대 80% 절감할 수 있었다고 소개했다.


2017.04.05

차세대 클라우드 인프라 서버리스 컴퓨팅의 현황과 전망

Brandon Butler | Network World

서버리스 컴퓨팅(Serverless Computing)에 관해 이야기하기에 앞서 짚고 넘어가야 할 부분이 있다. ‘서버리스'라는 표현이 엄밀하게 말해 꽤 부적절한 어휘라는 점이다.

서버리스 컴퓨팅은 대략 2년 전부터 클라우드 컴퓨팅 시장에서 주목 받아온 개념으로, 그 명칭과는 달리 분명히 그 구동 기반을 서버에 두고 있다. 여기에서 ‘서버리스’라는 표현은 최종 사용자의 입장에서 자신들의 코드를 구동하는 서버 관리의 필요성이 없어지는 것을 의미한다.

개념적으로는 그리 낯설지 않은 설명이다. 기술적으로, 퍼블릭 클라우드 서비스(IaaS, Infrastructure as a Service) 내부의 최종 사용자들 역시 물리적인 차원에선 서버 관리에 관여하지 않는다. 아마존 웹 서비스(AWS)나 마이크로소프트 애저(Azure) 서비스의 핵심이 바로 이것이다.

반면 이른바 서버리스 컴퓨팅은 여기에서 한 발 더 나아가 개발자들이 작성한 코드의 실행을 거기에 필요한 정확한 양의 컴퓨트 자원만으로 처리함으로써 운영 자원을 효율화한다. 해당 코드를 개시하는 사전 정의 이벤트가 발생하면, 서버리스 플랫폼은 작업을 실행한다. 이 과정에서 최종 사용자가 서버 공급자에게 몇 회의 이벤트, 함수가 실행될 것인지를 통보하는 별도의 과정은 필요하지 않으며, 비용 지불은 함수가 실행된 횟수에 따라 청구될 뿐이다. 이런 구조 때문에 일부에서는 서버리스 컴퓨팅이라는 표현 대신 함수 서비스(FaaS, Functions as a Service), 이벤트 주도형 컴퓨팅(event-driven computing) 등의 용어로 이를 지칭할 것을 주장하기도 한다.

IBM의 서버리스 컴퓨팅 솔루션인 오픈휘스크(OpenWhisk)를 담당하는 클라우드 제품 관리 담당 부사장 다미온 헤레디아는 “오픈휘스크는 개발자들이 교류할 수 있는 추상화의 층위를 인프라의 측면에서부터 변화시킬 수 있다는 아이디어에서 출발했다. 어떤 워크로드의 경우에는, 사용자가 물리적 환경이나 가상머신, 컨테이너 따위의 관리는 잊어버리고, 서버의 관리나 인프라에 관한 걱정 없이 자신들의 코드를 실행할 수 있을 것이라 생각했고, 우리가 그런 환경을 지원할 수 있길 원했다. 이것이 서버리스의 핵심이다”라고 설명했다.

IT 업계의 애널리스트부터 지지자들, 비평가들은 이 기술이 우리에게 어떤 영향을 미칠지를 두고 뜨거운 논쟁을 벌이고 있다. 일종의 진화나 혁명으로 볼 수 있을까? 서버리스 컴퓨팅이 앞으로 이것을 어플리케이션 구동의 표준으로 확산될까? 아니면 일부 사용례에 한정된 방식 정도로 자리잡게 될까? 이제 막 개념이 등장한 시장 상황 속에서 이런 질문들에 답을 내리기란 어려운 일이다. 한가지 확실한 점이라면 이 기술과 관련한 열기와 관심, 그리고 이것의 잠재력을 그저 외면할 수 없다는 것이다.

서버리스 컴퓨팅의 가치
아마존 웹 서비스는 2014년 람다(Lambda)라는 서버리스 컴퓨팅 상품을 선보이며 시장 흐름을 주도했다. AWS 전략 부문 총괄 책임자인 매트 우드는 람다가 자사 최대의 상품 가운데 하나인 S3(Simple Storage Service)로부터 아이디어를 얻어 개발된 것이라고 그 탄생 배경을 설명한 바 있다.

클라우드 구루 블로그(A Cloud Guru Blog)의 운영자 샘 크루넌버그는 S3와 람다 간의 관련성이 중요한 의미를 지닌다고 지적하며, “S3는 스토리지용 오브젝트를 취급한다. 사용자가 오브젝트를 제공하면 S3가 이를 저장하는 식이다. 사용자의 입장에선 어떻게 그것이 처리되고, 어떤 곳에 저장되는지의 문제는 신경 쓸 필요가 없는 방식이다. 드라이브나 디스크 공간 같은 요소들도 전부 추상화돼 사용자가 신경 쓸 필요가 없어진다. S3 스토리지 용량이 과도한지, 부족한지의 여부 또한 생각하지 않아도 되며, 그저 원하는 만큼 이용하면 된다”라고 설명했다.

우드는 AWS가 이런 철학을 컴퓨팅에까지 적용하길 원한다고 분석하며, “람다는 함수를 다루는 솔루션이다. 사용자가 함수 코드를 제공하면, 람다는 이를 온디맨드 방식으로 실행하며, 람다 내 실행 용적 설정에 관해서는 사용자가 전혀 신경 쓸 필요가 없다”라고 설명했다.

전통적인 IaaS 클라우드 환경에서는 가상머신에서 스토리지, 데이터베이스, 그리고 이와 관련한 모든 보안, 관리 툴의 설정 부담이 고객에게 전가된다. 이들 가상머신에 애플리케이션을 로드하고 로드 밸런서 등의 툴을 활용해 확장하는 작업, 관리 소프트웨어를 활용해 인스턴스 규모를 최적화하고 실수로 남겨진 가상머신을 머신을 확인하는 작업이 모두 사용자의 몫이었다. 하지만 람다를 비롯한 여타 FaaS 플랫폼들은 새로운 접근법으로 사용자의 편의성을 높였다. 이들 모델에서 코드는 함수로 작성되고, 해당 함수를 개시하는 이벤트가 발생하면 람다는 이 코드를 실행한다. 그밖에 용량 계획이나 로드 밸런싱은 요구되지 않으며, 그저 작업을 실행할 뿐이다.

AWS의 우드는 이런 모델이 다양한 사용례에서 보다 효과적인 방식이라 소개한다. 예를 들어, 람다 함수 작성을 통해 S3에 새로운 사진이 업로드되면, 자동으로 데스크톱, 모바일, 태블릿 환경에 최적화된 크기로 복제해주는 기능이나, 데이터베이스에 업로드되는 각 엔트리에 대해 아마존 레드시프트(RedShift) 등의 데이터 웨어하우스로의 데이터 로드를 진행해 향후의 분석에 활용하는 등의 작업이 가능할 것이다. 우드는 “많은 고객들이 람다를 AWS 서비스들과 ‘결합’해 리포팅, 스케줄링, 데이터 변환 등 분석을 위한 사전 작업에 이용하고 있다”라고 설명했다.

우드는 람다의 또 다른 주요 용례로 사물 인터넷(IoT, Internet of Things)와 관련된 내용을 언급했다. IoT 분야는 대규모의 실시간 응답이 요구되는 영역으로, AWS는 이와 관련해 최근 자사 그린그래스(Greengrass) 플랫폼을 통한 사물 인터넷 기기 내 람다 함수 구동 기능을 선보인 바 있다. 이 기능을 통해 기기들은 클라우드 데이터센터와의 통신이 제한되는 저연결 영역에서도 람다 함수 실행이 가능해진다. 서버리스 컴퓨팅 환경에는 종일을 유휴 상태로 보내는 가상머신 서버가 존재하지 않으며, 이벤트 주도형 코드는 기능 개시 상황에서만 구동된다. AWS의 고객사인 파이어아이(FireEye)는 기존 EC2 인스턴스를 람다로 교체해 VM 비용을 최대 80% 절감할 수 있었다고 소개했다.


X