2020.06.18

블로그 | 클라우드 업체가 말해주지 않는 서버리스의 단점 3가지

David Linthicum | InfoWorld
서버리스는 게임의 판도를 바꾸는 기술이다. 코로나19 팬데믹 이후 클라우드로의 이전이 가속화될 것으로 예상되는데, 여기에서 워크로드에 필요한 클라우드 자원의 규모를 예상하는 단계마저 없애고 싶을 것이다.
 
ⓒ Getty Images Bank

서버리스는 자동으로 필요한 클라우드 자원을 프로비저닝하고, 일단 워크로드의 처리가 끝나면 자원을 회수한다. ‘게으른 자의 클라우드 플랫폼 서비스’라고 불리기도 하지만, 프로비저닝할 자원의 정확한 규모를 추정할 필요가 없어서 상당한 수고를 덜 수 있다.

하지만 이 모든 장점과 함께 몇 가지 단점이 있다. 다음 세 가지 단점을 잘 생각해 보기 바란다.

1. 콜드 스타트(Cold start). 서버리스 기능을 가상 프라이빗 클라우드에서 구동할 때 발생하는 문제로, 지연이 생기거나 기동 시간이 오래 걸릴 수 있다. 고등학교 때 타던 뷰익 자동차의 시동을 생각하면 비슷하다.

게다가 개발 언어에 따라 지연도 달라진다. 벤치마크를 해보면 흥미로운 결과를 얻을 수 있는데, 파이썬이 가장 빠르고 닷넷과 자바가 가장 느리다. 툴을 사용해 지연 시간을 분석해 워크로드에 미칠 영향을 파악할 수 있다. 서버리스에 인프라 모두를 걸었다면, 이들 툴을 살펴보기 바란다.

2. 거리 지연. 서버리스 기능이 최종 사용자와 얼마나 멀리 떨어져 있느냐에 따라 다르다. 상식적인 사실이지만, 사용자 대부분은 미국에 있는 기업이 서버리스 기능을 아시아에서 구동하기도 한다. 여기서 문제는 대역폭이 아니다. 따라서 이들 기업은 유용성보다는 편의성을 찾는다. 그리고 아시아에 있는 관리자처럼 부정적인 영향을 전혀 고려하지 않는다.

데이터가 그 데이터를 사용하는 핵심 서버리스 기능과는 다른 리전에 있을 때도 거리 문제가 생긴다. 이런 좋지 않은 결정은 보통 퍼블릭 클라우드에 프로세스를 분산할 때 나온다. 파워포인트에서는 멋져 보이지만, 실용적이지는 않다.

3. 성능이 부족한 런타임 환경 구성. 간과하기 쉬운 부분이다. 서버리스 시스템은 사전 정의된 일련의 메모리와 컴퓨트 구성이 있는데, 예를 들어 ‘메모리 구동 64MB~3008MB’ 같은 식이다. CPU는 사용되는 메모리의 양을 기반으로 상관관계 알고리즘을 이용해 할당된다. 보통 메모리 설정이 낮으면 저렴하지만, 서버리스 시스템이 메모리와 CPU 모두 적게 할당되기 때문에 성능상의 반대급부가 있기 마련이다.

그 어떤 것도 완벽하지는 않다. 서버리스 시스템을 이용하는 것은 많은 장점이 있지만, 단점 역시 고려해야 한다. 문제를 실용적으로 이해한다면, 효과적으로 해결할 수 있을 것이다. editor@itworld.co.kr



2020.06.18

블로그 | 클라우드 업체가 말해주지 않는 서버리스의 단점 3가지

David Linthicum | InfoWorld
서버리스는 게임의 판도를 바꾸는 기술이다. 코로나19 팬데믹 이후 클라우드로의 이전이 가속화될 것으로 예상되는데, 여기에서 워크로드에 필요한 클라우드 자원의 규모를 예상하는 단계마저 없애고 싶을 것이다.
 
ⓒ Getty Images Bank

서버리스는 자동으로 필요한 클라우드 자원을 프로비저닝하고, 일단 워크로드의 처리가 끝나면 자원을 회수한다. ‘게으른 자의 클라우드 플랫폼 서비스’라고 불리기도 하지만, 프로비저닝할 자원의 정확한 규모를 추정할 필요가 없어서 상당한 수고를 덜 수 있다.

하지만 이 모든 장점과 함께 몇 가지 단점이 있다. 다음 세 가지 단점을 잘 생각해 보기 바란다.

1. 콜드 스타트(Cold start). 서버리스 기능을 가상 프라이빗 클라우드에서 구동할 때 발생하는 문제로, 지연이 생기거나 기동 시간이 오래 걸릴 수 있다. 고등학교 때 타던 뷰익 자동차의 시동을 생각하면 비슷하다.

게다가 개발 언어에 따라 지연도 달라진다. 벤치마크를 해보면 흥미로운 결과를 얻을 수 있는데, 파이썬이 가장 빠르고 닷넷과 자바가 가장 느리다. 툴을 사용해 지연 시간을 분석해 워크로드에 미칠 영향을 파악할 수 있다. 서버리스에 인프라 모두를 걸었다면, 이들 툴을 살펴보기 바란다.

2. 거리 지연. 서버리스 기능이 최종 사용자와 얼마나 멀리 떨어져 있느냐에 따라 다르다. 상식적인 사실이지만, 사용자 대부분은 미국에 있는 기업이 서버리스 기능을 아시아에서 구동하기도 한다. 여기서 문제는 대역폭이 아니다. 따라서 이들 기업은 유용성보다는 편의성을 찾는다. 그리고 아시아에 있는 관리자처럼 부정적인 영향을 전혀 고려하지 않는다.

데이터가 그 데이터를 사용하는 핵심 서버리스 기능과는 다른 리전에 있을 때도 거리 문제가 생긴다. 이런 좋지 않은 결정은 보통 퍼블릭 클라우드에 프로세스를 분산할 때 나온다. 파워포인트에서는 멋져 보이지만, 실용적이지는 않다.

3. 성능이 부족한 런타임 환경 구성. 간과하기 쉬운 부분이다. 서버리스 시스템은 사전 정의된 일련의 메모리와 컴퓨트 구성이 있는데, 예를 들어 ‘메모리 구동 64MB~3008MB’ 같은 식이다. CPU는 사용되는 메모리의 양을 기반으로 상관관계 알고리즘을 이용해 할당된다. 보통 메모리 설정이 낮으면 저렴하지만, 서버리스 시스템이 메모리와 CPU 모두 적게 할당되기 때문에 성능상의 반대급부가 있기 마련이다.

그 어떤 것도 완벽하지는 않다. 서버리스 시스템을 이용하는 것은 많은 장점이 있지만, 단점 역시 고려해야 한다. 문제를 실용적으로 이해한다면, 효과적으로 해결할 수 있을 것이다. editor@itworld.co.kr

X