Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
윤석찬
AW6 코리아 테크 에반젤리스트
(&1+/1&/14
Zombie Apocalyp...
Zombie Microservices Workshop 소개
• 서버리스 아키텍처를 구성하는 실습 행사
• 재미 있는 컨셉의 직접 참여하여 배우는 이벤트
• AW6 클s우n 서비스를 실습할 수 있는 기회
• AmazBA ...
행사 진행 시간표
(,&&Cm – 행사 소Q 및 진행 방법 안내
(,)&Cm – 휴식 및 Q&A
),&&Cm – Q별 실습 진행 실습 가이n 활용!
+,&&Cm – 피n백 제출 및 기a품 수v
ZOMBIE가 나타났다!
전 세U적으w 좀비 P염이 시작l고, 많은 gi시o이 점v 당하고 있습de. P염이 더
확산l기 전에 AW6 3am:da 기반 P시 시스템을 구축하여 P염l지 않은 살아있는
생존자간 소통이 필요...
“좀비가 전 세계 도시를 점령하고 있다…”
2016 AWS Zombie Microservices Roadshow
• 전 세U 1)Q 지역에서 진행 중인 행사
• 1&&&+ Q발자 및 고급 사용자가 참여 중
• 스타트업 ...
서버리스 마이크로서비스 아키텍처
Amazon S3
정적 웹 사이트
AWS Lambda
백엔드 로직
클라이언트
Amazon API Gateway
REST API 인터페이스
Amazon Cognito
인증 기능
Amazon...
좀비 생존자를 위한 채팅창
Zombie 채팅창 구현 요소
S3
A new S3 bucket with single-page HTML5 web app
API Gateway
/zombie/messages API with GET and POST meth...
Zombie 서버리스 워크샵 기본 아키텍처
Internet
Activity
Indicator
Chat Service
Activity
Messages
Search
Service
DynamoDB Streams
Elastic...
실습 소개
What you’ll build today!
실습 전 인증 기능 세팅
Amazon Cognito Userpools 기능 활용
• UseDCBBl 생성
• 사용자 가입 항목 설정
• 사용자 가입 시, 인증 방법 설정
• 가입 후, w그인 후의 처리 방법 설정
3am...
Lab 1: 생존자 채팅 기능
Internet
Typing Indicator
Service
talkers
/talkers
Continuous GET Request polling
of Typing Indicator Ser...
Lab 2: Twilio 기반 SMS 연동
Internet Twilio Processing
Mobile/SMS
/message Chat Service messages
Twilio Phone
Number
/twilio
I...
Lab 3: Elasticsearch 기반 채팅 메시지 검색
Search
Service
Dynamo Streams
Elasticsearch
Service
messages
Kibana plugin with Amazon
E...
Lab 4: Slack 메시지 연동
Chat Service
Slack Service
messages
Slack Chat Internet
Pre-process Slack message
before sending messa...
Lab 5: Intel Edison 좀비 모션 센서 연동
Internet
Zombie
Sensor Data
Zombie Sensor
Amazon SNS
/message
Chat Service
messages
• Lamb...
도전 과제
기본 도전 과제
1. 인증 설정 완료 및 채팅 프로그램 설정 완료
2. Twillo 및 Slack 연동
3. Elasticsearch를 통한 메시지 검색
추가 도전 과제
1. Intel Edison 기반의 I...
실습 시작하기
• 수준 별 실습 룸 이동 및 실습 진행
• 주의! 실습 문서를 정확하게 따라가지 않으면 오류 발생
• 실수를 줄이려면, 2-3명이 한 팀으로 만들어 보기
• 새로 코드짜는 건 없습니다… 다른 사람을 도와...
참고. 총 소요 비용 – 1달러 미만!
Cost estimate to run this 3 hour workshop!
• Lambda: FREE
• 1st 1m requests are free each month! Dur...
Upcoming SlideShare
Loading in …5
×

서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습 가이드 :: 윤석찬 (AWS 테크에반젤리스트)

1,978 views

Published on

Zombie Apocalypse Workshop in Seoul 서버리스 실습 행사 가이드

Published in: Technology

