본문으로 바로가기

Killer Use Cases, Causion of AWS Lambda

category Ops, Infra, etc/⚡ serverless 2021. 3. 24. 17:57

개발 편의를 위해 사용하는 방법들

 

serverless.js 는 좋지만, 추가 라이브러리들을 너무 많이 사용하면 결국 기술부채로 이어지게 된다. 가급적  serverless.js 하나만 사용하도록하자.

aws-sam도 좋은데, aws 전체 관점이 아닌 서버리스 위주의 구성만 가능해짐

aws-cdk로 IaC로서 aws 일괄 관리하는 방법은 러닝 커브가 좀 있는 편이다.

 

람다 모니터링은 어떻게 할까

 

일단 로깅 : ElasticSearch, Kibana, CloudWatch, AWS X-RAY

 

 

aws lambda의 내부 동작

 

dev.classmethod.jp/articles/devio-korea-online-aws-lambda/

 

[발표자료] AWS Lambda 내부동작 파헤치기 | DevelopersIO

서버리스 아키텍쳐 설계 및 구축에 도움이 될 수 있는 AWS Lambda 의 내부동작을 이해하고자 하는 세션입니다.

dev.classmethod.jp

 

 

serverless를 사용하기에 적합한 use case들

 

  1. 서버리스 웹 사이트 운영 => s3 + cloudfront로 웹 돌리고 특정 이벤트시 lambda를 트리거하여 DB와의 상호작용을 한다. 이 방식은 EC2를 24시간 켜두는 것보다 저렴해질 수도 있다. (요청이 없다면 훨씬 쌀 것이고, 요청이 많다면 더 비싸질 것이다.)
  2. 신속한 문서 변환 => 짧은 이미지, 문서 등을 온 디맨드로 변환해서 제공하는 로직을 lambda로 처리. 문제는 동영상 트랜스코딩같이 헤비한 경우에는 lambda가 부적합 경우도 있을 수 있다. 
  3. 예측 페이지 렌더링 => 즉, Next.js의 prefetch 같은 역할을 lambda로 사용할 수 있다는 말인데 흠... 솔직히 저는 잘 모르겠습니다.
  4. 외부 서비스 작업 => 이건 그냥 뭐 백엔드가 할 일을 분할에서 lambda에 맡길 수 있다는 겁니다.
  5. 즉시 로그 분석 => 특정 이벤트가 발생하여 로그를 남겨야 할 필요가 있다면 해다 이벤트에 의해 트리거되는 lambda를 달아 SNS를 통해 알림을 보내는 방법이 있다. 흔히 셧다운되면 슬랙이나 카톡으로 비상 호출이 오게끔 만들어놓는다.
  6. 자동 백업 및 일상적인 작업 => 백업 생성, 유휴 리소스 확인, 보고서 생성 등 작업을 lambda로 처리하기.
  7. 업로드 된 S3 객체 처리 => 이 녀석은 이미지 리사이징할 때 유용하게 사용되었죠. 온디맨드 리사이징은 최고.
  8. 실시간 데이터 처리 => 이건 그냥 lambda에 스트림 데이터를 넘길 수 있다는 내용입니다.
  9. 특정 언어의 에코시스템에만 있는 라이브러리를 이용하고 싶을 경우 => Nodejs로 개발을 하더라도 파이썬만 지원하는 플러그인이 필요하다면 파이썬 Lambda 함수를 만든 후 결과값을 Nodejs 람다함수와 JSON형식으로 리턴하도록 할 수 있습니다. 

 

 

 

 

referecen)

 

www.contino.io/insights/aws-lambda-use-cases

 

medium.com/harrythegreat/aws-lambda%EB%A5%BC-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EC%A0%84-%EC%95%8C%EC%95%98%EC%9C%BC%EB%A9%B4-%EC%A2%8B%EC%95%98%EC%9D%84%EA%B2%83%EB%93%A4-788bd3b3bdd2 

 

dev.classmethod.jp/articles/devio-korea-online-aws-lambda/

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체