今天聽的內容
[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服務計費方式
* 假設和求證,調整後隔幾天觀察是否有改善
* 控制成本和營收獲利的比率
* 善用服務進行自動化
* 追蹤新的服務可否省錢
* 寫文件傳承知識經驗