出品丨docker公司(id:docker-cn)
編譯丨小東
每週一、三、五,與您不見不散!
您獲悉了乙個很棒的新流程或是新工具,知道它可以幫您直擊痛點,而且它確實可以解決某種需求。如果可以恰當的推出它,可能會改變遊戲規則。您通過自己的努力完成了調研,並親自測試了它,執行了乙個簡單的 poc (概念驗證)並解決了相關問題,您覺得現在是時候進行廣泛的推廣並擴充套件到全公司。當您發出通知告訴大家這個新流程或是新工具即將上線使用時,幾乎沒有人使用它們。究其原因是因為團隊不確定或對邁出第一步感到焦慮。這種現象就是我所說的「接受焦慮」,這裡有一些技巧幫助我成功地將容器即服務(container-as-a-service, caas)平台引入到企業規模的公司。
自己想出的點子,一定會認為它是最棒的。但僅僅因為某件事對您來說很重要,並不能保證您的解決方案會轉化為其他人的解決方案。我們要遵循互惠原則 —— 當有人為我們做了某件事,我們天生就會被迫為他們做一些事情作為回報。
第乙個建議:問問客戶:「您想做什麼?」
如果您的客戶能夠明確哪個工具和策略能夠實現他們的願景,那麼他們就不會與您交談了。如果問題是「您需要什麼?答案可能是「我需要「x」工具的設定與「y」的配置,就像我在「z」的 github 帖子中看到的那樣。但是,如果問題是「您想做什麼?」,那麼您將更好地了解客戶的目標以及了解如何調整您的解決方案來實現客戶的目標。
當向我們的開發團隊提出「您想做什麼?」這個問題時,答案是他們希望能夠更快地建立原型、更好地控制自己的基礎架構並且使用自動化測試(ci / cd)進行**推送。
在此之後,我們的團隊使用了容器化解決方案,擁有了幾乎完全自主的環境,並能夠充分利用全自動的 ci / cd 管道。現在,不是我們的團隊試圖將我們的解決方案推廣給其他的開發團隊,而是其他的開發團隊向我們詢問,他們需要做些什麼才能加入並使用這個系統。結果是,不僅其他的開發團隊被說服使用我們的策略,他們還開始幫助我們開發自動化。這種轉變是因為我們一開始就詢問如何幫助他們解決目標。
當我們第一次開始研究容器時,說我們什麼都不知道並不誇張。容器是新的熱門,docker 是可以讓我們所有的 devops 夢想成真的黑魔法。我學習了所有關於集群架構、etcd、rethink 和 raft 的知識,但建立第乙個 dockerfile 可能還需要幾個月的時間。這是為什麼呢?因為我讀過的有關容器的所有內容都告訴我他們將會改變遊戲規則,我很害怕學習 dockerfile 「語言」 需要花費很多時間(想想 aws cloudformation),以至於我沒時間關注制定整體的 caas 戰略計畫。最後我請了一位同事向我展示他們編寫的 dockerfile,並向我介紹語法(再次考慮 aws cloudformation),這是他們向我展示的dockerfile:
我的天!dockerfile 只需 3 行**可以支援乙個 web 伺服器。突然之間,我確信為之努力的戰鬥已經勝利了。
第二個建議:與他們一同邁出第一步
不要寄希望於一兩封郵件就可以讓大家相互理解,不要等待團隊從零開始起步。相反,花時間舉辦一場研討會或一對一坐下來向他們展示如何入門,實際上比他們想象的要簡單得多。通過花費30分鐘建立第乙個 dockerfile 檔案開始,開發團隊就會有信心使用容器。在我們採用這種研討會的方法之前,開發團隊可能需要數週或數月才能開始嘗試建立他們的第乙個容器。當開發團隊在 docker 中執行了第乙個 prod 例項之後,他們開始對使用容器和 ci/cd 產生了濃厚的興趣。而且,一旦開發團隊將其第乙個應用程式容器化後,他們就能夠在短短幾天內教授其他團隊成員如何遷移新的應用程式。
據估計,在14世紀,黑死病已造成歐洲30-60%的人口死亡。總的來說,瘟疫可能使世界人口從估計的4.5億減少到3.5 - 3.75億(維基百科)。在21世紀,「病毒式傳播」在傳播能力上與黑死病類似。同樣,我們的推廣計畫是在公司內部進行有機傳播,直到專案像病毒一樣擴散開來。
最後乙個建議:有節奏的增長,在自己適合的深度游泳
由於沒有使用docker、swarm 或 ci / cd 的經驗,所以我們採取小步快跑的迭代步驟而不是一開始就排列出完美的步驟。我們從乙個小型 poc 小組開始,我們知道他們對新技術充滿熱情。我們從處於新開發階段而非關鍵業務的應用程式開始。在將這些應用程式投入生產之後,我們引入了另乙個試驗小組來測試我們第一波建立所使用的流程和自動化。從這些團隊的探索中,我們建立了示例和參考架構,以培訓新團隊使用 docker。現在我們有大約50個開發團隊和400多個應用程式都在我們的 caas 平台中使用 ci / cd。在這些團隊中,85%的團隊能夠在不需要我們團隊幫助的情況下將額外的應用程式帶到平台上生產,並且能夠教授他們周圍的團隊使用 ci/cd 在 docker 中設定他們的應用程式。在6個月的 poc 中,我們有了兩個開發團隊,現在 docker 已經成為我們公司首選的執行時環境,每週都會有有1到3個新團隊加入。進入 2019 年,我們準備應對將數千個舊的應用程式遷移到 docker 的挑戰,我們相信這在很大程度上是因為這種分階段的方法,使得我們能夠保持勢頭,同時永遠不會讓專案脫離正軌。
如果您已經實現了您的願景,那麼我希望您能從這些建議中找到一些有用的東西。如果您是 docker 新手,在發現階段或等待決定 docker 是否適合您的解決方案時,我能給您的最好建議是勇敢的邁出第一步!
邁出第一步
我,乙個程式小白,不是為了熱愛而走上程式設計之路。就這樣稀里糊塗的度過了兩年,期間,自己有為找不出那乙個個errors煩躁,也有為成功編譯後而獲得正確結果的那種喜悅。如今是真的想去改變現狀,想去提公升自己,想不負剩餘的兩年時光,不負你,不負我!對於今後的學習之路的想法,首先基礎的語言學習,其次資料結...
邁出第一步erlang
至今我接觸erlang算有9個月了!早就想寫一下 胡言亂語 呵呵,有時候是沒心情,有時候是沒時間,拖拖拉拉的,年輕人總是這樣缺乏成年人的穩重與踏實!專案中遇到的問題很少總結,以至於浪費很多時間做同樣的事情!我很清楚我要的將來,所以我必須提前成熟!這是我的第乙個部落格,這是我的部落格第一篇文章,這篇沒...
程式設計邁出了第一步
剛剛翻開自己的筆記本,發現距離第乙個任務 程式設計相關的 的時間乙個整整乙個月了,乙個月的時間裡,我從程式小白漸漸入門了,之前一直覺得程式設計很難,現在看來,其實還可以,只要耐心去學,就有一定的收穫。進步或許不如別人的百分之一,但喜悅只有自己懂 雖然現在編複雜的 還不行,遇到程式的問題一些問題還不會...