SlideShare a Scribd company logo
1 of 41
Download to read offline
0원으로 시작하는
데이터 수집 및 분석
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
1
목차
1. 발표자 소개
2. Serverless
3. 사용 서비스 소개
4. Serverless Framework
5. 수집 과정
6. 분석 결과
7. References
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
2
● MOVILEST, CTO
● AWSKRUG Serverless Group
● Node.js, AWS Infrastructure... ETC
● Java, Javascript, French, SQL, Kotlin…
ETC
● https://novemberde.github.io
● https://github.com/novemberde
변규현
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
3
Serverless
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
4
시작하기에 앞서서
서버를 운영할 때 벌어지는 상황들
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
5
Web API: Load Balancer + Web Server
- Load Balancer의 월 최소 비용(ALB 기준): 2만원 + 추가 비용
- Web Server의 월 최소 비용(EC2 t3.micro 기준): 약 1만원
=> 아무 사용도 하지 않을 때의 요금
- 그런데 갑자기 접속자가 폭증한다면?
=> 열심히 Web server를 늘려주고,
Load Balancer에 연결해주고,
웹서버가 문제생기는지 지속적으로 모니터링해주고………………………..
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
6
Crawler: Server
- Server의 월 최소 비용(EC2 t3.micro 기준): 약 1만원
=> 아무것도 하지 않을 때의 요금
- Crawler가 잘 돌고 있으려면
=> NTP Server 로 시간 잘 맞춰주고,
서버가 잘 돌아가는지 지속적으로 Health Check 해주고,
배포 자동화하려면 설정할 것도 많고,
그리고 쌓인 데이터를 분석하려면… 상상도 하기 싫습니다.
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
7
그래서 일을 줄이는 방법을 찾아야 했습니다.
그리고 비용을 줄여야 했습니다.
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
8
Server
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
9
Serverless
X
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
10
Server + less
서버가 없다!
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
11
서버관리: 필요없음
초기비용: 0원
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
12
서버리스를 사용할 수 있는 Cloud Service 들
AWS, Azure, GCP ...
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
13
우리가 눈여겨 보아야하는 핵심 서비스
AWS: Lambda
Azure: Functions
GCP: Cloud Functions
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
14
이번에는 AWS Lambda를 사용해봅니다.
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
15
사용 서비스 소개
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
16
사용 서비스들!
- AWS Lambda
- Amazon S3
- AWS Glue
- Amazon Athena
- Amazon QuickSight
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
17
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
AWS Lambda
- 커스텀 로직으로 다른 AWS 서비스 확장
- 커스텀 백엔드 서비스 구축
- 자체 코드 사용 가능
- 완전히 자동화된 관리
- 내결함성 기본 제공
- Automatic Scaling
- Amazon CloudFront 요청에 대한 응답으로 코드 실행
- 통합된 보안 모델 & 사용량에 따라 지불
https://aws.amazon.com/ko/lambda/features/
18
AWS Lambda
제한 사항
- 사용가능한 언어: .NET Core 1.0(C#), .NET Core 2.0(C#), .NET Core 2.1(C#/PowerShell),
Go 1.x, Java 8, Node.js 4.3, Node.js 6.10, Node.js 8.10, Python 2.7, Python 3.6
- 실행시간: 15분 이내
- 메모리: 3008MB
- 동시성: 1000
- 코드 크기: 50MB, 리전당 총 75GB
- /tmp: 512MB
- payload 크기(동기식 호출: 6MB, 이벤트/비동기식 호출: 128KB)
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/lambda/features/
19
AWS Lambda
128 MB 512 MB 1024 MB
월별 프리티어(초) 3,200,000 800,000 400,000
100 ms 당 요금(USD) 0.000000208 0.000000834 0.000001667
1,000,000 Invoke
200 ms
요금(Free Tier 포함)
$ 0 $ 0 $ 0
1,000,000 Invoke
200 ms
요금(Free Tier 미포함)
$ 0.416 $ 1.668 $ 3.53
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/lambda/pricing/
20
Amazon S3
- 따라올 수 없는 내구성, 가용성 및 확장성. 99.999999999%
- 가장 포괄적인 보안 및 규정 준수 기능
- 현재 위치에서 쿼리
- 유연한 관리
- 가장 많은 파트너, 공급업체 및 AWS 서비스에서 지원
- 간편하고 유연한 데이터 전송
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/s3/features/
21
AWS Glue
- 완전관리형 ETL(추출, 변환 및 로드) 서비스
- 서버리스이므로 구매, 설정 또는 관리할 인프라가 없음
- 데이터 원본을 크롤링하고, 데이터 형식을 파악하고, 스키마와 변환을 제안
- Scala, Python 및 Apache Spark 지원
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/glue/features/
22
Amazon Athena
- ETL 불필요
- 서버리스이므로 구매, 설정 또는 관리할 인프라가 없음
- 쿼리당 비용 지불(스캔한 데이터 용량에 따른 비용만 지불)
- Presto 기반 표준 SQL 실행(CSV, JSON, ORC, Avro, Parquet 등 데이터 형식과 호환)
- 대용량 데이터세트에서도 대화식 성능 구현
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/athena/features/
23
Amazon QuickSight
- 조직 내 모든 구성원에게 세션당 요금제로 제공되는 첫 번째 BI 서비스
- 데이터 시각화 도구
- 사용한 만큼만 비용 지불
- 사용량과 활동에 따라 자동으로 규모가 확장
- 다양한 데이터 소스 사용 가능
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/quicksight/features/
24
Serverless Framework
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
25
Serverless Framework 란?
Serverless Framework 메인에 나와있는 소개문구는 다음과 같습니다.
Serverless is your toolkit for deploying and operating serverless architectures. Focus on your application,
not your infrastructure.
위 내용을 번역한 내용은 "Serverless는 서버 없는 아키텍처를 배치하고 운영하기 위한 툴킷입니다.
인프라가 아닌 애플리케이션에 집중합니다." 입니다. 이처럼 Serverless framework는 Serverless
architecture를 운영하기 위한 툴이라고 생각하면 됩니다.
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://serverless.com/
26
Serverless Infrastructure Providers
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://serverless.com/framework/docs/providers/
27
Serverless Configuration
# serverless.yml
service: myService
provider:
name: aws
runtime: nodejs6.10
memorySize: 512 # optional, in MB, default is 1024
timeout: 10 # optional, in seconds, default is 6
versionFunctions: false # optional, default is true
functions:
hello:
handler: handler.hello # required, handler set in AWS Lambda
name: ${self:provider.stage}-lambdaName # optional, Deployed Lambda name
description: Description of what the lambda function does # optional, Description to publish to AWS
runtime: python2.7 # optional overwrite, default is provider runtime
memorySize: 512 # optional, in MB, default is 1024
timeout: 10 # optional, in seconds, default is 6
reservedConcurrency: 5 # optional, reserved concurrency limit for this function. By default, AWS uses account concurrency limit
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://serverless.com/
28
serverless.yml 에서 가능한 설정 정보
- S3 Bucket
- API Gateway
- IAM Role
- Lambda
- CloudWatch Event
- VPC / Subnet / NAT / Security Group
- IoT
- DynamoDB
… 거의 모든 리소스에 대해서 가능합니다.
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/
29
수집 과정
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
30
Crawler Analysis
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
31
Serverless framework로 배포하기
service: ServerlessHandsOnPart2
provider:
name: aws
runtime: nodejs8.10
memorySize: 256
timeout: 30
stage: ${file(./config.yml):STAGE}
region: ${file(./config.yml):AWS_REGION}
deploymentBucket: ${file(./config.yml):DEPLOYMENT_BUCKET}
environment:
NODE_ENV: production
iamRoleStatements:
- Effect: "Allow"
Action:
- "s3:PutObject"
Resource: "arn:aws:s3:::*/*"
functions:
crawler:
handler: handler.crawler
events:
- schedule: rate(10 minutes)
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
32
Data formula
{
"rank0": "이다희 아나운서",
"rank1": "이선호",
"rank2": "최고의 이혼",
"rank3": "풍등",
"rank4": "한글날",
"rank5": "안녕하세요",
"rank6": "정원중",
"rank7": "홍삼",
"rank8": "조재현",
"rank9": "정애연",
"portal": "daum",
"createdAt": "2018-10-08T17:05:06.798Z"
}
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
33
S3 Partitioning
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
34
Glue Data catalog
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
35
Create View on Athena
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
36
Use the view on QuickSight
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
37
Results: Analysis by sum(value)
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
38
Results: Analysis by sum(createdAt)
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
39
References
- https://github.com/awskrug/handson-labs-2018
- https://github.com/novemberde/serverless-crawler-demo
- https://github.com/novemberde/serverless-todo-demo
- https://aws.amazon.com/ko/lambda/features/
- https://aws.amazon.com/ko/athena/features/
- https://aws.amazon.com/ko/s3/features/
- https://aws.amazon.com/ko/quicksight/features/
- https://aws.amazon.com/ko/glue/features/
- https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html
- https://docs.aws.amazon.com/ko_kr/quicksight/latest/user/data-source-limits.html#supported-date-formats
- https://novemberde.github.io/aws/2017/09/14/public_data_athena.html
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
40
감사합니다.
2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현
41

More Related Content

What's hot

ALB+EC2 to API gateway + Lambda
ALB+EC2 to API gateway + LambdaALB+EC2 to API gateway + Lambda
ALB+EC2 to API gateway + LambdaKyuhyun Byun
 
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020AWSKRUG - AWS한국사용자모임
 
HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다Jongwon Han
 
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020 스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 
AWS를 활용한 얼굴분석 서비스 만들기
AWS를 활용한 얼굴분석 서비스 만들기AWS를 활용한 얼굴분석 서비스 만들기
AWS를 활용한 얼굴분석 서비스 만들기Harry Oh
 
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집AWSKRUG - AWS한국사용자모임
 
Aws serverless services
Aws serverless servicesAws serverless services
Aws serverless servicesDaniel Jung
 
AWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IPAWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IPJongwon Han
 
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
 
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏAWSKRUG - AWS한국사용자모임
 
Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020
Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020
Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020AWSKRUG - AWS한국사용자모임
 
Awskrug serverless slideshare
Awskrug serverless slideshareAwskrug serverless slideshare
Awskrug serverless slideshareSeungho Kim
 
RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기Kyuhyun Byun
 
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다Jongwon Han
 
20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년Jongwon Han
 
20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다Jongwon Han
 
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...Jongwon Han
 
Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발
Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발
Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발Hyunmin Kim
 
20170829 HB Smith에서는 AWS 이렇게 사용한다
20170829 HB Smith에서는 AWS 이렇게 사용한다20170829 HB Smith에서는 AWS 이렇게 사용한다
20170829 HB Smith에서는 AWS 이렇게 사용한다Jongwon Han
 

What's hot (20)

ALB+EC2 to API gateway + Lambda
ALB+EC2 to API gateway + LambdaALB+EC2 to API gateway + Lambda
ALB+EC2 to API gateway + Lambda
 
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
 
HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다
 
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020 스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
 
AWS를 활용한 얼굴분석 서비스 만들기
AWS를 활용한 얼굴분석 서비스 만들기AWS를 활용한 얼굴분석 서비스 만들기
AWS를 활용한 얼굴분석 서비스 만들기
 
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
 
Aws serverless services
Aws serverless servicesAws serverless services
Aws serverless services
 
AWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IPAWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IP
 
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
 
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
 
Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020
Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020
Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020
 
Awskrug serverless slideshare
Awskrug serverless slideshareAwskrug serverless slideshare
Awskrug serverless slideshare
 
RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기
 
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
 
20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년
 
Serverless Architecture - 김현민
Serverless Architecture - 김현민Serverless Architecture - 김현민
Serverless Architecture - 김현민
 
20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다
 
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
 
Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발
Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발
Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발
 
20170829 HB Smith에서는 AWS 이렇게 사용한다
20170829 HB Smith에서는 AWS 이렇게 사용한다20170829 HB Smith에서는 AWS 이렇게 사용한다
20170829 HB Smith에서는 AWS 이렇게 사용한다
 

Similar to 0원으로 시작하는 서버리스 데이터 수집 및 분석

20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...Jongwon Han
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기Amazon Web Services Korea
 
20180124 naver labs aws network and security
20180124 naver labs aws network and security20180124 naver labs aws network and security
20180124 naver labs aws network and securityJongwon Han
 
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...Amazon Web Services Korea
 
포털 검색어 순위 수집 및 분석 후기
포털 검색어 순위 수집 및 분석 후기포털 검색어 순위 수집 및 분석 후기
포털 검색어 순위 수집 및 분석 후기Kyuhyun Byun
 
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타
 
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중Amazon Web Services Korea
 
AWS 9월 웨비나 | AWS와 함께 하는 클라우드 컴퓨팅
AWS 9월 웨비나 |  AWS와 함께 하는 클라우드 컴퓨팅AWS 9월 웨비나 |  AWS와 함께 하는 클라우드 컴퓨팅
AWS 9월 웨비나 | AWS와 함께 하는 클라우드 컴퓨팅Amazon Web Services Korea
 
AWS 12월 웨비나 │AWS와 함께하는 클라우드 컴퓨팅
AWS 12월 웨비나 │AWS와 함께하는 클라우드 컴퓨팅AWS 12월 웨비나 │AWS와 함께하는 클라우드 컴퓨팅
AWS 12월 웨비나 │AWS와 함께하는 클라우드 컴퓨팅Amazon Web Services Korea
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)uEngine Solutions
 
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용고포릿 default
 
Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Junyoung Sung
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Web Services Korea
 
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016Amazon Web Services Korea
 
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기JungHoon Lee
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇BOAZ Bigdata
 
