Skip to content

zh

了解 Kubernetes

我一直在學習 Kubernetes,也被稱為 K8s,這是一個用於自動化部署,擴展和管理容器化應用程序的開源系統。以下是理解的重要概念摘要:

控制平面 - 這個組件對集群做出全局決策,包括以下元素:

  1. ETCD:一個強一致性,分佈式鍵值存儲,提供了一種由分佈式系統或機器群組訪問數據的可靠方法。
  2. API 服務器:通過 REST,UI 或 CLI(kubectl)促進用戶互動。
  3. 調度器:處理資源管理,將工作節點分配給工作節點,同時遵守資源限制和約束。

數據平面 - 管理資源,網絡和存儲,以便可以運行容器工作負載。

命名空間 - 在 Kubernetes 物件範圍訪問和劃分集群提供邏輯分離。每個資源範疇都是命名空間或集群範圍的。

節點 - 這可以是虛擬機或實體機。多台機器或 VM 構成集群的主體計算資源。節點由控制平面管理,並託管 Pod 物件。他們的網絡由服務物件配置。默認組件包括:

  1. Kubelet:控制平面代理。
  2. 容器運行時:負責調度 Pod 容器。
  3. Kube Proxy:在集群內擔任網絡代理。

Pod - Kubernetes 中最基本的可部署物件,類似於服務或微服務。他們運行一個或多個具有共享存儲和網絡資源的容器。一個 Pod 中的容器類型包括:

  1. init-container:主要容器運行之前運行,通常用於執行設置任務。
  2. 主容器:托管在容器中運行的應用程序進程。
  3. sidecar:與主容器一起運行,與之鬆散耦合。

Pod 很少直接創建,通常通過控制器資源,如部署,DaemonSets,工作或 StatefulSets 創建。

ReplicaSet - 在任何給定的時間維持一組穩定的副本 Pod 運行。它通常不會單獨部署,而是由部署物件管理。

ConfigMap - 用於存儲非機密鍵值配置。Pod 可以將其用作文件掛載或者環境變量,由 Pod 中的容器訪問。

基於角色的訪問控制 (RBAC) 資源

  1. 服務賬戶:為 Pod 中運行的所有進程提供身份證明。
  2. 集群角色/角色:包含代表一組權限的規則。這些必須通過 ClusterRoleBinding 或 RoleBinding 與服務賬戶關聯以生效。
  3. ClusterRoleBinding / RoleBinding:授予在 ClusterRole / Role 中定義的權限給指定的 ServiceAccount。

部署 - 作為 Pod 和與他們相關的任何物件(如 ReplicaSets 和 ConfigMaps)的控制器。它不斷地調解在清單中聲明的狀態,並管理捲出到 ReplicaSets。可以配置為執行 Canary 部署,這帶有垃圾回收功能。

HorizontalPodAutoscaler - 根據內存和 CPU 使用情況等指標自動調整工作負載資源,如部署或 StatefulSets。它還可以使用像 Prometheus 這樣的自定義或外部指標進行縮放。

StorageClass - 描述具有存儲類型,提供商和回收政策等屬性的抽象存儲類。由 PersistentVolume 使用。

持久性存儲磁卷索賠 - 對特定資源和權限級別的存儲的用戶請求。

PersistentVolume - 代表一塊可以附加到 Pod 的存儲,並有一個獨立於 Pod 的生命週期。

服務 - 作為在一組 Pod 上運行的應用程序的網絡暴露的抽像。它提供負載均衡並使得一個集群內的 Pod 可以訪問其他 Pod。

StatefulSet - 用於管理含有狀態的應用程式的控制器。它為其每個 Pod 保持粘性身份,與部署資源不同,並將每個 Pod 與一個獨特的持久存儲實例相關聯。刪除或縮小 StatefulSet 不會刪除關聯的磁卷。

工作 - 適用於運行結束在成功完成的任務的應用程序。它部署一個或多個 Pod,並重試,直到指定數量的 Pod 已經終止,表示任務的結束。

CronJob - 類似於 Kubernetes 工作,但是按照設置的計劃運行。

Ingress - 通過服務將集群的外部流量引導到 Pod。它需要一個 Ingress 控制器(比如 ingress-nginx)來實現 Ingress 規則,並可以包括像外部負載均衡,SSL 終止和在集群內的基於名稱的虛擬託管等功能。

CustomResourceDefinition - 通過定義自定義資源屬性和模式來擴展 Kubernetes 資源類型。

CustomResource - 自定義資源的實例。CustomResources 可以被自定義控制器或運營商訂閱,並且必須有一個相關的 CustomResourceDefinition。

這些是我在學習 Kubernetes 的筆記。如果你正在準備 CKAD,CKA,或 CKS 考試,隨時與我提出任何問題。開心學習!

理解服務網格和 Istio

作為一名軟體開發人員,我有時會覺得基礎設施網路相當混淆。在這篇文章中,我將更深入地理解服務網格和 Istio。服務網格是一個專門負責處理服務與服務通信的基礎設施層。它確保請求通過組成現代雲原生應用程序的複雜服務拓撲的可靠傳遞。

實踐中,服務網格通常以輕量級網路代理的陣列形式實現,並與應用程序代碼一起部署,而無需應用程序知道它們。與其名稱相反,服務網格並非實際上的服務網格,而是抽象出網路層的代理網格。服務網格主要執行三個功能:流量控制,安全性和可觀察性。

