서버리스

서버는 고려하지 않고 애플리케이션 구축 및 실행

서버리스란 무엇입니까?

서버리스는 운영상의 책임을 AWS로 전환하여 민첩성과 혁신을 높일 수 있도록 하는 클라우드의 네이티브 아키텍처입니다. 서버리스를 사용하면 서버를 고려하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있습니다. 서버 또는 클러스터 프로비저닝, 패치 적용, 운영 체제 유지 관리 및 용량 프로비저닝과 같은 인프라 관리 작업을 덜어냅니다. 거의 모든 유형의 애플리케이션 또는 백엔드 서비스를 서버리스로 구축할 수 있으며, 애플리케이션을 고가용성으로 실행하고 확장하는 데 필요한 모든 것이 자동으로 처리됩니다.

서버리스를 사용하는 이유는 무엇입니까?

서버리스를 통해 증가된 민첩성과 낮은 총 소유 비용을 통해 최신 애플리케이션을 빌드할 수 있습니다. 서버리스 애플리케이션을 빌드한다는 것은 개발자가 클라우드나 온프레미스의 서버 또는 런타임 관리와 운영에 대해 걱정하기보다는 핵심 제품에 집중할 수 있다는 뜻입니다. 이렇게 오버헤드가 줄어들면 개발자가 시간과 에너지를 확장 가능하고 안정적인 훌륭한 제품을 개발하는 데 사용할 수 있습니다.

서버리스의 이점은 무엇입니까?

서버리스의 주요 이점은 4가지입니다.

서버 관리 불필요

유연한 확장성

종량제 요금

자동화된 고가용성

서버를 프로비저닝하거나 유지 관리할 필요가 없습니다. 설치, 유지 또는 관리할 소프트웨어나 런타임이 없습니다. 

애플리케이션은 자동으로 확장될 수 있고, 개별 서버 단위가 아니라 사용 단위(예: 처리량, 메모리)를 설정/해제하여 용량을 조정할 수도 있습니다.

서버 단위가 아닌 일관된 처리량 또는 실행 기간에 대해 요금을 지불합니다.

서버리스는 내장된 가용성과 내결함성을 갖추고 있습니다. 애플리케이션을 실행하는 서비스에서 기본적으로 이를 제공하므로 이러한 기능을 설계할 필요가 없습니다.

사례 연구

Coca Cola

미국의 다국적 음료 회사 Coca-Cola Company는 AWS Lambda 및 AWS Step Functions를 사용하여 경제적인 서버리스 솔루션을 구축했습니다.

블로그 읽기 »

finra logo(1)

FINRA는 매일 최대 750억 건의 시장 이벤트를 분석하여 사기 및 내부자 거래를 파악하는 등 미국 내 증권 중개인 및 딜러를 감독합니다.

더 보기 »

iRobot

선도적인 글로벌 가정용 로봇 기업인 iRobot은 AWS Lambda 및 AWS IoT를 사용하여 새로운 WiFi 연결 Roomba 진공청소기에 연결하는 웹 애플리케이션을 실행합니다.

더 보기 »

600x400_Autodesk_Logo

Autodesk는 AWS Lambda를 사용하여 IT 운영을 자동화하고, 인프라 관리에 필요한 시간과 비용을 최소화합니다.

더 보기 »

AWS 서버리스 플랫폼의 기능

대규모로 실행할 수 있는 서버리스 애플리케이션을 제공하려면 광범위한 기능을 갖춘 플랫폼이 필요합니다. 다음은 AWS에서 엔터프라이즈급 서버리스 애플리케이션을 지원하는 방법입니다.

클라우드 로직 계층

상호 연결된 인프라 리소스 및 웹 API에 대한 제어 플레인 및 로직 계층으로 작동할 수 있는 AWS Lambda로 비즈니스 로직을 구동합니다. AWS Fargate를 사용하여 모든 인프라를 관리할 필요 없이 프로덕션 수준의 컨테이너화된 애플리케이션 및 마이크로서비스를 정의, 오케스트레이션 및 실행합니다. 

