AWS) 서버리스 & 매니지드 서비스

2025. 1. 16. 19:59· 💻개발/AWS
목차
  1. 1. 매니지드 & 서버리스 비교 
  2. 2. Aurora Serverless 
  3. 3. DynamoDB
  4. 3.1. 설계
  5. 3.2. 조회 방법
  6. 4. Lambda  
  7. 4.1. 주요 특징
  8. 4.2 . 주요 제약사항
  9. 4.3. ColdStart
📢 본 내용은 원티드 프리온보딩 백엔드 챌린지 1월를 정리한 내용입니다. 

1. 매니지드 & 서버리스 비교 

- 매니지드 : 관리는 AWS가 해주지만 리소스는 계속 실행 중

- 서버리스 : 필요할 때만 실행되고, 실행한 만큼만 과금

 

리소스의 실행 상태(항시 실행 vs 필요시만 실행)

용량 관리 방식 (직접 선택 vs 자동 관리)

과금 방식 (시간 단위 vs 사용량 단위)

 

서버리스 단점

콜드스타트(ColdStart) : 추운 상태에서 시작함

cold : pc가 꺼진 상태hot : 사용 될 때 잠깐 켜져서 사용될 때까지 그래도 활성화된 상태warm : 아 이제 사용 안 하나 보다~ 하는 상태 

 

2. Aurora Serverless 

- AWS에서 자체 개발한 RDS

- PostgreSQL, MySQL 호환 가능

- 자동 스케일링(수용에 따라 자동으로 용량 조절)

- 최소 용량 설정 가능(완전히 끌 수는 없음)

- 사용량 기반 과금(단, 최소 용량만큼은 계속 과금)

 

언제 사용?

- 워크로드를 예측하기 어려운 애플리케이션

- 개발/테스트 환경(사용량이 불규칙할 때)

- 신규 서비스 (초기에는 작게 시작하고 자동으로 확장)

- 간헐적으로 사용되는 애플리케이션(비용 최적화 가능)

 

3. DynamoDB

AWS의 대표적인 NoSQL 데이터베이스 서비스 (Key-Value)

주요 특징

- 밀리초 단위의 매우 빠른 응답 속도

- 초당 수만건의 요청 처리 가능

- 자동 스케일링 지원

- 서버리스

 

주요 사용 용도

- 세션 관리

- IoT 데이터 처리

- 게임 사용자 점수 / 상태 관리 

 

3.1. 설계

Partition Key Sort Key
  • 데이터가 저장될 물리적 위치를 결정
  • 해시 함수를 통해 데이터 분산 저장
  • 테이블 내에서 고유해야 함 (복합키 사용 시 제외)
  • 예 : 사용자 ID, 주문 ID, 디바이스 ID
  • 파티션 내에서 데이터 정렬
  • 같은 파티션 키를 가진 항목들을 구분
  • 범위 검색 가능
  • 예 : 타임스탬프, 주문일자, 상태값

 

 

3.2. 조회 방법

쿼리(Query) 스캔(Scan)
  • 파티션 키를 기반으로 데이터를 조회
  • 소트 키 조건을 추가로 사용 가능
  • 특정 파티션 내에서만 데이터를 찾음
  • 빠르고 효율적인 조회 방식
  • 전체 데이블을 처음부터 끝까지 검색
  • 모든 데이터를 확인하면서 조건에 맞는 항목 찾음
  • 테이블이 크면 매우 비효율적
  • 리소스를 많이 사용하고 비용도 많이 발생

 

- DynamoDB의 과금 방식은 조회된 데이터 양에 따라서 받음

  따라서 전체 데이터를 훑는 스캔보다는 쿼리 사용하는 것이 낫다.  

 

 

4. Lambda  

AWS의 대표적인 서버리스 컴퓨팅 서비스

 

4.1. 주요 특징

- 함수 단위 실행 : 코드를 함수 형태로 등록, 이벤트 발생 시 자동으로 실행, 실행이 끝나면 자동으로 종료

