Cloud Native 這個詞近年來非常熱門,CNCF 甚至也有針對這個詞給出了一個簡短的定義,然而對於每個使用者來說,要如何實踐這個定義則是百家爭鳴。我認為很認真地去探討到底什麼樣才算 Cloud Native 其實就跟很認真的探討什麼是 DevOps 一樣,就是一個沒有共識,沒有標準答案的問題。
本篇文章從 CNCF 的定義衍伸出 Cloud Native 帶來的優勢,並且針對這個領域介紹了十三種不同面向的科技樹,每個科技樹也都介紹了幾個常見的解決方案。
好處:
1. Speed
作者認為 Cloud Native 的應用程式要具有快速部署與快速開發的特性,擁有這些特性才有辦法更快地去根據市場需求而上線面對。眾多的雲端廠商都提供不同的解決方案讓部署應用程式愈來愈簡單,而 Cloud Native 相關的工具則是大量採用抽象化的方式去描述這類型的應用程式,讓需求可能更簡單與通用的部署到不同環境中。
2. Scalability and Availability
Cloud Native 的應用程式應該要可以無痛擴張來對面不論是面對一百個或是一百萬個客戶。底層所使用的資源應該都要根據當前的需求來動態配置,避免無謂的金錢成本浪費。此外自動化的 Failover 或是不同類型的部署策略(藍綠/金絲雀..等)也都可以整合到 Cloud native 的工具中。
3. Quality
Cloud Native 的應用程式建置時應該要保持不變性,這特性使得應用程式本身能夠提供良好的品質一致性。此外大部分的 Cloud Native 工具都是開放原始碼專案,這意味者使用時比較不會遇到 vendor lock-ins 的問題。
以下是作者列出來認為 Cloud Native 生態系中不可或缺的十三種面向,以及該面向中幾個知名專案。
相關領域
1. Microservices (Node.js/Kotlin,Golang)
2. CI/CD (Gitlab CICD/ Github Actions)
3. Container (Docker/Podmna/LXD)
4. Container Orchestration (Kubernetes/Google Cloud Run)
5. Infrasturcutre as Code (Terraform/Pulumi)
6. Secrets (Vault /Sealed Secrets)
7. Certificates (cert-manager/Google managerd certificates)
8. API Gateway (Ambassador/Kong)
9. Logging (EKF/Loki)
10. Monitoring (Prometheus/Grafana/Datadog)
11. Alerting (Prometheus Alertmanager/Grafana Alerts)
12. Tracing (Jaeger/Zipkin)
13. Service Mesh (Istio/Consul)
https://medium.com/quick-code/how-to-become-cloud-native-and-13-tools-to-get-you-there-861bcebb22bb
consul介紹 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
本篇文章是個經驗分享系列文,作者探討 Kubernetes 內 15 種不被建議的部署策略與模式。
作者之前曾經撰寫過 Contianer 架構底下的部署模式探討,而本系列文(三篇)則是著重於如何將這些 containers 透過 Kubernetes 給部署到生產環境,總共會探討十五種不推薦的模式,接下來的三篇文章將會介紹各五種不好的模式。
Using containers with the latest tag in Kubernetes deployments
任何 container 的 image 都不應該使用 latest,因為 latest 本身沒有任何意義,這會使得維運人員沒有辦法掌握到底當前部署的版本是什麼,更嚴重的情況適當 latest 搭配 PullPolicy:Always 時會產生更為嚴重的問題。因為 Always 的策略導致每次 Pod 部署時都會重新抓取 image,所以一個 deployment 中,多個使用 latest tag 的 Pod 但是其實使用的 image hash 是不同的。
作者認為比較好的做法有
1. 所有 container image 都是不可修改的,一旦建立就禁止覆蓋,有任何改動就進版
2. 部署用的 image tag 使用有意義的版本名稱
補充: 實際上 pull image 也可以使用 sha256,譬如 "docker pull hwchiu/kubectl-tools@sha256:acfb56059e6d60bf4a57946663d16dda89e12bfb1f8d7556f277e2818680e4c8"
Baking the configuration inside container images
任何 contaienr image 建置的時候應該都要往通用的方向去設計,而不是參雜各種設定在裡面。著名的 12-factor app 裡面也有提到類似個概念,建置好的 image 應該要可以 build once, run everywhere,動態的方式傳入不同的設定檔案,而不是把任何跟環境有關的資訊都寫死
舉例來說,如果 image 內包含了下列設定(舉例,包含不限於)
1. 任何 IP 地址
2. 任何帳號密碼
3. 任何寫死的 URL
作者認為比較好的做法有
1. 透過動態載入的方式來設定運行時的設定,譬如Kubernetes configmaps, Hashicorp Consul, Apache Zookeeper 等
2. 根據不同程式語言與框架甚至可以做到不需要重啟容器就可以載入新的設定
Coupling applications with Kubernetes features/services for no reason
作者認為除了很明確專門針對 Kubernetes 使用,或是用來控制 Kubernetes 的應用程式外,大部分的 應用程式包裝成 Container 時就不應該假設只能運行在 Kubernetes 內。作者列舉了幾個常見的使用範例,譬如
1. 從 K8s label/annotation 取得資訊
2. 查詢當前 Pod 運行的資訊
3. 呼叫其他 Kubernetes 服務(舉例,假設環境已經存在 Vault,因此直接呼叫 vault API 來取得資訊)
作者認為這類型的綁定都會使得該應用程式無法於沒有 Kubernetes 的環境運行,譬如就沒有辦法使用 Docker-compose 來進行本地開發與測試,這樣就沒有辦法滿足 12-factor 中的精神。
對於大部分的應用程式測試,除非其中有任何依賴性的服務是跟外部 Kubernetes 綁定,否則這些測試應該都要可以用 docker-compose 來叫起整個服務進行測試與處理。
服務需要使用的資訊應該是運行期間透過設定檔案,環境變數等塞入到 Container 內,這樣也呼應上述的不要將與環境有關的任何資訊都放入 image 內。
Mixing application deployment with infrastructure deployment (e.g. having
Terraform deploying apps with the Helm provider)
作者認為近年來伴隨者 IaC 概念的熱門,愈來愈多的團隊透過 Terraform/Pulumi 這類型的工具來部署架構,作者認為將部署架構與部署應用程式放到相同一個 Pipeline 則是一個非常不好的做法。
將基礎架構與應用程式同時放在相同 pipeline 可以降低彼此傳遞資訊的困難性,能夠一次部署就搞定全部,然而這種架構帶來的壞處有
1. 通常應用程式改動的頻率是遠大於基礎架構的改變,因此兩者綁在一起會浪費許多時間在架構上
假如部署基礎架構需要 25 分鐘而應用
https://codefresh.io/kubernete.../kubernetes-antipatterns-1/
consul介紹 在 阮義忠攝影工作坊 Facebook 的最佳貼文
【影像逆旅】東西攝影會見
當年僅憑着少許積蓄、滿腔熱血就辦起了國際性的雜誌,實在是膽大包天、自不量力,能夠一辦十來年,還真是走運!要感謝的人太多,在第一年,受法蘭克・霍瓦(Frank Horvat)的幫助尤大。在看過我們的創刊號後,他欣然接受我的邀約,以每期1萬法郎的薄酬加入編輯行列,於1992年至1994年擔任《攝影家》雜誌的法國主編、編輯顧問,之後漸漸淡出。
有段時間,台北、巴黎之間天天有我們的傳真往來。我在每天下班之前都會發一封長長的信給他,第二天一早,辦公室的鐵門一拉,還沒開玻璃門的鎖,就忍不住先望向傳真機的角落,看有沒有感熱紙垂下來,有時信件內容會多到垂在地上,像絲絨一樣疊成波浪。法蘭克也不例外,每天等我的傳真,有次還說:“活像等情書,這種感覺,只有談戀愛的時候才有!”
1928年出生的法蘭克・霍瓦是我見過最聰明的攝影人,文采飛揚、才高八斗,不但法文、英文、意大利文、德文運用自如,就是猶太古語意第緒也難不倒他。我們在一起有談不完的話,從普魯斯特的《追憶似水年華》到卡夫卡的《蛻變》;從羅馬人佔領整個歐洲到孔夫子周遊列國;從歐洲攝影圈的趣事談到張藝謀的電影《秋菊告官》。他打從骨子裡狂妄,形容起與他齊名或地位更高的前輩,也常常沒好話,最喜歡掛在嘴巴上的就是:“攝影圈沒有知識分子!”
他也是我遇到對攝影看法最容易改變的人,風格多樣,從不長期擁抱任何一種表達方式。20世紀六〇年代,他首開先河,利用35mm相機、自然光線、日常生活場景拍攝時裝攝影,幹得風生水起,為這一派的領導人物,也因而在攝影史上享有一定的地位,與巴黎的《Elle》、倫敦的《Vogue》、紐約的《Harper’s Bazaar》經常合作。在成為頂尖時裝攝影大師前,他因受布列松影響而致力於報導攝影,曾為馬格南成員。在時裝攝影界功成名就後,他又轉而拍風景、自然、雕刻,繼而跨進未來的影像主流——電腦後製作,是最早嘗試photoshop的人之一。
時常改變創作風格,對任何一位藝術家都是很冒險的;有些朋友就認為,法蘭克的成就難以評估,如果他曾長時間停留在某一項攝影領域中,地位會比現在高得多。他自己也很清楚這一點;“可是,”他跟我眨眨眼:“世界上有那麼多有趣的事,不能每樣都嘗試,多叫人遺憾啊!”
他只穿黑衣服,一次買好幾件一模一樣的,而且都是polo衫,只有短袖與長袖之別,冬天再加一襲黑色風衣或大衣。他甚至把居住空間的牆壁、天花板、傢俱、地板都漆成黑色;我在他位於布隆尼(Boulogne)、光線晦暗的家裡作客,隨時都昏沈沈地想睡覺,而且經常踢到東西。漂亮的院落裡立着兩棟房子,一棟住着他美麗的前任太太與女兒,他與現任太太住的這棟以前是工作室。
法蘭克也從事過文學創作;有一天,我在書房的眾多攝影書籍之間發現一本他寫的散文集,內容與印度之旅有關。是一家著名大出版社出的,從紙張和裝訂的考究,可知他在這個領域曾相當被看好。為何絶口不提此事,是個謎。對我來說,他始終像個謎,儘管密切合作過一段時間,但有時處理事情的方法會讓我感覺完全不認識他。也許是東、西方文化的隔閡,也許是個性的差異,或人與人之間根本就存在着無法溝通的盲點。例如,我怎麼也搞不懂,一個男人為什麼會需要結五次婚!
自從迷上電腦之後,法蘭克愈來愈相信攝影沒有所謂的真相、沒有所謂的決定性瞬間,也沒有所謂的見證性,因為電腦能改變一切!我經常與他為這一類的問題辯論,無論怎麼辯,他總有話說,但我始終不能同意。對我來說,攝影不只是在製造影像,還是一種生活方式。我怎麼也不願整天敲着電腦鍵盤,而不與外在世界、真實人間溝通。
上世紀九〇年代初,電腦的運算數度還非常緩慢,為了把一張照片的局部移植,往往得花一星期。當然,這些枯燥、乏味的工作都由太太薇荷尼克負責,法蘭克只管天馬行空地想些能讓人驚訝的事。
他津津樂道,馬格南老同事對他擁抱計算機嗤之以鼻,認為這些嘗試是對攝影的背叛:“沒錯,我可以再也不甩‘決定性的瞬間’了!沒在現場捕捉到那千載難逢的剎那?我可以用電腦來完成啊!照片不裁切,保留原有的黑框就能當證據嗎?我用電腦可以做出一模一樣的黑框!”
我能理解法蘭克在創作上求新求變,而且瞭解他活力充沛到無法墨守成規。可是,當他興奮地冒出一句“這麼做,讓我有一種殺父的解放感”,我只能無語,感覺渾身不對勁!
1992年,法蘭克受我之邀首度造訪台灣,我問他最想做什麼,得到的回答讓我十分意外:“我最想見的就是郎靜山。”當時,高齡一百的郎老身體依舊硬朗,儘管曾獲美國紐約攝影學會頒贈的世界十大攝影家稱號(1980年),也是在法國阿爾勒攝影節(1981年)、土魯斯水之堡攝影藝廊(1983年)展出作品的第一位華人攝影家,在國內卻被攝影界小輩狠批。我跟郎老從無交集,卻明白他在國際間受到的推崇,能藉此因緣拜訪,也是樂事一樁。
約好見面的那一天,來到臨沂街,只見郎老已站在一棟老舊公寓的門口等候了。法蘭克一見到他,就舉起手中的來卡捕捉鏡頭,動作俐落,原本臃腫的身子顯得異常靈活。兩人見面的時間不長,郎老大多時候只是盈盈笑着,解說作品時,兩度提到他的老師李靖蘭,說自己同時跟他學習到繪畫與攝影。
《攝影家》雜誌的第2期,除了郎靜山的作品,還有奧古斯特・馮思瓦(Auguste Francois,1896-1904)的《中國影像記錄》(China in the Eyes of the Consul)、傳奇人物馬丁・慕卡西(Martin Munkacsi)的作品,以及米歇爾・德拉伯(Michel Delabord)的照片短輯和《太空攝影三十年》。
之前造訪巴黎時,我在東方美術館(Musée Guimet)發現一本關於中國老照片的展覽場刊,內容精采得讓我大為驚喜,如今自己辦上了雜誌,當然也想介紹給讀者。在法國文化部攝影部門任職的米歇爾・德拉伯居中協調之下,我獲得了刊載權,並請精通法文的老友劉俐為這些精采的作品撰文。
“這是馮思瓦在1901至1904年間任駐雲南總領事期間所拍攝的作品。照片記錄了中國西南偏遠地區在被西方帝國主義強行打開門戶之前的原始風貌,無論就史料和攝影角度而言,都極為珍貴。
馮思瓦所拍的700張玻璃底片已在巴黎東方美術館塵封數十年之久,這些底片不但井然有序,且都附有說明文字。唯一遍尋不着的是作者的名字。館方從三張夾在底片中的郵包碎片,拼湊出收件人姓名,追蹤至他的舊居,找出他的日記、信件和家人保存的相片,像拼圖遊戲般,重現這位法國外交官的面貌。”
原以為米歇爾只管行政,沒想到他的彩色攝影作品充滿了詩意;因此,我毫不猶疑地將他的《夢的遊牧民族之旅》納入:“一個沒有回程的離去,一個無止盡的哀求,一個難忘的妖女之呼喚,一個保留在血液中的形象、天生的詩篇。德拉伯在遺世獨立、五彩繽紛的花園中,找到通往夢境之路。”在挑選作品時,我加進了他1980年在北京、上海所拍的照片。
刊登馬丁・慕卡西(Martin Munkacsi)的作品最讓我興奮。能幹的法蘭克親自採訪了慕卡西的女兒裘安(Joan),從前言的寥寥數語,就可明白這位攝影家的重要性:“對大數人而言,匈牙利的三大攝影家是安德烈・科特茲(André Kertész)、布拉塞(Brassaï)以及羅伯特・卡帕(Robert Capa),很少人知道第四位大師——馬丁・慕卡西;其在攝影史上的地位與前三者同樣重要,而在他一生的部分時光裡,其實是四人當中最成功的。他有一張報導攝影《三個黑人小孩》為一名叫亨利・卡蒂埃-布列松(Henri Cartier-Bresson)的年輕法籍藝術家所注意到,因而促使他以拍攝報導性照片為職志。理查・阿文東(Richard Avedon)和伊文・潘(Irving Penn)均受到慕卡西街頭服裝攝影的影響。
我在這期的工作算是輕鬆的,除了策劃、美編、督印,只寫了一篇關於郎靜山的介紹,再就是雜誌前言《會見》:本期對東西方攝影的會合,以一個有趣的觀點去編輯。霍瓦會見郎靜山,法國領事眼中的清朝中國,米歇爾・德拉伯也有幾張照片是關於中國的。這些攝影作品集合在一期當中,反映了不同時代下東西會和的情況。
法蘭克實在是太厲害了!直到今天,我依舊記得,造訪郎靜山後,隔天一早我們兩家人便啟程遊覽橫貫公路,當晚投宿於天祥。醒來,於旅社吃完早餐,他凝神片刻,在兩大張餐巾紙上洋洋灑灑地寫滿了英文,得意地笑着遞給我:“交稿囉——郎靜山的文章我寫好了!”
這篇訪問連同郎老的攝影作品,成為《攝影家》雜誌第2期的主要內容。法蘭克還用電腦拼貼,將郎老的頭像、溪頭的竹林、台北國際學舍的孫悟空京劇合在一起,力薦我把這幅影像用來當封面。
文章的開頭是:
“身為一個不怎麼年輕的人和攝影教師,我經常有機會和小我四十歲的攝影人士溝通觀念。會見一位幾乎比我年長四十歲的大師,是我這輩子很特別又不可能再度發生的事。郎靜山生氣盎然,妙語如珠和漂亮十足的外形讓我印象深刻。對我來說,他的作品提出有趣的問題。他拍的一些“純攝影”,以任何標準來說都是極好的。他的攝影蒙太奇屬於一種40年前我會不以為然,且可能斥之為過時的風格——而現在這些作品指出的方向似乎也成為我自己的工作方向。時光在我們身上玩着奇妙的把戲:我們使自己相信我們可以用快門停住時間,但時光繼續流逝,在擦肩而過時嘲笑我們。”
訪問結束得也非常有意思:
法蘭克:“我的一位攝影朋友愛德瓦・布巴(édouard Boubat)有次告訴我,拍照的人長壽,是因為他們永遠對藏在下一個角落後面的事好奇。郎老:“對對對,如果你要到下個角落來,我會在那裡等你!”
文、供圖:阮義忠
consul介紹 在 consul简单介绍- 暗枫的博客 的推薦與評價
Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供 服务注册 、 服务发现 和 配置管理 的功能。Consul的功能都很实用,其中包括: ... ... <看更多>