메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

실 사용자들이 말하는, 서버리스 도입의 득과 실

한빛미디어

|

2021-08-20

|

by Roger Magoulas 외

14,794

 

오라일리(O'Reilly)는 서버리스(serverless) 환경에 대한 현황 파악을 위해 관련 커뮤니티 및 관계자 1,500여명을 대상으로 설문조사를 실시하고 지난 2019년 11월 결과를 발표한 바 있습니다. 시간이 좀 지난 현재 국내 시장 상황과 비교해 보면 유의미한 내용일듯 하여 관련 내용을 정리해 봤습니다. 

 

서버리스 아키텍처 적용에 대한 오라일리의 첫 번째 설문조사는 다양한 지역, 기업 및 산업계에서 1,500명이 넘는 인원이 참여했습니다. 본 내용에 들어가기 앞서 설문조사의 주요 사항은 다음과 같습니다.

 

- 응답자의 40%는 어떤 형태로든 서버리스 아키텍처를 적용한 환경에 근무합니다. 이 그룹이 꼽은 서버리스의 가장 큰 장점은 운영비용 절감과 유동적인 자원 사용(auto scaling)이 가능하다는 점입니다.

 

- 서버리스를 사용하지 않는 60%에 달하는 응답자 중 한 기업에서는 서버리스의 '보안 문제에 대한 우려'와 '새로운 것을 시도하는 것에 대한 두려움' 때문에 서버리스를 사용하지 않는다고 답했습니다.

 

- 3년 이상 서버리스를 사용해 온 응답자 중 약 50%는 서버리스를 적용한 것이 성공적이었다고 말하는 반면, 1년 이하 사용자 그룹에서 성공적이었다 대답한 응답자는 35%에 불과했습니다. 이러한 차이는 서버리스 아키텍처는 시간이 지남에 따라 더 효과를 발휘할 수 있음을 의미합니다.

 

- 서버리스를 적용했다고 대답한 응답자들은 맞춤형 도구(커스텀 툴)를 만들 수 있는 것을 최고 장점으로 꼽았습니다. 이는 공급업체가 제공한 도구만으로는 실제 조직에서 서버리스 인프라를 디플로이하고 관리하는 데 필요한 사항을 완전히 해결하지는 못할 수 있음을 의미합니다.

 

- 설문조사 내용 중 응답자의 경험 수준을 묻는 질문이 있습니다. 해당 표에는 1년 미만으로 서버리스를 사용해 온 조직에서 근무하는 그룹은 'new', 1~3년동안 서버리스를 사용해왔던 그룹은 'early', 3년 이상 서버리스를 사용해 온 조직에서 근무하는 그룹은 'sophisticated'로 구분되어 있습니다. 

 

Figure1-e1570028458892-1048x647.png

 

Figure 1. 응답자들의 직종 분포

응답자 간의 직종 분포를 살펴보면, 서버리스 패러다임을 탐색하고 사용하는 이들은 하나의 직종에만 국한되지 않는다는 것을 알 수 있습니다. 그 이유는 기존의 소프트웨어 팀에서 조직의 인프라도 관리하며, 그 관리 과정에서 점점 더 많은 서버리스 옵션을 사용하고 있기 때문이라고 추측됩니다.

 

Figure2-1048x711.png

 

Figure 2. 응답자들이 속한 업계

응답자 중 5분의 1 이상이 소프트웨어 업계에서 근무하고 있는 것을 알 수 있습니다. 이는 소프트웨어 회사들의 높은 관심을 나타냅니다. 응답자 중 두 번째로 높은 비율을 가진 금융 및 은행 부문의 경우, 아마도 레거시 인프라에 대한 부담 없이 서버리스를 활용하는 것에 개방적으로 접근하고 있는 핀테크와 스타트업들이 증가하고 있기 때문인 것으로 판단됩니다.

 

Figure3-e1570027869378-1048x566.png

Figure 3. 회사 규모

응답자의 약 3분의 2가 100명 이상의 회사에서 근무하고 있으며, 5분의 1은 10,000명 이상의 회사에서 근무하고 있습니다. 이는 서버리스를 고려하거나 사용하는 기업이 단지 스타트업이나 작은 규모의 회사 뿐만이 아니라, 대기업도 해당한다는 의미입니다.

 

Figure4-1048x711.png

 

Figure 4. 서버리스 채택 여부

응답자의 조직이 서버리스(서버리스 리소스를 제공하기 위해 벤더와 계약을 체결하는 것으로 정의)를 채택했는지를 물었을 때, 상대적으로 새로운 이 기술에 대해 낮은 도입률을 예상했습니다. 흥미롭게도, 응답자의 40%가 서버리스 방식을 채택했다고 답했습니다.

 

Figure5-e1570028078976-1048x516.png

Figure 5. 서버리스를 도입해 온 시간

서버리스를 도입한 조직 중 50% 이상이 1~3년 동안, 그리고 15% 이상이 3년 이상의 기간 동안 서버리스를 사용해 온 것으로 나타났습니다. 아마존의 AWS Lambda 기능이 출시된 지 (2019년 11월 기준으로) 5년 밖에 되지 않은 점을 감안하면 3년 이상의 경력자들은 굉장한 얼리어답터라고 볼 수 있습니다.

 

응답자의 약 30%가 지난 1년 동안 서버리스를 도입한 적이 있다고 답했으며, 이는 1~3년 전에 서버리스를 도입한 50%보다 적은 수치입니다. 이러한 격차는 주요 소프트웨어 회사 및 기타 기술 중심 산업에서 종사하는 응답자들이 창업 초창기 인프라 옵션으로 서버리스를 고려했기 때문일 수 있으며, 이러한 조직은 역사적으로 새로운 패러다임을 실험하고 도입하는 속도가 더 빨랐습니다.

 

 

Figure6-1048x711.png

Figure 6. 서버리스 채택의 성공 여부(만족도)

응답자 중 3분의 2 이상이 조직의 서버리스 도입이 "대체로 성공적(Mostly successful)"이라고 답했습니다. 이러한 전반적인 성공 패턴은 적어도 응답자들에게는 서버리스가 단순한 유행을 넘어 실질적이고 실행 가능한 인프라 옵션으로 자리 잡았음을 보여줍니다. 서버리스의 성공 스토리는 아직 도입하지 않은 이들에게 서버리스가 그들의 인프라 요구사항을 얼마나 충족할 수 있는지를 보다 진지하게 평가하도록 동기를 부여하는 데 도움이 될 수 있습니다. 얼리어답터들은 서버리스에 덜 개방적인 조직에게도 길을 열어주고 있습니다. 서버리스 도입에 관련된 문제들이 보다 명확해지더라도 서버리스 도입은 더욱 가속화될 것으로 예상됩니다.

 

Figure7-e1570028180666-1048x550.png

Figure 7. 서버리스 경험 수준에 따른 서버리스 채택의 성공 여부

이 차트에는 많은 정보가 담겨 있습니다. 간단히 요약하면, 3년 이상 서버리스 경험자들은 79%가 "대체로 성공적" 이상이라 답했고("매우 성공적" 17%, "성공적" 34%, "대체로 성공적" 28%), 1~3년 정도의 경험이 있는 응답자는 75%가 "대체로 성공적"이라 답했습니다("매우 성공적" 9%, "성공적" 32%, "대체로 성공적" 34%). 그리고 1년 미만의 경험을 가진, 서버리스를 처음 접하는 이들은 52%가 "대체로 성공적" 이상("매우 성공적" 6%, "성공적" 29%, "대체로 성공적" 17%)이라 평가했습니다.

 

서버리스 도입 시간이 많은 조직과 적은 조직을 비교하면 시간이 갈수록 성과를 거두는 것으로 보입니다. 즉, 서버리스 도입 중에 발생하는 도구화, 데이터 보호 및 운영 문제 등을 해결하기 위해서는 시간과 경험이 필요해 보입니다.

 

Figure8-e1570028252480-1048x613.png

Figure 8. 서버리스의 이점

서버리스의 이점에 관한 설문 결과, 몇 가지 특징이 보였습니다. 먼저 "운영비 절감(Reduction of operational costs)"이 1위를 차지했다는 점입니다. 서버 랙을 최대 트래픽에 대비하여 구입한다면 대부분의 시간을 유휴 상태로 보내게 되기도 합니다. 그에 반해 서버리스 방식은 총 연산량으로 비용을 지불하는 방식인만큼, 이 방식이 비용적 측면에서 유리하게 작용한 것으로 나타났습니다.

 

이는 두 번째로 많은 서버리스 사용 이유인 "수요에 맞게 자동으로 공급되는 것(Scales with demand automatically)"과도 관련이 있습니다. 평균 또는 최대 사용량을 계획하여 서버를 마련하는 대신, 서버리스는 서버 없이도 애플리케이션을 배포할 수 있으며 그때그때의 사용량에 맞게 오토 스케일되므로 사용한 트래픽에 대한 비용만 지불하면 됩니다. 이러한 스케일링을 통해 예기치 못한 무작위 트래픽 급증이나 시즌마다 발생하는 대규모 트래픽으로부터 걱정을 덜 수 있습니다.

 

세 번째 특징은 "서버 유지보수가 필요하지 않다는 점(No server maintenance)"이었습니다. 앞에서 언급한 바와 같이, 설문조사 응답자의 대다수는 소프트웨어 엔지니어입니다. 이들은 소프트웨어 패치, 보안 및 관리 유지를 담당한 시스템 관리자가 아닙니다. 이러한 유지보수 작업들은 서버리스 공급자의 책임 하에 관리되므로 결국 소프트웨어 엔지니어들은 유지보수에 필요한 시간을 절약하여 더 넓은 범위의 업무와 그들의 본래 역할에 집중할 수 있다는 의미가 됩니다.

 

Figure9-e1570028308173-1048x540.png

Figure 9. 서버리스 경험 수준에 따른 서버리스의 이점

서버리스의 장점에 경험 수준을 더해 살펴보면(Figure 9), "엔지니어링 요구 시간 단축(Reduced engineering lead time)"과 "개발 비용 절감(Reduced development costs)"이 3년 이상 서버리스 시스템을 사용해 온 기업들에게 더 큰 이점으로 작용하고 있음을 알 수 있습니다. 이것은 서버리스를 통해 상당한 비용적인 이점을 얻기까지는 시간이 필요하다는 점을 시사합니다.

 

Figure10-1048x711.png

Figure 10. 서버리스의 문제점

서버리스를 적용한 조직에서의 가장 큰 걱정으로 "직원 교육(Educating current staff)"이 꼽혔습니다. 그럴 만도 합니다. 서버리스는 상대적으로 새로운 기술이기 때문에 공식 교육을 찾기가 어렵고, 문서화가 반드시 필요하며, 기술 성장에 반드시 필요한 기존의 사례 연구도 부족합니다. (시간이 어느 정도 흐른 지금도...) 또한 서버리스를 성공적으로 활용하기 위해서는 커스텀 기능이 필요한데, 이러한 커스텀 기능은 공급업체들이 고객을 유치하고 유지하기 위해 치열하게 경쟁하며 빠르게 발전하는 경향을 보이므로, 이 발전 속도와 발맞춘 정식 교육을 찾아보기 어렵습니다.

 

두 번째로 큰 과제는 "공급업체 의존성(Vendor lock-in)"입니다. 하나의 벤더 플랫폼을 위한 코드를 작성하면 코드의 확장성과 호환성이 떨어집니다. 서버리스가 초기 단계이기 때문에 시장에서는 공급업체 간의 호환성 문제가 어떻게 전개될지 아직은 더 지켜봐야 겠습니다.

 

응답자의 30%가 지적한 3위는 “더 어려운 인테그레이션/테스트(Integration/testing is harder)” 문제였습니다. 서버리스 환경에서의 많은 시나리오들과 다양한 종속성(예: 지연 시간, 구동, 레퍼런스 등)은 통합 환경에서 다양한 변수를 야기시키는데, 적어도 현재로서는 서버리스 아키텍처 테스팅은 더욱 복잡하고 노동력을 많이 필요로 하는 것으로 보입니다. 서버리스가 점차 안정화되고 테스트에 용이한 엔지니어링 기술들이 확보됨에 따라 이러한 테스트 문제가 대부분 해결될 것으로 기대됩니다.

 

Figure11-1048x711.png

Figure 11. 조직에서 서버리스를 관리하는 팀

데브옵스(DevOps)와 서버리스가 찰떡궁합인 것처럼 보입니다. 서버리스 구현을 관리하기 위한 최고의 선택으로 데브옵스 팀이 꼽힌 것은 놀라운 일이 아닙니다. 서버리스 아키텍처에 컨테이너형 서비스를 디플로이하고 쿠버네티스를 사용하여 이러한 서비스를 조절하는 것은 기존 데브옵스 관행과도 일치합니다.

 

그 다음으로는 소프트웨어 개발과 관련된 팀들이 서버리스 관리를 위한 최고의 선택 2, 3, 4위를 차지한 것도 이해할만 합니다. 서버리스는 개발자가 서버 및 스토리지를 관리할 필요 없이 소프트웨어를 배포할 수 있도록 개념적으로 간단한 경로를 제공합니다. 하지만 서버리스 개념 자체는 간단하지 않습니다. 설문 응답자들도 이러한 서버리스의 어려움들에 주목하고 있습니다(Figure 10 참조). 따라서 소프트웨어와 관련된 직종의 응답자들은 서버리스 인프라가 언제 자신의 애플리케이션에 적합한지 파악하는 등 서버리스 인프라를 구축하는 데 필요한 역량을 개발할 필요가 있습니다.

 

Figure12-1048x711.png

Figure 12. 응답자들이 사용하는 서버리스 제공 업체

아마존은 서버리스 초기 출시와 함께 시장 지배를 통해 클라우드 시장에서 주요 경쟁사들보다 기능적인 우위를 점했습니다. 그러나 마이크로소프트와 구글 모두 자체적인 서버리스 서비스를 늘렸으며, 그들이 이미 다른 분야에서 얻은 차별성을 클라우드 시장에서 발휘할 가능성이 높습니다. 즉, 애저(Azure) 또는 구글 클라우드 플랫폼을 이미 좋아하고 사용하는 고객은 애저의 기능 및 구글 클라우드의 기능에 친숙한 이점을 얻을 수 있습니다.

 

Figure13-1048x711.png

Figure 13. 응답자들이 사용하는 서버리스 도구들

사용된 도구에서 "맞춤형 도구(Custom tooling)"가 1위를 차지했습니다. 즉, 기존 툴을 표준화하거나, 개선하거나, 사내 툴을 마이그레이션하는 등 새로운 고객이 맞춤형 도구를 구축하는 데 시간을 낭비하지 않아도 되는 그런 시장이 생겨날 수도 있겠습니다. 이는 현재의 도구가 서버리스 인프라를 효과적으로 관리하고 배포하는 데 필요한 모든 것을 해결하지 못하고 있음을 의미할 수 있습니다.

 

또 하나 고려해야 할 사항은 응답자들이 적용 가능한 모든 도구를 확인할 수 있다는 점입니다. 맞춤형 도구는 단순히 빌드 프로세스에 관련된 셸 스크립트 또는 cron 작업과 관련된 것일 수도 있지만, 다양한 공급업체에서 제공하는 기존 툴 체인처럼 새로운 비즈니스의 시작점이 될 수도 있습니다.

 

Figure14-1048x711.png

Figure 14. 서버리스를 채택하지 않은 이유들

서버리스를 사용하지 않는다고 대답한 응답자의 60%(Figure 4)는 서버리스를 피한 주요 이유로 "보안 우려(Security concerns)"를 꼽았습니다. 보안이 가장 중요한 환경이기 때문에 그 어떤 새로운 기술의 채택에서도 보안 문제에 대한 염려는 큰 비중을 차지합니다. 게다가 서버리스는 민감한 데이터에 대한 관리가 훨씬 더 다이나믹한 새로운 데이터 관리 패러다임이 적용됩니다.

 

중요한 비즈니스 데이터를 회사에서 직접 관리하거나 제어하지 않는 상황에서는 누가 액세스 권한을 가지고 있는지, 얼마나 안전한지, 공급업체에서 데이터 또는 메타 데이터를 조회하는지 여부, 소프트웨어가 패치되었는지 또는 공격에 취약한지 여부에 대한 우려는 항상 제기됩니다.

GDPR과 같은 규제 요건을 충족시키는 과제도 역시 보안과 맞닿아 있는 부분입니다. 과연 타사 서버의 클라우드에서 자체 인프라와 동일한 수준의 보안 및 품질을 보장할 수 있을까요?

 

Figure15-1048x711.png

 

Figure 15. 아직 서버리스를 채택하지 않는 기업들이 서버리스를 도입할 시기는?

(2019년 시점에서) 설문조사 참여율이 높은 것은 회사의 서버리스 도입 계획과 상관없이 초기의 급변하는 서버리스 생태계에 기술자들이 큰 관심을 가지고 있다는 것을 보여줍니다. 응답자들이 서버리스에 관심을 보이는 것은 당장 서버리스를 적용하지는 않더라도, 소프트웨어 아키텍처 "모범 사례(Best practice)"인 서버리스에 접근하는 방식을 이해해 둘 필요가 있다는 점을 반영합니다.

 

설문조사 결과를 보면 엔지니어, 기술 책임자, 설계자 등의 신중하지만 호기심이 많은 전 세계 집단이 조사에 응답할 만큼 서버리스에 관심을 가지고 있다는 것을 알 수 있습니다. 서버리스를 사용하기 시작한 40%의 집단에서는 시간이 지나고 영향이 커짐에 따라 서비스는 성공으로 기울 것이라 예상합니다. 서버리스 경험이 가장 많은 사용자는 비용 절감, 오토 스케일링 및 개발자 생산성 향상에 대한 보장이 서버리스의 최고 이점이라고 보고 있습니다.

 

그러나 기존 인력 교육, 공급업체에 대한 종속성, 통합 및 테스트의 어려움 등 상당한 우려 또한 존재합니다. 서버리스 도입을 가로막는 또 다른 요인으로는 보안과 새로운 유형의 인프라 관리에 대한 우려를 꼽을 수 있습니다. 그리고 설문조사 결과에 따르면 이러한 우려는 도입 이후에도 사라지지 않는 것으로 보입니다만, 서버리스 도입 업체들은 이러한 문제점들로 인해 발생하는 손실보다 서버리스를 도입함으로써 얻을 수 있는 이점이 더 많다고 분석한 것으로 보입니다.

 

설문조사에 따르면 서버리스는 많은 회사들에게 가치 있는 인프라 옵션으로 여겨지고 있어, 머지 않아 그 수요가 증가할 것으로 예상됩니다. 또한 서버리스는 시간이 지날수록 시작하기가 쉬워지고 있으며, 특정 기술이나 프로그래밍 언어에 얽매이지 않고도 다양한 작업을 수행할 수 있다는 것이 주요해 보입니다.

 

- 원문 : O’Reilly serverless survey 2019: Concerns, what works, and what to expect

- 번역 : 최지원

 


 

 

▼ 서버리스와 관련해 실제 도입에 필요한 기술들이 궁금하다면, 

다음 서적들에서 보다 깊이 있는 정보들을 만나볼 수 있습니다. 


리액트, AWS, 그래프QL을 이용한 최신 애플리케이션 개발
한빛미디어| 네이더 다빗 지음 / 김범준 옮김 | 216쪽
난이도 | ■■■■■
실습하며 익히는 풀스택 서버리스 앱 개발 가이드북
인증과 권한 부여, API 게이트웨이, 클라우드 등 다양한 기능을 통해 강력한 애플리케이션 구축 과정을 따라 하며 실습할 수 있는 실용서다. 리액트, AWS, 그래프QL, AWS Amplify를 사용하여 풀스택 서버리스 애플리케이션을 구축하는 방법을 소개한다.

서버리스에서 마이크로서비스와 AI까지, 실무에 바로 써먹는 시스템 구축 패턴 익히기
한빛미디어| 가와카미 아키히사 지음 / 정도현 옮김 | 208쪽
난이도 | ■■■■■
실무에 유용한 14가지 서비스를 효과적으로 구현하는 비법
방대한 기능을 가진 AWS. 관리자가 EC2, S3 같은 개별 서비스 기능을 이해하는 것은 어렵지 않지만 각 서비스를 조합해 특정 요구 사항을 만족하는 시스템을 만드는 능력은 쉽게 길러지지 않는다. 서비스를 완벽하게 이해해 거시적으로 통찰해야 갖출 수 있다. 다양한 실무 경험을 토대로 정립한 14가지 설계 패턴을 소개하는 책으로 구축한 시스템의 문제를 해결하는 방법까지 다룬다. 인터넷 검색으로는 부족한, 실전 경험을 담은 AWS 비급서라 할 수 있다.

클라우드 네이티브 애플리케이션을 설계, 개발, 운영하는 핵심 가이드
한빛미디어| 보리스 숄, 트렌트 스완슨, 피터 야우쇼베츠 지음 / 정원천 옮김 | 252쪽
난이도 | ■■■■■
최신 클라우드 네이티브 애플리케이션 개념과 모범 사례!
최신 클라우드 네이티브 애플리케이션 아키텍처의 구성 요소를 설명한다. 컨테이너, 서버리스 컴퓨팅, 스토리지, 애플리케이션의 이식성 개념 설명부터 클라우드 네이티브 애플리케이션 개발에 필요한 패턴, 메시징, 이벤팅, 데브옵스 같은 모범 사례까지 살펴본다. 클라우드 네이티브 환경에서 애플리케이션을 어떻게 설계, 개발, 운영해야 할지 고민이라면 이 책으로 시작해보자.

클라우드 환경에서 모던 애플리케이션 빌드, 배포, 스케일링하기
한빛미디어| 존 어런들, 저스틴 도밍거스 지음 / 최경현 옮김 | 420쪽
난이도 | ■■■■
데브옵스를 위한 쿠버네티스 완벽 활용 가이드
쿠버네티스가 표준 플랫폼으로 자리 잡은 클라우드 네이티브 세계에서 데브옵스를 실천하는 방법을 다룬다. 쿠버네티스 관련 기본 개념, 애플리케이션을 작성하고 상용 환경에서 배포하는 방법, 클러스터를 구성하고 운영하는 방법, 장애 대처와 데이터 복원 방법을 실용적인 예제와 함께 살펴본다. 

AWS, 도커, 테라폼 등으로 구축하는 마이크로서비스 아키텍처
한빛미디어| 로니 미트라, 이라클리 나다레이슈빌리 지음 / 최경현 옮김 | 344쪽
난이도 | ■■■■■
처음부터 단계별로 살펴보는 마이크로서비스 구축 통합 가이드
빠르게 변화하는 대규모 데이터를 기존의 낡은 아키텍처로 관리하기란 쉽지 않다. 변경 가능성과 확장성을 가진 마이크로서비스 아키텍처는 이 어려움을 극복할 새로운 대안이다. 이 책은 단순히 마이크로서비스 아키텍처의 시스템적인 구축만을 다루지 않는다. 팀 설계, 도메인 설계, 인프라, 엔지니어링 및 릴리스를 포괄하는 실용적이고 규범적인 모델로 통합적인 마이크로서비스 아키텍처 구축에 대한 지식을 전한다.

 

 


 

 

댓글 입력
자료실

최근 본 상품0