控制平面將配置數據的流動從中央單位管理到組成網格的代理。而資料平面則管理由 sidecar 代理輔助的網格中微服務的應用數據流動。

一個常用的服務網格就是 Istio。Istio 是由 Google、IBM 和 Lyft(Envoy 代理)合作開發的開源項目,提供一個為在 Kubernetes 上管理服務間通信的透明基礎設施層。它攔截網路流量並將其代理到掛載為 main 容器的側車的智能 Layer 7 代理。 Istio 應用高級路由和策略規則,增強安全性和彈性,並在對等體間通信時使用互相認證的 TLS。

Istio 在服務網格的核心功能上提供了即時優勢:流量控制,安全性和可觀察性。然而,它確實引入了一些複雜性,例如運營開銷和鏈路級別的輕微延遲。它還需要平台適應性並消耗額外的資源,如內存和 CPU。

Istio 的控制平面,稱為 istiod,執行多種功能:服務發現,代理配置,證書管理等等。在 Istio 的舊版本中,這些功能被劃分為獨立的部署,但現已統一在 istiod 中。

Istio 的資料平面由與 Istio 控制平面通信的 Envoy 代理實例組成。一旦配置和同步,這些代理就能管理所有進出網格的網路流量,並應用高級 Layer 7 的路由和策略規則。其配置是通過控制平面的基於規則的 API 實現的,然後再編譯成 Envoy 專用的設定。

為使應用程序開發人員完全不知道 Istio 的存在,Istio 通過操縱 IP 表操縱全網格中所有 pod 的流量的傳輸到 Envoy。流量劫持通過 init 容器 (istio-init) 或 Istio 的 Container Networking Interface (CNI) 插件來實現。

Istio 的流量控制功能可以劃分為三類:請求路由、韌性和偵錯。它提供了一個基於規則的 API,允許用戶配置網格內的流量管理。應用于主機服務的流量策略基於各種匹配條件,例如負載均衡策略、連接池設置以及異常檢測。

Istio 還提供了一種 Security API,以在各種細粒度級別配置策略。它支援三種模式的 TLS 通訊:DISABLE,PERMISSIVE和 STRICT。通過查看 Istio 請求指標,可以瞭解是否通過 mTLS 代理進行請求。

總結,這篇文章是對服務網格和 Istio 的簡短深入瞭解。還有更多需要探索的。感謝您閱讀此篇文章,讓我們繼續學習!

我的職業生涯故事

我對科技的興趣始於大學時期,當時我選修了Java編程的選修課。我愛上了這門課程,並知道我想把它變成我的職業生涯。在獲得化學學士學位後,我在旅遊業擔任行銷經理。在那裡,我遇到許多具有商業頭腦但技術技能不足的行銷人員,尤其是在SEO和網站建設方面。這激勵我轉行,成為一家澳洲顧問公司的軟體工程師,在這裡我獲得了高級前端開發技能。在工作以外,我進行了兼職的電腦科學學位,這證明是非常有價值的。

在Accenture擔任軟體顧問角色時,一個重大的挑戰是遵守緊湊的時間線。我管理了一個針對航空公司的大型客戶移動應用程式。鑑於眾多的功能需求,我採用了敏捷的方法來持續提供價值。偶爾,我必須與產品所有者協商以克服專案的阻礙。最終,我們成功地推出了移動應用程式,滿足了業務要求並贏得了客戶的滿意度。這次經驗教會了我,僅靠科技並不能解決所有的商業問題。因此,我報名參加了兼職MBA課程,以更好地了解商業與科技的交叉點。

在EY為銀行業界提供咨詢服務時,我們遇到了一個挑戰,那就是雲平台的選擇。我們最初使用Amazon Web Services(AWS)開發了一個銀行錢包產品,認為它符合所有的要求。然而,在即將上線前,我們意識到香港的AWS數據中心有所延遲。由於監管要求,我們必須遷移到Microsoft Azure。我提供並執行了新的技術架構,以確保符合規定。

在Dynatrace,我是售後團隊的一員,專注於軟體監視產品。一個令人難忘的專案涉及到想要將我們的產品整合到他們的雲平台的新客戶華為。在深圳駐點工作時,我面對了要求苛刻的工作文化和每週六天的9 am至9 pm的工作時間。儘管如此,這個專案還是成功地推出了,這部分要歸功於我對客戶問題的主動回應。

作為HSBC的技術領導,我監督了一個針對馬來西亞商戶的在線支付解決方案的開發。我注意到團隊的人分裂,有的人專注於後端,有的人專注於前端,卻沒有人關注整體的用戶體驗。加劇此問題的是辦公室政治,這阻礙了我們的進程。要克服這些挑戰,我與客戶接觸,了解他們的需求,並查詢Splunk日誌以獲取錯誤數據。我對結果負責,有效地分配了任務,從而使交易成功率從40%提升到70%。

現在,作為Thought Machine的客戶工程經理,我最近協助一位需要向台灣最大的銀行之一發表演說的業務預售同事。只有一星期的準備時間,我的同事不擅長講國語,我翻譯並演示了投影片。這是一個具有挑戰性的任務,但演講被很好地接受了。

在我現在的角色中,我還主持新的團隊成員、客戶和越南合作夥伴的培訓課程。雖然英語是我們的第二語言,但我確保說話清晰,並使用各種短語來表達我的觀點。

