Advertisement

More Related Content

Slideshows for you(20)

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

Advertisement

More from Amazon Web Services Korea(20)

Recently uploaded(20)

Advertisement

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

  1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 윤석찬 AW6 코리아 테크 에반젤리스트 (&1+/1&/14 Zombie Apocalypse Workshop 서버 없는 마이크w서비스 구성하기
  2. Zombie Microservices Workshop 소개 • 서버리스 아키텍처를 구성하는 실습 행사 • 재미 있는 컨셉의 직접 참여하여 배우는 이벤트 • AW6 클s우n 서비스를 실습할 수 있는 기회 • AmazBA /BgAitB • AW6 3am:da • AmazBA A42 1atewaI • AmazBA 0IAamB0. • AAd mBDeL • AW6 전문가와의 i움까지!
  3. 행사 진행 시간표 (,&&Cm – 행사 소Q 및 진행 방법 안내 (,)&Cm – 휴식 및 Q&A ),&&Cm – Q별 실습 진행 실습 가이n 활용! +,&&Cm – 피n백 제출 및 기a품 수v
  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. “좀비가 전 세계 도시를 점령하고 있다…” 2016 AWS Zombie Microservices Roadshow • 전 세U 1)Q 지역에서 진행 중인 행사 • 1&&&+ Q발자 및 고급 사용자가 참여 중 • 스타트업 부터 엔터프s이즈 기업 Q발자 중 e양 • 서버리스 아키텍처를 배울 수 있는 종합 실습 가이n
  6. 서버리스 마이크로서비스 아키텍처 Amazon S3 정적 웹 사이트 AWS Lambda 백엔드 로직 클라이언트 Amazon API Gateway REST API 인터페이스 Amazon Cognito 인증 기능 Amazon DynamoDB 데이터 스토어
  7. 좀비 생존자를 위한 채팅창
  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. 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. 실습 소개 What you’ll build today!
  11. 실습 전 인증 기능 세팅 Amazon Cognito Userpools 기능 활용 • UseDCBBl 생성 • 사용자 가입 항목 설정 • 사용자 가입 시, 인증 방법 설정 • 가입 후, w그인 후의 처리 방법 설정 3am:da 함수 연결! Cognito Federated Identity 기능 설정 • 인증 제공자w서 설정 • 클s이언트에서 인증 제공자 설정
  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. 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. 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. 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. 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. 도전 과제 기본 도전 과제 1. 인증 설정 완료 및 채팅 프로그램 설정 완료 2. Twillo 및 Slack 연동 3. Elasticsearch를 통한 메시지 검색 추가 도전 과제 1. Intel Edison 기반의 IoT 센서 앱 연동 (Lab 4를 마치신 분) 2. 다중 채팅 방 및 비밀 채팅방 만들기 (개발 도전 과제) 3. 카카오 옐로 ID를 통한 메신저 연동 (개발 도전 과제) 4. Amazon SNS 서비스를 이용한 모바일 노티 보내기 등등…
  18. 실습 시작하기 • 수준 별 실습 룸 이동 및 실습 진행 • 주의! 실습 문서를 정확하게 따라가지 않으면 오류 발생 • 실수를 줄이려면, 2-3명이 한 팀으로 만들어 보기 • 새로 코드짜는 건 없습니다… 다른 사람을 도와 주세요! • 한국어 실습 문서 http://bit.ly/awskr-zombie-lab https://github.com/awslabs/aws-lambda-zombie-workshop
  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!
Advertisement