ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS - AWS Lambda
    IT/AWS 2020. 4. 23. 17:29
    반응형

    AWS Lambda에 대한 내용 끄적끄적.. 

    AWS는 보면 볼수록 참 잘만들었다는 생각이 들고 너무 신기하다. 

    누가 이런 생각을 했고 이렇게 만들었을까 라는 생각이 많이 들며 혁신적이라는 생각이 든다.

     

    근래에 본 서비스들은 Client - Server 구조로 되어 있어 설정을 변경하기에도 어려웠고, 많은 인력이 필요 했으며 시간도 많이 필요했다. 

    나의 고정관념을 깨준 것 같다.

     

    서버리스 아키텍처 (AWS Lambda, AWS API Gateway)

     

    근래의  서비스들은 Client - Server 구조로 되어 있다. 네트워크를 통해 다양한 데이터를 주고 받고, 사용자에게 맞춤형 데이터를 제공하기 위해서는 Server라는 존재가 필수적이다.

    Server는 Client의 요청에 따라 데이터베이스에서 사용자가 원하는 데이터를 가공하여 보여주며, 서비스에서 중추 역할을 한다. 즉, 관리하기 번거로우며 시간이 많이 필요하다.

    하지만 AWS Lambda는 직접 운영하는 Server 없이 사용자의 요청을 처리할 수 있는 환경을 제공한다.

    이와 같은 Server 환경 구성을 서버리스 아키텍처(Serverless Architecture)라고 한다.

     

    1. 서버리스란?

      -  서버리스(Serverless) "서버가 없다"라는 의미를 갖고 있다. 하지만, 사실 상 서버가 없는 것이 아니다.

      -  특정 작업을 수행하기 위해서 컴퓨터 혹은 가상머신에 서버를 설정하고, 이를 통하여 처리하는 것이 아님을 의미 한다.

      -  대신 FaaS (Function as a Service)에 의존하여 작업을 처리하게 된다.

     

    2. AWS Lambda

      -  서버를 프로비저닝 하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스이다.

      -  필요 시에만 코드를 실행하며, 하루에 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 확장이 가능하다.

      -  사용하면 사실상 모든 유형의 어플리케이션 또는 백엔드 서비스를 실행할 수 있으며 이를 관리할 필요는 전혀 없다.

      -  Lambda에서 지원하는 언어(Python, GO, Kotlin, Node.js)로 이미지 형식을 판별하는 소스코드를 구현하여 lambda에 업로드 할 시 특정 조건이 만족되었을 때 구현한 소스코드가 실행되게 된다.

     

    3. AWS Lambda 내부 동작 

    4. AWS Lambda의 장점

      -  특정 조건에만 Lambda가 실행되므로 기존의 서버 유지 비용에 비해 합리적이다.

      -  인프라의 대한 걱정 없이, 다수의 사용자 요청이 있을 시 증설을 복잡한 설정 없이 할 수 있다.

      -  코드가 병렬로 실행 되고 각 트리거는 개별적으로 처리되어 정확히 워크로드 규모에 맞게 조정 된다.

     

    5. AWS Lambda의 사용 사례 

    • 실시간 파일 처리 :  
        -  Amazon S3를 사용하여 업로드하는 즉시 데이터를 처리하도록 AWS Lambda를 트리거할 수 있다. Lambda를 사용하여 실시간으로 이미지를 썸네일하고, 동영상을 트랜스코딩하고, 파일을 인덱싱하고, 로그를 처리하고, 콘텐츠를 검증하고, 데이터를 수집 및 필터링할 수 있다.

     

    • 실시간 스트림 처리 : 
        -  AWS Lambda 및 Amazon Kinesis를 사용하여 애플리케이션 활동 추적, 트랜잭션 주문 처리, 클릭 스트림 분석, 데이터 정리, 지표 생성, 로그 필터링, 인덱싱, 소셜 미디어 분석, IoT 디바이스 데이터 텔레메트리 및 측정을 위한 실시간 스트리밍 데이터를 처리할 수 있다.

     

    • 추출, 변환, 로드
       -  AWS Lambda를 사용하여 DynamoDB 테이블의 모든 데이터 변경에 대한 데이터 검증, 필터링, 정렬 또는 기타 변환 작업을 수행하고 변환된 데이터를 다른 데이터 스토어로 로드할 수 있다.

     

    • 모바일 백엔드
        -  AWS Lambda 및 Amazon API Gateway를 사용하여 API 요청을 인증 및 처리하도록 백엔드를 구축할 수 있다.

     

     

    Lambda는 참 많은 곳에 사용할 수 있을 것 같으며 많은 확장성을 갖고 있는 것 같다.

    AWS 기본과 Lambda에 대해서도 알아봤으니 이제 AWS 프리티어 버전으로 구현을 해보아야 겠다.. (많은 삽질이 기다리고 있을 것 같은 느낌이다.)

    반응형

    'IT > AWS' 카테고리의 다른 글

    AWS - RDS MySQL 생성 및 설정  (7) 2020.04.27
    AWS - EC2 생성 및 터미널 접속  (0) 2020.04.24
    AWS - 계정 생성(회원가입)  (0) 2020.04.24
    AWS - AWS 기본  (0) 2020.04.23
    AWS - 클라우드  (0) 2020.04.23

    댓글

Designed by black7375.