在工作之外,我對持續學習有著熱忱。我在各種雲平台上都取得了認證,並且擁有Scrum項目管理的認證。我也喜歡通過Toastmasters clubs來提高我的溝通能力和公共演講技巧。

總的來說,我熱衷於探索新技術,並在商業與科技的交叉點找到解決方案。我喜歡與客戶、合作夥伴和團隊合作,根據客戶需求創建強大的架構和演示。歡迎隨時與我聯繫:https://www.linkedin.com/in/victorleungtw

關於數位轉型

在過去的5年裡,我在多個數位轉型項目中擔任領導角色。

2017年,我在埃森哲擔任高級顧問,幫助國泰航空將其手機應用程序從傳統平台轉換為新的本地移動技術。我領導了迭代過程,並積極與遠程團隊成員溝通優先事項。我獲得了在Node.js和Java Spring Boot服務器上編碼的實戰經驗,同時解決客戶在組織結構和技術交叉點上的商業挑戰。

2018年,我在安永擔任顧問,領導滙豐銀行的Payme業務移動應用項目。電子商務的興起和支付寶對新產品的積極擴展對傳統銀行構成威脅。如果這些銀行未能適應新興的二維碼支付趨勢,可能會變得過時。我的角色是幫助銀行成功地進行這項轉變。我展示了技術架構和敏捷交付方法論,在Android上使用Kotlin進行編碼的實戰經驗,並就由於合規原因從AWS遷移到Azure的問題提供建議。

2019年,我作為技術負責人領導了滙豐銀行的商家在線支付項目。大流行病加速了向電子商務銷售的轉變,現有的傳統平台無法跟上,導致許多交易失敗。我負責建立一個使用更穩健技術堆棧的新網站,以取代舊平台。我帶領團隊從啟動到上市提供解決方案,使用TypeScript on Adobe Experience Manager (AEM)的Angular,並在工程師,設計師和利益相關者團隊之間建立了良好的關係。

2021年,我參與了在新加坡新獲許可的數位銀行的工作。與受傳統系統限制的傳統銀行不同,這家數位銀行有利用雲原生技術的競爭優勢。傳統銀行可能擁有更多的客戶,財務資源和市場數據,但新銀行有進行創新的機敏性,使得運營更高效,成本更低。

2022年,我目前參與越南數字銀行項目。作為客戶服務團隊的關鍵技術成員,我幫助在平台上建立金融產品。我的任務包括在銀行存款和貸款產品上工作,並實現Python智能合約代碼。我分析並將業務要求轉化為技術規範,確保及時和成功的交付,同時與客戶,合作夥伴和其他團隊合作。

在過去5年的數位轉型項目中,最重要的一部分是改變思維模式並引入新的工作方式。我在軟體開發,應用架構設計,和企業用戶雲解決方案部署方面有十年的經驗。擁有計算機科學和金融商學碩士(MBA)學位的我,具有獨特的技術和商業智識結合。我擁有Amazon Web Services (AWS),Google Cloud Platform (GCP),Microsoft Azure,Kubernetes和Scrum的認證,並有從頭開始建立銀行產品的經驗。

我的職業目標是領導數位轉型,這需要創新戰略來應對複雜的挑戰。在沒有足夠信息的情況下啟動大規模項目可能會導致組織各級的抵制。我希望通過更小的成功項目早期贏得支持者,並展示明確的財務影響來克服這些常見障礙。

我的優勢在於我學習並快速應用知識的能力。在多變的商業環境中,迅速適應並以低成本測試假設至關重要。我的測試和學習的心態是持續改進的源泉,使我能夠提供有價值的反饋,幫助團隊成功。

然而,我的弱點可能是我過於關注技術。數字轉型不僅僅關於技術變革;它是關於更有效地滿足客戶需求。作為一個工程經理,我明白單憑技術無法改變一個行業,除非有一種商業模式將其與新興市場連接起來。

創新需要多種多樣的技能。包括商業和技術人員的團隊,與領域專家共同工作,可以確保項目解決組織的優先問題,而不是孤立的部門問題。當我作為軟體開發人員將最終用戶納入應用程序的設計中時,成功採用的可能性大大增加。

思考與致富 - 書評

我要評論的書是由拿破崙·希爾所著的"思考與致富"。在公眾場合讀這本書可能會有點尷尬,不是因為它寫得不好,而是因為它的書名可能顯得刻板。人們常常以貌取人,我擔心他們可能根據我正在閱讀的內容來評價我。

我們先引用一段亨利·福特在書中說的話:"不論你認為自己能,或是你認為你不能,你都是對的。"這句話概括了這本書的精髓。起初,我對於閱讀這本書感到懷疑。這是個騙局?是庞次宗吗?還是試圖說服我投資比特幣和NFT的一種手法?儘管作者被指控欺詐和經營失敗,他仍宣稱揭示了“有史以來最大的秘密”。

然而,在做出評價前,了解書籍的歷史背景很重要。它是在1937年,大蕭條期間出版的。今天,我們發現自己處於類似的情況,股市下跌了20%。儘管如此,這本書仍是暢銷書,已經銷售了超過2000萬冊,並被歸類為自我提升類型的書籍。我讀過很多自我提升的書,如果他們像宣稱的那樣有效,我應該已經富有並在遊艇上過著享受生活的退休生活了。

這本書強調的是心態,明確的表達成一個簡單的公式:慾望,信念,然後行動。儘管他的書名明示你可以通過思考致富,但書中明確表示你必須付諸行動。如果你足夠渴望,對自己有信念,並且克服你的恐懼,你將被迫去行動。

