SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
AWS Lambda 로컬테스트부터
배포까지의 여정
박태성 of IDEASAM
❏ 얼떨결에 접한 AWS Lambda & Amazon DynamoDB
❏ AWS Lambda & Amazon DynamoDB SDK 초기 구현의 어려움
❏ 내 주관적인 관점의 EC2, Lambda 비교
❏ Lambda & DynamoDB 로컬 테스트 프레임웍 발견 : Serverless
❏ Serverless Lambda & DynamoDB 환경 세팅
목차
얼떨결에 접한
AWS Lambda & Amazon DynamoDB
● Serverless? ( 대표 참고자료 : https://blog.aliencube.org/ko/2016/06/23/serverless-architectures/#unpacking-function-as-a-service )
○ 클라우드 서버에 온전히 의존하는 애플리케이션을 설명하기 위해 사용되어 온 용어. 때문에
명확한 정의 가 있는 것은 아님
○ 말그대로 ‘서버가 없는’ 의 의미는 아님
○ 서버 작업은 운영팀(AWS, GCP, Azure, ...)에게 맡기고, 개발자들은 함수만 관리한다
■ 서버가 행여나 뻗지는 않을까에 대한 걱정없이 개발할 수 있다
○ 함수를 구현하기 위한 코드를 개발자가 사용하는 자신의 주 언어로 독립적인 개발이
가능하다
○ 서버관리를 안하니까 항시 돌아가는 서버사용비를 낼 필요가 없고, 함수 호출 사용량 만큼만
요금을 내면 된다
○ FaaS(Function as a Service)는 서버리스 서비스라고 볼 수 있다.
얼떨결에 접한 AWS Lambda & Amazon DynamoDB
● FaaS(Function as a Service) 서비스.
○ 함수(Function)단위의 서비스.
○ 서버 시스템들 없이 또는 서버 애플리케이션 없이 백엔드 코드를 실행시키는 것
○ AWS Lambda가 그 FaaS 서비스
● Amazon DynamoDB
○ 규모와 관계없이 10밀리초 미만의 지연 시간이 일관되게 요구되는 모든 애플리케이션을 위한
빠르고 유연한 NoSQL 데이터베이스 서비스
■ NoSQL
● 확장 가능한 성능 및 스키마 없는 데이터 모델에 최적화된 비관계형 데이터베이스
● https://aws.amazon.com/ko/nosql/ : NoSQL상세설명과 SQL&NoSQL 비교 테이블이 있음
얼떨결에 접한 AWS Lambda & Amazon DynamoDB
● 내가 AWS Lambda & Amazon DynamoDB 를 사용하게 된 이유
○ 프로젝트 리더가 사용하자고 해서...
AWS Lambda & Amazon DynamoDB
SDK 초기 구현의 어려움
AWS Lambda & Amazon
DynamoDB SDK 초기
구현의 어려움
● Lambda 코딩 시 DynamoDB SDK를 어떻게
사용하는지?
● AWS 공식 Document를 보면서 최대한 따라해
보려 노력했지만 예전 버전의 AWS문서와 현재
버전의 AWS문서가 공존해 있어서 어떤 가이드를
보고 따라가야 할 지 초심자에게는 매우
혼돈스러웠음
○ https://docs.aws.amazon.com/ko_kr/amazondynamo
db/latest/developerguide/SampleData.LoadData.ht
ml
○ https://docs.aws.amazon.com/AWSJavaScriptSDK/l
atest/AWS/DynamoDB.html#query-property
AWS Lambda & Amazon
DynamoDB SDK 초기
구현의 어려움
● Console에서 Lambda 함수를 만들고
저장하면 끝? ㄴㄴ
○ Amazon API Gateway 가 필요하다
(https://aws.amazon.com/ko/api-gateway/?nc2=h_m1)
○ API Gateway를 통하여 나의 Lambda함수를
웹 세계에 내놓을 수 있다
○ 처음 API Gateway설정을 직접 조작하는 것은
악몽같았다.. Method Request? Integration
Request..?
내 주관적인 관점의 EC2, Lambda 비교
● 관리
내 주관적인 관점의 EC2, Lambda 비교
EC2 Lambda
● 인스턴스에 대한 전반적인 세팅과
개발구현까지 모두 해야 함
● 내가 세팅한 여러가지에 대한
장애요인을 예측해야 하는
골칫거리가 존재
● 트래픽 증가 시 Load Balancing,
Auto Scaling 신경 써야 함
● 미리 세팅된 언어, 목적별 Preset을
골라서 사용하면 된다
● Lambda Function 에러 시 대부분은
코드상의 에러이기 때문에 여러가지
장애요인에 대한 신경을 안 써도 됨
● Load Balancing, Auto Scaling 에
대해 신경 쓰지 않아도 된다
내 주관적인 관점의 EC2, Lambda 비교
● 요금
○ 출처 : AWS Summit Day2 Serverless Architecture를 응용한 실시간 DW 플랫폼 구현
(https://www.slideshare.net/awskorea/power-plant-solar-power-analysis-system-using-serverless-architecture-suhjihyeong-94925297)
Lambda & DynamoDB 로컬 테스트
프레임웍 발견 : Serverless Framework
Lambda & DynamoDB 로컬 테스트 프레임웍 발견 : Serverless
Serverless Framework (https://serverless.com/)
● 서버리스 아키텍처를 운영과 배포를 위한 툴킷
● AWS, Azure Functions, OpenWhisk, Google Functions, Kubeless, Spotinst, Webtasks 지원
● AWS SAM 과 비슷하게 yml파일로 배포 환경설정을 함
● 개인적으로 AWS SAM, AWS SAM Local 보다는 Serverless Framework 를 더 선호
○ AWS SAM Local은 Docker 설치 & 실행 상태여야 이용 가능, Docker실행 시 PC 리소스를 꽤
잡아먹음
○ AWS SAM, AWS SAM Local 의 문서가 최신버전과 맞지 않는 내용이 있어서 혼란스러움
○ AWS SAM CLI를 이용하여 배포 단계 시 AWS CloudFormation의 패키지를 암묵적으로
호출하는 단계에서 계속 에러가 나서 결국 포기
Serverless Lambda & DynamoDB
환경 세팅
패키지를 에서 설치
템플릿 만들기 언어
폴더명 폴더명 프로젝트명
패키지 설치
패키지 설치
플러그인 설치
기준
Serverless Lambda & DynamoDB 환경 세팅
Serverless Lambda &
DynamoDB 환경 세팅
에 정의하기
Serverless Lambda &
DynamoDB 환경 세팅
에 테이블 정의하기
Serverless Lambda &
DynamoDB 환경 세팅
에 정보 정의하기
Serverless Lambda &
DynamoDB 환경 세팅
에 시작정보
정의하기
Serverless Lambda & DynamoDB 환경 세팅
로컬서버 실행
에 설정된 와 들이 만들어진다
에 들어가면 문법이 템플릿으로 준비되어 있다
12. 배포하기
$ sls config credentials
--provider aws
--key [access_key_id]
--secret [secret_access_key]
$ sls deploy || serverless deploy
Serverless Lambda &
DynamoDB 환경 세팅
AWS에 배포 시 남겨지게 될 흔적
- CloudFormation
- S3
- Lambda
- API Gateway
- DynamoDB
Serverless Lambda &
DynamoDB 환경 세팅
Lambda S3
API Gateway
DynamoDB
CloudFormation
끝. 감사합니다

Contenu connexe

Tendances

Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdService Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdKai Wähner
 
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략Open Source Consulting
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...Amazon Web Services Japan
 
オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法Amazon Web Services Japan
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetesSangSun Park
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQDmitriy Samovskiy
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트OpenStack Korea Community
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS GlueAmazon Web Services Japan
 
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方Amazon Web Services Japan
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 

Tendances (20)

Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Terraform
TerraformTerraform
Terraform
 
Amazon Simple Workflow Service (SWF)
Amazon Simple Workflow Service (SWF)Amazon Simple Workflow Service (SWF)
Amazon Simple Workflow Service (SWF)
 
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdService Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
 
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
 
Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 

Similaire à [AWSKRUG] Lambda로컬테스트부터 배포까지의 여정-박태성

AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3Keeyong Han
 
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016Amazon Web Services Korea
 
DevOps with AWS Edge
DevOps with AWS EdgeDevOps with AWS Edge
DevOps with AWS EdgeGS Neotek
 
Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Junyoung Sung
 
Aws serverless services
Aws serverless servicesAws serverless services
Aws serverless servicesDaniel Jung
 
텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님NAVER D2
 
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편Darion Kim
 
20121015 AWS Meister Reloaded - AWS SDK for Android / iOS (Korean)
20121015 AWS Meister Reloaded - AWS SDK for Android / iOS (Korean)20121015 AWS Meister Reloaded - AWS SDK for Android / iOS (Korean)
20121015 AWS Meister Reloaded - AWS SDK for Android / iOS (Korean)Amazon Web Services Korea
 
AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)
AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)
AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)Amazon Web Services Korea
 
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중Amazon Web Services Korea
 
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...Amazon Web Services Korea
 
HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다Jongwon Han
 
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타
 
20140524 Cloud design pattern - AMIMOTO AMI를 이용해 5분만에 끝내는 WordPress 구축
20140524 Cloud design pattern - AMIMOTO AMI를 이용해 5분만에 끝내는 WordPress 구축20140524 Cloud design pattern - AMIMOTO AMI를 이용해 5분만에 끝내는 WordPress 구축
20140524 Cloud design pattern - AMIMOTO AMI를 이용해 5분만에 끝내는 WordPress 구축SangUk Park
 
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD용호 최
 
서버리스 애플리케이션 구축 패턴 및 구축 사례 - AWS Summit Seoul 2017
서버리스 애플리케이션 구축 패턴 및 구축 사례 - AWS Summit Seoul 2017서버리스 애플리케이션 구축 패턴 및 구축 사례 - AWS Summit Seoul 2017
서버리스 애플리케이션 구축 패턴 및 구축 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년Jongwon Han
 

Similaire à [AWSKRUG] Lambda로컬테스트부터 배포까지의 여정-박태성 (20)

AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3
 
Serverless 101
Serverless 101Serverless 101
Serverless 101
 
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
DevOps with AWS Edge
DevOps with AWS EdgeDevOps with AWS Edge
DevOps with AWS Edge
 
Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기
 
Aws serverless services
Aws serverless servicesAws serverless services
Aws serverless services
 
텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님
 
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
 
20121015 AWS Meister Reloaded - AWS SDK for Android / iOS (Korean)
20121015 AWS Meister Reloaded - AWS SDK for Android / iOS (Korean)20121015 AWS Meister Reloaded - AWS SDK for Android / iOS (Korean)
20121015 AWS Meister Reloaded - AWS SDK for Android / iOS (Korean)
 
AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)
AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)
AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)
 
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
 
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
 
HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다
 
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
 
20140524 Cloud design pattern - AMIMOTO AMI를 이용해 5분만에 끝내는 WordPress 구축
20140524 Cloud design pattern - AMIMOTO AMI를 이용해 5분만에 끝내는 WordPress 구축20140524 Cloud design pattern - AMIMOTO AMI를 이용해 5분만에 끝내는 WordPress 구축
20140524 Cloud design pattern - AMIMOTO AMI를 이용해 5분만에 끝내는 WordPress 구축
 
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
 
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
 
서버리스 애플리케이션 구축 패턴 및 구축 사례 - AWS Summit Seoul 2017
서버리스 애플리케이션 구축 패턴 및 구축 사례 - AWS Summit Seoul 2017서버리스 애플리케이션 구축 패턴 및 구축 사례 - AWS Summit Seoul 2017
서버리스 애플리케이션 구축 패턴 및 구축 사례 - AWS Summit Seoul 2017
 
Cloud Design Pattern
Cloud Design PatternCloud Design Pattern
Cloud Design Pattern
 
20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년
 

[AWSKRUG] Lambda로컬테스트부터 배포까지의 여정-박태성

  • 2. ❏ 얼떨결에 접한 AWS Lambda & Amazon DynamoDB ❏ AWS Lambda & Amazon DynamoDB SDK 초기 구현의 어려움 ❏ 내 주관적인 관점의 EC2, Lambda 비교 ❏ Lambda & DynamoDB 로컬 테스트 프레임웍 발견 : Serverless ❏ Serverless Lambda & DynamoDB 환경 세팅 목차
  • 3. 얼떨결에 접한 AWS Lambda & Amazon DynamoDB
  • 4. ● Serverless? ( 대표 참고자료 : https://blog.aliencube.org/ko/2016/06/23/serverless-architectures/#unpacking-function-as-a-service ) ○ 클라우드 서버에 온전히 의존하는 애플리케이션을 설명하기 위해 사용되어 온 용어. 때문에 명확한 정의 가 있는 것은 아님 ○ 말그대로 ‘서버가 없는’ 의 의미는 아님 ○ 서버 작업은 운영팀(AWS, GCP, Azure, ...)에게 맡기고, 개발자들은 함수만 관리한다 ■ 서버가 행여나 뻗지는 않을까에 대한 걱정없이 개발할 수 있다 ○ 함수를 구현하기 위한 코드를 개발자가 사용하는 자신의 주 언어로 독립적인 개발이 가능하다 ○ 서버관리를 안하니까 항시 돌아가는 서버사용비를 낼 필요가 없고, 함수 호출 사용량 만큼만 요금을 내면 된다 ○ FaaS(Function as a Service)는 서버리스 서비스라고 볼 수 있다. 얼떨결에 접한 AWS Lambda & Amazon DynamoDB
  • 5. ● FaaS(Function as a Service) 서비스. ○ 함수(Function)단위의 서비스. ○ 서버 시스템들 없이 또는 서버 애플리케이션 없이 백엔드 코드를 실행시키는 것 ○ AWS Lambda가 그 FaaS 서비스 ● Amazon DynamoDB ○ 규모와 관계없이 10밀리초 미만의 지연 시간이 일관되게 요구되는 모든 애플리케이션을 위한 빠르고 유연한 NoSQL 데이터베이스 서비스 ■ NoSQL ● 확장 가능한 성능 및 스키마 없는 데이터 모델에 최적화된 비관계형 데이터베이스 ● https://aws.amazon.com/ko/nosql/ : NoSQL상세설명과 SQL&NoSQL 비교 테이블이 있음 얼떨결에 접한 AWS Lambda & Amazon DynamoDB ● 내가 AWS Lambda & Amazon DynamoDB 를 사용하게 된 이유 ○ 프로젝트 리더가 사용하자고 해서...
  • 6. AWS Lambda & Amazon DynamoDB SDK 초기 구현의 어려움
  • 7. AWS Lambda & Amazon DynamoDB SDK 초기 구현의 어려움 ● Lambda 코딩 시 DynamoDB SDK를 어떻게 사용하는지? ● AWS 공식 Document를 보면서 최대한 따라해 보려 노력했지만 예전 버전의 AWS문서와 현재 버전의 AWS문서가 공존해 있어서 어떤 가이드를 보고 따라가야 할 지 초심자에게는 매우 혼돈스러웠음 ○ https://docs.aws.amazon.com/ko_kr/amazondynamo db/latest/developerguide/SampleData.LoadData.ht ml ○ https://docs.aws.amazon.com/AWSJavaScriptSDK/l atest/AWS/DynamoDB.html#query-property
  • 8. AWS Lambda & Amazon DynamoDB SDK 초기 구현의 어려움 ● Console에서 Lambda 함수를 만들고 저장하면 끝? ㄴㄴ ○ Amazon API Gateway 가 필요하다 (https://aws.amazon.com/ko/api-gateway/?nc2=h_m1) ○ API Gateway를 통하여 나의 Lambda함수를 웹 세계에 내놓을 수 있다 ○ 처음 API Gateway설정을 직접 조작하는 것은 악몽같았다.. Method Request? Integration Request..?
  • 9. 내 주관적인 관점의 EC2, Lambda 비교
  • 10. ● 관리 내 주관적인 관점의 EC2, Lambda 비교 EC2 Lambda ● 인스턴스에 대한 전반적인 세팅과 개발구현까지 모두 해야 함 ● 내가 세팅한 여러가지에 대한 장애요인을 예측해야 하는 골칫거리가 존재 ● 트래픽 증가 시 Load Balancing, Auto Scaling 신경 써야 함 ● 미리 세팅된 언어, 목적별 Preset을 골라서 사용하면 된다 ● Lambda Function 에러 시 대부분은 코드상의 에러이기 때문에 여러가지 장애요인에 대한 신경을 안 써도 됨 ● Load Balancing, Auto Scaling 에 대해 신경 쓰지 않아도 된다
  • 11. 내 주관적인 관점의 EC2, Lambda 비교 ● 요금 ○ 출처 : AWS Summit Day2 Serverless Architecture를 응용한 실시간 DW 플랫폼 구현 (https://www.slideshare.net/awskorea/power-plant-solar-power-analysis-system-using-serverless-architecture-suhjihyeong-94925297)
  • 12. Lambda & DynamoDB 로컬 테스트 프레임웍 발견 : Serverless Framework
  • 13. Lambda & DynamoDB 로컬 테스트 프레임웍 발견 : Serverless Serverless Framework (https://serverless.com/) ● 서버리스 아키텍처를 운영과 배포를 위한 툴킷 ● AWS, Azure Functions, OpenWhisk, Google Functions, Kubeless, Spotinst, Webtasks 지원 ● AWS SAM 과 비슷하게 yml파일로 배포 환경설정을 함 ● 개인적으로 AWS SAM, AWS SAM Local 보다는 Serverless Framework 를 더 선호 ○ AWS SAM Local은 Docker 설치 & 실행 상태여야 이용 가능, Docker실행 시 PC 리소스를 꽤 잡아먹음 ○ AWS SAM, AWS SAM Local 의 문서가 최신버전과 맞지 않는 내용이 있어서 혼란스러움 ○ AWS SAM CLI를 이용하여 배포 단계 시 AWS CloudFormation의 패키지를 암묵적으로 호출하는 단계에서 계속 에러가 나서 결국 포기
  • 14. Serverless Lambda & DynamoDB 환경 세팅
  • 15. 패키지를 에서 설치 템플릿 만들기 언어 폴더명 폴더명 프로젝트명 패키지 설치 패키지 설치 플러그인 설치 기준 Serverless Lambda & DynamoDB 환경 세팅
  • 16. Serverless Lambda & DynamoDB 환경 세팅 에 정의하기
  • 17. Serverless Lambda & DynamoDB 환경 세팅 에 테이블 정의하기
  • 18. Serverless Lambda & DynamoDB 환경 세팅 에 정보 정의하기
  • 19. Serverless Lambda & DynamoDB 환경 세팅 에 시작정보 정의하기
  • 20. Serverless Lambda & DynamoDB 환경 세팅 로컬서버 실행 에 설정된 와 들이 만들어진다 에 들어가면 문법이 템플릿으로 준비되어 있다
  • 21. 12. 배포하기 $ sls config credentials --provider aws --key [access_key_id] --secret [secret_access_key] $ sls deploy || serverless deploy Serverless Lambda & DynamoDB 환경 세팅
  • 22. AWS에 배포 시 남겨지게 될 흔적 - CloudFormation - S3 - Lambda - API Gateway - DynamoDB Serverless Lambda & DynamoDB 환경 세팅 Lambda S3 API Gateway DynamoDB CloudFormation