오케스트레이션 및 상태 관리

AWS Step Functions를 사용하여 서버리스 애플리케이션의 각 분산된 구성 요소 또는 마이크로서비스의 상태를 조정하고 관리합니다.

응답성이 우수한 데이터 원본

실시간으로 데이터를 처리하고 이벤트를 트리거하는 데 사용할 수 있는 광범위한 데이터 원본 및 공급업체 중에서 선택합니다. 응답성이 우수한 데이터 원본의 목록은 설명서를 참조하십시오.

애플리케이션 모델링 프레임워크

오픈 소스 AWS Serverless Application Model을 사용하여 서버리스 애플리케이션 및 서비스를 모델링하고 배포합니다. AWS CodePipeline, AWS CodeBuild와 같은 애플리케이션 수명 주기 관리 도구를 사용하여 서버리스 애플리케이션을 지속적으로 제공합니다.

개발자 에코시스템

개발에서 프로덕션까지 코드의 구축, 테스트 및 배포를 간소화해주는 타사 도구 및 오픈 소스 프로젝트의 에코시스템을 활용합니다. 개발자 도구 페이지로 이동하거나 타사 도구를 위한 에코시스템 페이지를 참조하십시오.

애플리케이션 및 통합 라이브러리

AWS Serverless Application Repository를 사용하여 웹 및 모바일 백엔드, 챗봇, IoT, Alexa Skill, 데이터 처리, 스트림 처리 등 다양한 사용 사례를 위한 서비리스 애플리케이션 및 애플리케이션 구성 요소를 빠르게 찾고 배포할 수 있습니다. 또한 널리 사용되는 타사 서비스(Slack, Algorithmia, Twilio, Loggly, Splunk, Sumo Logic, Box 등)와의 통합 기능을 확인할 수도 있습니다.

보안 및 액세스 제어

로깅, 변화 추적, 액세스 제어, 암호화를 사용하여 규정 준수를 강화하고 전체 IT 환경을 보호합니다. AWS Identity and Access Management(IAM)를 사용하여 AWS 리소스에 대한 액세스를 안전하게 제어합니다. Amazon Cognito를 사용하여 서버리스 애플리케이션의 최종 사용자를 관리하고 인증합니다. Amazon Virtual Private Cloud(VPC)를 사용하여 독점적으로 액세스할 수 있는 프라이빗 가상 네트워크를 생성합니다.

안정성 및 성능

AWS는 엔터프라이즈 규모 성능을 제공하는 저렴하게 확장 가능한 고가용성 서비스를 제공합니다. AWS Lambda는 배달 못한 편지 대기열, 자동 재시도와 같은 기본 기능을 통해 안정적으로 비즈니스 로직을 실행합니다. AWS를 사용하여 해당 애플리케이션을 실행하는 방법을 알아보려면 고객 사례를 참조하십시오.

글로벌 확장 및 지원

AWS의 글로벌 지원을 이용하여 애플리케이션과 서비스를 전 세계로 확장합니다. AWS Lambda는 여러 AWS 리전에서, 그리고 Lambda@Edge를 통해 모든 AWS 엣지 로케이션에서 사용할 수 있습니다. 또한 AWS Greengrass를 사용하여 연결된 로컬 디바이스에서 Lambda 기능을 실행할 수도 있습니다.

AWS 서버리스 플랫폼

AWS에서는 서버리스 애플리케이션을 구축 및 실행하는 데 사용할 수 있는 일련의 완전 관리형 서비스를 제공합니다. 서버리스 애플리케이션은 컴퓨팅, 데이터베이스, 스토리지, 스트림 처리, 메시지 대기열 등의 백엔드 구성 요소를 위한 서버를 프로비저닝, 유지 및 관리할 필요가 없습니다. 그뿐만 아니라 더는 애플리케이션 내결함성 및 가용성에 관해 걱정할 필요가 없습니다. AWS가 이러한 모든 기능을 대신 처리합니다. 이를 통해 제품 출시 시간을 단축하면서 제품 혁신에 집중할 수 있습니다.

