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 的一些生態問題時,有這些歷史資料的可以讓你講起來更有迷之自信
同時也有6部Youtube影片,追蹤數超過7萬的網紅在地上滾的工程師 Nic,也在其Youtube影片中提到,現在學習知識的渠道越來越多,無論對於零基礎或是有經驗的工程師,想要持續成長應該看書還是看影片來的更有效率呢? 主要會和你分享我過去從新手到資深的過程中,如何持續保持進步及學習的經驗 也許這個經驗可以幫助到你,也歡迎留言和我分享你的看法 相信彼此分享不同的學習見解,能讓對於想要更精進自己程式開發...
github 推薦 在 91 敏捷開發之路 Facebook 的精選貼文
【Classic TDD by Example】C# 版無限期、不限次 影音培訓內容正式推出,開放報名。
完成介紹,請參考:https://tdd.best/courses/classic-tdd-by-example-video-training/
【#你可以學會什麼】
➀ 怎麼做需求分析、測試案例分析、backlog items 分析、TDD 的測試案例設計、單元測試、TDD 的小步快跑、持續重構、假實作加上三角定位法。
➁ code smell 的辨識,例如 duplication, temp variable, primitive obsession, feature envy 等等。
➂ 會用到的重構功能與技能,大概整個 IDE 的重構功能都涵蓋到了,包含:
- rename, introduce variable/parameter/field
- extract method/class/interface/super class
- inline variable/field/parameter/method
- move/make method non-static (move class, folder, namespace)
- push member down
- replace switch/nested if logic
- split/merge/join variable
- change signature
- 如何移掉 out 參數的設計
➃ 設計原則:SOLID, 關注點分離, Simple Design
➄ 實戰 Refactoring to Patterns: strategy, chain of responsibility, template method…
【#你會得到的服務與內容】
➀ 你會拿到兩個影片,包含需求面的說明、解析、測試案例分析設計、待辦清單的設計。長度加起來為12小時40分鐘。
➁ 有一份線上講義,匯出成 PDF 共計 159 頁。(作業為2頁)
➂ 有一份 mind map, 跟著培訓做,會有 338 個 elements/nodes。
➃ GitHub上一份 181個 commits 的參考。
➄ 會有一個 slack workspace 供大家在上面發問、討論交流,以及方便我補充相關內容。
➅ 額外提供1hr online 1-1 coaching,企業報價為10630(不信的,有好幾張不同時間的發票金額與天數備註為證明,歡迎來跟我打賭)
➆ 如果因為這門培訓的練習,讓你打算訂閱 JetBrains IDE, 可獲得個人首年訂閱8折的 coupon, 舉例來說,如果是只有 Rider, 就可省27.8美元,如果是全家餐(全系列 10個 IDE 產品),則是節省 99.8 美元。
【#適合哪些朋友】
➀ 因為時空因素(例如人在國外或外地、因為疫情、因為週末時間得陪伴家人,只有深夜才能擁有自己時間的朋友),無法參加我的培訓,但又很想突破自己能力瓶頸的朋友,至少我很肯定你可以從中先獲得工作上有幫助的內容。
➁ 不想等那麼久才能上到實體課,怎麼報名都只能排在等待清單,要等到啥時才可以變強啊啊啊啊啊… 的朋友。畢竟我 2021 年的所有課,在一月份就已經全數額滿了。
➂ 喜歡反覆觀看影片學習、動手練習,能從反覆複習的過程中,獲得最大學習效果,獲得不同想法刺激的學習模式的朋友,這一次的影片絕對可以滿足你的學習方式。
➃ 上我的實體課覺得時間太短、觀念太多、實作跟不上,身心靈在實務課程節奏有點緊湊感覺吃力的朋友,但又覺得內容充實,可以學到很多東西的朋友,這是最適合你做一次打好基底的內容與形式。
➄ 對於內容提及的部份,覺得觀念不夠清楚,不知道怎麼實際進行重構、設計與實作出那些技巧和模式,最終達成 #簡單設計 成果的朋友。
甚至我覺得,即使不是這種學習模式的朋友,大概也避不掉得反覆看、反覆練習好幾遍,因為要行雲流水,得各環節都打通才行。
【#不適合哪些朋友】
➀ 如果因為影片課程的屬性,而只期待著課程費用要比較低的朋友,建議不要買。
➁ 只想看影片,不想打開 IDE 跟著練習 coding 的,建議不要買。不要浪費時間浪費錢,你只看食譜也無法學會煮菜,只看游泳的影片也無法學會游泳的。
➂ 看不懂也不想發問的人,不要買。因為這樣誰都幫不了你。
➃ 不想要自己相關資料被壓浮水印在自己購買的影片上的人,不要買。有壓你個資的影片,只有你跟我擁有。而你的個資只會在影片上使用,不會挪作他用。(確定的是,上面不會有身份證字號或護照號碼)
【#票價資訊】
♥ 一般票:NT$ 36,000
♥ 過來人推薦票(請附上已經購買此影音課程的推薦人,報名附上他的出貨序號,以及 email):NT$ 35,000
♥ 老鳥票(指 2018 年後參加過 91 的公開培訓課): NT$ 34,500
定價標準緣由,請見課程介紹。
【#報名方式】
想要報名的同學,請將下列的報名資訊 joeychen@odd-e.com。確認報名成功之後,我會回信給您告知出貨序號,以及對應的匯款資訊。
> 信件標題:Classic TDD by Example: {name} 報名 {程式語言版本}
- 真實姓名
- 聯絡電話
- email (相關權限與未來老鳥票依據)
- 遮罩過的身份證照片(身份證字號、生日、換發日請都遮罩)
- 與真實姓名能對得起來的名片、帳單或信件照片(用來雙重驗證真實姓名的一致性,以免有人用他人身份證或網路上的身份證照片)
- 程式語言
- 推薦人的出貨序號與 email (如果票種選擇 【過來人推薦票】,請附上此資訊)
【#授權條款】
購買人付費之後,等同於已同意下列條款:
- 授權僅限本人觀看,不限制裝置,無限期,無限次觀看影片。不依賴於平台,將直接提供影片下載連結,所以請不用擔心在平台上下架的問題。
- 購買將採實名驗證,影片將壓上購買人相關個人資訊浮水印。影片、程式碼內容等,未經本人授權,不得於公開場所、平台觀看,不得擅自販售、分享、散佈、擷取圖片或影片片段侵害作者權益等行為。請購買人妥善保管影片,以保護雙方權益。
- 不論「有償或無償」,均不得已在未經同意的情況下將影片做公開分享、重製、散佈、改做
- 本於誠實信用原則,影片僅供個人學習使用,不得共用
- 若違反前述約定,則著作財產權人可以請求所受損害與所失利益
【#出貨清單與出貨狀態】
因每個人的影片都會有客製化的調整與浮水印資訊,故每天產能有限,目前一天可處理 4~8 張訂單。
所以列出對應的出貨清單與狀態,各位可以看到自己的出貨序號,以及目前處理到哪一張訂單了。
出貨清單:https://hackmd.io/@SYvyb1O4SLq8W6nvAQW5mw/ByVVUt86O
github 推薦 在 Inside 硬塞的網路趨勢觀察 Facebook 的精選貼文
這個新的 AI 程式碼編寫工具 Copilot,適用於 Python、JavaScript、TypeScript、Ruby 和 Go 程式語言,並會分析工程師寫過的程式碼來推薦、自動撰寫適合的內容。
#GitHub #微軟 #Copilot
github 推薦 在 在地上滾的工程師 Nic Youtube 的精選貼文
現在學習知識的渠道越來越多,無論對於零基礎或是有經驗的工程師,想要持續成長應該看書還是看影片來的更有效率呢?
主要會和你分享我過去從新手到資深的過程中,如何持續保持進步及學習的經驗
也許這個經驗可以幫助到你,也歡迎留言和我分享你的看法
相信彼此分享不同的學習見解,能讓對於想要更精進自己程式開發功力的人有很大的幫助
===章節===
00:00 哪一個有效律?
00:36 寫程式如同寫作
05:14 書是最便宜的資源
10:14 折扣碼操作示範
===蝦皮購書折扣碼===
折扣碼:FLAGNIC36
時間:2021-03-29 ~ 2021-06-29
折扣碼:FLAGNIC79
時間:2021-06-30 ~ 2021-09-30
折扣碼: FLAGNIC11
時間:2021-10-01~ 2021-12-31
===前陣子在看的推薦書單===
(零基礎)
- 白話演算法!培養程式設計的邏輯思考
- Python 刷提鍛鍊班
(中高階)
- 設計模式之禪(第2版)
- 無瑕的程式碼-整潔的軟體設計與架構篇
- 單元測試的藝術
- 演算法之美:隱藏在資料結構背後的原理(C++版)
- Kent Beck的實作模式
(Ruby)
- Writing Efficient Ruby Code
(成長思考)
- 圖解.實戰 麥肯錫式的思考框架:讓大腦置入邏輯,就能讓90%的困難都有解!
- 師父:那些我在課堂外學會的本事
- 高勝算決策:如何在面對決定時,降低失誤,每次出手成功率都比對手高?
- 窮查理的普通常識
- 懶人圖解簡報術:把複雜知識變成一看就秒懂的圖解懶人包
- 寫作,是最好的自我投資
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
🎬 觀看我的生活廢片頻道: https://bit.ly/2Ldfp1B
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
✉️ 合作邀約信箱: niclin0226@gmail.com
#寫程式 #前端 #後端
github 推薦 在 在地上滾的工程師 Nic Youtube 的最讚貼文
## 影片觀看說明
由於問題較多,大家的問題也可能是你的問題,建議可以先閱讀下方的「問題總匯」區,找到時間碼 Time code 之後跳轉到自己想聽的部分,會比較有效率哦
本影片 Q&A 留言是抓取
【2020 年度回顧! 成為 Team leader? 業外收入增加? 技術能力成長? (第一次蒐集 Q&A)】https://youtu.be/BGaDN9wxbKE
## 影片中提到的專案
簡單用 React 撰寫的留言爬取篩選功能,可以自己抓去玩
https://github.com/niclin/youtube-comment-filter
## 問題總匯
00:00 開場
01:26 QA-1 - 林天寸
一直很喜歡妳的頻道,不單單是因為工程師,當然也有部分原因是自己也是走工程師這條路的。
前一年2020年開始,其實是我剛轉職工程師的第一年,在滿多地方都遇到不小的問題,在troubleshooting上面也是有許多瓶頸的。
後來除了白天上班,下班看書跟休息,偶然間看到你的影片[工程師如何自我進修],才開始慢慢用計畫的方式取代橫衝猛幹。
不得不說,規劃時間真的是比起技術性的功力還更有成效。因為它讓你適時的放鬆跟加強,然後在工作上面才更有長進,雖然很幹話,但我2020的下半年是這樣做的。
目前在準備考取網路管理的證照CCNA,計畫是走network這一塊,還有很多要磨練的。希望也能多看你產出跟network的影片,這是私心話啦,哈哈。
02:57 QA-2 - 仔仔
1.學程式會建議從前端或是後端哪個開始學會比較好?
2.一開始投履歷如何判斷一家公司是可以成長的,而不是進去3,5年後還是那個跟剛進去程度相差不遠的自己差不多
3.跟程式相關的產業有很多(像是製造業到博弈),可以請Nic分析一下各產業的狀況嗎?以及進去各產業前須要具備哪些程式語言或能力?
4.投履歷時看到一些公司列出所需程式語言和工具一大堆,是不是代表你沒完全具備就不要投履歷了,還是可以請Nic給個意見哪些部分還是可以投看看
5.都說工程師又宅又不會說話,為什麼Nic可以交到女朋友?
10:40 QA-3 - ANDREW NG KAR EARN
如果当写编程语言遇到瓶颈,有什么方法可以有效地避免自己陷入钻牛角尖的情况?
11:46 QA-4 - JS Lin
如果NIC現在選擇能馬上精通一項語言會是哪個?會想用來做什麼PJ?
13:13 QA-5 - Rick0
成為 team leader 後無法直接在技術上有更深入的研究和突破,這樣的變化是否值得?
是否會擔心這樣在技術上跟不上其他人,甚至被下屬看輕呢?
14:39 QA-6 - Henry蔡
因為最近是寒假期間,
我開始考慮下學期的修課,
想請教nic大大,
應該在有什麼樣的基礎上,
開始學design patterns?
我目前是碩士生,
大學非資工本科,
學過Python,
也跟過一些網路影片實作過Flask+PostgreSQL,
大學學過資料結構演算法,
但不到得心應手的程度...
16:07 QA-7 - 黃柏瑋
如何同時Handle好好幾件事
我怎麼覺得上班,然後下班假日寫寫side project後就沒啥時間了🤔🤔🤔
17:24 QA-8 - 乾太
我想問一下這年頭轉行斜槓 VTuber 還有沒有搞頭A?
18:10 QA-9 - uuu06222
之前開始關注你有知道你有面試過人的經驗, 想問一下站在面試官的角度...
面試官會不會比較注重作品需要呈現那些東西, 或是有沒有什麼禁忌是不能碰的嗎?
20:07 QA-10 - Joery Lin
想請教您對於對於給你很多成長和照顧的公司,倘若您有一個更好的機會,無論薪水或未知挑戰都大於現在公司。
您將如何做選擇,或許現在公司會給你加薪留下你。
因為自己曾放棄了許多機會
21:37 QA-11 - YangTing Zheng
Q1: 想問通常一個產品開發的週期都多長呢?負責維運和開發的工作內容是否會差很多?
Q2: 想請您簡單介紹一下資工系學生的出路/工作內容?(如PM.SA.DBA.PG.RD.MIS…或是還有其他的?)
24:16 QA-12 - RTB
Hello World
24:18 QA-13 - Barry
目前是公司MIS 很想轉職成後端工程師,但在面試上面都都時常失敗
常常在問技術關卡時就被問倒了,總覺得 要準備的東西非常的龐大
毫無準備的頭緒,總覺得一直寫side project也不是辦法
26:49 QA-14 - 因地制夷
想請教Nic 有在做投資嗎? ex 股票 想聽一些投資心得
27:13 QA-15 - 比歐
想請教 Nic 大,
在之後的工程師生涯中之後有甚麼規劃或想法嗎?
例如:開發產品創業,或是開班授課、轉做顧問之類的。
28:14 QA-16 - yongming jia
请问新手如何学编程,学完去做什么?怎么自己创业?谢谢🙏
29:33 QA-17 - Minghao Chang
是否能請您推薦用來開發的筆電?(正好最近要汰換電腦),想從今年開始養成寫side project的習慣,謝謝。
30:31 QA-18 - Guan Jun Chen
想知道像Nic這麼厲害的工程師,年薪大概落在哪裡
30:46 QA-19 - Sheng Jiang
想請問Nic,如果非資工背景但是對寫程式有熱情,想轉職當軟體工程師,會建議如何起步?
補充:像是什麼樣的人適合自學,什麼樣的人適合去補習,或者補習跟自學的情況各有哪些優劣?
謝謝Nic
## 結尾
31:49 感想
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
🎬 觀看我的生活廢片頻道: https://bit.ly/2Ldfp1B
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
✉️ 合作邀約信箱: niclin0226@gmail.com
#QA #工程師 #在地上滾的工程師 #前端 #後端 #轉職
github 推薦 在 在地上滾的工程師 Nic Youtube 的最佳解答
對於設計模式的學習有多方派系持不同意見,但仔細去思考,會發現設計模式的存在是避免自己發明愚蠢的設計在已經常出現的問題上,在日新月異的科技進步下,隨著商業邏輯更加複雜,軟體工程師所遭遇到的問題也一次比一次還難
Design Pattern 的存在是幫助思考,避免不必要的協作災難,只要能懂得這點並融會貫通,職業生涯中有更多的時間去學習不同的思考方式、軟體架構以及團隊管理
成為真正的資深工程師道路上,Design Pattern 絕對是一門主修科目,你可以不完全使用,但卻不能不知道
以下是學習 Design Pattern 的推薦資源,其中包含筆記、書籍和程式碼範例
✅ 我的部落格筆記(Ruby) https://blog.niclin.tw/2018/11/18/%E7%89%A9%E4%BB%B6%E5%B0%8E%E5%90%91%E5%9F%BA%E6%9C%AC%E5%8E%9F%E5%89%87-solid-ruby-sample/
✅ 設計模式學習筆記 https://skyyen999.gitbooks.io/-study-design-pattern-in-java/content/
✅ 七天學會設計模式:設計模式也可以這樣學 https://www.books.com.tw/products/0010750585
✅ 大話設計模式 JAVA 版範例: https://github.com/skyyen999/bigTalkDesignPatternJava
章節:
00:00 算我拜託你了
01:00 什麼是 Design Pattern
02:25 學習 Design Pattern 的好處
04:43 實際應用與學習方式
07:34 導入工作
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#designpattern #前端 #後端