技術部落格

集結國內外精選文章,掌握最新雲端技術新知與應用
Loading...
雲原生技術蔚為主流,由 Google 創造並開源的 Kubernetes (K8s) 是新一代的軟體核心。Google 正在努力建立行業標準和服務,使每個人都能輕鬆使用這項服務。本文就跟您介紹,自去年的 KubeCon 大會以來,Google 又推出了哪些 Kubernetes 的新功能、您如何善用這項技術從中獲益,介紹 6 個您應該選擇 Google Kubernetes Engine(下文簡稱 GKE)作為 K8s 託管服務的原因。 一、GKE Autopilot:幫助您執行正式環境就緒的 ...
說到確保應用程式的可用性,建立並監控服務層指標十分重要,而這也是 Google 網站可靠性工程 (Site Reliability Engineering, SRE) 團隊在 Google 的日常,他們 SRE 的基礎原則就是改善服務,進而優化使用者體驗。 SRE 的概念要從「測量指標應與商業目標密切相關」的這個想法開始,除了事業層級的服務水準合約 (SLA),在 SRE 的規畫實踐中,也會使用 SLO 與 SLI。接下來,我們就透過這篇文章帶您了解這三者的差異,幫助您了解 Google Clo...
應用程式現代化和分離 (decoupling) 基礎架構服務及雲端團隊 在公有雲上將應用程式現代化能夠優化產品的成本面和生產面,但這些優勢通常只有「全有」或「全無」兩種選項,若要有這些好處,你必須搬遷到雲端。企業希望透過搬資料到雲端進行現代化,且能夠依照需求提供本機和雲端遷移路徑的解決方案。這項現代化對於企業的創新十分重要,可以結合機器學習和資料分析。 此外,不同的公有雲提供不同的平台,讓工作負載的遷移在技術上和開發人員操作上變得十分困難。有許多企業會選擇使用多種雲端平台,不同時間能夠和不同的供...
[延續上一篇:運用容器化架構及微服務架構,升級企業 IT 環境(1) ] Proxy 的用處 根據上述,proxy 是此服務的核心所在。從 1990 年開始,各種形式的分離扮演著關鍵的角色,對於我們的政策執行是重要的控制點。 最初的 proxy 案例使用是負載平衡:將輸入的需求平均分散到活動的 pods 集合。服務 IP 除了有高度可用性外,他也可以支援跨多個版本分散流量,做金絲雀先期測試和 A/B 普遍測試。它也適用於應用程式服務逐步推出新版本上。 如上所述,proxy 相關運行作業在第四層 ...
Kubernetes Logo。圖/Kubernetes 用過 Hadoop 或 Spark 嗎?相信與巨量資料處理為伍的朋友們都不陌生,透過分散式的計算,可以大幅降低程式運算時間,讓推薦系統、搜尋等服務能在短時間內,根據使用者行為,快速地做反應與變化。應付這麼大量的資料,背後的機器肯定是數以千計,無法透過人工來監控機器的狀態。因此,本文將介紹 Kubernetes 容器管理工具,並透過簡單範例,告訴你如何在 GCP上建立一個 Spark叢集。 甚麼是 Kubernetes? Kubernete...
Google 於 2015 年釋出 Kubernetes (簡稱 K8S) 後,引起了話題。原先僅是屬於內部專案 - Borg,IT 大廠如Redhat、CoreOS、IBM,甚至 Amazon、Microsoft 這些公有雲端供應商都搶著整合進自己的服務中。到底是什麼原因讓 Kubernetes 爆紅? 容器興盛的開始 相信您一定聽過 Docker,這個在 2013 年推出,以碼頭貨櫃命名的容器,強調 build, ship and run 的觀念(可前往 Katacoda教學網站試試看)。D...
從上一回我們了解到Kubernetes是微服務架構的一個核心以及各元件的機制後,想更一步的了解它的運作方式。本系列教學就是以實作的方式,結合 Google Container Engine(GKE, 因為GCE是指Compute Engine),可以從較底層的對照比較:虛擬機器、網路、服務到負載平衡器,讓您可以直接了解Kubernetes如何在Google雲端運作。 開始前,先回答兩個問題: 第一個問題: GKE究竟是什麼服務? 它與開源的Kubernetes究竟有什麼差別,甚至還需要收費?其實...
前言 由於 Kubernetes 的 Deployment 帶來便利性,讓開發者能夠在短時間內於多個節點上部署撰寫好的各種不同應用(application)。但該如何讓使用者能夠存取位於 Pod 上的應用,而無需考慮到不同節點的問題呢? Service 正是 Kubernetes 解決此問題的關鍵,因此接下來文章將會為各位介紹 Kubernetes Service 的基本概念。 SERVICE Service 是 Kubernetes 內定義的抽象化物件(object),官方網站的介紹傳神地描述...
如果能確保你最重要的工作負載總能獲取於 Kubernetes 叢集中運行所需的資源,這不是一件好事嗎?現在,你就可以這麼做。Kubernetes 1.9 版本中介紹了一個名為 "優先權與先占權" 的 alpha 版功能,允許您為工作負載分配優先權別,以便在叢集滿載時,重要性高的 pods 能驅趕重要性較低的 pods。 在採用優先權和先占權功能之前,Kubernetes pod 完全按照先搶先贏的原則進行安排,先運行的會持續執行直到完成狀態 (或是永久性執行,如 Deployment 或 Sta...
使用 Kubernetes 的公司,他們的目標是為開發人員提供一個方便部署的體驗。為了幫助企業實現這一目標,我們最近推出了一項功能:Skaffold,這是一款可幫助 Kubernetes 應用程式持續開發的命令行工具。有了 Skaffold,開發人員可以在本地推送程式碼,同時持續更新並準備好在本地或遠程 Kubernetes 叢集中進行驗證或測試。自動化流程節省了開發時間,並通過其生產之過程提高了應用程式的品質。 按照入門指南開始使用 Kubernetes Engine 上的 Skaffold,...
此教學帶你手把手從打包 Docker 映像檔、部署 Google Kubernetes Engine 叢集以及搭建 load balancer。在實作這篇的教學前,建議您先閱讀以下兩篇對於 Kubernetes 的基本介紹: GKE 系列文章(一) – 為什麼使用 Kubernetes GKE 系列教學 (二) – 簡介Pod的網路機制 事先準備 建議您使用 GCP console 預設的 Cloud Shell,因為預設就已經裝好 gcloud command、kubectl、docker、g...
對開發者和應用程式運營商而言,Kubernetes 是管理容器化應用程式的標竿。但同時,他們又經常對 Kubernetes 的生命週期管理(比如建立、發佈、管理 Kubernetes 應用程式)方面感到困擾。 為了簡化應用程式生命週期和設定的管理,Google 推出 Application Manager 應用程式交付解決方案,作為 Google Kubernetes Engine (GKE) 的附加元件。Application Manager 目前為 Beta 版,使開發人員輕鬆建立起自開發到...
當工程師考慮是否要在 Kubernetes 這個容器管理平台進行部署時,關鍵的決定因素通常是 Kubernetes 在維運方面的優勢:更好的資源效率、更高的可擴展性、高彈性與安全性等等。 但事實上,除了維運之外,Kubernetes 也有利於公司的軟體開發;無論是提高程式碼的可攜性、提高生產率,這些因素都讓 Kubernetes 成為許多開發單位的首選。 正如 Gooogle Cloud 在 Re-architecting to cloud native: an evolutionary app...
Google Cloud 對 Cloud Run 的願景很簡單:讓開發人員能夠在一個全代管、自動擴展的基礎架構上運行其原始碼,且該基礎架構具有以 HTTPS 保護的域名。但到目前為止,部署到 Cloud Run 至少需要兩個獨立的步驟: 將程式碼打包成容器化映像檔 將此容器化映像檔部署到 Cloud Run 儘管容器化映像檔已成為包裝、部署和擴展軟體的業界標準,但並非每個開發人員都想了解容器化的運作方式、或如何將其應用程式(以自己喜歡的語言編寫)構建成容器化映像檔中。 今天,Google Clo...
即便在最好的情況下,企業 IT 可能也很複雜昂貴。當我們和不斷增加 on-prem 投資的企業討論時,企業希望可以有效利用雲端「高擴展」、「創新」、「跨區部署」的特性,但他們也擔心選到錯誤的雲端供應商。企業往往會疑問:為什麼他們不能寫一次,就在多個地方運行?   Google 推出新的 Google Cloud 開放平台 Anthos,讓您可以在任何地方簡單、靈活、安全地執行應用程式。Anthos 採用開放標準,基於去年宣布的 Cloud Services Platform,允許您在現...
Google Cloud 的現代應用程式管理平台:Anthos 的用途是在跨雲端的環境中提供一致的開發、運營、安全體驗,Anthos 是專為那些希望能加速動態應用程式開發與部署、重視服務自動化、成本管理、安全控制的企業所設計。透過 Anthos,您只需建造一次 App,就能部署在各種不同的環境;也可以在合適的環境大規模自動化、現代化 App,並在混合雲和多雲的環境中一併管理。 Anthos 也能進化您維護 App 安全的方式,除了提供預設基礎的安全規範,它同時自動執行以下的安全操作: 隔離具有不...
在一個理想的雲端世界中,您可以將所有應用程式託管在 Kubernetes 和 Istio 運行的容器中,這樣不僅能享用容器的可移植性、資源利用率的改進,也能善用這個具有進階應用程式管理、網路與安全功能的強大編排平台。若要開發新的應用程式,你可以輕鬆快速上手使用,但如果是的應用程式,恐怕很難好好利用這些功能。 很多您想搬遷上雲的應用程式可能已經發佈許久,但團隊或許缺乏將它們重寫為雲原生 (cloud-native) 應用程式所需的知識技能,又或者,這樣做將會花費大量時間。你可以選擇將應用程式遷移到...
針對 71% 最近將「提高靈活性並加快上線時間」視為企業首要任務的 CIO 們,今天,本文要談談 Anthos 可以如何協助您提高組織中的應用程式的開發和部署。  傳統而言,應用程式的開發和發佈會受到一些缺點的影響,而這些缺點會拖慢您的上線時間: 孤立的應用程式營運團隊和工具:一個用於內部部署,一個用於各種雲環境 交付週期長加上不頻繁發佈,會增加每次生產部署的風險和複雜性 在開發過程中未發現的可靠性和安全性問題 添加更多應用程式、團隊和更新時,缺乏可伸縮性,可觀察性和治理 快速、安全且可靠的 C...
Google Cloud 在非常早期就導入了 open cloud 的概念。這些想法呈現在 Google 貢獻的開源項目上,包括 Kubernetes、TensorFlow、Knative 和 Go 等開源項目(更多參考此連結)。在這些開源基礎上,Google Cloud 也建立了Google Kubernetes Engine (GKE) 和 Anthos 等 Kubernetes 託管服務。 同時,Google 也觀察到用戶的需求:希望在地端或其他雲端的環境中,運行 Google Cloud...
在這篇文章中,我們將重點介紹 DevOps 團隊如何使用 Cloud Monitoring 和 Cloud Logging 來快速釐清問題。 比起耗費心力維運一個安全、可擴展且高可用 (HA) 的 Kubernetes 叢集,使用 Google Kubernetes Engine(以下簡稱 GKE)運行容器化應用程式更能讓 DevOps 團隊專心在應用程式開發上。Cloud Logging 以及 Cloud Monitoring 為兩項整合進 GKE 的監控服務,DevOps 團隊透過這兩項服務...
近幾年,以「雲原生」為基礎的基礎架構和應用框架出現了爆炸性的成長。現代化的基礎架構平台;從 Kubernetes 這類的容器編排工具,到用於快速開發應用程式的無伺服器平台,應有盡有。同時,系統管理員用來部署、配置、管理這些平台的腳本 (shell script),也演變成所謂的「基礎架構即代碼」(Infrastructure as Code, IaC),並透過 Python 或 Ruby 等高階語言或 HashiCorp 的 HCL(通過 Terraform)等專用語言來進行撰寫。 雖然 IaC...
監控指標可幫助您了解業務和應用程式的效能。指標如果有更長的保留時間,就可以進行年度或季度的分析和報告,預測季節性趨勢,並符合法規的保留政策等等。Google 日前宣布 Cloud Monitoring 可以延長保留自定義指標和 Prometheus 指標,保留從到 6 周延長至 24 個月。預設情況下,將啟用自定義指標和 Prometheus 指標的延長保留時間。 更長的保留時間在金融業、零售業、醫療保健產業和媒體公司中特別有用。例如,財務團隊可以使用長時間的數據來預測季節性趨勢,以便您知道在黑...
為了迎接新一代 OpenAPI 開放生態圈的商業浪潮,想要將內部開發的 API 相關服務串接到外部的合作廠商,建立跨界生態圈 Eco System,千頭萬緒一下子不知道該從哪兒下手? 只要準備好 OpenAPI 的 YAML 檔案描述的內容,透過 Apigee Spec 內建的功能,透過精靈逐步引導的方式,就能夠輕鬆地建立反向代理服務,將 HTTP requests 需求從 Internet 轉送後端 Backend service。接下來,就讓我們一起來初步探究這個好用的 API 神器! Ap...
大多數軟體開發者都知道 API 的設計主要有兩種模式,RPC 和 REST。無論採用哪種模式,大多數現代 API 都是透過那樣的方式對應到相同的 HTTP 通訊協定來實作的。在 RPC API 設計中,保持 RPC 模型的同時,採用 HTTP 中的一兩個想法也變得很常見,這就增加了 API 設計者可以做的選擇。本篇文章將分別解釋這些選擇,並教您如何進行選擇。 gRPC 是一種實作 RPC API 的技術,它使用 HTTP 2.0 作為其底層傳輸協定。gRPC 是基於遠端程式呼叫 (Remote ...
本系列文的上半部,我們介紹了 gRPC、REST 與 OpenAPI 三種 API 模型的特性,並說明比較了 REST 與 OpenAPI 各自的優勢,若有興趣而還沒閱讀文章的朋友,可以點此連結閱讀。接下來,本文會繼續說明 gRPC 與 OpenAPI 的比較。 什麼情況下,gRPC 會是比 OpenAPI 更好的選擇? 使用 OpenAPI 描述 API 的挑戰,是定義 URL 路徑和 HTTP 方法來解釋你的「選擇」和「參數」。這是一項艱難的工作,因為有很多選擇。對於大多數項目而言,你無法得...
如果您部署了許多工作流程、HTTP API,需要自動化調度管理,那 Google Cloud 的 Workflows 將會是一套很適合的工具。這項全代管服務,能協助自動化執行工作流程,並內建錯誤處理機制。您可以在 YAML 或 JSON 文件中定義工作流程,並使用 gcloud 或 Google Cloud Console 進行部署。除此之外,還有另一個具有宣告性又非常簡單好用的方法,就是使用 Terraform。 本文教您使用 Terraform 定義和部署工作流,並探索如何讓 Terrafo...
大多數企業會在不同的位置運作應用程式——自家的資料中心、各種公有雲 (Multiple public cloud) 或邊緣位置 (Edge)。這些應用程式會在不同的專有技術堆疊上運行,這將會降低開發人員的速度、浪費運算資源並阻礙可擴展性。您如何保障在混合和多雲環境,開發和部署新應用程式的同時,始終如一地操作現有應用程式?您如何獲得資源的集中可見性並進行管理?沒錯,這就是 Anthos 存在的原因!  本文帶您探討,為何傳統混合雲和多雲部署如此困難,並跟您解說,如何讓橫跨多個環境的應用管理變得更加...
回到頂端