컴퓨팅

AWS Lambda를 사용하면 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있습니다. 사용한 컴퓨팅 시간만큼만 비용을 지불하고, 코드가 실행되지 않을 때는 요금이 부과되지 않습니다. 

Lambda@Edge를 사용하면 Amazon CloudFront 이벤트에 대한 응답으로 AWS 엣지 로케이션에서 Lambda 함수를 실행할 수 있습니다.

AWS Fargate는 컨테이너용으로 특별히 빌드된 서버리스 컴퓨팅 엔진입니다. Fargate는 컨테이너 실행에 필요한 인프라를 조정 및 관리합니다.

스토리지

Amazon Simple Storage Service(Amazon S3)는 개발자와 IT 팀에 안전하고 안정성과 확장성이 뛰어난 객체 스토리지를 제공합니다. Amazon S3는 간단한 웹 서비스 인터페이스를 통해 웹 어디서나 원하는 양의 데이터를 저장 및 검색할 수 있으므로 사용하기가 쉽습니다.

Amazon Elastic File System(EFS)은 간단하고 확장 가능하며 탄력적인 파일 스토리지를 제공합니다. 수요에 따라 탄력적으로 크기를 조정하여 파일을 추가 또는 제거할 때 자동적으로 확장 또는 축소되도록 빌드되었습니다. 

데이터 스토어

Amazon DynamoDB는 규모에 관계없이 10밀리초 미만의 지연 시간이 일관되게 요구되는 모든 애플리케이션을 위한 빠르고 유연성이 뛰어난 NoSQL 데이터베이스 서비스입니다.

Amazon Aurora 서버리스Amazon Aurora(MySQL 호환 에디션)를 위한 온디맨드 Auto Scaling 구성입니다. 이를 통해 데이터베이스를 자동으로 시작 및 종료하고, 애플리케이션의 필요에 따라 용량을 늘리거나 줄일 수 있습니다.

API 프록시

Amazon API Gateway는 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보호할 수 있도록 지원하는 완전관리형 서비스입니다. Amazon API Gateway를 통해 수십만 개의 동시 API 호출을 처리하고 트래픽 관리, 권한 부여 및 액세스 제어, 모니터링 및 API 버전 관리를 처리할 수 있습니다.

프로세스 간 메시징

Amazon SNS는 마이크로 서비스, 분산 시스템 및 서버리스 애플리케이션을 쉽게 분리하고 확장할 수 있게 해주는 완전 관리형 게시/구독 메시징 서비스입니다.

Amazon SQS는 마이크로 서비스, 분산 시스템 및 서버리스 애플리케이션을 쉽게 분리하고 확장할 수 있게 해 주는 완전 관리형 메시지 대기열 서비스입니다.  

오케스트레이션

AWS Step Functions를 사용하면 시각적 워크플로를 사용해 분산 애플리케이션 및 마이크로서비스의 구성 요소를 손쉽게 조정할 수 있습니다. 각각 기능을 수행하는 개별 구성 요소를 사용하여 애플리케이션을 구축하면 애플리케이션을 빠르게 확장하거나 변경할 수 있습니다. Step Functions는 애플리케이션의 기능을 통해 구성 요소와 단계를 조정할 수 있는 안정적인 방법입니다.

분석

Amazon Kinesis는 AWS의 스트리밍 데이터를 위한 플랫폼으로서, 스트리밍 데이터를 손쉽게 로드 및 분석할 수 있는 강력한 서비스를 제공하고, 특정 요구에 맞게 사용자 지정 스트리밍 데이터 애플리케이션을 구축할 수 있는 기능을 제공합니다.