- 자동 스케일링 : 동시 요청이 늘어나면 자동으로 확장, 요청이 줄어들면 자동으로 축소, 별도의 인프라 관리 불필요

- 이벤트 기반 실행 : ex ) API gateway의 HTTP 요청, SNS 메세지 수신, S3 파일 업로드, DynamoDB 테이블 변경

 

4.2 . 주요 제약사항

- 실행 시간 최대 15분

- 메모리 128MB ~ 10GB

- 임시 디스크 공간 (/tmp) 최대 10GB

- 동시 실행 수 제한 (기본 1000개)

ColdStart

 

4.3. ColdStart

Lambda 함수가 처음 실행되거나, 오랫동안 실행되지 않았을 때 발생하는 지연 시간

AWS가 컨테이너를 새로 생성하고 런타임을 초기화하는 시간이 필요

보통 수백 밀리초에서 몇 초까지 걸릴 수 있음

서버리스 서비스가 가지고 있는 공통적인 특성 

발생 원인 :

- 컨테이너 초기화

- 런타임 로드

- 코드 다운로드

- 함수 초기화 코드 실행

Node.js, Python 상대적으로 빠름, Java, .NET은 상대적으로 느림

Cold(꺼진 상태) -> Warm(약간 깬 상태) -> Hot(툭 치면 응답)

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'💻개발 > AWS' 카테고리의 다른 글

AWS) VPC와 구성요소  (0) 2025.01.09
AWS) Root, IAM, S3, CloudFront  (0) 2025.01.07
AWS) PuTTY이용해서 EC2 접속  (2) 2024.03.21
AWS)Cloudwatch를 활용한 EC2 리소스 사용 모니터링_PuTTY이용  (0) 2024.03.21
AWS) 일부 보안 그룹은 삭제할 수 없습니다.  (0) 2024.03.19
  1. 1. 매니지드 & 서버리스 비교 
  2. 2. Aurora Serverless 
  3. 3. DynamoDB
  4. 3.1. 설계
  5. 3.2. 조회 방법
  6. 4. Lambda  
  7. 4.1. 주요 특징
  8. 4.2 . 주요 제약사항
  9. 4.3. ColdStart
'💻개발/AWS' 카테고리의 다른 글
  • AWS) VPC와 구성요소
  • AWS) Root, IAM, S3, CloudFront
  • AWS) PuTTY이용해서 EC2 접속
  • AWS)Cloudwatch를 활용한 EC2 리소스 사용 모니터링_PuTTY이용
i_zzy
i_zzy
기록 겸 공부 블로그입니다. 문제를 해결해 나아가는 과정을 기록하고 있어요. 잘못된 부분이 있으면 자유롭게 댓글 달아 주세요👍
Izzy's blog기록 겸 공부 블로그입니다. 문제를 해결해 나아가는 과정을 기록하고 있어요. 잘못된 부분이 있으면 자유롭게 댓글 달아 주세요👍
i_zzy
Izzy's blog
i_zzy
전체
오늘
어제
  • 분류 전체보기 (94)
    • 💻개발 (29)
      • 개발지식 (0)
      • 프로그램 설치 (3)
      • Git (3)
      • 오류 (4)
      • JAVA (5)
      • SQL (2)
      • React,Vue (5)
      • AWS (6)
    • ⚙️알고리즘 (30)
      • SQL (3)
      • Java (15)
    • 🎥Back (29)
      • 자바의 정석 (29)
    • 🌤️일상 (5)
      • 초록 스터디 (5)

블로그 메뉴

  • 홈
  • 글쓰기
  • 관리

인기 글

태그

  • 자바의 정석
  • Java
  • 백준
  • AWS
  • 알고리즘
  • sql
  • 스레드
  • 프로그래머스
  • 자바의정석
  • 자바

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
i_zzy
AWS) 서버리스 & 매니지드 서비스
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.