다른 혁신적인 기술과 마찬가지로 서버리스 컴퓨팅에 관한 기대와 다소 부풀려진 희망으로 둘러쌓여 있다. 실체를 파악하고 이 기술이 조직에 적합한지
몇 년 전까지만 해도 물리적 서버는 모든 데이터센터의 디지털 심장 역할을 하는 기반 기술이었다. 그리고 나서 클라우드가 실현되었다. 오늘날, 조직들이 점점 더 많은 수의 서비스를 클라우드 공급업체들을 향해 옮기면서, 사내 서버는 멸종 위험에 놓인 위기종으로 전락하기 직전인 것 같다.
사내 서버의 소멸을 가속하는 데는 서버리스 컴퓨팅도 한몫 하고 있다. 애플리케이션이 소비하는 실제 자원의 양에 대해서만 기계 자원과 청구서 사용자의 할당을 동적으로 관리하기 위해 클라우드 제공업체에 의존한다는 개념은 점점 더 많이 수용되고 있다. 기술 미디어 및 훈련 업체인 오릴리(O’Reilly)가 2019년 말 실시한 조사에 따르면, 10개 기업 중 4개 기업이 광범위한 위치와 산업에 걸쳐 서버리스 기술을 이미 채택한 것으로 나타났다.
하지만, 오해해서는 안 된다. 비록 이름에 ‘~리스(less)라고 나와 있지만 서버리스 컴퓨팅은 여전히 서버에 의존한다. 서버리스 소프트웨어 개발사인 볼레어 시스템의 소유주인 조 윌슨은 “서버리스 컴퓨팅은 실제로 서버에서 실행되지만, 당신의 클라우드 공급업체는 필요에 따라 서비스를 프로비저닝한다. 즉, 당신은 가상 서버나 앱 서비스를 소유하는 것이 아니다”라고 보고 있다. 본질적으로 서버리스는 개발자가 코드를 작성한 후 온디맨드 방식으로 실행할 수 있는 애플리케이션 구축 아키텍처다.
서버리스는 단순한 기술이 아니라, 기본적인 IT 운영을 보는 완전히 새로운 방식이다. 리버티 뮤추얼 인슈어런스의 클라우드 플랫폼 전략 수석 설계자인 브렌트 오스틴은 “서버리스의 주요 이점은 클라우드 네이티브 방식으로 시스템을 설계하는 것을 고려하도록 강요한다는 것이다. 서버리스 우선 마인드를 가진 애플리케이션을 설계하는 것을 생각하고 있다면, 그 시스템 내에서 특정한 기술적 선택에 얽매이지 않고, 비용 효율적이며, 확장 가능하고, 탄력적인 아키텍처를 구현할 가능성이 더 높다”라고 말했다.
서버리스 컴퓨팅을 사용하는 곳
서버리스 컴퓨팅은 거의 무제한의 방식으로 배치될 수 있다. 전문 서비스 업체인 액센츄어의 클라우드 전략, 아키텍처 및 딜리버리 담당 이사 미하 크랄리에 따르면 많은 사용 사례들이 현재 일반적으로 서버리스로 코딩된 웹 페이지 앱과 같이 비교적 단순한 요건에 초점을 맞추고 있다. 크랄리는 “서버리스 플랫폼은 필요할 때 자동으로 확장되기 때문에 인프라의 복잡성을 걱정할 필요 없이 간단한 애플리케이션을 신속하게 개발할 수 있다”라고 말했다.
서버리스는 서로 다른 애플리케이션 시스템의 조정에 탁월하다. 크랄리는 “서버리스 컴퓨팅은 이벤트를 감지하고 다른 애플리케이션이나 시스템에 알려 주는 데 이상적이다. 예를 들어, 데이터베이스의 변경이 코드 변경이나 보안 검토를 촉발할 경우 서버리스는 시스템 간에 이러한 종류의 자동화된 워크플로우를 만드는 좋은 방법이 될 수 있다”라고 지적했다.
크랄리는 서버리스도 ‘볼트 온(bolt-on)’ 요구에 좋은 선택이 될 수 있다고 전했다. 클라이언트가 크거나 복잡한 솔루션을 가지고 있지만, 이런저런 기능을 추가해야 하는 경우, 서버리스가 이상적일 수 있다. 예를 들어, 새로운 소스에서 고객 기록을 추가하는 등 간단한 기능을 삽입하기 위해 큰 애플리케이션을 여는 대신, 새로운 입력을 포착하고 애플리케이션의 API를 호출할 수 있도록 서버리스 기능을 쉽게 만들 수 있다. 크랄리는 “빠르고 고통 없고 신뢰할 수 있는 접근법”이라고 말했다.
서버리스 컴퓨팅의 비용 장점
본질적으로, 서버리스 컴퓨팅 아키텍처는 대체 접근법보다 더 비용 효과적인 경향이 있다. 오스틴은 “서버리스의 핵심 기능은 사용 중이 아닐 때 비용을 지불하지 않도록 확장했다가 0까지 줄어드는 것이다”라고 충고했다.
컨설팅 회사 SPR의 모바일 및 최신 기술 담당 이사인 케빈 맥마혼은 서버리스 기술로 고객은 용량이 아닌 소비에 비용을 지불한다고 밝혔다. 그는 서버리스 모델을 자동차 소유 대 차량 공유 서비스 사용에 비유했다. 그는 “승차 공유 이전에 A지점에서 B지점으로 확실하게 도착하려면 차를 소유하고 보험금을 지불하고 유지해야만 했다. 승차 공유로 당신은 더 이상 차에 대해 걱정할 필요가 없고, 당신이 원할 때 A에서 B로 가기 위해 돈만 지불하면 된다. 당신은 단지 부가적인 인프라와 유지보수 대신 해야 할 일에 대해서만 비용을 지불할 뿐이다”라고 설명했다.
서버리스 컴퓨팅은 또한 비용이 실제 소비와 일치하도록 함으로써 채택자가 자원의 전체 배치와 관련된 비용을 줄이도록 도울 수 있다고 IT 서비스 관리 회사인 앱텀의 클라우드 책임자인 크레이그 타바레스는 생각했다. 게다가 애플리케이션을 단순하고 목적 지향적인 기능으로 세분화하여 클라우드 내에서 신속하고 저렴하게 구축하고 배포할 수 있다. 타바레스는 “개발 주기의 속도가 증가하면 시장 진출도 향상되어 조직이 지속적인 개선과 고객 만족에 집중할 수 있다”라고 덧붙였다.
중고 의료장비 장터를 운영하는 메디나스의 CTO인 팀 그로니는 사용료당 가격 덕분에 가동 시간 비용이 없다고 말했다. 그로니는 “당신의 사용 사례에 따라 마일리지는 분명히 달라질 것이지만, 우리 회사로서는 웹 호스팅 비용이 거의 0이 되도록 AWS 무료군을 벗어나는 일은 거의 없을 것이라고 말할 수 있겠다”라고 이야기했다.
서버리스는 IT 업무량에 영향을 미치나?
서버리스 컴퓨팅은 여러 가지 방법으로 IT 워크로드를 가볍게 할 수 있는데, 가장 두드러진 방법은 직원들이 서버 성능, 신뢰성, 유지보수 및 보안 작업을 일상적으로 관리하지 않아도 되도록 하는 것이다. 오스틴은 “애플리케이션 가동 시간을 보장하기 위한 상태 점검 필요성, 최신 보안 패치 적용과 관련된 기본 OS 관리 또는 최대 업무량을 처리할 수 있는 충분한 용량으로 기본 인프라를 프로비저닝 해야 하는 것은 기본적으로 서버리스 플랫폼에서 처리하는 모든 것”이라고 이야기했다.
서버리스도 개발자의 작업 부하를 덜어준다. 오스틴은 “코드를 적게 쓰는 것, 특히 인프라 코드를 적게 쓰는 것은 IT 수익에 매력적이다. 서버리스 기술을 통해 인프라 프로비저닝을 처리하는 동시에 비즈니스 기능성을 구현하는 개발자가 더 많아지는 것은 IT 조직의 강력한 이점이다”라고 지적했다.
개발 속도를 가속화하면 조직도 더욱 민첩하고 혁신적일 수 있다. 크랄리에 따르면 서버리스는 아이디어를 기능적 해결책으로 바꾸는 가장 빠른 방법이다. “이 접근 방식은 신속한 애플리케이션 개발에 완벽하다. 이제 몇 줄의 코드만으로도 이를 달성할 수 있다.”
역설적으로 이 기술의 많은 이점을 무효화할 정도는 아니더라도 서버리스도 때로는 작업 부하를 증가시킬 수 있다. 재해 복구 서비스 제공업체인 선가드 어베일러빌러티 서비스의 수석 CTO 설계자인 그렉 콕스는 “비즈니스에 필요한 것을 달성하기 위해 API를 결합하고 기능성을 만드는 데 더 많은 작업이 관련될 것”이라고 밝혔다.
버그를 없애는 것도 작업 부하에 추가할 수 있다. 디지털 비즈니스 플랫폼 개발업체인 어헤드의 클라우드 수석 컨설턴트인 버트 존슨은 “표준화된 보안, 테스트, 모니터링 및 구성 관리 없이는 서버리스 버그가 확산된다”라고 경고했다. 그는 버그가 소프트웨어 개발 과정의 결함을 키우는 동시에 개발자들이 검색과 수리 임무에 참여하기 위해 중요한 작업을 포기하도록 강요한다고 지적했다.
서버리스 컴퓨팅의 단점
서버리스 컴퓨팅은 그 모든 장점에도 불구하고 몇 가지 중요한 단점도 보여준다. 예를 들어, 이 기술은 장기적인 운영을 지원하는 데 있어서 특별히 좋은 것은 아니다. 맥마흔은 “컴퓨팅에 오랜 시간이 걸리는 작업이나 프로세스를 실행한다면 서버리스가 올바른 접근 방식은 아닐 것이다. 현재 애저 펑션과 AWS 람다는 각각 최대 10분, 15분만 실행 가능하다”라고 주장했다.
콜드 스타트는 일부 서버리스 채택자들을 통해서도 냉기를 보낼 수 있다. 맥마흔은 “콜드 스타트는 보통 수십 밀리초 정도 되는 시간인데, 실행을 위해 기능을 깨우는 데 필요한 시간이다. 대부분의 사용 사례에서 이러한 시간은 무시할 만하지만, 이러한 지연이 용납될 수 없고 서버리스 컴퓨팅이 이상적이지 않은 일부 사용 사례도 있다”라고 설명했다.
잠재적 채택자들은 또한 벤더의 잠금 전망으로 인해 설득되지 않을 수 있다. 크랄리는 “IT와 개발 리더들은 AWS 람다, 애저 펑션, 구글 클라우드 펑션 등 주요 서버리스 시스템이 상호 교환이 불가능하다는 것을 알아야 한다”라고 경고했다.
보안 측면에서는 서버리스가 특이한 도전과제가 된다. 보안 소프트웨어 개발업체 아쿠아 시큐리티의 전략 담당 부사장인 라니 오스나트는 “한편으로는 짧은 런타임 지속과 기반 호스트 OS로부터의 격리에 의해 위험은 제한된다”라고 지적했다. “반면, 기능은 너무 많은 허용성이나 취약한 구성요소로 프로비져닝 되기 때문에 서버리스 기능이 공격에서 다른 자원에 접근하기 위한 중간 단계로 사용될 수 있다”라고 그는 말했다. 서버리스가 안전하게 구성되어야 하며 이상과 남용에 대해 모니터링되어야 한다고 오스나트는 충고했다.
서버리스 채택 업체들도 용량 수요를 계산할 때 신중해야 한다. 그로우니는 “전통적인 서버는 용량이 초과될 때 중단되어 비용 초과를 방지한다. 서버리스는 비교적 무제한 방식으로 확장할 수 있는 경향이 있어, 조심하지 않으면 매우 많은 비용이 드는 실수가 발생할 수 있다”라고 설명했다.
마지막으로, 서버리스로 옮겨간 사람들은 그들의 급여가 인상되는 것을 볼 수도 있다. IT 채용 대행사인 제퍼슨 프랭크의 클라우드 담당 부사장인 패트릭 나바로는 “당신의 회사가 기술에 중점을 둔다면, 더 중요한 지출 중 하나는 개발자를 고용하는 데 할당될 것이다. 자격을 갖추고 숙련된 개발자들은 현장에서 부족하여, 고용하고 유지하는 데 비용이 많이 든다”라고 말했다.
향후 전망: 서버리스 통합 노력 지원
클라우드 공급업체가 계속해서 새로운 서비스를 도입함에 따라 IT 리더들은 클라우드나 데이터센터에서 실행되는 기존 애플리케이션과 통합할 수 있는 일관된 솔루션을 만들기 위해 모든 것을 함께 결합해야 하는 과제에 직면해 있다. 크랄리에 따르면 서버리스 컴퓨팅은 이러한 종류의 새로운 통합 과제에 이상적이다. 크랄리는 “수동적이고 이벤트 중심적인 특성을 가진 서버리스가 현대 솔루션이 요구하는 서비스 간의 실시간 연결을 가능하게 한다”라고 주장했다.
신규업체는 와해적 기술을 평가하는 것과 같은 방식으로 서버리스에 접근해야 한다. IT 컨설팅 회사 아넥시넷의 클라우드 설계자인 존 코볼스키는 “구축 전에 [서버리스] 제품을 배우고 이해하는 시간을 가져라”라고 조언했다. 그는 “적어도 롤백 과정을 거쳐야 한다”라고 말했다. 잠재적인 운영 및 비용 편익에 대한 통찰력을 얻기 위해 코볼스키는 계획된 서버리스 교체와 비교하기 위해 현재 시스템의 성능을 측정할 것을 제안했다.
그로우니는 서버리스 기술에 점차 익숙해질 것을 제안했다. 그는 “서버리스가 반드시 모든 것을 갖춘 기술은 아니다. 필요한 만큼 적게 또는 필요한 만큼 많이 사용할 수 있다”라고 설명했다. dl-ciokorea@foundryco.com