interview quiz w/o server

30

Upload: cliff-chao-kuan-lu

Post on 23-Jan-2018

376 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Interview Quiz w/o Server
Page 2: Interview Quiz w/o Server

ABOUT CLIFF

•Certified AWS …

•Professional Level SA

•Associate Level Sysops

•Senior Architect @ 104 Corp.

•Converted 2009

Page 3: Interview Quiz w/o Server

104 徵人好難的,GOOGLE上搜尋 “104 職缺” 查到的都是其它公司 T_T

這傢伙怎麼到哪都在徵人….

Page 4: Interview Quiz w/o Server

EC2 各種麻煩◦ Load Balancing

◦ Types

◦Contracts

◦AutoScaling

Parameters

Pattern

4/20/2016CC-BY 3.0, Cliff Chao-kuan Lu

<[email protected]> 4

-- 2014 AWS JavaScript

SDK and DynamoDB

Page 5: Interview Quiz w/o Server

4/20/2016CC-BY 3.0, Cliff Chao-kuan Lu

<[email protected]> 5

Page 6: Interview Quiz w/o Server

寫在前面 –科學記數

•今天會談到很多很小的數字•用科學記數比較方便•1e3 = 1,000

•4e-4 = 0.000 4

•1 – 1e-11 = 0.999 999 999 99

Page 7: Interview Quiz w/o Server

BACKGROUND

•雲端世代只需要開發者

•Market Survey -> User analysis

•Waterfall Design -> Iterative

•QA -> Unit test + End-to-end test

•Infrastructure as Code

•開發能力難由履歷評沽

Page 8: Interview Quiz w/o Server

INTERVIEW –肉搜

爬 BLOG, GITHUB, 社群參與或發表記錄

Page 9: Interview Quiz w/o Server

INTERVIEW –型式聊聊

聊聊天氣、學校老師、大學宿舍養的狗、台中名產,面試就結束了

Page 10: Interview Quiz w/o Server

INTERVIEW –測驗

出題閱券都有點麻煩,不小心還會改錯

Page 11: Interview Quiz w/o Server

INTERVIEW –白版解題

不小心一個下午就這麼過去了

Page 12: Interview Quiz w/o Server

問題是

•時間•時間•時間

前面的手法都不太容易 SCALE

Page 13: Interview Quiz w/o Server

LEETCODE

既然有人刷 LEETCODE 準備面試…

Page 14: Interview Quiz w/o Server

那就來做測驗 API吧凡是人類做了嫌麻煩浪費時間的,都應該自動化;

凡是牽涉溝通的,都應該交給 API!

Page 15: Interview Quiz w/o Server

服務設計考量

•效能•管理•費用

Page 16: Interview Quiz w/o Server

API GATEWAY + LAMBDA + S3

•Managed Services

•解決效能、管理問題

•費用•皆在 1e-6 鎂/Request 之數量級

Page 17: Interview Quiz w/o Server

LAMBDA

•Serverless 運算服務

•支援 Python, Node.js 與 Java

•Managed, AWS 負責 HA 與 Scalability

•/tmp 有 512mb 可用

•若 24/7 運行 (128mb),費用與 t2.nano 相若

•觸發與權限設置詳見文件

Page 18: Interview Quiz w/o Server

API GATEWAY

•Managed HTTPS API Gateway

•權限設計頗複雜,必須詳讀文件

Page 19: Interview Quiz w/o Server

架構

Page 20: Interview Quiz w/o Server

運作

Page 21: Interview Quiz w/o Server

DETAILED PRICING

•API-gateway

•請求 $3.5e-6 Calls

•傳出 $0.09 / GB

•Lambda

•請求 $2e-7 (first 1M free)

•執行 $2e-7 (100ms, 128MB)

•S3

•儲存 $0.03 / GB-month

•傳出 $0.09 / GB

•請求 $4e-7 GET

Page 22: Interview Quiz w/o Server

OPEX

•假設說明、題目、與解答均為 1kb

•下載題目: $5.2e-6

•每次答題 / 取題: $4.8e-6

Page 23: Interview Quiz w/o Server

COST ESTIMATION

•若每日萬人應試,各下載 10 題,每題嘗試 20 次

•月支出= 1e4 * (10 * (5.2e-6 + 20 * 4.8e-6))

~ 10.1 (USD)

•約合 2 台 t2.nano

Page 24: Interview Quiz w/o Server

管理

•Managed Service 解決了區域內的可用性與彈性問題

•跨區部署成本•儲存試題 (S3 儲存 <1USD/mo)

•Route53 ($0.4e-6 per lookup)

•API-Gateway + Lambda ~ 0 (Pay as you go)

Page 25: Interview Quiz w/o Server

開發

•Python 2.7

•100% test coverage (pytest)

•引擎可能會 Open Source,但題目暫傾向不要

•答案都在裡頭 >///<

Page 26: Interview Quiz w/o Server

部署

•目前仍手動部署•計劃:

•以 Script 管理 CloudFormation Stack

•包含 S3 Bucket, Lambda, API Gateway, (Route53)

•Script 上傳題目說明與 Lambda-source

Page 27: Interview Quiz w/o Server

期待

Page 28: Interview Quiz w/o Server

誠徵

•開發者• lambda-quiz 計劃

•104

•奴工講者、義工

•AWSUGTW

Page 29: Interview Quiz w/o Server

QUESTIONS

Page 30: Interview Quiz w/o Server

THANKS