書中有很多成功人士的激勵故事和案例研究,如美國的大工業家安德魯·卡內基。儘管書籍宣稱受到研究支持,但其方法似乎並未嚴格遵循科學準則。測試書中思想的最好方式是將之付諸行動。

別指望僅僅因為知道某件事就能得到報酬;你必須將那知識付諸行動。世界不會因為人們“知道”什麼而付給他們報酬;它會根據他們做了什麼或者他們的能力來激勵其他人去行動來付賬。一個技巧純熟的領導者可以顯著提高他人的效率,說服他們提供比他們自己會提供的更好的服務。

想要錢是一回事–每個人都想–但真正的價值在於你是否真的價值連城。很多人把他們的慾望和他們真正的價值混為一談。你的財務目標與你的實際價值無關,因為你的實際價值完全取決於你提供有價值的服務的能力或鼓勵他人這樣做的能力。

對於將人們以負面的個性推開的人來說,成功是無法實現的。力量是通過合作努力來實現的,而負面的個性不會促進這種合作。

擁有學位並不一定使人受過教育。一個受過教育的人學會了如何在不侵犯他人權利的情況下實現自己的目標。教育不在於積累知識,而在於如何有效且持之以恆地應用知識。

如果你對致富的想法痴迷,我首先建議你閱讀這本書。

越南街頭美食

今天,我將評論一下越南街頭美食。這篇文章中展示的所有照片都是我在旅行期間拍攝的。我將展示我在旅程中享用的道地越南街頭美食。

越戰時期的食物

在Củ Chi隧道中

越戰時期的食物

我和一位素食的同事旅行了兩個星期。由於她的飲食限制,我們所有的餐點都是素食。誠實地說,我覺得素食菜肴有點失望。這張照片描繪的是越戰時期的食物—乾燥、無味的馬鈴薯。當時的世貞現實是,人們餓得並無選擇。一位老人告訴我,他甚至為了生存而不得不吃狗。在這種情況下最重要的是不要進行評判。

摩托車當地街頭美食之旅

摩托車遊覽

只有在我的同事不在的週末,我才能盡情享用正宗的街頭美食。最地道的享用街頭美食的方法就是騎摩托車。在越南駕駛本身就是一種冒險;交通規則更像是建議。人們說,如果你能在越南騎摩托車,你就能在世界任何地方開車。謝天謝地,我並未受到任何傷害。

Bánh Tráng Nướng(越南披薩)

越南披薩

越南披薩是另一種受歡迎的菜肴。它是用米紙做的,吃起來輕盈易嚼。正宗的越南披薩是在開放的火焰上烹製的,而完全不顧安全規定。最終的結果簡直讓人愉快。

Bánh Xèo(越南餅乾)

越南餅乾

下面是越南的餅乾,這是在真火上的鍋子中烹製的。餅乾裡為滿是各種香料像是番薯葉, 讓這餅乾充滿香氣。

Bột Chiên(炸飯粉餅上加木瓜)

炸飯粉餅

雖然炒飯是我的最愛,但這道菜帶來了更多的享受。這基本上是炸飯粉餅,它很美味。

Nem Bò Nướng Sả(煙熏甜味和鹹味的豬肉串)

豬肉串

豬肉串也是很有人氣的。豬可能很聰明,但他們也非常美味。

Bánh Mì(越南法棍)

越南法棍麵包

法國在越南的殖民影響留下了美味的越南法棍,也被稱為Bánh Mì。

Bún Bò Huế(來自順化的牛肉麵湯)

CO AN, 001 BIS C/C NGUYEN THIEN THUAT, P.1 Q3, TPHCM

來自順化的牛肉麵湯

Bún Bò Huế是一種稍微有點辣的菜。Hue是這道菜發源城市的名字。對素食者深感抱歉,但它實在太好吃了。在越南,大部分人並不懂素食主義;他們甚至會在沙拉中加魚露。

Bún Cả (魚餅)

魚餅

Bún Cả是一種令人愉快的魚餅菜。當你加入魚露時,它變得更有風味。

更多

各種食物

還有更多美味的食物等著你去嘗試。

Chuối Nếp Nướng (香蕉糯米飯)

378 VO VAN TAN, P.5. QUAN 3, TP. HCM

香蕉糯米飯

甜點 我推薦香蕉糯米飯配椰子。 與泰國的芒果糯米飯相比,這更加美味。 小心發音,以免說錯關鍵字。

點心

雜式點心

各式各樣的果凍狀點心提供甜鹹味的完美平衡。

椰子冰淇淋

椰子冰淇淋

在這張照片中,你會看到兩份冰淇淋,儘管我自己一個人在吃。單身的好處是?你兩份都可以拿到。

椰子

椰子

這是一顆普通的椰子,如果你從未見過的話。

椰子咖啡

椰子咖啡

我目前最喜歡的飲料是椰子咖啡。 它像星巴克的冰奶茶,但味道更好。

以及更多的越南咖啡

越南咖啡

当然,越南以其咖啡而著名,尤其是用炼乳制成的。 它和看起来一样好。

有用的短語學習

Rượu (喝醉)

第一個字是 "rượu",意思是喝醉。不論你是高興還是難過,"rượu" 都是解決一切的答案。

Một, Hai, Ba, YO (1, 2, 3, 乾杯)

