서버리스 프레임워크는 DevOps팀이 애플리케이션 개발에 필요한 기본 인프라를 관리할 필요 없이 코드를 구축하고 작성할 수 있도록 하는 서비스 집합입니다. 서버리스 개발에는 여전히 서버가 포함되지만, 클라우드 서비스 사업자가 프로비저닝, 설정, 유지 관리, 업데이트합니다.
서버리스 프레임워크는 자동으로 확장됩니다. 고객은 정해진 수의 서버를 예약하거나 비용을 지불하지 않고 필요한 컴퓨팅 양에 따라 요금이 부과됩니다. 컨테이너에 배포된 서버리스 앱은 호출될 때마다 자동으로 실행됩니다. 클라우드 서비스 사업자는 앱에 필요한 리소스가 있는지, DevOps팀이 원하는 대로 소프트웨어를 구축하고 실행할 수 있는지 확인해야 합니다.
일반적인 서버리스 프레임워크에는 AWS Lambda, Microsoft Azure Functions, Google Cloud Functions가 있습니다.
서버리스 컴퓨팅은 어떻게 작동할까요?
서버리스 프레임워크를 통해 개발자는 프론트엔드 애플리케이션 코드와 비즈니스 로직을 작성하고 클라우드 서비스 사업자가 관리하는 컨테이너에 배포합니다. 클라우드 공급업체는 코드가 실행될 때 온디맨드 방식으로 필요한 리소스를 프로비저닝하고 가동한 후, 실행이 중지되면 다시 0으로 축소하는 일을 담당합니다. 공급업체는 서버 설정, 패치 적용, 부하 분산, 기본 서버 인프라의 보안 관리와 관련된 모든 작업도 처리합니다.
일반적인 서버리스 사용 사례에는 비즈니스 프로세스 자동화, 챗봇, 미디어 처리, 사물 인터넷(IoT), 웹 애플리케이션용 API 구축 등이 있습니다.
FaaS(Function as a Service)란 무엇인가요?
FAAS는 개발자가 기본 인프라를 관리할 필요 없이 모듈식 코드 조각을 함수로 구축, 실행, 관리할 수 있는 클라우드 컴퓨팅 서비스의 한 종류입니다. 개발자는 FAAS를 통해 엣지와 온디맨드 방식으로 이벤트 트리거 애플리케이션을 실행해 애플리케이션이 실행되는 동안에만 서버 프로세스에 비용을 지불할 수 있습니다. 이러한 기능을 통해 코드를 쉽게 확장하고 마이크로서비스를 비용 효율적으로 구축할 수 있습니다.
서버리스 프레임워크의 장점은 무엇일까요?
서버리스 프레임워크는 대체 환경에 비해 DevOps팀에 상당한 이점을 제공합니다.
- 비용 절감. 서버리스 프레임워크는 애플리케이션을 실행하는 데 필요한 컴퓨팅 시간에 대해서만 요금을 부과하기 때문에 기업은 서버가 지속적으로 실행되고 지속적으로 관리되어야 하는 다른 클라우드 기반 서비스에 비해 비용을 적게 지불하게 됩니다.
- 간편한 확장성. 서버리스 프레임워크는 수요 급증과 새로운 비즈니스 기회를 수용할 수 있도록 쉽게 확장할 수 있으며, DevOps팀은 운영 확장에 따라 서버 또는 보안을 관리할 필요가 없습니다.
- 시장 출시 시간 단축. 서버리스 환경은 몇 분 또는 몇 시간 내에 프로비저닝할 수 있으므로 기업은 시장 출시 속도를 높일 수 있습니다.
- 지연 시간 감소. 서버리스 아키텍처를 사용하면 최종 사용자와 더 가까운 엣지 서버를 포함해 지연 시간을 최소화하는 모든 서버에서 코드를 실행할 수 있습니다.
- 유연성 향상. DevOps팀은 서버리스 플랫폼을 통해 모든 언어 또는 개발 프레임워크로 앱을 구축할 수 있습니다.
서버리스 프레임워크의 단점은 무엇일까요?
- 보안 문제. 클라우드 서비스 사업자는 서버리스 환경의 보안을 유지할 책임이 있기 때문에 기업은 보안에 대한 완전한 검색 노출도를 확보하지 못할 수 있습니다.
- 테스트 및 디버깅의 어려움. 개발자는 백엔드 프로세스에 대한 검색 노출도가 없기 때문에 코드 테스트와 디버깅이 더 복잡할 수 있습니다.
- 장기 실행 프로세스. 서버리스는 서비스를 수행한 후 중지되는 단기간 앱을 실행하는 데 이상적이지만, 서버리스 프레임워크에서는 더 오랜 기간 앱을 실행하는 것이 비용 효율적이지 않을 수 있습니다.
- 벤더사 종속 . 모든 기본 인프라에 대한 책임을 클라우드 서비스 사업자에 부여하면 필요한 경우 공급업체를 변경하기가 어려워질 수 있습니다.
서버리스와 IaaS, PaaS, BaaS의 차이점은 무엇일까요?
서버리스 프레임워크는 다른 클라우드 서비스 모델과 몇 가지 유사점이 있지만, 서버리스 프레임워크가 특정 상황에 더 적합하게 만드는 중요한 차이점이 있습니다.
- IaaS(Infrastructure as a Service). IaaS 제품을 통해 기업은 미래의 클라우드 리소스 요구사항을 선불 구매하고 교육을 받아야 하며, 이로 인해 과도한 프로비저닝, 낮은 사용률, 추가 비용이 발생할 수 있습니다. 반면 서버리스 프레임워크의 용량은 앱이 실행될 때만 소비되며, 앱이 완료되면 결제를 중단합니다.
- PaaS(Platform as a Service). 서버리스 프레임워크와 마찬가지로 PaaS 제품은 개발자가 백엔드를 관리할 필요 없이 애플리케이션 개발 툴에 대한 접속을 제공합니다. 그러나 PaaS 솔루션의 가격은 서버리스 솔루션만큼 정확하지 않으며 PaaS 제품은 쉽게 확장되지 않을 수 있습니다.
- BaaS(Backend as a Service). 서버리스 프레임워크와 마찬가지로 BaaS 솔루션은 개발자가 이러한 작업을 클라우드 서비스 사업자에 아웃소싱함으로써 서버와 백엔드 인프라 관리를 피할 수 있도록 지원합니다. 그러나 BaaS 솔루션은 서버리스 프레임워크만큼 자동으로 확장되지 않을 수 있습니다. 또한 BaaS 제품은 서버리스 솔루션과 같은 이벤트 중심이 아니기 때문에 서버 리소스를 더 많이 소비해 비용이 증가할 수 있습니다.
자주 묻는 질문(FAQ)
서버리스 컴퓨팅은 클라우드 서비스 사업자가 서버, 스토리지, 네트워킹 등의 컴퓨팅 인프라를 관리하고 인터넷을 통해 기업에 접속을 제공하는 클라우드 컴퓨팅 모델의 한 종류입니다. 고객은 온디맨드 방식의 사용량 기준 지불 방식으로 클라우드 리소스를 소비하며, 클라우드 공급업체는 서비스의 유지 관리, 업데이트, 보안을 책임집니다. 그러나 비즈니스 요구사항과 애플리케이션 요구사항이 변화함에 따라 고객은 더 많은 용량을 할당할 책임이 있습니다. 서버리스 컴퓨팅에서 클라우드 공급업체는 클라우드 인프라와 용량 계획을 모두 담당하여 고객이 필요에 따라 앱을 확장할 수 있는 충분한 용량을 확보하도록 보장합니다.
서버리스 보안은 기업이 서버리스 컴퓨팅 아키텍처를 보호하기 위해 배포하는 일련의 사례, 프로그램, 기술입니다. 서버리스 보안은 기업이 애플리케이션 보안을 바라보는 방식의 변화와 접속을 제어하고 다음과 같은 요소로부터 데이터를 보호하는 새로운 접근 방식을 요구합니다.
- 인풋이 악성인지 여부를 판단하지 않고 인풋을 전달하는 이벤트 데이터 인젝션
- 악의적인 공격자가 감염시킬 수 있는 과도한 권한
- 설정 오류로 인해 IT 환경이 공격에 노출됨
- 공격자가 인증 메커니즘의 약점을 악용해 무단 접속을 얻을 수 있는 손상된 인증
- 해커가 악용할 수 있는 취약점을 야기하는 안전하지 않은 코드
- 검색 노출도를 확보하기 어렵게 만드는 더 큰 공격 표면
- 민감한 데이터나 리소스에 리스크를 초래하는 써드파티 의존성
고객이 Akamai를 선택하는 이유
Akamai는 온라인 비즈니스를 지원하고 보호하는 사이버 보안 및 클라우드 컴퓨팅 기업입니다. 시장을 대표하는 보안 솔루션, 탁월한 위협 인텔리전스, 글로벌 운영팀이 모든 곳에서 기업 데이터와 애플리케이션을 보호하는 심층적 방어 기능을 제공합니다. Akamai의 풀스택 클라우드 컴퓨팅 솔루션은 세계에서 가장 분산된 플랫폼에서 성능과 경제성을 제공합니다. 글로벌 기업들은 자신감 있게 비즈니스를 성장시키는 데 필요한 업계 최고 수준의 안정성, 확장성, 전문성을 제공하는 Akamai를 신뢰합니다.