[AWS] AWS Serverless 환경 구축하기

겸구미·2023년 9월 11일

AWS

목록 보기
1/3

AWS Serverless

서버 없이 간단한 어플리케이션 만들기

서버리스란?

Pysical machines -> Virtual machines -> containerization -> Serverless (AWS Lambda, AWS fargate)

원래는 데이터센터에서 물리적인 머신에서 서버를 구축해서 사용 -> 비효율적 측면이 있다. (사용하지 않을때나 같은 서비스를 돌리고 싶을때 까다로울 수 있음)

서버리스 장점
  • 서버 관리 필요 없음

  • 사용한 만큼만 지불

  • 요청에 맞게 스케일링

  • 높은 보안 수준

  • COMPUTE
    - AWS Lambda

    • AWS Fargate
  • DATA STORES
    - AWS S3

    • AWS Aurora Services
    • AWS Dynamo DB
  • INTEGRATION
    -

    • AWS API Gateway
    • AWS SQS
    • AWS SMS

AWS Lambda

  • 불필요한 서버 관리
  • 자동 확장
  • 고가용성 및 보안
  • 사용한 만큼만 지불

이벤트 소스 -> 함수 -> 서비스(DB/Cloud)

  • 이벤트 소스 : 데이터 상태 변화, 엔드포인트 요청, 리소스 상태 변화
  • 람다를 배치서비스처럼 사용 가능 (시간 설정 및 자동으로 서비스 돌리기 가능)
  • 많은 언어로 제공

람다 사용 사례

코드로 표현 가능한 모든 것

  • Web Appes
  • Backend
  • Data Processing
  • Chatbots
  • Amazon Alexa
  • IT Automation

Amazon API Gateway

API 기반 아키텍처의 관문
규모와 관계없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스

API Gateway를 사용하면 실시간 양방향 통신 애플리케이션이 가능하도록 하는 RESTful API 및 WebSocket API를 작성할 수 있다. API Gateway는 컨테이너식 서버리스 워크로드 및 웹 애플리케이션을 지원한다.

Cloud -> Amazon API Gateway -> lambda/on-premise -> DB

Client <-> Amazon API Gateway <-> Client

  • 첫번째 연결 : RESTful (HTTP APIs & REST APIs)
  • 두번째 연결 : WebSocket APIs

Amazon DynamoDB

대규모 성능에 최적화된 완전 관리형 NoSQL 데이터베이스 서비스

  • 서버리스
  • 높은 성능
  • 보안 및 액세스

Core Concepts - Tables, Items, Attributes, Indexes

Tables : Items의 collection
Items : Attributes의 collection 또는 key / value pairs

Primary Key = Partitions Key(index) + Sort Key(id)

SQL vs NoSQL

  • SQL : 수직적 확장 (성능 문제, 물리적 한계)
  • NoSQL : 다수의 샤드로 수평적 확장 (데이터 분산, read/write나 수평수직 확장 생각 안해도 성능 확장 가능)
profile
머신learning

0개의 댓글