第二個短語是 "Một, Hai, Ba, YO",意思是 "1, 2, 3, 乾杯"。這短語簡單易記,所以拿上你的啤酒,跟我一起說: "Một, Hai, Ba, YO!"

產品策略建議

我最近完成了一個在線課程,學習了創建引人入勝且令人難忘的產品體驗所需的框架和概念。我選擇將這些知識應用到Thought Machine,一家開發了核心銀行產品的公司。這個產品正在革新銀行業,使得銀行能夠向他們的客戶提供創新的服務。

Thought Machine近年來增長迅速,最近在C輪融資中籌集了2億美元。該輪投資包括行業領先的風險投資公司和全球銀行,如Nyca Partners、Molten Ventures、JPMorgan、和 Standard Chartered。這使得該公司的總資金達到3.5億美元,估值超過10億英鎊。Thought Machine與幾家銀行合作,包括從一類金融機構到挑戰者的各種機構,包括Atom Bank、Curve、Lord銀行集團、Monese、SEB、Standard Chartered、TransferGo、Arvest、ING 和JP摩根追蹤。

該公司的旗艦產品是Vault,一個可以在各種雲服務上運行的原生雲賬本平台,包括亞馬遜網絡服務,Google Cloud平台和微軟Azure。憑藉智能合約,Vault提供了無與倫比的靈活性,使其可以運行各種零售銀行產品,如當前賬戶、儲蓄、貸款、信用卡和房屋貸款。

產品的層次

最好的產品不僅提供功能; 他們滿足了一種心理需求。以下是一種分解:

增值產品

  • 賬本內外的實時數據傳輸使AI和報告能夠具有豐富的數據流。
  • 銀行可以管理從國際貨幣到加密貨幣和獎勵積分的一切。
  • 一個支付處理平台,允許任何銀行在全球所有方法、計劃和地區中處理支付。

實際產品

  • 使用最先進的基礎設施在雲中的現代核心銀行平台。
  • 產品庫具有一個包含超過200種預先配置的金融產品的目錄,如當前和儲蓄帳戶,貸款,和房屋貸款。
  • 該平台採用了API優先的架構,使銀行可以輕鬆地連接到其他供應商的服務和技術。

核心產品

  • 減少了就地硬件的資本支出,顯著降低了銀行的碳足跡。
  • 使銀行能夠創新並向他們的客戶推出新的金融服務。
  • 使用Vault Core作為通用產品引擎,銀行可以運行他們想要的任何產品。

競爭格局

理解在各個層次上的競爭 — 狹窄,形式,需要,和替代 — 有助於定位產品。

狹窄

  • 與您的產品幾乎完全相同,既有核心功能也有實際功能。

  • Mambu

  • Temenos
  • Finastra

形式

  • 類似的實際產品在爭取錢包份額,但並非完美替代品。

  • 微軟動態365

  • 10x
  • FIS MBP

需要

  • 實際產品不同,但滿足用戶的相同核心需求。

  • 傳統系統,如IBM大型機

資源

  • 爭奪相同客戶資源(例如,金錢,時間,注意力)的產品。

  • Excel

  • Fiserv
  • Silverlake

利基評估

使用阿爾特教授對強大利基的四個標準來評估產品的利基。

尺寸

  • 全球零售核心銀行業務市場估值僅超過60億英鎊。

可識別

  • 如何識別有此需求的個體:

  • 新成立的銀行,擁有數字銀行許可。

  • 需要將傳統系統遷移到雲平台的銀行。

可訪問

  • 透過以下方式向這些個體進行市場推廣:

  • 在銀行業務中工作的管理顧問。

  • 在銀行生態系統內部運營的合作夥伴。

可預測的行為

  • 渴望競爭並區分其金融產品的銀行。

摩擦審查

識別所有客戶接觸點,找出摩擦區域,並建議Thought Machine如何紓解這些問題。

階段:購買前 客戶接觸點:風險評估 摩擦:銀行對風險規避,不願意改變。 解決方案:引入敏捷方法

階段:購買前 客戶接觸點:參加演示會議 摩擦:技術知識過時的銀行 解決方案:引入現代雲架構

階段:購買前 客戶接觸點:決策 摩擦:銀行決策者與競爭對手有密切的個人關係。 解決方案:與決策者建立關係

階段:購買 客戶接觸點:簽訂合同 摩擦:複雜的軟件許可文件 解決方案:簡化和標準化條款和條件

階段:購買 客戶接觸點:撰寫工作說明 摩擦:銀行可能缺乏完整的需求。 解決方案:提早參與並提供技術估算

階段:購買 客戶接觸點:團隊組成 摩擦:銀行中缺乏參與專案的人才 解決方案:引入系統整合合作夥伴

階段:購買後 客戶接觸點:產品安裝 摩擦:銀行在產品安裝上困苦 解決方案:提供專業支援

階段:購買後 客戶接觸點:產品文檔 摩擦:銀行開發者難以理解產品 解決方案:提供啟用培訓和自助學習門戶

階段:購買後 客戶接觸點:產品支持 摩擦:需要平台穩定性 解決方案:提供24/7產品支援並按危急程度分級處理

產品創新

在已服務客戶的陳述需求和未服務客戶的未陳述需求的交集處,存在著增量創新的甜蜜點。以下是一些目標客戶需求:

  • 即開即用的核心銀行業務服務
  • 靈活性強,配有易於使用的配置層
  • 既可以在私有雲平台上,也可以在公有雲平台上提供主機選擇
  • 可擴展的解決方案,能夠承受高需求和吞吐量
  • 更好地與其他銀行系統集成
  • 增強報告和數據分析
  • 保護個人識別信息(PII)的數據保護和隱私
  • 提高運營能力以減少生產事故