개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)
개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)
개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017Amazon Web Services Korea
 
AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법
AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법
AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법Amazon Web Services Korea
 

Similar to 0원으로 시작하는 서버리스 데이터 수집 및 분석 (20)

20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
20180124 naver labs aws network and security
20180124 naver labs aws network and security20180124 naver labs aws network and security
20180124 naver labs aws network and security
 
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, 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
 
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
 
AWS 9월 웨비나 | AWS와 함께 하는 클라우드 컴퓨팅
AWS 9월 웨비나 |  AWS와 함께 하는 클라우드 컴퓨팅AWS 9월 웨비나 |  AWS와 함께 하는 클라우드 컴퓨팅
AWS 9월 웨비나 | AWS와 함께 하는 클라우드 컴퓨팅
 
AWS 12월 웨비나 │AWS와 함께하는 클라우드 컴퓨팅
AWS 12월 웨비나 │AWS와 함께하는 클라우드 컴퓨팅AWS 12월 웨비나 │AWS와 함께하는 클라우드 컴퓨팅
AWS 12월 웨비나 │AWS와 함께하는 클라우드 컴퓨팅
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
 
Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
 
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
 
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
 
개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)
개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)
개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)
 
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
 
병렬처리
병렬처리병렬처리
병렬처리
 
AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법
AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법
AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법
 

