SRE Conference
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Help
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
# 金融業雲端 API 管理轉型實戰經驗 - 林家慶 (Kai) ###### tags: `2023` {%hackmd @sre-conf/H1pCafrG3 %} # Agenda ## API Application Strategies ### Integrated Platform as a Service 因為國泰有整合內部資源的需求 最終提供 API 給外部使用者使用 TSP 業者合作Caas - 7-ELEVEN Open 錢包 - 提供共享機車(Wemo) ### Security and Governance Threat Protection Access Controls Self Service and SSO Security Governance(法規性上的要求,像是金融法規 or GDPR) Data Security(mTLs雙向SSL) ### Cathay Finance Group APIM Structure 1. Open banking * 法規關係,所以 API 還是維持在地端,採用混合雲的架構,業務在地端,log拋雲端,方便追蹤和管控 * 消金要避免資料流到海外,所以要有地端資料庫 * Hybrid架構 * Anthos * biplane architechture 2. Integration -> 管理面的準則,業務面的規範,使用API的版本與規範 3. Portal -> SSO 單一入口, 在單一頁面做應用 4. Monitoring -> 持續監控,保持每隻 API 在使用上都有符合條件(無被濫用等等狀況) ## API Mangement System - 安全性 - 合規性 - 可靠性 ### API Secure - Authentication and Authorization - Firewall (OWSAP) - End to end Security - Traffic Management - Content-based Security - Extension - 除去 Basic 的方式外,是否還有客製化的方式? ### Configurable API Policies * Manage: * 防護打API的次數或是頻率(依照系統承載量設定流量限制) * Transform: * traslate and reformat data for easy consumption * 把一些不必要的header等刪除,轉換成內部Api的infomation * Secure: * AOIs and protect back-end systems from attack(oauth) - 透過 OAuth2.0 認證來保證服務 * Extend: * with programming when you need it * 因應需求,例如API傳輸時的加解密等等 如果有大檔上傳,中間擴充功能會先把檔案傳到雲端空間(cloud storage or S3),然後再把 URL 塞入 request 透過塞連結來完成 ## APIM Architecture Evolution ### Stable Services By Highly Available * Anthos 升級必須停機,銀行實務上不可接受 - 所以 expand organization across multiple regions - 達到DR Site的效果 - 兩個regions資料庫即時同步,升級時不要異動到資料庫 ## APIM Problem-Solving ### Unsynchronized Status * Uncoordinated * Can't request the MART component for configuration changes. * Fail r/w database ### The Influence of TLS Certificates Cretificates假設更新時其他server沒有更換,全部會crash掉 - hand shake failed:ingress 如果有改變,可能導致 Header 變動以致無法溝通 ### Resource Management - Zombie Pods - 看起來沒有怎麼樣,但會一直打入 502 的問題 - Resource Capacity - Unhealthy Auto-Scaling ## APIM Future Enhancement - 法規鬆綁後是否可以上雲?是否可以進行更多的推廣? --- ------ 聊天區 ------ 好奇板書大大是工作人員嗎? 感謝大大,不然理解跟不上講話速度 我是蠻討厭有人用了桌子或是用了插座 但是卻不寫共筆 對不起,電腦沒電了⋯⋯ 我也快沒電了QQ 中場趕快充電XD -> 開源貢獻共筆 rocks 🤘 手機打字中,沒有插座真的是硬傷欸 -> 還好有帶行充頂著(mac可以typec充電) --> HP 也可以用 typec 充電ㄎㄎ 我也是用手機中,沒插座電腦沒電了 --> 有桌子共筆也不是義務就是了,很難要求 我們只是一般參與者,用這個來做紀錄 以往參加 Conf 都有這東西 第一次參加 Conf 第一次跟大家一起寫共筆ㄎㄎ -> 第一次寫共筆+1,但不是第一次參加Conf🤣 -> 沒帶電腦,平板太難打,要不然也想幫忙記東西qaq 第一次共筆,覺得有趣✌ 內容有遇的事後大家寫共筆 內容太無聊的時候大家都在上面抬槓 通常我都拿來看聊天區 大家都是用什麼APIM呢? - https://konghq.com/products/kong-gateway +1 > 弱弱的問:什麼時機需要導入類似Kong這種API gateway呢? > 舉個例子來說,當你的API原本沒有權限控管或是流量限制,突然想做,但AP人員沒有要改程式,那直接在前面加個Gateway就解決XD,或是當你想做一些IP的限制等等都可以唷,很多功能的~ 簡報很漂亮 -> ~~他可是國泰,必須的~~ 好奇問,為啥sre conference只有一軌 -> 社群還沒養起來吧 -> 可能SRE在台灣還沒有很大量推廣?我們公司目前甚至是才剛開始從傳統的工作流轉型而已 -> 一軌是指甚麼呀? --> 就是沒有同時有一個以上的講者在講主題分享 ---> 喔喔了解XD -> k8s summit跟devops day會很多講者同時開講 有時候conference 會同時有兩三場(軌)在講 可能sre都在忙 沒空參加 ~~SRE都在待命/救火~~ XD ~~會來的就不會是SRE,SRE現在都在救火~~ ~~所以你各位沒在救火的都是在耍流氓?~~ -> ~~可能耍猴比較正確~~ 都是交給同事cover sre的工作 🤣 去年有參加,主題比較好 去年的共筆好乾淨 進場看到沒桌子,傻眼 剛開始早上還沒有座位 -> 真的 搞不好會後聊天區就清空了(欸 -> 有可能 -> 應該會清空吧(?) -> 丟到 github (?) -> 清空我覺得蠻不行的 -> 我也覺得不行 -> 看聊天區有時候比前面收穫還大 XD > > HackMD 每 10 分鐘會留存一個版本,就算內容清空還是可以在版本紀錄看到 --> 感謝分享, 一看右上角才發現還有一鍵 export gist > > 還可以使用 Export Arweave 直接將內容放上區塊鏈 好多銀行都用 Anthos -> 不是只有銀行,之前有看到中國醫大也開始用Anthos上雲了,畢竟不是所有公司都喜歡完全上公有雲(或是有其他原因,例如法律層面),混合雲環境相對來說就是更好的解決方案 尤其GCP目前已經是落地的狀態 有人用過Azure Arc管理過混合雲嗎?QQ -> GCP 也有 Anthos ~~(今天都是 AWS 和 Azure)~~ -> 想死可以不要這樣 混合雲的意思是CD到不同雲嗎? -> 不是,混合雲是本地跟雲端同時負載 -> 公有雲 + 私有雲同時使用? --> 44444 誰一直在這個可啊,煩死ㄌ 想了解有沒有人,把一個專案部署到多雲,DB跟持久化檔案該怎麼解決同步 -> 持久化檔案用S3這樣的好東東應該就OK了? -> 做多雲的S3間同步嗎?還是用同一個S3呢? --> 延伸問: 要做這個會搭配 terraform/pulumi? 還有什麼其他的上下游 solution 嗎? 持久的部分也變成一個服務? 我一直在等gcsfuse csi stable版 聽下來 anthos 一堆問題,不過我剛剛不懂為什麼他說 anthos 底層是 service mesh

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully