서버리스 장고 – AWS Lambda framework 자료 조사

파이썬 기반의 서버리스 API 혹은 장고 platform을 구축할 수 있다는 Zappa! 관심 키워드로 두고 검색을 해보고 있음

서버 운용자 없이 그냥 코드만 관리하려면, 서버리스로 웹서버나 장고를 돌릴 수 있으면 베스트 인데, 소규모 스타트업 경우는 그냥 하나 띄워두고 자기 서비스에 집중할 수 있다니 한번 테스트 베드라도 구축해 두면 여러모로 도움이 될 듯!

그런데, 서버리스를 한다고 치자…Zappa 와 같은 또 쓰이게 되는 프레임워크의 필요성은 아래 글에서 참고하자. Zappa 대신 더 유명하다는 Serverless framework 사용기

Serverless

https://squarelab.co/blog/developing-internal-service-with-serverless-aws/

AWS Lambda + AWS API Gateway를 이용하여 직접 서버 인스턴스를 띄우지 않고서도 서버 기능을 할 수 있다는 사실은 많이 알려져 있습니다. 하지만 막상 이걸 직접 설정 해보려고 하면 해야할 일이 산더미 같습니다. 실제 코드를 작성해서 Lambda에 업로드해야하고, Lambda를 누가 실행 할 수 있는지 적당한 권한을 설정해줘야 하며, API Gateway와 Lambda를 연결해줘야하고, 사용자 지정 도메인도 연결해줘야하며, CloudWatch 로그 설정도 … (중략). 슬슬 오히려 EC2 인스턴스를 그냥 띄워서 하던대로 하는게 낫지 않을까 생각이 들기 시작하네요.