Amazon Athena는 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스입니다. Athena는 서버리스 서비스이므로 인프라를 관리할 필요 없이 실행한 쿼리에 대해서만 비용을 지불하면 됩니다.

개발자 도구

AWS에서는 개발자가 서버리스 애플리케이션 개발 프로세스에 사용할 수 있는 도구와 서비스를 제공합니다. AWS와 AWS 파트너 에코시스템은 지속적 통합 및 전달, 테스트, 배포, 모니터링 및 진단, SDK, 프레임워크, 통합 개발 환경(IDE) 플러그인을 위한 도구를 제공합니다.

자세히 알아보기 »

서버리스 애플리케이션 사용 사례

서버리스 아키텍처를 사용하여 거의 모든 유형의 애플리케이션 또는 백엔드 서비스를 구축합니다. 다음은 두 가지 사용 사례입니다.


웹 애플리케이션 및 백엔드

AWS Lambda, Amazon API Gateway, Amazon S3 및 Amazon DynamoDB를 사용하여 웹, 모바일, 사물 인터넷(IoT) 및 챗봇 요청을 처리하는 서버리스 웹 애플리케이션 및 백엔드를 구축할 수 있습니다.

예: 날씨 애플리케이션

참조 아키텍처: 샘플 코드

AWS Lambda 웹 백엔드

예: 소셜 미디어 앱에 대한 모바일 백엔드

참조 아키텍처: 샘플 코드

AWS Lambda 모바일 백엔드
Bustle_logo2

Bustle은 AWS Lambda와 Amazon API Gateway를 사용하여 Bustle iOS 앱 및 웹 사이트에 대해 서버리스 백엔드를 실행합니다. 서버리스 아키텍처를 사용하여 인프라 관리를 수행할 필요가 전혀 없으므로 Bustle의 모든 엔지니어는 새로운 기능 개발 및 혁신에 집중할 수 있습니다. 사례 연구 읽기 »


데이터 처리

AWS Lambda, Amazon Kinesis, Amazon S3 및 Amazon DynamoDB를 사용하여 다양한 실시간 데이터 처리 시스템을 구축할 수 있습니다.

예: 이미지 썸네일 생성

참조 아키텍처: 샘플 코드

AWS Lambda 파일 처리
square-enix_logo

Square Enix는 AWS Lambda를 사용하여 대규모 멀티플레이어 온라인 게임의 이미지 처리를 실행합니다. Lambda를 사용해 평상시 트래픽 대비 최대 30배로 급증하는 트래픽을 안정적으로 처리할 수 있었습니다. 또한, 이미지 처리에 필요한 시간이 몇 시간에서 단 10초로 줄었으며 이에 따라 인프라와 운영 비용이 절감되었습니다. 사례 연구 읽기 »

예: 스트리밍 소셜 미디어 데이터 분석

참조 아키텍처: 샘플 코드

AWS Lambda 스트림 처리
Thomson_Reuters_logo2

Thomson Reuters는 서버리스 아키텍처를 사용하여 자사의 사용 분석 서비스를 위해 초당 최대 4,000개의 이벤트를 처리합니다. 이 서비스는 평상시 트래픽 대비 2배로 급증하는 트래픽을 안정적으로 처리하며 내구성이 매우 뛰어납니다. 이 기업은 AWS를 사용한 지 5개월 만에 서비스를 프로덕션에 배포했습니다. 사례 연구 읽기 »

서버리스 시작하기

icon1

AWS 계정 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다.
icon2

단계별 자습서로 알아보기

간단한 자습서를 통해 자세히 알아보십시오.
icon3

서버리스 애플리케이션 구축

AWS Serverless Application Repository에서 인기 있는 사용 사례에 대한 애플리케이션을 찾아 보십시오.

서버리스 애플리케이션 구축에 대해 자세히 알아보기

리소스 페이지로 이동하기
시작할 준비가 되셨습니까?
AWS Serverless Application Repository 시작하기
질문이 있으십니까?
AWS에 문의하기