AWS의 Serverless 서비스들을 활용하여
단 하나의 서버도 없이 데이터를 수집하고 분석한다.
사용하는 AWS 서비스
- AWS Lambda
- Amazon S3
- Amazon Athena
- AWS Glue
- Amazon CloudWatch
- Amazon QuickSight
RDS PostgreSQL에서 Amazon Aurora를 도입하기 위한 결정적 이유들에 대해서 알아보고, Aurora를 도입한 후에 달라진 점을 살펴봅니다.
마이그레이션시 발생했던 문제점을 해결하고 1년동안 서비스를 운영하며 어떤 특징들을 이용해서 대응했는지 공유합니다.
2017년 12월 6일 W3C Conference에서 "Docker와 DevOps에서 Serverless와 NoOps로의 여정"라는 주제로 발표한 자료입니다.
데모로 시연한 샘플코드는 아래와 같습니다.
https://github.com/novemberde/serverless-webapp-demo
RDS PostgreSQL에서 Amazon Aurora를 도입하기 위한 결정적 이유들에 대해서 알아보고, Aurora를 도입한 후에 달라진 점을 살펴봅니다.
마이그레이션시 발생했던 문제점을 해결하고 1년동안 서비스를 운영하며 어떤 특징들을 이용해서 대응했는지 공유합니다.
2017년 12월 6일 W3C Conference에서 "Docker와 DevOps에서 Serverless와 NoOps로의 여정"라는 주제로 발표한 자료입니다.
데모로 시연한 샘플코드는 아래와 같습니다.
https://github.com/novemberde/serverless-webapp-demo
기본적인 웹어플리케이션 아키텍쳐인 ELB와 EC2로 이루어진 환경에서 Serverless Architecture인 API Gateway + Lambda로 전환한 사례 공유입니다.
데모 Git repository는 다음과 같습니다.
https://github.com/novemberde/serverless-webapp-demo
기본적인 웹어플리케이션 아키텍쳐인 ELB와 EC2로 이루어진 환경에서 Serverless Architecture인 API Gateway + Lambda로 전환한 사례 공유입니다.
데모 Git repository는 다음과 같습니다.
https://github.com/novemberde/serverless-webapp-demo
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...Amazon Web Services Korea
AWS re:Invent에서 소개된 개발에서 운영까지 이어지는 파이프라인 전체에 대한 최신 기술을 통해, 사일로를 분리하고 협업을 향상하는 방법을 소개합니다. 거버넌스 제어를 위한 AWS Control Tower, 코드 수준에서의 위험성 사전 탐지를 위한 Amazon CodeGuru Reviewer, 더 빠르고 풍부한 기능의 앱 제작을 위한 AWS Amplify Studio, IaC를 위한 AWS Cloud Development Kit, 그리고 운영 효율성을 향상 시키는 Amazon CloudWatch의 신규 기능을 알아봅니다.
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타
Microsoft 워크로드에 대한 탁월한 전문성을 바탕으로 AWS의 Microsoft Competency인증을 취득한 Advanced 컨설팅 파트너사인 테크데이타에서 실제 마이그레이션 수행 시 고객사 인프라 환경을 빠르게 분석하고 자동화를 할 수 있는 AWS OLA(Optimization & License Assessment) 프로그램을 소개하고, Microsoft 워크로드를 마이그레이션시 고려해야 할 몇가지 서비스에 대해서 소개를 하였습니다.
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇BOAZ Bigdata
데이터 엔지니어링 프로젝트를 진행한 백발백준 팀에서는 아래와 같은 프로젝트를 진행했습니다.
백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
20기 유하준 한국외국어대학교 산업공학과
20기 안지완 중앙대학교 소프트웨어학과
20기 정태형 경기대학교 응용통계학과
20기 최윤서 숙명여자대학교 일반대학원 통계학과
개발자들이 직접 선정한 re:Invent 2019 상위 12 신규 서비스 알아보기 - 윤석찬 (AWS 테크에반젤리스트)
--
올해 AWS re:Invent 2019에서는 77개 서비스가 신규 출시 되었습니다. 이중에서 AWS 한국 사용자 모임에서 투표를 통해 가장 흥미로운 서비스로 선정된 12개를 소개합니다.
Amazon DynamoDB는 대표적인 완전 관리형 NoSQL 데이터베이스 서비스이지만, 많은 고객분들은 여전히 가격이 너무 비싸다는 인식을 갖고 계십니다. 이번 세션에서는 특히 운영 부담 없이 인터넷 스케일의 서비스를 가능하게 하는 DynamoDB의 장점과 사용 사례, 그리고 한국 최대 규모 DynamoDB 고객의 비용 최적화 사례를 통해 워크로드에 따라 다양한 비용 최적화 포인트가 있음을 소개합니다.
I will share the initial reasons for introducing Golang and the architecture choices we made based on the scale of the chat service we developed over 4 years. Additionally, I will share the lessons learned from the problems we encountered while operating the service and how we resolved them.
다양한 방법으로 성장을 할 수 있다고 믿고있다. 짧은 시간동안 더욱 많은 사람의 고민을 해결하는데 집중하고 싶었고, 그 중에서 4가지 정도의 키워드를 뽑아서 공유하였다.
- 단거리 달리기와 마라톤의 차이
- Back to the basics: 기초 지식을 찾아보고 공부하기
- Repeat, Rebuild: 반복해서 손에 익히기
- 1만시간의 법칙의 이면
이와같이 주제를 두고 하나씩 공감가며 주니어들이 방향성을 잡을 수 있는데 도움이 되고자한 발표이다.
Deploy a todo app via Serverless framework.
Build app with golang and echo server.
This presentation is the guide "How to deploy Golang apps via AWS Lambda and ETC".
Demo: https://go-todo.judoka.dev/
Github: https://github.com/novemberde/go-serverless-demo
Blog: https://novemberde.github.io/
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
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
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
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
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