Offcanvas

데이터센터 / 로봇|자동화 / 클라우드

서버리스 컴퓨팅, 어디에 어떻게 쓸까?

2019.04.24 Bob Violino  |  Network World


그는 "서버리스가 실은 다른 누군가의 서버나 컨테이너이며 자체적인 설계상 제약이 있다는 사실을 기억하면 서버리스를 통해 성공할 수 있을 것이다. 서버리스의 경우 스택에서 책임을 정의하는 선이 훨씬 높기 때문에 설계 및 이행 중 총 작동 시간, 소비한 CPU 시간, 사용된 총 메모리 등을 고려해야 한다"라고 말했다.

코디얼은 2015년부터 자원 사용량을 예측할 수 없는 시기에 예측 가능한 비용 모델을 확보하기 위해 서버리스 기술을 연구하기 시작했다. 예측 가능한 수요 기반 비용 구조를 확보할 필요가 있었기 때문이다.

2018년 5월, 해당 기업은 자체 시스템 중 일부를 대신하여 클라우드플레어의 워커스 기술을 사용하기 시작했다. 고객들을 대신하여 소비자에게 서비스를 제공하는 B2B기업으로써 코디얼은 가능한 신속하게 고객과 상호작용 해야 한다.

스미스는 "이 때문에 워크로드를 가능한 소비자에 지리적으로 가깝게 이동해야 하는 경우가 많다"라며 서버리스가 이것을 제공한다고 말했다.

“한정된 워크로드를 설계하라.”
조직은 서버리스 아키텍처를 단일 기법 또는 단일 기능을 위한 실행 엔진으로 생각해야 한다고 스미스가 말했다.

그는 "이 목표를 추가적으로 다듬어야 한다. 서버리스 기능을 사용해 데이터 파일을 처리하는 것이어선 안 된다. 각 데이터 줄이 분리 실행되도록 해야 한다”라고 말했다.

그에 따르면 각 작업 단위의 규모를 줄임으로써 서비스들 사이에서 네트워크가 데이터를 얼마나 신속하게 이동할 수 있는지가 중요해졌다. 스미스는 "운용 중인 데이터의 경우 네트워크를 1초에 네트워크 인터페이스당 10(기가바이트)의 저장 용량을 제공할 수 있는 일종의 휘발성 저장소로 생각할 수 있게 되었다. 따라서 최종 출력을 영구적으로 저장하기 전까지는 가장 느린 시스템 구성요소인 디스크를 피하게 됐다"라고 말했다. 

“기능들을 가능한 한 ‘스테이트리스’(Stateless) 상태로 만들라.”
단일 애플리케이션들 사이에서 공통적인 글로벌 변수가 서버리스와 호환되지 않을 수 있다. 호출들 사이에서 글로벌 스테이트가 일정하지 않을 수도 있기 때문이다. 

애플리케이션 성능 소프트웨어 제공 기업 다이나트레이스(Dynatrace)의 소프트웨어 엔지니어 다니엘 다일라는 "이에 대응하기 위해 서버리스 기능은 가능한 스테이트리스 상태여야 한다"라고 말했다.

그는 이어 "스테이트가 필요한 경우 외부 (데이터베이스)에서 상태를 수집하고 실제 데이터를 처리하는 다른 스테이트리스 기능을 호출하는 기능을 확보하는 것이 낫다. 이를 통해 관리가 더 쉬운 지정된 곳에 스테이트풀 상호작용을 격리할 수 있다"라고 말했다.

다일라에 따르면 다이나트레이스는 낮은 비용, 확장 기능, 이벤트 중심적인 호출 때문에 지난 수 년 동안 서버리스 기술을 사용해왔다. 해당 기업은 일괄 처리를 위해 지속적으로 작동해야 하는 투표 시스템을 위해 서버리스 컴퓨팅을 사용하고 있다.

그는 "낮은 비용이 주된 이점이라고 생각한다. 우리의 서버리스 기능은 부하가 0부터 빠르게 확장될 수 있는 작은 코드 조각인 경향이 있다"라고 말했다.

“배치 및 시험을 자동화하라.”
서버리스 컴퓨팅을 수동으로 쉽게 배치할 수 있는 툴이 있지만 배치를 자동화하면 인간 오류 없이 일관된 이행을 확보할 수 있다고 e디스커버리 소프트웨어 제공 기업 렐러티비티(Relativity)의 수석 소프트웨어 엔지니어 흐리스토 파라조프가 말했다.

"또 자동화를 통해 조직 내의 다른 팀들이 이런 기술을 쉽게 도입할 수 있다"라고 파파조프가 덧붙였다.

렐러티비티는 자체 e디스커버리 플랫폼을 통해 고객 경험을 개선하기 위한 노력의 일환으로 마이크로소프트의 애저 클라우드 서비스의 서버리스 기술을 이용하고 있다. 해당 기업은 내부 모니터링 툴과 관련해 서버리스를 활용하여 사용자들이 대량의 원격 측정 데이터를 처리함으로써 신속하게 문제를 찾아 해결하고 있다.

서버리스 애플리케이션의 복잡성이 증가하는 상황에서 단위 시험이 개발 사이클의 필수적인 부분이 되었으며 자동화도 도움이 된다고 파파조프가 말했다. 그는 "마이크로소프트가 애저 펑션을 출시할 당시 단위 시험은 매우 어려운 일이었다. 그 이후로 발전해 이제는 프로젝트에 단위 시험을 매우 쉽게 추가할 수 있게 됐다"라고 말했다.

“현대적인 애플리케이션 아키텍처를 이해하라.”
관리자는 애플리케이션을 짧게 운용하며 독립적이고 분리된 서비스로 분리하는 것을 목표로 삼아야 한다는 조언이 있다. 카팔로는 "스테이트리스 애플리케이션을 설계하고 통신을 위한 API 관리와 사용자 신원을 위한 보안 기능 등의 뒷받침 서비스를 활용하라"라고 말했다.

예를 들어, 유입되는 트랜잭션을 처리하기 위해 연속적으로 작동하는 웹 애플리케이션 서버는 비즈니스 로직을 추출하여 분리하고 서버리스 프레임워크에서 마이크로서비스로 운용할 수 있다. 카발로는 "이를 통해 지속적인 서버 운용 비용이 사라지고 시스템 대체 작동 문제를 클라우드 제공자에게 맡길 수 있다"라고 전했다.

“사이버 보안의 우선순위를 높여라.”
서버리스를 통해 기업들은 서버 패치 또는 안티바이러스 소프트웨어 운영에 대해 걱정할 필요가 없을 수도 있다. 그러나 API에 기초한 서버리스 제공물은 솔루션의 엔드포인트를 급격하게 증가시킬 수 있다. 코어리스 "고객 또는 파트너가 API를 사용하는 경우 더 복잡해진다"라고 지적했다.

그 결과, 빠르게 처리할 수 없는 문제가 발생할 수 있기 때문에 기업들은 방화벽 규칙에 대한 접근방식을 바꾸어야 할 수도 있다고 코어리스는 덧붙였다. ciokr@idg.co.kr

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.