優先事項和建議

為了充分實現雲核心銀行技術的潛力,我們建議進行以下的行動:

  1. 專注於狹窄的利基市場,如遵循伊斯蘭教法的銀行產品,並利用平台靈活性。
  2. 作為增值產品,建立一個與其他銀行系統的開源集成庫。
  3. 進行摩擦審查,使產品更易於安裝,並提供無需安裝工作的SaaS解決方案。

對於此提案有任何問題,請隨時在LinkedIn上與我聯繫:https://linkedin.com/in/victorleungtw.

MongoDB Kafka 連接器

Apache Kafka 是一種開源的發布/訂閱消息系統。Kafka Connect,Apache Kafka的一個元件,面對將Apache Kafka與各種數據存儲連接的挑戰,包括 MongoDB。Kafka Connect 提供:

  • 傳輸數據到數據存儲的容錯運行時
  • Apache Kafka社區共享連接 Apache Kafka 到不同數據存儲解決方案的框架

在這篇文章中,我們將重點介紹如何將 MongoDB 作為數據湖。 MongoDB Kafka 接收連接器是從 Apache Kafka 讀取數據並將其寫入 MongoDB 的 Kafka Connect 連接器。官方的 MongoDB Kafka 連接器可以在這裏找到。

開始 Kafka 環境

這裡下載最新版的 Kafka。

curl https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz -o kafka_2.13-3.2.0.tgz
tar -xzf kafka_2.13-3.2.0.tgz
cd kafka_2.13-3.2.0

按照正確的順序運行以下命令來開始所有的服務。首先開始 ZooKeeper 服務。

bin/zookeeper-server-start.sh config/zookeeper.properties

在另一個終端會話中,開始 Kafka 代理服務:

bin/kafka-server-start.sh config/server.properties

所有服務成功啟動後,您將會擁有一個運行中的 Kafka 基礎環境。

安裝插件

這裡下載 JAR 文件,並導航至 /libs 目錄。

curl -L https://search.maven.org/remotecontent?filepath=org/mongodb/kafka/mongo-kafka-connect/1.7.0/mongo-kafka-connect-1.7.0-all.jar -o plugin/mongo-kafka-connect-1.7.0-all.jar

編輯 config/connect-standalone.properties,並將 plugin.path 指向下載的 JAR 文件。

plugin.path=/home/ubuntu/kafka_2.13-3.2.0/libs/mongo-kafka-connect-1.7.0-all.jar

創建配置屬性

/config 文件夾中,創建一個名為 MongoSinkConnector.properties 的文件。

name=mongo-sink
topics=quickstart.sampleData
connector.class=com.mongodb.kafka.connect.MongoSinkConnector

消息類型

key.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=false
value.converter=org.apache.kafka.connect.json.JsonConverter
value.converter.schemas.enable=false

關於 MongoDB Sink 連接器的具體配置

connection.url=mongodb://localhost:27017
database=quickstart
collection=topicData
change.data.capture.handler=com.mongodb.kafka.connect.sink.cdc.mongodb.ChangeStreamHandler

/config 文件夾中,創建一個名為 MongoSourceConnector.properties 的文件。

name=mongo-source
connector.class=com.mongodb.kafka.connect.MongoSourceConnector

連接和源配置

connection.uri=mongodb://localhost:27017
database=quickstart
collection=sampleData

安裝 MongoDB

運行以下命令導入 MongoDB 的公開 GPG 鑰匙:

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

創建 MongoDB 源列表

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

更新本地軟件包數據庫

sudo apt-get update

安裝 MongoDB 套件

sudo apt-get install -y mongodb-org

如果遇到任何與未滿足的依賴項相關的錯誤,使用以下命令修復它們:

echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
sudo apt-get update
sudo apt-get install libssl1.1

驗證 MongoDB 狀態

檢查 MongoDB 是否已成功啟動:

sudo systemctl status mongod

如果它是非活動的並需要重新啟動,運行:

sudo systemctl restart mongod

開始 Kafka Connect

要開始 Kafka Connect,執行以下命令:

bin/connect-standalone.sh config/connect-standalone.properties config/MongoSourceConnector.properties config/MongoSinkConnector.properties

將數據寫入 Topic

運行控制台生產者客戶端以將幾個事件寫入您的 Topic。您輸入的每行將導致一個單獨的事件被寫入 Topic。

$ bin/kafka-console-producer.sh --topic connect-test --bootstrap-server localhost:9092
This is my first event
This is my second event

通過您的連接器發送文件內容

要將文檔的內容通過您的連接器發送,插入一個文檔到您的源連接器從中讀取數據的 MongoDB 集合。使用以下 MongoDB shell 命令:

use quickstart
db.sampleData.insertOne({"hello":"world"})

插入文檔後,通過檢查 topicData 集合來驗證您的連接器是否已將變更處理。

db.topicData.find()

您應該會看到以下類似的輸出:

[
  {
    "_id": ObjectId(...),
    "hello": "world",
    "travel": "MongoDB Kafka Connector"
  }
]

參考

欲了解更多訊息,請參觀 MongoDB Kafka 連接器文檔

金融科技安全與監管建議

