2017.01.24

클라우드 컴퓨팅 진화의 다음 단계 “서버리스 컴퓨팅”

Angel Diaz | Network World
지금 업계가 서버리스(Serverless) 컴퓨팅으로 떠들썩하다. 전세계 곳곳에서 열리는 컨퍼런스, 동종 업계 관계자, 고객, 파트너들로부터 이런 '떠들썩함'을 확인하고 있다.

조직의 개발 및 혁신 노력에 큰 변화를 가져올 '서버리스 컴퓨팅'이라는 새 아키텍처에 대한 기대가 높다. 또 이런 기대가 꾸준히 높아지고 있는 추세이다.

서버리스 컴퓨팅의 개념
먼저 서버리스란 표현이 조금 잘못됐다는 점을 알아야 한다. 당연히 서버가 필요하다. 그러나 추상 계층이기 때문에 개발자가 운영과 관련된 문제를 걱정하지 않고, 창의적인 코드 개발에만 집중할 수 있다.

서버리스 아키텍처의 기반이 되는 개념을 이해하는 방법 중 하나는 기존 컴퓨팅, 네트워크, 스토리지 리소스의 상위에 위치한 3가지 계층, 즉 패브릭(Fabric), 프레임워크, 기능(Function)으로 보는 것이다.

1. 서버리스 패브릭은 개발자가 운영 측면의 기능이나 문제점을 걱정하지 않고, 자신이 가장 잘 하는 일, 즉 애플리케이션을 위한 코드 개발에 집중할 수 있도록 해준다.

2. 이벤트 기반의 프로그래밍 모델은 코드 생성을 위한 프레임워크를 제공한다. 이는 입출력이 많은 IoT 같은 애플리케이션에 적합하다. 프레임워크는 쓰여질 코드의 '인과(원인과 결과)'를 관리한다.

3. FaaS(Functions as a Service)는 애플리케이션 조합에 필요한 패키지, 패턴, 참조 아키텍처를 제공한다. 이는 적절한 대응을 가능하도록 하는 '결과(Effect)' 이면의 코드, 논리, 두뇌이다.

서버리스 컴퓨팅의 이점
이런 아키텍처 설명만으로도 서버리스 컴퓨팅이 제공하는 이점이 떠오를 것이다. 주요 장점을 정리하면 다음과 같다.

- 확장성 : 서버리스 환경에서는 코드를 호스팅한 플랫폼이 사용자 요구를 충족하기 위해 애플리케이션을 확장할 수 있다. 애플리케이션 사용자 수가 1만 명이든 1,000만 명이든 문제가 되지 않는다. 이는 사전 프로비저닝이나 오버 프로비저닝 문제를 줄여준다.

- 비용 측면의 이점 : 기존의 런타임 모델에는 지속적으로 실행되는 프로세스가 있고, 사용자는 이를 사용하지 않는 경우에도 요금을 내야 한다. 서버리스 환경은 배포된 인스턴스당 고정된 요금을 지불하지 않고, 인스턴스의 작동 시간에 대해 요금을 내기 때문에 더 경제적이다.

서버리스 컴퓨팅의 사용례 : 사물 인터넷
아직 서버리스가 초기 단계이기는 하지만, 데이터 처리와 사물 인터넷, 인지형 봇(Cognitive bot), 모바일 백엔드, REST API 분야에서의 이용이 증가하기 시작했다.

사물 인터넷을 예로 들어보자. IoT는 데이터를 '소화'하는 것은 물론, 이를 통해 더 나은 결과를 도출해야 한다. 이를 위해서는 새 기능이 도입될 때 애플리케이션이 망가지지 않도록, 애플리케이션을 유연하게 배포해야 한다. 이 경우 서버리스 컴퓨팅이 도움이 된다.

사용자에게 정기적으로 부품 상태를 업데이트해 알려주는 냉장고가 있다고 가정하자. 냉장고 정수 필터 수명이 20% 정도 남았을 때, 사용자의 스마트폰으로 새 필터 구입을 알리는 메시지를 보낼 수 있다고 생각하자.

이런 기능을 위해서는 신원(고객)과 보증(백오피스 시스템) 등 다양한 IoT 데이터를 '소화'해야 한다. 서버리스는 이를 더욱 손쉽게 통합 처리할 수 있다는 점에서 특히 유용하다.

백엔드로 보내지는 이벤트(정수 필터 수명 고갈)가 있다. 이 이벤트를 가져온 후, 서버리스 기능으로 검색을 한다. 보증서가 있는가? 필터가 보증 서비스 대상인가? 서버리스는 사용자의 백엔드가 이런 종류의 IoT 이벤트에 신속하게 대응할 수 있도록 해준다.

IoT 사용자 공간의 배출구는 기본적으로 우발적이다. 서버리스 환경은 이렇게 예측할 수 없는 로드를 처리하고, 이를 이용해 가치 창출을 견인하거나, 더 나은 고객 경험을 전달하는 다른 비즈니스 영역으로 연결해준다.

하지만 서버리스에 투자하기 전에 알아야 할 점이 있다. 이런 아키텍처에 적합하지 않은 워크로드도 있다는 점이다. 클라우드 네이티브 애플리케이션을 구현하는 또 다른 방법으로 서버리스 컴퓨팅을 고려하는 것이 좋다.

모든 신기술이 그렇지만, 일부는 신기술이 할 수 있는 일을 보기만 하고, 또 다른 일부는 이를 유리하게 활용한다. 하지만 서버리스 컴퓨팅이 부상하고 있으며, 클라우드 생태계에서 중요한 역할을 할 것이라는 점은 분명하다.  editor@itworld.co.kr


2017.01.24

클라우드 컴퓨팅 진화의 다음 단계 “서버리스 컴퓨팅”

Angel Diaz | Network World
지금 업계가 서버리스(Serverless) 컴퓨팅으로 떠들썩하다. 전세계 곳곳에서 열리는 컨퍼런스, 동종 업계 관계자, 고객, 파트너들로부터 이런 '떠들썩함'을 확인하고 있다.

조직의 개발 및 혁신 노력에 큰 변화를 가져올 '서버리스 컴퓨팅'이라는 새 아키텍처에 대한 기대가 높다. 또 이런 기대가 꾸준히 높아지고 있는 추세이다.

서버리스 컴퓨팅의 개념
먼저 서버리스란 표현이 조금 잘못됐다는 점을 알아야 한다. 당연히 서버가 필요하다. 그러나 추상 계층이기 때문에 개발자가 운영과 관련된 문제를 걱정하지 않고, 창의적인 코드 개발에만 집중할 수 있다.

서버리스 아키텍처의 기반이 되는 개념을 이해하는 방법 중 하나는 기존 컴퓨팅, 네트워크, 스토리지 리소스의 상위에 위치한 3가지 계층, 즉 패브릭(Fabric), 프레임워크, 기능(Function)으로 보는 것이다.

1. 서버리스 패브릭은 개발자가 운영 측면의 기능이나 문제점을 걱정하지 않고, 자신이 가장 잘 하는 일, 즉 애플리케이션을 위한 코드 개발에 집중할 수 있도록 해준다.

2. 이벤트 기반의 프로그래밍 모델은 코드 생성을 위한 프레임워크를 제공한다. 이는 입출력이 많은 IoT 같은 애플리케이션에 적합하다. 프레임워크는 쓰여질 코드의 '인과(원인과 결과)'를 관리한다.

3. FaaS(Functions as a Service)는 애플리케이션 조합에 필요한 패키지, 패턴, 참조 아키텍처를 제공한다. 이는 적절한 대응을 가능하도록 하는 '결과(Effect)' 이면의 코드, 논리, 두뇌이다.

서버리스 컴퓨팅의 이점
이런 아키텍처 설명만으로도 서버리스 컴퓨팅이 제공하는 이점이 떠오를 것이다. 주요 장점을 정리하면 다음과 같다.

- 확장성 : 서버리스 환경에서는 코드를 호스팅한 플랫폼이 사용자 요구를 충족하기 위해 애플리케이션을 확장할 수 있다. 애플리케이션 사용자 수가 1만 명이든 1,000만 명이든 문제가 되지 않는다. 이는 사전 프로비저닝이나 오버 프로비저닝 문제를 줄여준다.

- 비용 측면의 이점 : 기존의 런타임 모델에는 지속적으로 실행되는 프로세스가 있고, 사용자는 이를 사용하지 않는 경우에도 요금을 내야 한다. 서버리스 환경은 배포된 인스턴스당 고정된 요금을 지불하지 않고, 인스턴스의 작동 시간에 대해 요금을 내기 때문에 더 경제적이다.

서버리스 컴퓨팅의 사용례 : 사물 인터넷
아직 서버리스가 초기 단계이기는 하지만, 데이터 처리와 사물 인터넷, 인지형 봇(Cognitive bot), 모바일 백엔드, REST API 분야에서의 이용이 증가하기 시작했다.

사물 인터넷을 예로 들어보자. IoT는 데이터를 '소화'하는 것은 물론, 이를 통해 더 나은 결과를 도출해야 한다. 이를 위해서는 새 기능이 도입될 때 애플리케이션이 망가지지 않도록, 애플리케이션을 유연하게 배포해야 한다. 이 경우 서버리스 컴퓨팅이 도움이 된다.

사용자에게 정기적으로 부품 상태를 업데이트해 알려주는 냉장고가 있다고 가정하자. 냉장고 정수 필터 수명이 20% 정도 남았을 때, 사용자의 스마트폰으로 새 필터 구입을 알리는 메시지를 보낼 수 있다고 생각하자.

이런 기능을 위해서는 신원(고객)과 보증(백오피스 시스템) 등 다양한 IoT 데이터를 '소화'해야 한다. 서버리스는 이를 더욱 손쉽게 통합 처리할 수 있다는 점에서 특히 유용하다.

백엔드로 보내지는 이벤트(정수 필터 수명 고갈)가 있다. 이 이벤트를 가져온 후, 서버리스 기능으로 검색을 한다. 보증서가 있는가? 필터가 보증 서비스 대상인가? 서버리스는 사용자의 백엔드가 이런 종류의 IoT 이벤트에 신속하게 대응할 수 있도록 해준다.

IoT 사용자 공간의 배출구는 기본적으로 우발적이다. 서버리스 환경은 이렇게 예측할 수 없는 로드를 처리하고, 이를 이용해 가치 창출을 견인하거나, 더 나은 고객 경험을 전달하는 다른 비즈니스 영역으로 연결해준다.

하지만 서버리스에 투자하기 전에 알아야 할 점이 있다. 이런 아키텍처에 적합하지 않은 워크로드도 있다는 점이다. 클라우드 네이티브 애플리케이션을 구현하는 또 다른 방법으로 서버리스 컴퓨팅을 고려하는 것이 좋다.

모든 신기술이 그렇지만, 일부는 신기술이 할 수 있는 일을 보기만 하고, 또 다른 일부는 이를 유리하게 활용한다. 하지만 서버리스 컴퓨팅이 부상하고 있으며, 클라우드 생태계에서 중요한 역할을 할 것이라는 점은 분명하다.  editor@itworld.co.kr


X