ref: https://www.infoworld.com/article/3632142/how-docker-broke-in-half.html
這篇文章是作者訪談多位前任/現任的 Docker 員工,Docker 社群貢獻者, Docker 消費者以及市場分析師的相關心得文,目的是想要探討 Docker 商業模式的成功與失敗,到底目前 Docker 商業模式的進展是否有跡可循,以及我們可以從這些歷史決策中學到什麼?
Docker 不是輕量級虛擬化技術的開創者,但是卻是個將 Container 這個技術給推向所有開發者的重要推手,Docker 簡化整體的操作使得每個開發者都可以輕鬆的享受到 Container 的好處,但是從結果論來說, Docker 還是於 2019 年 11 月給 Mirantis 給收購了
到底 Docker 的商業模式哪一步走錯了,接下來就跟者作者一起去訪談與思考。
[Docker 的誕生之路]
Solomon Hykes(文章很多該人看法) 於 2008 年創辦一間專注提供 Platform as a Serivce 的公司, DotCloud,該公司希望讓開發者可以更簡易的去建置與部署開發的應用程式,該公司的底層技術後來也由 Docker 繼續沿用,當然創辦 Docker 的依然是 Solomon Hykes。
Docker 開源專案誕生之後吸引了全球目光,除了來自各地的使用與開發者外,大型公司如 Microsfot,AWS,IBM 等都也加入,但是就跟其他基於開源專案的軟體公司一樣, Docker 也面臨的商業模式的問題,這種類型的軟體公司到底要如何穩定獲利?
從 2021 往回看,一個很簡短的說法可以說是 Docker 的企業化管理工具 Docker Swarm 還沒有站穩腳步之時就遇到 Kubernetes 這個龐然怪獸,然後 Kubernetes 橫掃時間把所有 Docker Swarm 的市場全面清空,
當然真實版本一定更加複雜得多,絕對不是一句 Kubernetes 就可以概括的
[開源專案的商業化之路總是困難]
Docker 於 2014 年開始認真探討其商業策略,如何將其作為 Container 領頭羊的角色轉變成為一個可以帶來收入的策略,VC 創投的資金讓其有能力收購 Koality 與 Tutum,同年 Docker 也正式宣布第一個商業版本的支援計劃。
這一連串的計算誕生出了許多產品,譬如 Docker Hub 及 Docker Enterprise.
不過可惜的是上述的產品並沒有辦法從企業用戶手中帶來穩定的獲利,大部分的客戶相對於直接購買 Docker 解決方案,更傾向跟已經合作的系統整合商一起合作。
Solomon Hykes 今天夏天跟 infoworld 的一次訪談中提到,Docker 從來沒有推出一套真正的好的商業產品,原因是因為 Docker 並沒有很專注地去處理這塊需求。
Docker 嘗試每個領域都碰一小塊,但是卻發現想要同時維護一個開發者社群又要同時打造一個良好的商業產品是極度困難的, Dockre 花費大量的時間與金錢想要魚與熊掌兼得,但是最後才體會到這件事情幾乎不太可行,Hykes 也認為 Docker 應該要花更多時間去聆聽用戶的需求,而不是自己埋頭苦幹的去打造一個沒有滿足使用者需求的企業產品。
來自 Google 的開發推廣大使 Kelsev Hightower 於今年的訪談中提到,Docker 成功地解決問題,但是卻遇到了瓶頸,舉例來說,Docker 提供工具讓開發者可以 產生 Image, 提供地方儲存 Image,運行 Image 除了這些之外, Docker 還有可以發展的空間嗎?
Hykes 不贊同這個說法,譬如 RedHat 與 Pivotal 都很成功的將 Docker 整合到彼此的 PaaS 產品(OpenShift, Cloud Foundry),也成功從中獲利,所以 Docker 實際上有很多方式可以去獲利的,只是沒有成功而已。
從結果論來看, Docker 早期的商業夥伴,一家專注於 Travel 的科技公司, Amadeus 於 2015 年正式跟 Docker 分手改而投向 RedHat 的懷抱。
畢竟 RedHat 有提供更多關於 Container 相關的技術支援,畢竟對於一個想要踏入 Container 世界的企業,如何將應用程式容器化是第一步,而接下來則是更為重要的 Container Orchestration 解決方案,很明顯的 Docker 這個戰場上是完全被 Kubernetes 打趴的。
[Kubernetes 的決策]
Docker 拒絕擁抱 Kubernetes 被認為是一個致命的錯誤策略,Jérôme Petazzoni, Docker 第一位也是目前在位最久的員工提到, Docker 內部曾經針對 Kubernetes 的生態去探討過,當時內部的共識是 Kubernetes 架構過於複雜,而 Docker Swarm 的架構相對簡單,比較之下 Docker Swarm 應該更容易獲得商業上的成功。
從其他的訪談可以得知, Docker 曾經是有機會可以跟 Google 內的 Kubernetes 團隊一起合作發展 Kubernetes,並且有機會去掌握整個 Container 生態系的發展。如果這些合作可以順利發展,那 Docker GitHub 底下的第一個專案可能就會是 Kubernetes,而 Docker Swarm 可能根本就不會產生了。
Hykes 承認的說,那個時空背景(2014,2015)下, Docker 公司很難找到一個很好的 Container Orchestration 解決方案來滿足各種各戶的需求,而那時候的 Kubernetes 也很難斬釘截鐵的說就是那個解決方案, 畢竟那時候 Kubernetes 還非常早期,同時期還有很多開源專案,很難料想到
Kubernetes 最後會主宰整個 Container Orchestration 世界。
文章後半段還有非常多的討論,非常推薦大家去看全文,雖然沒有辦法改變歷史,但是從歷史中可以學到非常有趣的東西,特別是當被客戶問到 Docker/Kubernetes 的一些生態問題時,有這些歷史資料的可以讓你講起來更有迷之自信
同時也有1部Youtube影片,追蹤數超過60萬的網紅飲食男女,也在其Youtube影片中提到,新西蘭是落入凡間的仙景。全因人口少,低開發,「自然」才得以保存。要探索新西蘭的美,不少人會選擇露營車,貪其自由度高。然而,並非每輛露營車都有浴室,而車上的流動式廁所亦不得民心。因此,要玩得舒服,很視乎晚上的露營地點。 重視環境保護的新西蘭,露營要到指定地點。如露營車有「獨立排污認證」(Self Co...
「container 開發」的推薦目錄:
- 關於container 開發 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
- 關於container 開發 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於container 開發 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於container 開發 在 飲食男女 Youtube 的最佳貼文
- 關於container 開發 在 使用VSCode 的Remote Container 打造Java 開發環境 - YouTube 的評價
- 關於container 開發 在 為什麼要使用容器? - Complete Think 的評價
- 關於container 開發 在 开发容器简介- GitHub 文档 的評價
- 關於container 開發 在 技術分享會, 容器驅動開發~ Container Driven Development 的評價
container 開發 在 矽谷牛的耕田筆記 Facebook 的精選貼文
ref: https://medium.com/k8slens/most-popular-lens-extensions-june-2021-8f88ef79aab6
這篇文章是作者推薦 Lens 這套 Kubernetes Dashboard 上相當熱門的擴充功能。
1. Mirantis Container Cloud Extensions
這項功能是由 Mirantis 所開發的,可以讓使用者更輕鬆的去使用 Mirantis Container Cloud 上的資源
2. Starboard Extension
該擴充功能是由 Aqua Security 所開發的功能,可以更方便地去檢視 Kubernetes 中部署 Image 的安全性報告,
該報告主要會列出該 Image 已知的 vulnerability 列表。
3. Kubernetes Resource Map Extension
該擴充功能會透過視覺化的方式來呈現 Kubernetes 內的資源關係,譬如 Service, Deployment, Pod...等彼此關係,可以讓使用者更清楚的知道
目前叢集中不同資源的彼此關係
4. Kubecost Extension
如果有使用 Kubecost 這個專案來管理 Kubernetes 叢集內的相關資源成本的話,可以使用這個擴充工具將這個資訊直接已視覺化的方式呈現到 Lens 的介面中
5. GKE Sync Extension
該擴充功能會自動地透過 gcloud 指令來同步 GCP 上的資源,包含了 projects 以及 GKE Clusters。
透過這個擴充功能,使用者可以不需要去準備相關的 kubeconfig 就可以管理新加入的 GKE Clusters。
6. Capsule Extension
該擴充功能由 Clastix 所開發的,Clastix 提供了一個讓 Kubernetes 支援多租戶的功能,而該擴充功能是讓使用者可以透過 Lens 來輕鬆管理這些多租戶的資源與使用情況
container 開發 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
ref: https://blog.sigstore.dev/verify-oci-container-image-signatures-in-kubernetes-33663a9ec7d8
本篇文章要探討的也是跟 security 有關的一個概念,一樣也是基於 Software Supple Chain 這個概念去探討到底環境中用到的相關軟體是否都是安全且被信任的。
本文章分享的是一個基於 Kubernetes Admission Controller 實作的解決方案 Connaisseur,該解決方案的概念很簡單
1. 透過 Admission Controller 去監聽系統上所有 Container 的部署請求
2. 如果部署的 Container Image 是符合事先設定規則的,則允予通過
3. 如果不符合,該次部署就直接失敗
所謂的規則比較簡易的說法就是簽章,只有包含了可信賴簽章的 Container Image 才會被 Connaisseur 給允許通過
有了這個基本概念之後,下一個問題則是到底什麼是可信賴簽章?以及要如何讓想要使用的 Container Image 獲得一個可信賴的簽章?
文章內介紹了關於 Container Signatures 的一些演變,包含了 Docker Content Trust, Notary(V1) 以及 The Update Framework 早期的使用方式
到後來因為 OCI(Open Container Initiative) 的發展與調整,目前可以直接於 OCI Image Spec 一同夾帶該 Image 相關的簽章。
這意味者任何支援該 OCI 標準的 Container Registry 不但可以存放該 Container Image 同時也可以存放該 Image 的簽章。
這個使用方式的變更也促使了 Notary 這個開源專案(v2)的演進。
與此同時, Linux 基金會底下的 Sigstore 專案也再努力地針對開源專案的簽章方面努力著,期望能夠透過簽署與驗證功能來提升開源專案簽署方面的應用。
Sigstore 專案底下的 Cosign 小專案則是專門處理 OCI Image 相關的簽章事項,包含簽署,儲存以及驗證。
而本文所開頭所提及的 Connaisseur 專案則是可以基於 Cosign 所簽署的內容去進行驗證,透過兩者的配合可以用來確保部署到 Kubernetes 的所有 Image 都需要被 Cosign 給簽署過
作者特別強調,目前 Sigsotre 以及 Cosign 這些專案都還是屬於開發階段,所以 Connaisseur 本身對於這項功能的整合也是屬於一個開發實驗階段,很多東西都會不穩定
隨者資安意識以及相關事件 Solarwinds hack 等的出現,當各團隊基本的 DevOps, CI/CD 文化與流程都逐漸成型後, DevSecOps 的東西就會是下一個各團隊要開始煩惱的地方了
特別是所謂的 Software Supply Chain 上的各種潛在危險。
container 開發 在 飲食男女 Youtube 的最佳貼文
新西蘭是落入凡間的仙景。全因人口少,低開發,「自然」才得以保存。要探索新西蘭的美,不少人會選擇露營車,貪其自由度高。然而,並非每輛露營車都有浴室,而車上的流動式廁所亦不得民心。因此,要玩得舒服,很視乎晚上的露營地點。
重視環境保護的新西蘭,露營要到指定地點。如露營車有「獨立排污認證」(Self Container Certification) ,就表示車上有獨立的排污系統,不會污染環境,露營地點的選擇便會更多。尋找露營地點,最簡單的方法,就是透過網站或手機程式,如「Campermate」。全國的露營地點,營地設施、收費、用家意見等,一覽無遺。露營車的停泊地點,主要是郊野公園或Holiday park。郊野公園露營是象徵式收費,甚至免費,依靠旅客的自律,自行的繳付。郊野公園
人煙稀少,環境清幽,設備相對簡陋。較舒適的選擇是Holiday park,雖然收費較高,但勝在設備齊全。空間十足的大廚房、洗衣房、廁所及浴室,一應俱備。另外,雖然露營車本身的電池能夠支援電燈照明、雪櫃及Usb充電,但要使用耗電量高的電器,如風筒、多士爐、相機充電,就要另外接駁電源,而
電源一般只在Holiday Park。
露營車自駕安全貼士
新西蘭山路多,如下斜坡時如果長期使用剎車容易造成剎車皮過熱,使用低檔行駛,如二或三檔則較安全。由於露營車的車身較高及重,轉彎時宜減慢車速。其他時間,車速亦不應超過90km。自駕遊旅客的意外,多數是因為超越前車引起,如要超越前車,最好等待Passing Lane 的出現,其餘時間,只能耐心等待。
採訪:符樂
拍攝:北記、Mike Wong
鳴謝: http://www.eventes.co.nz
===================================
立即Subscribe我哋YouTube頻道:http://bit.ly/2Mc1aZA (飲食男女)
新店食評,名家食譜,一App睇晒!
立即免費下載飲食男女App: http://onelink.to/etwapp
《飲食男女》Facebook:http://www.facebook.com/eatandtravel
飲食男女網站:http://etw.hk
Follow我哋Instagram,睇更多靚片靚相:http://bit.ly/2J4wWlC (@eat_travel_weekly)
container 開發 在 為什麼要使用容器? - Complete Think 的推薦與評價
後來一些高階語言,為了避免類似的問題,都不讓開發者自行操作記憶體空間,透過語言層級的存取隔離性。 回到Container 的好處: 隔離性(Isolation) ... ... <看更多>
container 開發 在 开发容器简介- GitHub 文档 的推薦與評價
在codespace 中工作时,你工作所处的环境是使用托管在虚拟机上的开发容器创建的。 ... 文件中设置的设置和属性的信息,请参阅Development Containers 网站上的规范。 ... <看更多>
container 開發 在 使用VSCode 的Remote Container 打造Java 開發環境 - YouTube 的推薦與評價
我上周嘗試將SAP Commerce (SAP Hybris) 電商平台放進VSCode 的Remote Container (遠端容器) 中 開發 ,原本想說如此龐大的一套 開發 框架,安裝過程應該 ... ... <看更多>