我想提供建議,指導當局如何處理新加坡金融業的虛擬銀行應用。由於銀行業高度監管的性質,虛擬銀行創新與監管之間的關係經常處於緊張狀態。大家普遍認同,監管機構是必要的,可以減少與新的商業模式和金融產品相關的風險和未預見的後果。我建議監管機構與金融科技行業的快速變化保持步調。

虛擬銀行給監管市場參與者運營方式的監管機構帶來了新的問題。這使得監管機構必須仔細評估金融服務行業新興技術帶來的風險。雖然雲技術提供了前所未有的可能性,但也帶來了新的風險。

應考慮四大監管的動機:不確定性,資源衝突,破壞性和未預見的事件,以及公眾利益。採用雲技術將徹底改變金融系統的運營方式,需要采取保護措施防止因未預見的事件導致的系統崩潰。

更具體地說,應該採取預防性措施,保護虛擬銀行消費者免受完全市場驅動系統的弊端。在金融科技部門內進行監控有許多好處,但實施有效的監管仍然面臨重大挑戰。

許多市場參與者可能對監管持懷疑態度,認為這可能阻礙他們的前景或運營。因此,為金融科技行業實施具有洞察力的監管並不會一帆風順。監管機構可以考慮三種對金融科技創新的方法:

  1. 基於規則的系統:監管機構設定嚴格的規則和程序,市場參與者必須遵守。

  2. 基於原則的系統:監管機構提供指導市場參與者的原則,允許他們在履行其監管責任時有一定的自由。

  3. 基於績效的系統:監管機構為市場參與者設定特定的標準,市場參與者需要達到或超越這些標準。

這些方法可以幫助新加坡金融科技行業蓬勃發展。謹慎的監管培育了創新的理想環境,建立信任和促進新的消費品和服務的普及接受。新加坡金融管理局(MAS)的目標是使新加坡成為金融科技創新的“實驗中心”,符合其長期吸引亞太地區金融科技創新者的目標。

在理想狀態下,人們不必在創新和監管之間做出選擇。虛擬銀行可以利用創新技術來簡化監管合規。新興的監管科技(reg-tech)行業提供軟件解決方案,幫助監管機構更高效地行使職責。

隨著監管風景的變化,現有和未來的虛擬銀行需要為日常監管業務的變更做好準備。在政策制定者和金融科技領域的相關人士之間建立開放,尊重的工作關係對於有效採用虛擬銀行至關重要。

在2016年7月,MAS修改了其對金融機構(FI)外包的指導方針,以認識到金融機構可能從雲服務中受益。這些指導方針要求金融機構在使用雲服務時進行盡職調查並實施強健的管治和風險管理流程。

雲安全環境應定期審查,服務應遵從多種行業認證。例如,ISO 27001概述了安全管理的最佳實踐,而ISO 27017和ISO 27018提供了針對雲的具體安全建議。此外,MTCS Level 3和PCI DSS Level 1為新加坡和支付卡行業提供了更進一步的安全標準。

通過將以治理為中心,適合審核的功能與認證和審核標準結合,監管機構可以確保雲供應商的安全控制環境。

MAS指導方針提供了風險管理技巧的建議,包括對雲服務的盡職調查和風險評估。預計金融機構將遵循這些指導方針,並每年或按要求向MAS報告其合規情況。

MAS的技術風險管理(TRM)指導方針和新加坡銀行協會(ABS)雲計算實施指南為雲外包的風險管理,管治和控制提供了額外的指導。

總的來說,每家虛擬銀行走向雲技術的道路都是獨特的。虛擬銀行需要理解他們的現狀,期望狀態,以及從一種狀態過渡到另一種狀態所需的步驟,以便成功實施雲技術。這種理解將幫助虛擬銀行設定目標並開發工作流程,以實現成功的雲遷移。

FinTech Security and Regulation

As a FinTech consultant, I am conducting a study on the security and regulation of virtual banking in the US financial sector. The federal and state governments in the United States have various agencies that regulate and oversee financial markets and businesses. Each of these agencies has a distinct set of tasks and responsibilities, allowing them to operate independently while pursuing similar objectives.

The United States operates under a "dual banking system," meaning that banks can be chartered by either one of the 50 states or by the federal government. Regardless of who charters the bank, it will have at least one federal supervisor. Below is a list of US banking regulations that virtual banks must adhere to.

Firstly, the Gramm-Leach-Bliley Act (GLBA) mandates that financial institutions—companies providing financial products or services like loans, financial or investment advice, or insurance—inform their customers about their information-sharing practices and protect sensitive data.

The principal data protection elements of the GLBA are outlined in the Safeguards Rule. The FTC's Privacy of Consumer Financial Information Rule (Privacy Rule) supplements the GLBA by providing additional privacy and security requirements. The GLBA is enforced by the FTC, federal banking agencies, other federal regulatory bodies, and state insurance oversight agencies.

For instance, the Safeguards Rule (16 CFR 314) requires financial institutions under FTC jurisdiction to have safeguards for protecting client information. Companies subject to this rule must ensure that their affiliates and service providers maintain customer data securely and implement their own protective measures.

Additionally, the Financial Privacy Rule (16 CFR Part 313) requires financial institutions to issue specific notices and adhere to certain limitations on the dissemination of nonpublic personal information. Unless an exception applies, financial institutions must inform both affiliated and non-affiliated third parties about their privacy policies and practices and allow consumers to opt out of sharing their nonpublic personal information with nonaffiliated third parties.

