摘要:引言全棧工程師本文稱全棧開發者和無疑是近期最火的詞匯,無論是國外還是國內。盡管蘋果的還沒有廣泛使用,但他們正在尋找合適的工具,雇傭優秀的人才,來完善日常部署。
引言
全棧工程師(本文稱「全棧」開發者)和 DevOps 無疑是近期最火的詞匯,無論是國外還是國內。而且火爆程度遠超于想象。
全棧和 DevOps,究竟是我們的新職業方向,還是僅僅創業公司老板的心頭所愛?且聽本文理性分享。
Anyway,文末附贈 9 家把 DevOps 搞得風生水起的國外公司及更多信息。本文系 OneAPM 聯合高效運維編譯整理。
正文最近有兩個特別討厭的趨勢:DevOps 和「全棧」開發者的思想。
時下,DevOps 已經非常流行,以至于討厭它就像討厭 x86 架構或單內核一樣,那么究竟是什么造成了這樣的結果?讓我如此痛苦的根本原因,又是什么?
事實上,并不是每家公司都是創業公司,但卻又要去表現得像創業公司一樣。
「DevOps」旨在表示密切合作,讓原本純粹的開發、運營和 QA 角色之間協作運轉。
因為軟件發布的頻率越來越高,傳統的「瀑布型」開發—測試—發布周期已經不能滿足業務的需求,后果就是,開發者還必須為測試和發布的環境質量負責。
隨著「開發者」(這個詞是否恰當仍存爭議)的責任范圍不斷擴大的同時,綜合的全能型開發者需求也被觸發——「全棧」開發者。
這樣一來,開發者要既能做開發,還需要兼任 QA 團隊成員、業務分析師、系統管理員和 DBA 的工作。
那么,DevOps 和「全棧」開發者,這些概念是從哪里冒出來的呢?
當然是來自創業公司(和敏捷方法):
不容否認的是:初創企業就像一種「蟄伏」的野獸,在最初的幾年往往默默無名,而且過的也非常艱辛(人員配備不齊,所以急需 DevOps 和「全棧」開發者)。
但不幸的是,當下 DevOps 這個潮流正在迫使開發者在一個成熟的公司中繼續扮演這些角色,迫使開發者擔任由于基礎資源缺乏而不得不為的「開發者」角色。
身兼數職
想象你在一個只有七個人組成開發團隊的創業公司。花一年的時間去開發一個 Web 應用,各個項目都進展順利,但是這個過程絕對讓你混亂——如果有一個特別嚴重的問題出現,似乎需要深度的數據庫知識。
這種情形下說:「這不是我的專長」這樣的話,或者將它交給 DBA 團隊進行調查顯然是不可行的。由于資源限制,你不得不承擔 DBA 的角色,自己去解決問題。
現在,擴展這個場景到之前所列的角色下。在任何時候,開發人員在一個初創企業可能會兼任開發者、QA 測試員、部署/業務分析師、系統管理員或 DBA。
這完全由創業公司的性質所決定,而有些人在這樣的環境下可以飛速成長。但一路走來,我們不斷欺騙自己,因為在任何時候,開發者都不得不身兼多職,甚至有時候要承擔所有角色。
即使這樣的人真的存在,「全棧」開發者仍然不會以正常的方式去工作。創業公司并非只是想著開發者暫時短期內擔任某個角色,然后過渡到下一個角色;相反,會要求你一直擔任所有的角色。
這真的很糟糕,這意味著,可能需要最優秀的開發者。
也談等級
優秀的開發者都是聰明人,這么說可能會被很多人吐槽,然而在一個機構內,技術人員卻是存在多個不同的等級。開發者最高,接著是系統管理員和 DBA。「運營」人員、發布管理員等角色處于最底層。
為什么這樣排序呢?
因為,若有必要,每個角色都能夠承擔低于這一層次所能做的所有工作。
這一點在創業公司已經得到證實。在需要的情況下,優秀的開發者可以轉成合格的 DBA、不錯的測試員、「部署開發者」以及各種所需的角色。
他們的工作需要他們盡可能的了解底層角色的工作范圍。但這存在著一個大的隱患——反之則不成立。
在緊要關頭,測試員卻干不了開發者的活,也不能成為構建開發者做 DBA 的工作。他們從未獲得這些角色的專業知識。
舉個例子說得更清楚吧:
比如一名牙醫,他開了家私人診所,然后聘請了秘書、衛生員和牙醫助理等很多人員。一般情況下,秘書可以幫忙做預約,衛生員可以幫助消毒,牙醫助理也可以幫忙做一些基礎的工作,但是如果需要給牙齒鉆孔或者進行根部的治療時,就必須需要牙醫親自「出馬」,畢竟沒有專業的知識是絕對搞不定的,如果沒有專業的「牙醫」,即使是全部的“雇員”加起來,也搞不定這件事。
無論樂意與否,每個組織都有層次結構,人們按不同技能和能力水平分類。所以,當你一昧要求開發者擔任其他角色時,最后的結果可能是:沒人能擔當得起開發者的角色。
如此運轉會損害所有人員,除了雇主。這場實驗本意是提高軟件質量,卻無意之間成了鬧劇,讓最有才華的員工過度工作(做了很多無用功),同時低層次的職位沒有存在感。
而這正是問題的癥結所在。所有最初由不同層次的人所擔任的崗位,都是由「全棧」開發者進行的。大型公司非常喜歡這一點,因為這意味著他們可以雇用更少的人來做同樣的工作。
盡管在這個過程中,實際開發成為開發者的工作中很小的一部分。這就是為什么我們看到這么多的開發者無法通過 FizzBuzz:
他們幾乎沒寫任何代碼。這個問題非常普遍,你能想象一下面試一位廚師,問他每天有多少時間真的花在烹飪上?
博而不精
如果你是一個中等規模軟件的開發者,你應該需要一個適當的部署系統。考考你,請馬上說出下述這些系統各自的優缺點:
Puppet、Chef、Salt、Ansible、 Vagrant 和 Docker。現在開始實現你的部署解決方案吧!你是否注意到以上系統有一項是完全無關的嗎?
專業化是有原因的:人們只能專注于有限的知識。任務切換無疑是昂貴的。強迫開發者承擔其他角色意味著:
無法專注開發
需要補充龐大的知識領域
不堪重負
更重要的是,通過迫使開發者承擔「全棧」責任,他們會支付其遠遠高于完成大部分工作的市場平均價格。
如果開發人員每年掙 100K ,你可以支付 4 個開發者每年 100K 來做一兩個人的任務,50% 時間完全做開發,剩下 50% 的時間做發布管理。或者,只是雇一個發布經理,花大約 75K,但兩個開發者全職開發。
注意一下兼職發布管理的開發者在無需發布時浪費了很多時間。
不要再扼殺開發者!
這樣做的效果是摧毀「開發者」這個角色,以一種「全能技術工人」來替代。
就筆者所知,每個進入編程領域的開發者,都是因為他們實際上喜歡開發(或者一度喜歡)。當你強迫最聰明的人承擔額外角色時,其實傷害了所有人。
并非所有公司都是創業公司。創業公司不得不讓開發者身兼多職,也有其必要性。但是請根據實際情況進行判斷,你是否需要 DevOps。
推薦9個 DevOps 實踐公司你可能知道 Netflix 和 Etsy 在 DevOps 領域的突出表現,但是下面的9個 DevOps 實踐公司卻可能讓你感到不可思議,我們一起來盤點下。
1. Starbucks
星巴克在2015年4月的 #DevOpsTogether 開始了其 DevOps 計劃。盡管「在一起」已經是個陳詞濫調,但是不用擔心。從Medium.com這篇文章了解到,星巴克 CEO 非常支持 DevOps 理念,并且一直努力讓公司保持技術上的創新。
2. Ancestry.com
Ancestry.com 是 DevOps 運動的早期采用者,是 Continuous Delivery 和 DevOps 運動的先鋒。
早在2013年,這些流行的方法就對發布次數和公司滿意度上有了顯著提升。想了解更多關于他們的過程、遷移和 DevOps 文化,不妨查看一下他們的系列文章。
3. Ashley Madison
沒人會覺得這是一個 DevSecOps 博客,盡管其數據庫被黑已經成為 DevOps 安全的反面教材。冒著風險開始一個更大的話題,這個著名公司的失敗有助于闡明事實,也許 DevOps 并不總意味著更快和更經常。這里有一些不錯的DevOps安全文章,僅供參考。
4. Etsy
Etsy 也在實踐 DevOps。Etsy 不僅是一個超級酷的公司,專注于節日禮物,他們同樣也在努力的 DevOps。
2008年,他們看到了 Flickr 每天發布10次部署,2009年,他們建立自己的工具來更好更快地發布代碼,而且不僅由開發團隊。「Etsy 如何應用 DevOps」絕對值得一讀,或者再看看他們的代碼。
5. U.S. Customs and Border Protection
這個肯定是你想不到的!在司法部、海關、邊境保護署和美聯儲,美國政府異常活躍于采用 DevOps。
6. LinkedIn
LinkedIn 成為一個大型的 DevOps 用戶不足為奇。早在2009年,LinkedIn 團隊就開始使用自動化部署工具,用于管理在1000+節點環境下發布上千個應用/服務的復雜性。現在他們正在培養世界級的 DevOps 社區。看看這篇關于他們使用第一個工具的文章。
7. NASA
不管你是否知道 NASA 正在使用 DevOps,這都非常振奮人心。我們最愛的方法可能正幫助人類登上火星,或許是有點夸張……或者也名副其實。無論哪種方式,NASA 一直在思考軟件部署,自從2004年首先采用了 JIRA 后,他們已經抵達 DevOps 星球。
8. Apple
不要讓蘋果巨大的 IOS 更新,以及它重要的九月發布季,讓你誤以為他們放棄了技術創新的風口浪尖。盡管蘋果的 DevOps 還沒有廣泛使用,但他們正在尋找合適的工具,雇傭優秀的人才,來完善日常部署。
9. Airbnb
類似 Netflix 和 Uber,Airbnb 被認為是一個「第三平臺公司」,因為他們利用社交、移動、分析和云。作為一個第三平臺公司,DevOps 需求不可避免,這便于迅速發布多個小型部署。
如果你有興趣學習更多關于 Airbnb 的數據和基礎設施,可以參考這個slides。
然而,是否每個公司都需要緊跟這個潮流,Jeff Knupp 在 「How ‘DevOps’ is Killing the Developer 」一文中發表了他的觀點。
OneAPM 是應用性能管理領域的新興領軍企業,能幫助運維人員進行故障預警和定位,減少業務系統維護的工作量,同時還能提供可追溯的性能數據,量化運維部門的業務價值。想告別加班熬夜,歡迎免費注冊使用!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/7921.html
摘要:還以為我是一個失業青年,后來想想,后已經是中年了。對于各路框架,還是根據業務需求去學習比較好,相信自己的學習能力。我還是先鞏固一下數據結構和算法吧。數據結構與算法的描述針對自己目前所處的環境,就用來描述常用的數據結構跟常用的算法。 失業中年 前段時間,帶我出道的CTO要帶我去創業,然后,之前談好的技術方案在我過去之后都沒能開始,怪可惜的,甚至,他自己都背鍋離職了。再后來,股東突然撤資了...
摘要:小企業遇上了大平臺即便是在人才濟濟的眾多華為云當中,劉源仍然相當搶眼,原因之一就是他看上去實在太年輕了。而在本次華為云開放日活動上,華為云對開發者的重視更是得到了進一步的體現。華為云MVP的使命在華為云攜手眾多合作伙伴打造的開發者生態中,活躍著這樣一群技術大咖的身影。這群技術大咖當中,既有優先體驗產品權益、反饋產品優化建議的產品體驗官;也有在公開活動中,分享技術經驗和實戰經驗的技術布道者;還...
摘要:全棧框架基本提供了制作一個移動產品所有的框架和工具,從標準的,,應用監控,。指的是的名,一個對應的默認情況下會被復數化,比如的路徑是。再做個小廣告最近在做一個小班免費,專門教高中生技術,直到達成可以自行參加的程度。 showImg(http://segmentfault.com/img/bVdnvZ); StrongLoop是一個基于Nodejs的強大框架,幾乎包含了移動開發全棧所需...
摘要:對于企業而言,最大的作用就是提升效率,基本上適用于所有做研發的企業。滴滴這些年的業務飛速增長,成為國內第二個日訂單量超過千萬的公司,隨之而來的是系統屢次出現線上故障,穩定性建設成為滴滴支撐業務發展的重要保障。 最近幾年,DevOps 的發展非常迅速,如今在開發運維圈子里如果不懂DevOps 都不敢說自己是混這個圈子的人。國外有人專門針對 DevOps 做了一項調查,結果顯示在2016 ...
摘要:門票免費,成功邀請好友還可在現場領取為你準備的禮品數量有限,快來參加吧。通過百格成功邀請位小伙伴參會,贈送精美雨傘邀請位小伙伴參會,贈送青云背包邀請位好友,更有青云禮物大禮包。 4月19日我們誠邀您參加企業容器領先品牌 KubeSphere 容器平臺產品發布會,地址在北京北辰洲際酒店,看 KubeSphere 如何以更簡單的方式解決企業容器化中遇到的復雜多樣挑戰,體驗容器時代的 「大道...
閱讀 4020·2021-11-22 13:53
閱讀 3617·2021-11-19 11:29
閱讀 1265·2021-09-08 09:35
閱讀 3162·2020-12-03 17:26
閱讀 514·2019-08-29 16:06
閱讀 2106·2019-08-26 13:50
閱讀 1180·2019-08-23 18:32
閱讀 2153·2019-08-23 18:12