[AWS] EC2와 Lambda

nbac406·2023년 5월 31일
0

AWS

목록 보기
3/6

aws를 시작함에 앞서 EC2와 Lambda 모두 클라우딩 컴퓨팅 서비스이지만 주요 차이점에 대해서 알아봄

EC2와 Lambda 차이점

1. 관리방식

EC2

  • 가상 서버 인스턴스를 제공하고 인스턴스의 운영체제(OS)를 선택하고, 해당 인스턴스를 관리하고 유지보수 필요

Lambda

  • 서버리스 컴퓨팅 서비스로, 사용자가 인프라를 관리할 필요없이 코드를 실행 가능
  • 함수(코드)를 작성하고 업로드 한 후, 해당 함수를 이벤트가 발생할 때 자동으로 실행하게 함

서버리스(serverless)란?

애플리케이션 개발 및 배포를 위해 서버 관리 작업을 최소화하는 개발 및 배포 모델

  • 서버 인프라를 프로비저닝하거나 관리할 필요 없이 코드를 실행 가능한 모델
  • 이를 통해 개발자는 애플리케이션 개발에 집중가능하며, 인프라 관리에 소요되는 시간과 비용을 절감 가능
  • 사용자의 요청(이벤트)이 발생할 때마다 해당 함수를 자동으로 실행하여 필요한 데이터를 처리하고 응답

즉, Lambda는 인프라를 지속해서 조정할 필요없이 잘 구성된 코드만으로 서버를 자동으로 운영하는 컴퓨팅 모델이다.

2. 비용모델

EC2

  • EC2는 인스턴스의 크기, 용량 및 사용 시간에 따라 비용을 청구
  • 실행 및 중지&종료에 따라 비용 절감 가능

Lambda

  • 코드 실행 시간과 실행된 요청 수에 따라 비용을 청구
  • 코드가 실행되면 비용이 발생하고 실행되지 않으면 비용 발생하지 않음

3. 확장성

EC2

  • 수평 및 수직확장 가능(수동)

Lambda

  • 코드 실행 및 요청수에 따라 자원 확장(자동)
  • 확장성 걱정이 없음

■ 수평 및 수직확장이란

수평확장

  • 서버 인스턴스의 수를 증가하여 시스템의 전체 처리량을 증가시키는 방법
  • 예시 : 웹 애플리케이션의 트래픽이 증가되어 단일 EC2인스턴스로 처리가 불가한 경우, 추가적인 인스턴스를 프로비저닝하여 트래픽을 분산

수직확장

  • 서버 인스턴스의 성능 및 용량을 확장시키는 방법
  • 예시 : 단일 EC2인스턴스의 리소스(CPU, 메모리 등)가 부족하여 해당 인스턴스를 업그레이드 하여 더 많은 리소스를 할당

4. 사례

EC2

  • 애플리케이션, 웹 서버, DB서버 등의 전통적 서버 기반 애플리케이션에 적합
  • 사용자가 직접 서버를 관리 및 제어에 적합한 컴퓨팅 서비스

Lambda

  • 이벤트 기반 아키텍처, 마이크로 서비스, 서버리스 애플리케이션
  • 특정 이벤트 기반에 적합한 컴퓨팅 서비스

5. 결론

EC2

  • 가상 서버 인스턴스를 제공하고 관리가 필요한 클라우드 컴퓨팅 서비스

Lambda

  • 코드 실행 및 자동으로 실행가능한 서버리스 아키텍처의 구조를 지닌 컴퓨팅 서비스

0개의 댓글