如何避免程序員和產品經理打架?「微服務」或將成終極解決方案

程序員與產品經理打架,早已稱不上互聯網圈的新聞。懷揣改變世界的遠大抱負,卻要天天和多變刁鑽的需求戰鬥,這是許多程序員的「生存困境」。那麼除了板磚和拼死不從,程序員就沒有別的對付變態需求的辦法嗎?程序員

圖片描述

持續更新是產品常態數據庫

不否定存在過於異想天開或需求不清的產品經理,諸如要求「App隨手機殼變色」,此時程序員只想掄起板磚,拍死產品經理。然而在這個互聯網成爲基礎設施的數字經濟時代,需求的變化是常態,不論哪一個行業,不論是爲知足客戶或是出於競爭壓力,都會有需求的變更挑戰程序。不少時候,程序員即使把產品經理打到生活不能自理,也無助於解決企業發展的問題。架構

根據IDC《數字經濟創新引領——2018中國企業數字化發展報告》,數字化創新須要打造的多項能力與變化有關,譬如:框架

敏捷能力:企業在不斷變化、不可預測的經營環境中快速反應並給予恰當應對措施的能力。運維

數字化產品與服務:經過不斷迭代、實驗和測試的方式開發新產品與服務,並實現頻繁乃至連續更新,不斷提供客戶價值的能力。分佈式

鑑於當前市場競爭的激烈程度,咱們甚至能夠推論,企業所容許的迭代頻率,決定了這個企業成長的下限。在這種狀況下,程序員的工做變得更繁忙、更瑣碎也是必然。微服務

微服務的曙光與陰影工具

解決這種矛盾,必須把目光投向一直在迭代中發展的互聯網公司,新的答案將是「微服務架構」。以不追逐風口穩健發展的網易爲例,網易考拉採用微服務架構以後,天天的發佈次數從2次作到了1000次,500倍的提高,可謂從步槍到大炮。測試

所謂微服務架構,就是將應用服務按功能拆分紅一組相互協做的服務,每一個服務負責一組特定、相關的功能,能夠獨立開發、部署。用網易副總裁、網易杭州研究院執行院長汪源的類比解釋,就是把系統劃分紅多個很是小的模塊,並且這些模塊均可以經過一套標準的服務接口進行溝通,從而持續發展——相似人類社會,基於人這個最小單位,設計了標準的語言、文字、貨幣、法律,發展造成了發達的文明。spa

微服務對總體問題的分解,爲迭代帶來了好處——局部的技術選擇、變動不會影響整個系統,並且不一樣模塊的開發能夠同時進行。然而,整個系統的完善程度,也受限於微服務「分」與「合」的各項標準,這正如文字、法律等標準的成熟度決定一個文明的高度。

微服務的「標準」至少須要解決以下問題:微服務之間的調用和通訊、服務之間的發現、服務調用鏈的跟蹤和質量問題、微服務的測試因依賴關係變得複雜、跨服務的更改。

固然,還有分區的數據庫體系和分佈式事務這樣的問題。

立體化的微服務方案緩解矛盾

解決上述問題的,有很多微服務框架。在微服務技術迅速普及的今天,Spring Cloud、Dubbo等開源微服務開發框架在某種程度上成爲了微服務的代名詞。知乎上有很多相關的討論。

圖片描述

微服務框架並不能解決全部的問題。好比Dubbo在服務治理方面很優秀,但功能不如Spring Cloud完善;Spring Cloud雖是一個體系化的微服務解決方案,卻也沒有覆蓋整個應用生命週期,好比對微服務測試就鞭長莫及。

網易考拉使用的工具,是網易雲在2018網易雲創大會上發佈的「輕舟」微服務解決方案。汪源表示,輕舟微服務基於微服務這個基本單元,構建了多維度完整的解決方案,讓架構能夠像人類社會同樣持續發展。

根據網易雲官方資料顯示,輕舟微服務包括微服務框架、API網關、DevOps、容器服務、AIOps和測試平臺等模塊,是一套複雜的解決方案,可是對用戶來講是功能完整、易接入、易運維——由於該平臺兼容開源微服務框架,並整合了網易微服務架構實踐的各類工具,藉助智能化、自動化的能力,可以快速分析整個服務鏈路,技術發現和解決問題,讓微服務順暢運行。

圖片描述

相信這個立體化的微服務解決方案,可以啓發企業建設新的開發流程,使企業的數字化產品與服務可以更快、更好地迭代,程序員也有更多的時間去和產品經理進行有效的溝通,讓雙方的矛盾得以緩和,而企業業務目標的完成也不會受到影響。

相關文章
相關標籤/搜索