-
Notifications
You must be signed in to change notification settings - Fork 0
KR_Cloud_Native
somaz edited this page Mar 30, 2026
·
1 revision
클라우드 네이티브 애플리케이션은 처음부터 클라우드 컴퓨팅 아키텍처의 확장성, 탄력성, 유연성을 활용하도록 설계되었다. 이는 퍼블릭, 프라이빗, 하이브리드 클라우드와 같은 역동적인 환경에서 확장 가능한 애플리케이션을 구축하고 실행하는 데 초점을 맞춘 기술 모음을 활용한다. 클라우드 네이티브 애플리케이션은 애플리케이션이 실행되는 위치뿐만 아니라 애플리케이션이 구축, 배포 및 운영되는 방식에 관한 것이다. 마이크로서비스, 컨테이너, DevOps 및 탄력성을 강조하는 클라우드 네이티브 개발은 클라우드 컴퓨팅의 이점을 극대화하여 보다 민첩하고 확장 가능하며 안정적인 소프트웨어를 달성하는 것을 목표로 한다.
- Designed for the Cloud
- Microservices Architecture
- Containers
- DevOps and Continuous Delivery
- Scalability
- Resilience and Fault Tolerance
- API-based Communication
- Infrastructure as Code (IaC)
서버리스 컴퓨팅은 클라우드 제공 업체가 서버의 할당 및 프로비저닝을 동적으로 관리하는 클라우드 컴퓨팅 실행 모델이. 서버리스 아키텍처를 사용하면 사용자는 기본 인프라에 대해 걱정하지 않고 코드를 작성하고 배포할 수 있다. "서버리스"라는 이름은 다소 오해의 소지가 있지만, 서버는 여전히 사용되지만 개발자가 이러한 서버의 관리에 대해 걱정할 필요가 없다는 뜻이다.
- 이벤트 주도: 서버리스 애플리케이션은 종종 이벤트 주도적이며, 다양한 클라우드 서비스(예: HTTP 요청, 파일 업로드, 데이터베이스 이벤트)에서 이벤트 또는 트리거에 응답하여 실행된다.
- 확장성: 애플리케이션 수요에 따라 자동으로 확장되며, 하루에 몇 번의 요청에서 초당 수천 번의 요청까지 처리할 수 있다.
- 사용량 기반 비용: 애플리케이션에 의해 실제로 소비된 자원의 양에 기반한 비용이 청구되며, 용량의 사전 구매 단위에 대한 비용이 아니다.
- 서버 관리 불필요: 개발자는 서버를 프로비저닝하거나 유지 관리할 필요가 없다. 클라우드 제공 업체가 모든 서버 관리 작업을 처리한다.
- 비용 효율적: 코드가 실행되지 않을 때는 비용이 청구되지 않으므로, 실제 계산 시간에 대해서만 비용을 지불한다.
- 확장성: 애플리케이션의 필요에 따라 인프라가 자동으로 확장되거나 축소된다.
- 웹 애플리케이션: API 요청 또는 웹 애플리케이션의 백엔드 서비스 제공.
- 데이터 처리: 데이터베이스 변경 이벤트 처리, 데이터 스트림 처리, 파일 업로드 처리.
- 통합: 제3자 서비스 및 API와의 연결 및 확장.
주요 서버리스 컴퓨팅 제공업체로는 다음이 있다.
- AWS Lambda
- Azure Functions
- Google Cloud Functions
- IBM Cloud Functions
현재 시간을 반환하는 간단한 서버리스 함수(AWS Lambda in Python) 예시:
import json
import datetime
def lambda_handler(event, context):
current_time = datetime.datetime.now().isoformat()
return {
'statusCode': 200,
'body': json.dumps({'current_time': current_time})
}