程序員與產(chǎn)品經(jīng)理打架,早已稱(chēng)不上互聯(lián)網(wǎng)圈的新聞黍特。懷揣改變世界的遠(yuǎn)大抱負(fù)蛙讥,卻要每天和多變刁鉆的需求戰(zhàn)斗,這是許多程序員的“生存困境”灭衷。那么除了板磚和拼死不從次慢,程序員就沒(méi)有別的對(duì)付變態(tài)需求的辦法嗎?
持續(xù)更新是產(chǎn)品常態(tài)
不否認(rèn)存在過(guò)于異想天開(kāi)或需求不清的產(chǎn)品經(jīng)理,諸如要求“App隨手機(jī)殼變色”翔曲,此時(shí)程序員只想掄起板磚迫像,拍死產(chǎn)品經(jīng)理。然而在這個(gè)互聯(lián)網(wǎng)成為基礎(chǔ)設(shè)施的數(shù)字經(jīng)濟(jì)時(shí)代部默,需求的變化是常態(tài)侵蒙,不論哪個(gè)行業(yè),不管是為滿足客戶(hù)或是出于競(jìng)爭(zhēng)壓力傅蹂,都會(huì)有需求的變動(dòng)挑戰(zhàn)程序纷闺。很多時(shí)候,程序員即便把產(chǎn)品經(jīng)理打到生活不能自理份蝴,也無(wú)助于解決企業(yè)發(fā)展的問(wèn)題犁功。
根據(jù)IDC《數(shù)字經(jīng)濟(jì)創(chuàng)新引領(lǐng)——2018中國(guó)企業(yè)數(shù)字化發(fā)展報(bào)告》,數(shù)字化創(chuàng)新需要打造的多項(xiàng)能力與變化有關(guān)婚夫,譬如:
敏捷能力:企業(yè)在不斷變化浸卦、不可預(yù)測(cè)的經(jīng)營(yíng)環(huán)境中快速反應(yīng)并給予恰當(dāng)應(yīng)對(duì)措施的能力。
數(shù)字化產(chǎn)品與服務(wù):通過(guò)不斷迭代案糙、實(shí)驗(yàn)和測(cè)試的方式開(kāi)發(fā)新產(chǎn)品與服務(wù)限嫌,并實(shí)現(xiàn)頻繁乃至連續(xù)更新,不斷提供客戶(hù)價(jià)值的能力时捌。
鑒于當(dāng)前市場(chǎng)競(jìng)爭(zhēng)的激烈程度怒医,我們甚至可以推論,企業(yè)所允許的迭代頻率奢讨,決定了這個(gè)企業(yè)成長(zhǎng)的下限稚叹。在這種情況下,程序員的工作變得更繁忙拿诸、更瑣碎也是必然扒袖。
微服務(wù)的曙光與陰影
解決這種矛盾,必須把目光投向一直在迭代中發(fā)展的互聯(lián)網(wǎng)公司亩码,新的答案將是“微服務(wù)架構(gòu)”季率。以不追逐風(fēng)口穩(wěn)健發(fā)展的網(wǎng)易為例,網(wǎng)易考拉采用微服務(wù)架構(gòu)之后蟀伸,每天的發(fā)布次數(shù)從2次做到了1000次蚀同,500倍的提升缅刽,可謂從步槍到大炮。
所謂微服務(wù)架構(gòu)蠢络,就是將應(yīng)用服務(wù)按功能拆分成一組相互協(xié)作的服務(wù)衰猛,每個(gè)服務(wù)負(fù)責(zé)一組特定、相關(guān)的功能刹孔,可以獨(dú)立開(kāi)發(fā)啡省、部署。用網(wǎng)易副總裁髓霞、網(wǎng)易杭州研究院執(zhí)行院長(zhǎng)汪源的類(lèi)比解釋?zhuān)褪前严到y(tǒng)劃分成多個(gè)非常小的模塊卦睹,而且這些模塊都可以通過(guò)一套標(biāo)準(zhǔn)的服務(wù)接口進(jìn)行溝通,從而持續(xù)發(fā)展——類(lèi)似人類(lèi)社會(huì)方库,基于人這個(gè)最小單位结序,設(shè)計(jì)了標(biāo)準(zhǔn)的語(yǔ)言、文字纵潦、貨幣徐鹤、法律,發(fā)展形成了發(fā)達(dá)的文明邀层。
微服務(wù)對(duì)整體問(wèn)題的分解返敬,為迭代帶來(lái)了好處——局部的技術(shù)選擇、變更不會(huì)影響整個(gè)系統(tǒng)寥院,而且不同模塊的開(kāi)發(fā)可以同時(shí)進(jìn)行劲赠。然而,整個(gè)系統(tǒng)的完善程度秸谢,也受限于微服務(wù)“分”與“合”的各項(xiàng)標(biāo)準(zhǔn)凛澎,這正如文字、法律等標(biāo)準(zhǔn)的成熟度決定一個(gè)文明的高度估蹄。
微服務(wù)的“標(biāo)準(zhǔn)”至少需要解決如下問(wèn)題:微服務(wù)之間的調(diào)用和通信预厌、服務(wù)之間的發(fā)現(xiàn)、服務(wù)調(diào)用鏈的跟蹤和質(zhì)量問(wèn)題元媚、微服務(wù)的測(cè)試因依賴(lài)關(guān)系變得復(fù)雜、跨服務(wù)的更改苗沧。
當(dāng)然刊棕,還有分區(qū)的數(shù)據(jù)庫(kù)體系和分布式事務(wù)這樣的問(wèn)題。
立體化的微服務(wù)方案緩解矛盾
解決上述問(wèn)題的待逞,有不少微服務(wù)框架甥角。在微服務(wù)技術(shù)迅速普及的今天,Spring Cloud识樱、Dubbo等開(kāi)源微服務(wù)開(kāi)發(fā)框架在某種程度上成為了微服務(wù)的代名詞嗤无。知乎上有不少相關(guān)的討論震束。
微服務(wù)框架并不能解決所有的問(wèn)題。比如Dubbo在服務(wù)治理方面很優(yōu)秀当犯,但功能不如Spring Cloud完善;Spring Cloud雖是一個(gè)體系化的微服務(wù)解決方案垢村,卻也沒(méi)有覆蓋整個(gè)應(yīng)用生命周期,比如對(duì)微服務(wù)測(cè)試就鞭長(zhǎng)莫及嚎卫。
網(wǎng)易考拉使用的工具嘉栓,是網(wǎng)易云在2018網(wǎng)易云創(chuàng)大會(huì)上發(fā)布的“輕舟”微服務(wù)解決方案。汪源表示拓诸,輕舟微服務(wù)基于微服務(wù)這個(gè)基本單元侵佃,構(gòu)建了多維度完整的解決方案,讓架構(gòu)可以像人類(lèi)社會(huì)一樣持續(xù)發(fā)展奠支。
根據(jù)網(wǎng)易云官方資料顯示馋辈,輕舟微服務(wù)包括微服務(wù)框架、API網(wǎng)關(guān)倍谜、DevOps迈螟、容器服務(wù)、AIOps和測(cè)試平臺(tái)等模塊枢劝,是一套復(fù)雜的解決方案井联,但是對(duì)用戶(hù)來(lái)說(shuō)是功能完整、易接入您旁、易運(yùn)維——因?yàn)樵撈脚_(tái)兼容開(kāi)源微服務(wù)框架烙常,并整合了網(wǎng)易微服務(wù)架構(gòu)實(shí)踐的各種工具,借助智能化鹤盒、自動(dòng)化的能力蚕脏,能夠快速分析整個(gè)服務(wù)鏈路,技術(shù)發(fā)現(xiàn)和解決問(wèn)題侦锯,讓微服務(wù)順暢運(yùn)行驼鞭。
相信這個(gè)立體化的微服務(wù)解決方案,能夠啟發(fā)企業(yè)建設(shè)新的開(kāi)發(fā)流程尺碰,使企業(yè)的數(shù)字化產(chǎn)品與服務(wù)能夠更快挣棕、更好地迭代,程序員也有更多的時(shí)間去和產(chǎn)品經(jīng)理進(jìn)行有效的溝通亲桥,讓雙方的矛盾得以緩和洛心,而企業(yè)業(yè)務(wù)目標(biāo)的完成也不會(huì)受到影響。