[
Serverless한 회사 내부 서비스 만들기
사내에서 사용되는 서비스의 경우 대중을 대상으로 하지 않기 때문에 사용량이 많지 않은 경우가 대부분입니다. AWS Lambda를 사용하면 비용 절감뿐만 아니라 서버를 직접 관리하고 운영할…
![](assets/images/2023/02/serverless-framework.jpg?ssl=1)
](https://squarelab.co/blog/developing-internal-service-with-serverless-aws/)

AWS 전용 프레임워크 – AWS Chalice 예제

Native python packaging 으로 아래 주소에 설명서가 있어요. 기왕 AWS 의존적이라면, 제공해주는 프레임워크를 쓰는 것도

[
Todo Application — AWS Chalice
![](assets/images/2023/02/architecture.jpg?ssl=1)
](https://aws.github.io/chalice/samples/todo-app/index.html)

단점

단점이라는 것을 한 번 살펴볼 필요가 있지만…암껏도 없는 소규모 서비스의 경우 백만건 도달할 수나 있나…

  1. vendor lock-in
    특정 vendor의 독자적 기술에 크게 의존한 제품, 서비스, 시스템 등을 채용했을 때 다른 vendor가 제공하는 동종 제품, 서비스, 시스템 등으로 갈아타기 어렵게 되는 현상

https://gnidoc.tistory.com/entry/AWS-Serverless-웹서비스-구축-경험-후기1탄
frontend는 react, backend는 django, DevOps는 terraform 등을 사용하여 최대한 오픈소스를 활용하여 vendor lock-in을 최대한 피했습니다

  • 누가 먼저 죽나…
  • Django 기반 프로젝트, Django template Frontend 구현
  • PostgreSQL 그냥 DB 사용 – 클라우드 플랫폼 의존성이 덜한

2. 기술 이전
쿠버네티스 이런걸 쓰고 싶다!!

[
쿠버네티스 ① 메인 K8s component (1)
인프라 내용을 학습할 때 항상 나오는 쿠버네티스…! 간단하게나마 알면 도움이 될 것같아 영상을 보고 학습하였다. 💪 학습 내용의 출처는 모두 아래 두영상이다! 🙌 참고한 영상 👇🏼 https://www.youtube.com..
![](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmPorR%2FbtrN3MHnqUH%2FBoQNnEDaetDQ9AXMVx7AoK%2Fimg.png)
](https://dodop-blog.tistory.com/398)
  • 아직은…
  • 미래에도…
  • 이런 일이…

3. 운영에러
모르고 쓰게 되니깐 위험해…먼가 두려움이

https://www.megazone.com/techblog_20200424_opensource-24-open-source-tools-for-the-serverless-developer-part-1/

이러한 툴을 사용하여 프로비저닝을 자동화하기 전에 AWS에서 리소스를 프로비저닝하는 방법을 이해해야 합니다. 예를 들어 Serverless Framework 또는 AWS SAM 을 사용하는 경우 AWS CloudFormation의 작동 방식과 프레임워크의 기능을 이해해야 합니다. 툴이 작동하는 방식을 이해하지 않고 툴에 의존하게 되면 문제가 발생했을 때 이를 해결하는 방법을 모르기 때문에 위험합니다.
확실한 이해 없이 자동화해서는 안 됩니다.

참고 사이트

  • Zappa 찾아보게 된 계기
[
300원에 200만뷰 소화하기 – 서버리스 아키텍처 AWS 람다(Lambda) 활용 사례 – 로켓펀치 공식 블로그
로켓펀치에서는 기본적인 웹 서비스 외에 제휴를 통해 로켓펀치의 채용 공고를 위젯 형식으로 노출하는 경우가 있습니다. (예 : 플래텀 오른쪽 사이드바 위젯) 이런 위젯들을 운영하다 보니 몇 가지 추가적인 요구 사항이 생겼는데요. 주로 아래의 두 가지로 요약할 수 있습니다. 제휴를 맺은 곳의 갑작스러운 트래픽 증가가 로켓펀치 웹 서비스에 영향을 주지 않을 것 로켓펀치에서 일시적인 오 류가 … 더 보기 “300원에 200만뷰 소화하기 – 서버리스 아키텍처 AWS 람다(Lambda) 활용 사례”
![](assets/images/2023/02/Untitled-1024x450.png?resize=1024%2C450&ssl=1)
](https://blog.rocketpunch.com/2017/07/02/2-million-pv-with-300-krw/)
  • 기초 매뉴얼 같은 블로그
[
Zappa를 활용하여 Django 배포하기
Zappa를 활용하여 Django 프로젝트를 API Gateway + Lambda를 활용한 서버리스 아키텍쳐로 배포하는 과정에 대해 공유합니다.
![](https://i0.wp.com/kangraemin.github.io/django/2020/10/03/django-zappa-serverless/assets/images/avatar.gif?ssl=1)
](https://kangraemin.github.io/django/2020/10/03/django-zappa-serverless/)
  • 2022 최근 글
[
Zappa로 서버리스 배포
zappa를 이용한 lambda 배포 방법 (python + django + RDS(postgresql))
![](assets/images/2023/02/image.jpg?ssl=1)
](https://velog.io/@ben_jh/Zappa%EB%A1%9C-%EC%84%9C%EB%B2%84%EB%A6%AC%EC%8A%A4-%EB%B0%B0%ED%8F%AC)
  • API 게이트웨이 예제 프로젝트
[
Zappa를 이용한 Serverless 배송 조회 API 구현
캐시슬라이드에는 상품을 구매하면 리워드를 적립 받을 수 있는 쇼핑하고 적립받기라는 서비스가 있습니다. 쇼핑하고 적립받기는 계속해서 신규 기능을 붙여가면서 점점 이커머스답게 성장해가고 있습니다. 그 과정에 통합적으로 사용할 기능을 Serverless…
![](assets/images/2023/02/0Z-nL_E0X9nW0h887.jpg?ssl=1)
](https://medium.com/nbt-tech/zappa%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-serverless-%EB%B0%B0%EC%86%A1-%EC%A1%B0%ED%9A%8C-api-%EA%B5%AC%ED%98%84-411006291ce9)
  • 구조 그림이 예술
[
AWS Serverless 웹서비스 구축 경험 후기(1탄)
지난 1년 동안 아래와 같은 구조의 서버리스(serverless) 아키텍처의 웹서비스를 구축, 개발, 운영했습니다 일단 본 프로젝트는 아래와 같이 크게 3가지로 구성됩니다 frontend : UI, React 프로젝트 backend :..
![](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpB5gQ%2FbtrCHOWoqSA%2F1Lrbrf4JhX3xBlAtX8lSw0%2Fimg.png)
](https://gnidoc.tistory.com/entry/AWS-Serverless-%EC%9B%B9%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B5%AC%EC%B6%95-%EA%B2%BD%ED%97%98-%ED%9B%84%EA%B8%B01%ED%83%84)
Share: Twitter Facebook
Bongjun Hur's Picture

About Bongjun Hur

BJ is a dev.

Seoul, Korea https://devbj.com