More from Kyuhyun Byun

Go 도입 후 4년 간 기록
Go 도입 후 4년 간 기록Go 도입 후 4년 간 기록
Go 도입 후 4년 간 기록Kyuhyun Byun
 
성장하는 엔지니어가 되는 법- 주니어편.pptx
성장하는 엔지니어가 되는 법- 주니어편.pptx성장하는 엔지니어가 되는 법- 주니어편.pptx
성장하는 엔지니어가 되는 법- 주니어편.pptxKyuhyun Byun
 
성장하는 서버 개발자 되기 - Wanted Livetalk
성장하는 서버 개발자 되기 - Wanted Livetalk성장하는 서버 개발자 되기 - Wanted Livetalk
성장하는 서버 개발자 되기 - Wanted LivetalkKyuhyun Byun
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!Kyuhyun Byun
 
Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기
Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기
Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기Kyuhyun Byun
 
Serverless framework와 CircleCI를 통한 NoOps 맛보기
Serverless framework와 CircleCI를 통한 NoOps 맛보기Serverless framework와 CircleCI를 통한 NoOps 맛보기
Serverless framework와 CircleCI를 통한 NoOps 맛보기Kyuhyun Byun
 
Ec2 docker docker-compose
Ec2 docker docker-composeEc2 docker docker-compose
Ec2 docker docker-composeKyuhyun Byun
 

