서버리스 컴퓨팅 시작하기
개발자 도구
프레임워크
서버리스 애플리케이션 개발과 배포를 간소화하는 다양한 AWS, 오픈 소스 및 타사 웹 프레임워크 중에서 선택할 수 있습니다. 이러한 인기 프레임워크는 여러 언어에서 지원됩니다.
- AWS Serverless Application Model(AWS SAM)은 서버리스 애플리케이션을 구축하기 위한 오픈 소스 프레임워크입니다. 함수, API, 데이터베이스 및 이벤트 소스 매핑을 표현하기 위한 약어 구문을 제공합니다.
- AWS Cloud Development Kit(AWS CDK)는 익숙한 프로그래밍 언어를 사용하여 클라우드 애플리케이션 리소스를 정의할 수 있는 오픈 소스 소프트웨어 개발 프레임워크입니다.
- 서버리스 프레임워크 - 서버리스 프레임워크는 오픈 소스 CLI와 호스트된 대시보드로 구성됩니다. 또한 서버리스 애플리케이션 수명 주기 관리를 완벽하게 제공합니다.
- serverless.tf - Terraform을 사용하여 AWS에서 서버리스 애플리케이션과 인프라를 개발, 구축, 배포, 보안하기 위한 오픈 소스 프레임워크입니다.
- Chalice는 Python으로 서버리스 앱을 작성하기 위한 프레임워크입니다. 이 기능을 사용하면 AWS Lambda를 사용하는 애플리케이션을 신속하게 만들고 배포할 수 있습니다.
- Arc.code는 로우 코드, 명확하고 간결한 구성, 제로 세레모니를 사용하여 대규모로 확장 가능한 서버리스 앱을 구축하는 데 필요한 모든 것을 제공합니다.
- Claudia.js를 사용하면 Node.js 프로젝트를 AWS Lambda 및 API Gateway에 쉽게 배포할 수 있습니다.
지속적인 통합 및 배포
AWS 개발자 도구 및 서드 파티 도구를 사용하여 서버리스 애플리케이션을 위한 지속적 통합 및 지속적 전달(CI/CD) 워크플로를 구축할 수 있습니다.
- AWS CodeCommit은 프라이빗 Git 리포지토리를 호스팅하는 안전하고 확장성이 뛰어난 관리형 소스 제어 서비스입니다.
- AWS CodePipeline은 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리스 파이프라인을 자동화하도록 지원하는 완전관리형의 지속적 전달 서비스입니다.
- AWS CodeBuild는 소스 코드를 컴파일하는 단계부터 테스트 실행 후 소프트웨어 패키지를 개발하여 배포하는 단계까지 마칠 수 있는 완전관리형의 지속적 통합 서비스입니다.
- AWS CodeDeploy는 Amazon EC2, AWS Fargate, AWS Lambda 및 온프레미스 서버와 같은 다양한 컴퓨팅 서비스에 대한 소프트웨어 배포를 자동화하는 완전관리형 배포 서비스입니다.
- AWS CodeArtifact는 규모에 관계없이 모든 조직이 소프트웨어 개발 프로세스에서 사용되는 소프트웨어 패키지를 안전하게 저장, 게시 및 공유할 수 있도록 지원하는 완전관리형 아티팩트 리포지토리 서비스입니다.
- Stackery는 최신 애플리케이션을 설계, 개발 및 제공하기 위한 서버리스 플랫폼입니다.
모니터링, 로깅 및 진단
AWS 서비스와 서드 파티 도구를 사용하여 서버리스 애플리케이션과 AWS Lambda 함수의 성능을 모니터링하고 문제를 해결할 수 있습니다.
- AWS X-Ray는 개발자가 마이크로 서비스 아키텍처를 사용해 구축된 애플리케이션과 같은 프로덕션 분산 애플리케이션을 분석하고 디버깅하는 데 도움이 됩니다.
- Amazon CloudWatch는 DevOps 엔지니어, 개발자, SRE(사이트 신뢰성 엔지니어) 및 IT 관리자를 위해 구축된 모니터링 및 관찰성 서비스입니다.
- AppDynamics - AWS Lambda 모니터링 확장 기능은 Amazon CloudWatch에서 람다 통계를 캡처하여 AppDynamics 지표 브라우저에 표시합니다.
- Dashbird - AWS Lambda 애플리케이션에 대한 엔드 투 엔드 관찰성과 실시간 오류를 추적합니다.
- DataDog - 서버리스 애플리케이션에서 성능 문제를 탐지하고 해결합니다.
- Lumigo - 서버리스 및 마이크로서비스에 대한 모니터링 및 디버깅 플랫폼입니다.
- New Relic - New Relic Serverless를 사용해 AWS Lambda 함수에 대한 모니터링, 시각화, 문제 해결 및 알림 서비스를 제공합니다.
- Splunk - 단일 플랫폼에서 전체 스택을 모니터링, 탐색하고 문제를 해결합니다.
- Thundra - AWS 클라우드에서 최신 마이크로서비스를 디버그, 테스트, 제공 및 모니터링합니다.
작성 및 배포
IDE 플러그인을 사용하면 기존 통합 개발 환경(IDE) 내에서 AWS Lambda 함수용 코드를 작성할 수 있습니다.
- IDE 도구 키트 - 원하는 프로그래밍 언어에서 손쉽게 AWS 기반 애플리케이션을 개발할 수 있습니다.
- AWS SAM CLI는 SAM 템플릿으로 정의된 애플리케이션을 로컬로 빌드, 테스트, 디버그 및 배포할 수 있는 Lambda와 유사한 실행 환경을 제공합니다.
- AWS Cloud9은 브라우저만으로 코드를 작성, 실행 및 디버깅할 수 있는 클라우드 기반 통합 개발 환경(IDE)입니다. 여기에는 코드 편집기, 디버거 및 터미널이 포함되어 있습니다.
- PowerShell 도구를 사용하면 개발자 및 관리자가 PowerShell 스크립팅 환경에서 AWS 서비스와 리소스를 관리할 수 있습니다.
설명서
블로그 시리즈 시작하기
무료 학습 및 교육
고객 제작 도구
서버리스 프레임워크, 애플리케이션, 솔루션을 구축한 주요 기업의 오픈 소스 도구에 액세스하여 데이터 처리 방식을 개선하고, 부하 테스트를 실행하며, 각 팀의 서버리스 프로젝트를 관리하고, 내부 서버리스 도입을 가속화할 수 있습니다. 서버리스 애플리케이션을 위한 더 많은 오픈 소스 및 서드 파티 개발자 도구를 찾고 싶다면 서버리스 개발자 도구 페이지를 방문하세요.
Airbnb의 StreamAlert
StreamAlert는 서버리스 실시간 데이터 분석 프레임워크로, 사용자가 정의한 다양한 소스 및 경고 로직의 데이터를 수집, 분석 및 경고할 수 있는 기능을 제공합니다.
Capital One의 Cloud Custodian
Cloud Custodian은 퍼블릭 클라우드 계정 및 리소스를 관리하기 위한 규칙 엔진입니다. 이를 통해 사용자는 잘 관리되는 클라우드 인프라를 지원하는 정책을 정의하고 임시 스크립트를 간단하고 유연한 도구로 통합할 수 있습니다.
Coinbase의 Odin & Fenrir
Odin을 사용하면 12팩터 애플리케이션을 AWS에 배포할 수 있습니다. Fenrir는 서버리스 프로젝트를 관리하고 팀과 조직 전체에서 서버리스를 확장하도록 지원하는 안전한 AWS SAM 배포자입니다.
Edmunds의 ShadowReader
ShadowReader는 액세스 로그의 트래픽 패턴을 수집하여 원하는 대상으로 프로덕션 트래픽을 재생하는 로드 테스트 도구입니다.
Nextdoor의 Bender
Bender는 AWS Lambda에서 서버리스 ETL 함수를 생성하기 위한 확장 가능한 Java 프레임워크를 제공합니다. Bender는 ETL 프로세스의 모든 측면을 위한 모듈을 빌드하는 데 필요한 인터페이스를 제공합니다.
T-Mobile의 Jazz
Jazz는 엔터프라이즈 내에서 서버리스 기술 채택을 가속화하는 서버리스 개발 플랫폼입니다. Jazz는 함수, API 및 정적 웹 사이트를 빌드하는 데 도움이 될 수 있으며 기본적으로 CI 및 CD와 함께 제공됩니다.