서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습 가이드 :: 윤석찬 (AWS 테크에반젤리스트)

  1. 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 윤석찬 AW6 코리아 테크 에반젤리스트 (&1+/1&/14 Zombie Apocalypse Workshop 서버 없는 마이크w서비스 구성하기
  2. 2. Zombie Microservices Workshop 소개 • 서버리스 아키텍처를 구성하는 실습 행사 • 재미 있는 컨셉의 직접 참여하여 배우는 이벤트 • AW6 클s우n 서비스를 실습할 수 있는 기회 • AmazBA /BgAitB • AW6 3am:da • AmazBA A42 1atewaI • AmazBA 0IAamB0. • AAd mBDeL • AW6 전문가와의 i움까지!
  3. 3. 행사 진행 시간표 (,&&Cm – 행사 소Q 및 진행 방법 안내 (,)&Cm – 휴식 및 Q&A ),&&Cm – Q별 실습 진행 실습 가이n 활용! +,&&Cm – 피n백 제출 및 기a품 수v
  4. 4. ZOMBIE가 나타났다! 전 세U적으w 좀비 P염이 시작l고, 많은 gi시o이 점v 당하고 있습de. P염이 더 확산l기 전에 AW6 3am:da 기반 P시 시스템을 구축하여 P염l지 않은 살아있는 생존자간 소통이 필요한 시점입de. 이벤트 기반의 마이크w서비스를 Q발하기 위한 플t폼으w서 AW6 3amda를 배우고, 이를 빠zS 배포, 운영 및 생존자의 접속에 따른 확장성을 b여야 합de. 본 워크샵은 AW6 3am:da, AmazBA A42 1atewaI, AmazBA 0IAamB0.와 기타 AW6 서비스를 기반으w 서버 없는 6eDGeDless! 애플리케이션을 구축해 보는 실습 행사입de. 팀을 이y어 몇 Q의 실습 코스를 진행할 수 있습de. 각 실습 코스는 독립적으w 구성l어 있기 r문에 Ws서 하거나, 전부 e 하실 수i 있습de. 실습 코n를 모m 완수하신 분o은 추가적으w 음료 및 식수 공급, 카카오톡 연동, 알렉사 연동을 통한 홈네트워크 구성 p을 해 보실 수 있습de!
  5. 5. “좀비가 전 세계 도시를 점령하고 있다…” 2016 AWS Zombie Microservices Roadshow • 전 세U 1)Q 지역에서 진행 중인 행사 • 1&&&+ Q발자 및 고급 사용자가 참여 중 • 스타트업 부터 엔터프s이즈 기업 Q발자 중 e양 • 서버리스 아키텍처를 배울 수 있는 종합 실습 가이n
  6. 6. 서버리스 마이크로서비스 아키텍처 Amazon S3 정적 웹 사이트 AWS Lambda 백엔드 로직 클라이언트 Amazon API Gateway REST API 인터페이스 Amazon Cognito 인증 기능 Amazon DynamoDB 데이터 스토어
  7. 7. 좀비 생존자를 위한 채팅창
  8. 8. Zombie 채팅창 구현 요소 S3 A new S3 bucket with single-page HTML5 web app API Gateway /zombie/messages API with GET and POST methods Lambda Functions GetMessagesFromDynamoDB and WriteMessagesToDynamoDB DynamoDB A ‘user, ‘talker’, ‘messages’ table to track channel, timestamp, message, and name
  9. 9. Zombie 서버리스 워크샵 기본 아키텍처 Internet Activity Indicator Chat Service Activity Messages Search Service DynamoDB Streams Elasticsearch Service S3 Web Hosting Twilio Slack Chat API Gateway IoT Device IoT Processing Website AWS IoT or Amazon SNS Cognito Userpools CloudFormation
  10. 10. 실습 소개 What you’ll build today!
  11. 11. 실습 전 인증 기능 세팅 Amazon Cognito Userpools 기능 활용 • UseDCBBl 생성 • 사용자 가입 항목 설정 • 사용자 가입 시, 인증 방법 설정 • 가입 후, w그인 후의 처리 방법 설정 3am:da 함수 연결! Cognito Federated Identity 기능 설정 • 인증 제공자w서 설정 • 클s이언트에서 인증 제공자 설정
  12. 12. Lab 1: 생존자 채팅 기능 Internet Typing Indicator Service talkers /talkers Continuous GET Request polling of Typing Indicator Service to display current ‘talkers’ Single reusable service with DynamoDB PutItem implementation POST from Zombie chat to /talkers with Name, Channel, Timestamp when survivor types message Zombie Chat
  13. 13. Lab 2: Twilio 기반 SMS 연동 Internet Twilio Processing Mobile/SMS /message Chat Service messages Twilio Phone Number /twilio Integration Response: Apache Velocity Template Language (VTL) to transform response to XML for Twilio • Pre-process Twilio message • Convert/standardize incoming parameters for Chat Service • HTTPS POST to Chat Service • Design Principle: Service re-use • Single implementation of DynamoDB PutItem Integration Request: Apache Velocity Template Language (VTL) to transform POST parameters into JSON.
  14. 14. Lab 3: Elasticsearch 기반 채팅 메시지 검색 Search Service Dynamo Streams Elasticsearch Service messages Kibana plugin with Amazon Elasticsearch Service provides real-time UI to search messages Lambda function processes events and indexes them in Amazon Elasticsearch Service DynamoDB Streams provides a time-ordered flow of events (incoming survivor messages) Amazon Elasticsearch Service provides a managed service for search and analytics
  15. 15. Lab 4: Slack 메시지 연동 Chat Service Slack Service messages Slack Chat Internet Pre-process Slack message before sending message to Chat Service • Design Principle: Service re-use • Single implementation of DynamoDB PutItem /slack /message
  16. 16. Lab 5: Intel Edison 좀비 모션 센서 연동 Internet Zombie Sensor Data Zombie Sensor Amazon SNS /message Chat Service messages • Lambda subscribes to SNS Topic • Pre-process message • HTTPS POST to Chat Service Node.js on Edison sends sensor events to Amazon SNS • Design Principle: Service re-use • Single implementation of DynamoDB PutItem
  17. 17. 도전 과제 기본 도전 과제 1. 인증 설정 완료 및 채팅 프로그램 설정 완료 2. Twillo 및 Slack 연동 3. Elasticsearch를 통한 메시지 검색 추가 도전 과제 1. Intel Edison 기반의 IoT 센서 앱 연동 (Lab 4를 마치신 분) 2. 다중 채팅 방 및 비밀 채팅방 만들기 (개발 도전 과제) 3. 카카오 옐로 ID를 통한 메신저 연동 (개발 도전 과제) 4. Amazon SNS 서비스를 이용한 모바일 노티 보내기 등등…
  18. 18. 실습 시작하기 • 수준 별 실습 룸 이동 및 실습 진행 • 주의! 실습 문서를 정확하게 따라가지 않으면 오류 발생 • 실수를 줄이려면, 2-3명이 한 팀으로 만들어 보기 • 새로 코드짜는 건 없습니다… 다른 사람을 도와 주세요! • 한국어 실습 문서 http://bit.ly/awskr-zombie-lab https://github.com/awslabs/aws-lambda-zombie-workshop
  19. 19. 참고. 총 소요 비용 – 1달러 미만! Cost estimate to run this 3 hour workshop! • Lambda: FREE • 1st 1m requests are free each month! Duration pricing will be sub-1penny! • DynamoDB: $0.0585 • $0.0065/hr for every 10 read units provisioned - 75 units provisioned/hr • $0.0065/hr for every 50 write units provisioned – 75 units provisioned/hr • DynamoDB Streams: 2.5m reads free per month • ElasticSearch Service: $0.282 • M3.medium with instance storage - $0.094/hr • API Gateway: $0.035 • $3.50/million API calls. Assume 10,000 calls made per hour during lab • CloudWatch Logs: $0.25 • $0.50 per GB/month ingested. Super high end estimate of 500MB of log data during workshop • S3: $0.03 • $0.03 per GB for first 1TB a month. • Data Transfer: FREE • First 1GB/month out is free. Data transfer in is free!

×