More from Kyuhyun Byun (7)

Go 도입 후 4년 간 기록
Go 도입 후 4년 간 기록Go 도입 후 4년 간 기록
Go 도입 후 4년 간 기록
 
성장하는 엔지니어가 되는 법- 주니어편.pptx
성장하는 엔지니어가 되는 법- 주니어편.pptx성장하는 엔지니어가 되는 법- 주니어편.pptx
성장하는 엔지니어가 되는 법- 주니어편.pptx
 
성장하는 서버 개발자 되기 - Wanted Livetalk
성장하는 서버 개발자 되기 - Wanted Livetalk성장하는 서버 개발자 되기 - Wanted Livetalk
성장하는 서버 개발자 되기 - Wanted Livetalk
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
 
Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기
Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기
Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기
 
Serverless framework와 CircleCI를 통한 NoOps 맛보기
Serverless framework와 CircleCI를 통한 NoOps 맛보기Serverless framework와 CircleCI를 통한 NoOps 맛보기
Serverless framework와 CircleCI를 통한 NoOps 맛보기
 
Ec2 docker docker-compose
Ec2 docker docker-composeEc2 docker docker-compose
Ec2 docker docker-compose
 

0원으로 시작하는 서버리스 데이터 수집 및 분석

  • 1. 0원으로 시작하는 데이터 수집 및 분석 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 1
  • 2. 목차 1. 발표자 소개 2. Serverless 3. 사용 서비스 소개 4. Serverless Framework 5. 수집 과정 6. 분석 결과 7. References 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 2
  • 3. ● MOVILEST, CTO ● AWSKRUG Serverless Group ● Node.js, AWS Infrastructure... ETC ● Java, Javascript, French, SQL, Kotlin… ETC ● https://novemberde.github.io ● https://github.com/novemberde 변규현 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 3
  • 4. Serverless 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 4
  • 5. 시작하기에 앞서서 서버를 운영할 때 벌어지는 상황들 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 5
  • 6. Web API: Load Balancer + Web Server - Load Balancer의 월 최소 비용(ALB 기준): 2만원 + 추가 비용 - Web Server의 월 최소 비용(EC2 t3.micro 기준): 약 1만원 => 아무 사용도 하지 않을 때의 요금 - 그런데 갑자기 접속자가 폭증한다면? => 열심히 Web server를 늘려주고, Load Balancer에 연결해주고, 웹서버가 문제생기는지 지속적으로 모니터링해주고……………………….. 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 6
  • 7. Crawler: Server - Server의 월 최소 비용(EC2 t3.micro 기준): 약 1만원 => 아무것도 하지 않을 때의 요금 - Crawler가 잘 돌고 있으려면 => NTP Server 로 시간 잘 맞춰주고, 서버가 잘 돌아가는지 지속적으로 Health Check 해주고, 배포 자동화하려면 설정할 것도 많고, 그리고 쌓인 데이터를 분석하려면… 상상도 하기 싫습니다. 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 7
  • 8. 그래서 일을 줄이는 방법을 찾아야 했습니다. 그리고 비용을 줄여야 했습니다. 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 8
  • 9. Server 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 9
  • 10. Serverless X 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 10
  • 11. Server + less 서버가 없다! 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 11
  • 12. 서버관리: 필요없음 초기비용: 0원 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 12
  • 13. 서버리스를 사용할 수 있는 Cloud Service 들 AWS, Azure, GCP ... 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 13
  • 14. 우리가 눈여겨 보아야하는 핵심 서비스 AWS: Lambda Azure: Functions GCP: Cloud Functions 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 14
  • 15. 이번에는 AWS Lambda를 사용해봅니다. 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 15
  • 16. 사용 서비스 소개 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 16
  • 17. 사용 서비스들! - AWS Lambda - Amazon S3 - AWS Glue - Amazon Athena - Amazon QuickSight 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 17
  • 18. 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 AWS Lambda - 커스텀 로직으로 다른 AWS 서비스 확장 - 커스텀 백엔드 서비스 구축 - 자체 코드 사용 가능 - 완전히 자동화된 관리 - 내결함성 기본 제공 - Automatic Scaling - Amazon CloudFront 요청에 대한 응답으로 코드 실행 - 통합된 보안 모델 & 사용량에 따라 지불 https://aws.amazon.com/ko/lambda/features/ 18
  • 19. AWS Lambda 제한 사항 - 사용가능한 언어: .NET Core 1.0(C#), .NET Core 2.0(C#), .NET Core 2.1(C#/PowerShell), Go 1.x, Java 8, Node.js 4.3, Node.js 6.10, Node.js 8.10, Python 2.7, Python 3.6 - 실행시간: 15분 이내 - 메모리: 3008MB - 동시성: 1000 - 코드 크기: 50MB, 리전당 총 75GB - /tmp: 512MB - payload 크기(동기식 호출: 6MB, 이벤트/비동기식 호출: 128KB) 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/lambda/features/ 19
  • 20. AWS Lambda 128 MB 512 MB 1024 MB 월별 프리티어(초) 3,200,000 800,000 400,000 100 ms 당 요금(USD) 0.000000208 0.000000834 0.000001667 1,000,000 Invoke 200 ms 요금(Free Tier 포함) $ 0 $ 0 $ 0 1,000,000 Invoke 200 ms 요금(Free Tier 미포함) $ 0.416 $ 1.668 $ 3.53 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/lambda/pricing/ 20
  • 21. Amazon S3 - 따라올 수 없는 내구성, 가용성 및 확장성. 99.999999999% - 가장 포괄적인 보안 및 규정 준수 기능 - 현재 위치에서 쿼리 - 유연한 관리 - 가장 많은 파트너, 공급업체 및 AWS 서비스에서 지원 - 간편하고 유연한 데이터 전송 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/s3/features/ 21
  • 22. AWS Glue - 완전관리형 ETL(추출, 변환 및 로드) 서비스 - 서버리스이므로 구매, 설정 또는 관리할 인프라가 없음 - 데이터 원본을 크롤링하고, 데이터 형식을 파악하고, 스키마와 변환을 제안 - Scala, Python 및 Apache Spark 지원 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/glue/features/ 22
  • 23. Amazon Athena - ETL 불필요 - 서버리스이므로 구매, 설정 또는 관리할 인프라가 없음 - 쿼리당 비용 지불(스캔한 데이터 용량에 따른 비용만 지불) - Presto 기반 표준 SQL 실행(CSV, JSON, ORC, Avro, Parquet 등 데이터 형식과 호환) - 대용량 데이터세트에서도 대화식 성능 구현 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/athena/features/ 23
  • 24. Amazon QuickSight - 조직 내 모든 구성원에게 세션당 요금제로 제공되는 첫 번째 BI 서비스 - 데이터 시각화 도구 - 사용한 만큼만 비용 지불 - 사용량과 활동에 따라 자동으로 규모가 확장 - 다양한 데이터 소스 사용 가능 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://aws.amazon.com/ko/quicksight/features/ 24
  • 25. Serverless Framework 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 25
  • 26. Serverless Framework 란? Serverless Framework 메인에 나와있는 소개문구는 다음과 같습니다. Serverless is your toolkit for deploying and operating serverless architectures. Focus on your application, not your infrastructure. 위 내용을 번역한 내용은 "Serverless는 서버 없는 아키텍처를 배치하고 운영하기 위한 툴킷입니다. 인프라가 아닌 애플리케이션에 집중합니다." 입니다. 이처럼 Serverless framework는 Serverless architecture를 운영하기 위한 툴이라고 생각하면 됩니다. 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://serverless.com/ 26
  • 27. Serverless Infrastructure Providers 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://serverless.com/framework/docs/providers/ 27
  • 28. Serverless Configuration # serverless.yml service: myService provider: name: aws runtime: nodejs6.10 memorySize: 512 # optional, in MB, default is 1024 timeout: 10 # optional, in seconds, default is 6 versionFunctions: false # optional, default is true functions: hello: handler: handler.hello # required, handler set in AWS Lambda name: ${self:provider.stage}-lambdaName # optional, Deployed Lambda name description: Description of what the lambda function does # optional, Description to publish to AWS runtime: python2.7 # optional overwrite, default is provider runtime memorySize: 512 # optional, in MB, default is 1024 timeout: 10 # optional, in seconds, default is 6 reservedConcurrency: 5 # optional, reserved concurrency limit for this function. By default, AWS uses account concurrency limit 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://serverless.com/ 28
  • 29. serverless.yml 에서 가능한 설정 정보 - S3 Bucket - API Gateway - IAM Role - Lambda - CloudWatch Event - VPC / Subnet / NAT / Security Group - IoT - DynamoDB … 거의 모든 리소스에 대해서 가능합니다. 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/ 29
  • 30. 수집 과정 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 30
  • 31. Crawler Analysis 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 31
  • 32. Serverless framework로 배포하기 service: ServerlessHandsOnPart2 provider: name: aws runtime: nodejs8.10 memorySize: 256 timeout: 30 stage: ${file(./config.yml):STAGE} region: ${file(./config.yml):AWS_REGION} deploymentBucket: ${file(./config.yml):DEPLOYMENT_BUCKET} environment: NODE_ENV: production iamRoleStatements: - Effect: "Allow" Action: - "s3:PutObject" Resource: "arn:aws:s3:::*/*" functions: crawler: handler: handler.crawler events: - schedule: rate(10 minutes) 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 32
  • 33. Data formula { "rank0": "이다희 아나운서", "rank1": "이선호", "rank2": "최고의 이혼", "rank3": "풍등", "rank4": "한글날", "rank5": "안녕하세요", "rank6": "정원중", "rank7": "홍삼", "rank8": "조재현", "rank9": "정애연", "portal": "daum", "createdAt": "2018-10-08T17:05:06.798Z" } 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 33
  • 34. S3 Partitioning 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 34
  • 35. Glue Data catalog 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 35
  • 36. Create View on Athena 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 36
  • 37. Use the view on QuickSight 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 37
  • 38. Results: Analysis by sum(value) 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 38
  • 39. Results: Analysis by sum(createdAt) 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 39
  • 40. References - https://github.com/awskrug/handson-labs-2018 - https://github.com/novemberde/serverless-crawler-demo - https://github.com/novemberde/serverless-todo-demo - https://aws.amazon.com/ko/lambda/features/ - https://aws.amazon.com/ko/athena/features/ - https://aws.amazon.com/ko/s3/features/ - https://aws.amazon.com/ko/quicksight/features/ - https://aws.amazon.com/ko/glue/features/ - https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html - https://docs.aws.amazon.com/ko_kr/quicksight/latest/user/data-source-limits.html#supported-date-formats - https://novemberde.github.io/aws/2017/09/14/public_data_athena.html 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 40
  • 41. 감사합니다. 2018.10.26 | 부산 개발자 밋업 | 0원으로 시작하는 데이터 수집 및 분석 | 변규현 41