今天聽的內容 [TOC] # What is web3 ## polling / monitor web3 ```python= def pooling_event_from_nodes( from_block=0, to_block=None, step=3500, delat=0.5): """ Polling event """ ``` ## Cdk cronjob ## Transaction 1. 整個web3就是大型一致性交易資料故。 2. 每段時間便會將不定數量的交易請求完成並廣播。 3. 交易完成便不能回朔,但可以知道待交易的請求。 4. ERC20 / Value不是徵證存在錢包裡面。 5. 任何交易動作等交易完成才算數。 6. 不能排除有重組區塊問題ETH PSD可能需要等待至15分鐘才能做確認驗證。(重組區塊:可能交易行為整段出問題) # Wallet Knowhow ## Wallet 1. Wallet 背後透過其實也是連到節點。 2. 前端是透過waller的APP去請使用者千數教億 3. 除非必要,不建議由後端送交易資訊 4. 透過Ecrecover實施使用者登入系統,原理是請使用者用撬安數資組訊息並驗證。 5. 錢包流暢度在手機端還不是很好,整合上要非常注意管理錯誤。 就像銀行的驗證機制一樣,需要一組使用者代碼的密碼,所以這些錢包其實也是依靠節點去判斷是誰簽的資料,以驗證是不是你本人的錢包。 ## Auth verify_proof checksun_address = w3.toCheckSumAdd EC_recover * oauth2 * token(POST) * userinfo(GET) * authorize(POST) # What diff in web3 and 2 in E-Connerce Customer, Order, Payment ## Customer Comparison | web3 | web 2 | | -------- | -------- | | wallet address | Email/phone number/username | | can scan all history on blockchain |base on privacy policy| |cannnot restore/reset|can restore/reset password| |cannot contact customer|depends on username| |cross website membership by NFT|Need Oauth /OIDC to get user info| ## Order | web3 | web 2 | | -------- | -------- | | cannot return order if using tokens| return policy| | physical items requires shipping address|need billing address and more personal data| ## payment | web3 | web 2 | | -------- | -------- | | blockchain networking|public network (Some TLS required)| | identity currency contract address(要自己寫好要用什麼幣值)|payment provider| | can use NFT or bundle|Need implement coupon| |Multi to multi(不同的幣排列組合), depends on contract|one way| |cannot cancel|with-holding(可以先扣款但不請款)| ## Purchase Create order:Amazon API gateway-> aws lambda->amazon dynamoDB Payment: browser fox wallet -> ooo update payment status: amazon eventBridge->aws lambda->ooo terraform 可以不用 amazon API gateway show case: theremade.io ## Redeem system 1. check RNFT counts 2. create order 3. approve RE:VREAMER burn your tokens 4. burn tokens and redeem 5. update order status 6. shipment # 新創上雲之商業模式與資訊架構演化史 天氣即時預報 on AWS 天氣即時預報 https://apps.apple.com/tw/app/%E5%A4%A9%E6%B0%A3%E5%8D%B3%E6%99%82%E9%A0%90%E5%A0%B1/id1277710469 * 將預報的資訊轉換成12種穿衣建議(根據氣溫、濕度、風向) * 營利行為:品牌露出+社群小編的文字 ## 開發期 啟發:氣象專欄如果有很多人有看,那應該就很有用 天氣APP的痛點: 1. 突如其來的大雨:即時降雨推播系統,哪個地區,幾分鐘後,即將下雨 2. 呈現的方式:app介面的整合 3. 移動應用創新賽(認識蘋果總監) 4. 後臺架構怎麼崩潰的:每月不斷地燒錢 面臨挑戰: 伺服器成本高、系統穩定度低 ## 商業化第一階段 如何轉換收益:人流轉金流->app轉金流只有兩種:購買時收費、收廣告(或賣個資)。 ### 廣告格式: * banner ads 橫幅廣告 * interstitial ads 插頁式廣告 * rewarded ads 獎勵式廣告(錢最多) * Native ads-原生廣告(最能客製化、但不賺錢) -> 最後的選擇 * open ads 開屏廣告 ### 系統穩定度優化 初期困難:流量高峰時不穩定、成本高。 加開EC2, ELB平衡流量。 與依雲谷合作(導入server less) * Api fateway, Lambda * User連入API gateway->lambda(轉址服務、GPS轉經緯度)->redis * 與此同時 eventBridge->Lambda->Redis並且同步到RDS(Mysql) 成本降到原本的10% * 案例分享 * 降低server負擔 * 快取: 不是用經緯度查詢(gps小數點六位後面四位通常不同) * 全台共368鄉鎮 * google map金門無法取得鄉鎮資訊、部分路段無法轉換:解決方案:開發地理位置轉換程式。 面臨挑戰: 更新速度慢、廣告收益差 ## 商業化第二階段 已經有套相對完整個架構 廣告聯播網五花八門(google admob(前最少), meta audience network, applovin max(錢最多), iron source) * 廣告中介(mediation) * 每個功能都要開發兩次:Flutter 目前架構 最下面:系統排程->用 繪圖 圖資更新 最右邊EC2:文章管理系統(wordpress) 面臨挑戰:全球化 * 阿波羅計劃 cloudFront->s3->api gateway lambda: seo, jango # 兼顧成本進行架構優化的地方智慧 Cost Optimization on AWS (上) Jaffer Li@ trend Micro * business engagement with aws * you should know * thchnical-oriented cost optimization solution * contract-oriented * management-oriented * balance betwween cost, security, revenue ## start from why 為什麼要聽這個議題 * Your stockholder inquiry 股東的提問 * profit adn loss report const element 損益表費用 * revenus vs cost portion 收入成本佔比 * ESG 社會責任永續經營 * technical skill level raise 提升技術技能 * technical lifecycle refreshment 技術技能演進 ## business engagement with aws 雲服務廠商供應模式 * Direct business(直接交易) * partner business(代理中介商) ## you should know 前情提要 * Pay as you go | on-demand | spot |reserved * AWS shared responsibility model in Iaas/paas saas * reserved instance(RI)/saving plan(sp) * availability vs durability(4個久和11個久的差異) ## technical-oriented * provision on-demand or for-peak (最好找到的答案) * low utilization resource | 使用量過低 * ex: low CPU specification * Inappropriate access pattern * cons of storage vs access | 儲存成本與存取成本 * ex: S3也就像是 FUSE: file system存取過高 * ex: Glacier (搬動資料成本超高,所以要想辦法打包) * Technology refreshment * newer technology price wins | 新技術成本相對較低 * ex: arm-based processor, gp3(GP2轉GP3先省20%) ## contract-oriented * RI/SP management * contract:1y,3y,marketplace * converage range dilemma(覆蓋率的迷思):不要一口氣全買來省錢,兩邊服的痛苦更高 * RI: AZ/regional/convertible(複選題) * SP: regional compute/ML(複選題) * AWS activate program * contact aws sales 洽原廠業務 * Special discount contract from aws * * contact aws sales 洽原廠業務 ## management-oriented 成本優化管理 * Consolidated bulling tagging rules(不會省到錢,但你能更好知道錢用到哪裡) * cost explore tag search key * CE api understanding * consolidated billing const allocation (加錢要先講清楚) * group by account; roll up to service, department and BU * shared const (RI/SP) * cost and Usage feedback ## aws cost explorer * console (required activate with IAM) * consolidated billing on aws organization account * tagging ## AWS trusted advisro * business support (15000w 美金會是10~6%) * challenges: multiple account consolidation 多帳號整合 ## cloud one - conformity * multiple aws account * multiple cloud provider * central compliance rule ## balance betwween cost, security, revenue 1,000,000,000,000 人生健康就是前面的那個1, 服務的資安事件也是那個1 所有的架構師都應當注意服務的營收及費用佔比、並且同時關注成本及安全事項。 # 兼顧成本進行架構優化的地方智慧 Cost Optimization on AWS(下) Clay ## 情境說明 * 找代理商開發票 * 中小規模新創、組織扁平、 * 已經在AWS上有幾年經驗 * 帳號數量少、帳單內容不多 * 帳務分析工具excel ## 省錢專案啟動 * 主管或公司支持。 * 研究帳單和排序、可行係 * 確認計費方式(小時VS次數): hosting cost per month vs requests per month(tiles served vs hosting cost/month) * 基本:買RI、saving plan, 已使用時間評估是否採購 * 看整年度支出(中間可能好看,但實際上增加了RI的成本也要考慮) * e.g. 實際流程:會先去找大流量的支出項目(像是IPS相關的lambda)然後才去做項目調整。 ## 經驗分享:一般開發 * 原則是下班關機、使用cli, boto3 * 單一az網路資料流 * EKS node group 使用spot instance(要注意的是,選instance type要多選一些類型) * cloudwatch logs 設定保留時間 ## 經驗分享:正式環境 * 善用 auto scaling * 清理EC2 volu,e 備份檔案等 * 使用G系列的RDS * 清理或合併load balancer * 自動化備份和house keeping(EC2 Data life cycle manager, aws backup) * compute optimizer 檢視EC2用量 ## 制度化 * 在變更之前分析對費用之影響 * 新計畫費用評估 * POC或專案life cycle 管理:死掉的服務要刪除 * 定期review/調整架構 ## Cost optimization pillar white paper導讀 * design principles: * implement cloud financial management(雲端的財務管理) * 費用告警 * 監控費用 * adopt a consumption model * measure overall service * Expenditure and usage awareness:把費用歸屬到對應團隊、使用tag標註、帳號管理、管管控使用的資源、分析固定和變動成本(EC2開機與運算的差別)。 * cost0effective resources * 選擇服務時評出成本、定期review所用服務 * licensing cost可透過使用open source 講低 * select the correnct resource type size and number * 在使用cloudwatch資料分析系統時候建議反應使用者體驗與時間區間 * AWS auto scaling, apis, sdls, s3 intelligent0tiering * precing model: ondemand spot(服務可中斷)、Saving plan, RI, 地理位置選擇 * 優化網路相關費用 cloudfrontm vpc endpoint(減少走到internet) * magage demand and suppluing resources * api gateway throtting 和sqs的取捨 ## take away * 了解使用之AWS服務計費方式 * 假設和求證,調整後隔幾天觀察是否有改善 * 控制成本和營收獲利的比率 * 善用服務進行自動化 * 追蹤新的服務可否省錢 * 寫文件傳承知識經驗