Secondly, the California Consumer Privacy Act of 2018 (CCPA) grants consumers more control over personal data collected by organizations. California consumers now have new privacy rights, including the right to know what personal information a business collects and how it is used and shared; the right to request the deletion of collected personal information (with some exceptions); the right to opt out of the sale of their personal information; and the right to non-discriminatory treatment for exercising their CCPA rights.

In November 2020, Californians voted to enact the California Privacy Rights Act (CPRA), which significantly expands existing privacy rules and will take effect on January 1, 2023. It's worth noting that the current "business-to-business" and "HR" exceptions will expire on the same date, making the full range of CPRA standards applicable to these types of personal information, which are currently largely exempt from the CCPA.

Thirdly, the NYDFS Cybersecurity Regulation (23 NYCRR 500) imposes strict cybersecurity standards on financial institutions in New York. Under this regulation, entities like banks, mortgage companies, and insurance providers must implement comprehensive cybersecurity plans and policies and maintain ongoing reporting systems for cybersecurity events.

Fourthly, the Information Technology Examination Handbook's "Outsourcing Technology Services Booklet" offers guidelines to help examiners and bankers evaluate the risk management processes involved in establishing, managing, and monitoring IT outsourcing relationships. Federal financial regulators have the authority to oversee all activities and records of a financial institution, whether performed by the institution itself or by a third party.

Fifthly, another section of the Information Technology Examination Handbook, the "Information Security" booklet, provides guidance on assessing the level of security risks to a financial institution's information systems. It encourages institutions to maintain robust information security programs that are supported by board and senior management, integrated into business processes, and clearly accountable for security tasks.

Sixthly, the Consumer Financial Protection Bureau (CFPB) has issued guidelines for its Information Technology Examination Procedures under Compliance Management Review. While institutions can outsource operational aspects of a product or service, they cannot delegate the responsibility for ensuring compliance with federal consumer financial regulations or managing the risks associated with service provider agreements.

In summary, virtual banks operating in the United States must comply with all the aforementioned regulations. This involves interpreting the rules, clarifying them, and preparing the necessary documentation. To achieve compliance, virtual banks will need to thoroughly analyze these requirements and take the appropriate steps to meet them.

Some of the key bank regulations in the United States include the following:

  1. Regulation B: This regulation aims to prevent discrimination in the credit application process. It outlines the procedures lenders must follow when obtaining and processing credit information. Under this regulation, lenders are prohibited from discriminating based on age, gender, race, nationality, or marital status.

  2. Community Reinvestment Act of 1977 via Rule BB: This Federal Reserve regulation encourages banks to lend to low- and moderate-income borrowers. It also requires institutions to disclose the communities they intend to serve and the types of credit they are willing to offer there.

  3. Home Mortgage Disclosure Act of 1975 via Regulation C: This regulation mandates that many financial institutions annually provide loan data about the communities to which they have offered residential mortgages.

  4. Regulation CC: This rule requires depository institutions to make funds available within specified time periods and inform customers about their funds' availability practices. It also includes measures to expedite the collection and return of unpaid checks.

  5. Regulation D: This regulation imposes reserve requirements on certain deposits and other liabilities of depository institutions for monetary policy purposes.

  6. Regulation DD: Financial institutions are obligated to inform customers about annual percentage yields, interest rates, minimum balance requirements, account opening disclosures, and fee schedules. This regulation applies to personal accounts, not corporate or organizational accounts.

  7. Regulation E: This regulation establishes standards for electronic funds transfers, specifying the responsibilities of both consumers and financial institutions. It covers actions consumers must take to report issues and the steps banks must follow to offer remedies.

  8. Regulation H: This rule requires member banks to implement security measures against specific offenses, as outlined by the Bank Protection Act. Member banks are also required to report suspicious activities under this regulation.

  9. Servicemembers Civil Relief Act (SCRA): This federal law protects military personnel as they prepare to enter active service, covering a range of topics such as rental agreements, evictions, and interest rates on various forms of credit.

  10. Bank Secrecy Act (BSA): Also known as the Currency and Foreign Transactions Reporting Act, this regulation mandates that financial institutions report certain cash transactions exceeding $10,000.

  11. Unlawful Gambling Enforcement Act (UIGEA/Regulation GG): This regulation prohibits transactions related to illegal internet gambling.

  12. Regulation M: Known as Subchapter M, this IRS regulation allows investment companies to pass on capital gains, dividends, and interest to individual investors without double taxation.

  13. Regulation O: This rule limits the credit extensions that a member bank can offer to its executive officers, major shareholders, and directors.

  14. Regulation T: This regulation governs investor cash accounts and the credit that brokerages may extend for the purchase of securities.

  15. Regulation U: This regulation restricts the leverage that can be used in buying securities with loans secured by those securities.

  16. Regulation V: This rule requires all entities that provide information to consumer reporting agencies to ensure the information is accurate.

  17. Regulation W: This Federal Reserve regulation restricts certain transactions between banks and their affiliates.

  18. Regulation X: This sets credit limits for foreign individuals or organizations purchasing U.S. Treasury securities.

  19. Regulation Y: This governs the conduct of corporate bank holding companies and some state-member banks.

  20. Regulation Z: Also known as the Truth in Lending Act, this regulation aims to ensure that loan terms are communicated clearly, enabling consumers to easily compare credit arrangements.

In conclusion, the above overview outlines the U.S. banking authorities and regulations that virtual banks must comply with.