데브옵스
데브옵스
시작하기

서버리스 컴퓨팅을 사용하면 서버를 고려하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있습니다. 서버리스 애플리케이션에서는 사용자가 서버를 프로비저닝, 확장 및 관리할 필요가 없습니다. 사실상 모든 유형의 애플리케이션 또는 백엔드 서비스를 서버리스로 구축할 수 있으며, 애플리케이션을 고가용성으로 실행하고 확장하는 데 필요한 모든 것이 자동으로 처리됩니다.

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

100x100_benefit_easy-setup

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

100x100_benefit_green

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

100x100_benefit_maintain-software-compliance1

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

KMS_Benefit_100x100_Low-Cost

유휴 용량에 대한 비용을 지불할 필요가 없습니다. 컴퓨팅이나 스토리지 등의 용량을 사전 프로비저닝하거나 오버 프로비저닝할 필요가 없습니다. 예를 들어 코드가 실행되지 않을 때는 비용이 부과되지 않습니다.

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

클라우드 로직 계층

상호 연결된 인프라 리소스 및 웹 API에 대한 제어 플레인 및 로직 계층으로 작동할 수 있는 AWS Lambda로 비즈니스 로직을 구동합니다.  

조율 및 상태 관리

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

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

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

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

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

개발자 에코시스템

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

통합 라이브러리

간편하게 유명 타사 서비스(예: 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 Lambda를 사용하면 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있습니다. 사용한 컴퓨팅 시간만큼만 비용을 지불하고, 코드가 실행되지 않을 때는 요금이 부과되지 않습니다. 코드를 업로드하기만 하면, Lambda에서 높은 가용성으로 코드를 실행 및 확장하는 데 필요한 모든 것을 처리합니다.

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

API 프록시

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

스토리지

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

데이터베이스

Amazon DynamoDB는 규모에 관계없이 10밀리초 미만의 지연 시간이 일관되게 요구되는 모든 애플리케이션을 위한 빠르고 유연성이 뛰어난 NoSQL 데이터베이스 서비스입니다. 또한, 완전 관리형 클라우드 데이터베이스로서 문서 모델과 키 값 스토어 모델을 모두 지원합니다.

메시징 및 대기열

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 및 챗봇 요청을 처리하는 서버리스 웹 애플리케이션 및 백엔드를 구축할 수 있습니다.

예: 웹 애플리케이션 레퍼런스 아키텍처: 다이어그램 | 샘플 코드

diagram_serverless-computing_weather-app

예: 모바일 백엔드 레퍼런스 아키텍처: 다이어그램 | 샘플 코드

diagram_serverless-computing_mobile-backend
Lambda_Bustle

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

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

예: 데이터 처리 레퍼런스 아키텍처: 다이어그램 | 샘플 코드

diagram_serverless-computing_image-thumbnail
R-Divider_Square-Enix_Logo

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


예: 실시간 스트리밍 데이터 레퍼런스 아키텍처: 다이어그램 | 샘플 코드 

diagram_serverless-computing_analysis-social-media
R-Divider_Thomson-Reuters_Logo

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