標籤:

如何搭建效能倍增的雲開發技術體系(下)

口述 | 曾滿平 北京積木雲信息技術有限公司聯合創始人

來源 | 以太創服A+社晚八點分享

下面我們將簡單介紹雲開發體系極限迭代的實施過程。雲開發體系這裡面涉及到整個軟體的開發過程,包括一個全面倍增,整個過程管理和自動化,包括一鍵伺服器的安裝,包括開發環境、項目的初始化,包括資料庫的在線設計,包括協議驅動、路由器驅動、模式驅動的軟體開發方式,包括核心的公共服務或者插件,時時的代碼提交、時時代碼不間斷的持續集成。

包括代碼自動的評審、互動的評審、跨網的結對評審,然後同樣開發工作的遠程跟蹤、報告、項目管理系統,時時障礙的及時發現和自動結對幫助系統時時代碼的自動化測試;包括一鍵的部署,乃至到蘋果商城我們都能通過非技術人員,可以一鍵部署到蘋果商城,傳統都是要找工程師打包,每一個都搞一兩個小時甚至更長時間;同樣包括全系統全日制的跟蹤,包括很多框架組建的一鍵替換等,也包括雲開發團隊的支持,雲團隊的支持,構成永不落幕的雲開發團隊,這些都是雲開發體系要涉及到的26個方面的問題和情況。這就是雲開發體系的一個迭代過程。

有關雲開發體系搭建過程的一些典型的階段和輸出的目標。一旦雲開發體系開始搭建就很容易首先實現軟體開發代碼的一種規範和安全。相當於代碼本身是可持續的,但其同樣也存在一些很多安全上的問題。但是在這個雲開發體系下,它就會逐步的規範和安全。

第二個方面是系統構建部署的過程不再以個人為主,而是成為自動構建、自動部署,而且中間有一系列自動化測試的各種關卡。使得它更加高可靠、高可用。

第三個方面下,不管是外面的團隊還是自己的團隊,都將逐步建立起這種產品、技術、品質之間的三權分立,三權互為協作的敏捷開發模型。

第四個方面,到第四個階段我們就能看到整個自動化的效能評估,效能的曲線自身也會做一些智能干預,然後我們自身也會提供一些專業服務的報告,提供一些專業的建議。

到了第五個階段就涉及到很多公司的核心競爭力,包括核心技術、各種高並發、大數據的壁壘將慢慢成長起來,這裡面也將包括其自成長的一些報告和機制。

最終第六個階段,在很多行業中,立足於行業的這種開放平台,比如說行業的開放平台、Saas服務平台等。這些東西的作用就是把自己行業的東西,自己在產品方面的積累變成一個行業的平台,從而可以往整個行業,通過技術化的方式進行輸出。目前我們雲開發體系在短短一年時間就已經有十幾家企業,大到創業企業都在使用,反映非常好。因為相當於他們找到了一個在雲上的專業技術合伙人,同樣它搭建出一個最專業的雲開發體系,能夠讓他們整個團隊或者是外部的團隊,或者是自己團隊,全面倍增他們的軟體開發效能,實現他們的目標。而且能夠持續不斷地推進他們的產品目標和他們創業基礎的、產品系統的完善、極限迭代。

這其中也有一些客戶的實踐報告,包括自動化介面文檔、雲開發效能周報、日工作狀況、項目當前報告、自動化數據字典、自動化測試驅動開發、品質跟蹤報告、雲任務分發、自動構建客戶端的工具等。

總而言之,如果要全面倍增我們軟體的開發效能,使得我們整個軟體團隊能做到超越產品和市場的變化,效能包括效率、效益和效果,克服在各個點上不如意的地方,我覺得都可以在這裡找到根本的解決方案。

問答:

Q:怎麼建立一個雲端系統,為企業主提供可視化的管理軟體,避免涉及到財務問題?

如何搭建一個雲端系統,首先要確定引入雲技術合伙人,然後就可以一鍵的部署這種雲開發的規範監管平台。之後它就會把我們的框架,各種流程導入其中,在導入其中的過程中自然而然的就實現所有管理環節的可視化、自動化報告、各種問題的優化和發現。

Q:初創團隊請不來技術牛人,如何提高開發質量?

初創團隊請不來技術牛人,這是必然的,即使是很強大的團隊到一定的時間依然會缺牛人,牛人因為技術精湛,所以稀缺。因此我們的概念就是雲技術合伙人,不管你想要多麼對口專業的人才,在理論上講,只要通過一種雲的方式去發揮這些人的核心能力,而這些能力恰恰能幫到你的這個點,而他不需要全職加入其中。

但是作為一個專業的技術合伙人,他若採取全職加入的方式,這個成本是非常高的。所以他必須通過雲開發體系實現他的核心價值的輸出,而你也只關注最適合你的核心價值的輸入,這就是關鍵的一個突破。在雲開發體系下才能夠連續不斷地輸出各種最適合於你的、最專業雲技術合伙人的支持和服務。

Q:如何提升系統的開發效率?搭建高質量的平台?

系統的開發效率最關鍵的一個步驟就在於,在一開始必須有最開放的,又是最高效率的框架。這種框架實際上雲開發要面對的一個關鍵點,傳統的開發方式是先做最底層的資料庫設計,業務層、服務層,一層層的堆疊,這種方式實際上是為了實現整個系統架構的清晰,但是它其實並沒有過多地考慮效率的提升,各種層次也會帶來框架它的複雜性。

所以首先是必須實現傳統開發框架的集成化(音),第二個方面是必須使得整個代碼是實時提交、實時自動化測試,實時的任務是否完成,實時地推進到自動化的部署,實時地發現互相之間的這些驅動等,而不需要過多溝通。

這幾個方面實際上非常關鍵,因為26個流程都要無縫自動化,不是靠人主觀,而是主動能夠自動的銜接和協作起來,這樣的話就能夠全面的成倍的提升我們的開發速度。通過這種雲開發體系,實現對這些環節真真正正的一個結耦、並行、規範,徹底地實現這種效率和品質的提升。

Q:技術同事離職了,怎麼能做到融合?

在雲開發體系裡面,為什麼能做到任何一個新的人進來不用接觸那麼多代碼,直接就即插即用,當天就開始幹活,當天就可以修改,這裡面最關鍵的內容就是協議驅動開發。每一個協議、每一個路由,其實就是我們的一個需求裡面分解的一個業務上看到的一個點,每一個點它叫一個集成。

在這個集成上每個點是完全獨立的,例如裡面要進行一個資料庫的查詢,這個查詢動作是他自己定義的。這個集成就使得我們所有的系統會分解到完全扁平的微服務和完全獨立的微路由,全都是由一個個相互獨立的服務和路由組成,每一個路由和服務本身的改變完全內部是獨立的。

這些東西直接為最終的用戶提供服務,因此每一個修改和改變都不用考慮非常複雜的關聯,這使得代碼的可讀性、可控性和它的可接受性能夠完全實現。這叫即學即用、即看即來,跟人完全實現結耦,包括用戶登錄、文件服務,全是統一的,按照統一的標準進行,統一的標準介面進行。這其中最重要的是把公共服務結耦,做到集成化,用統一的路由驅動、協議驅動來實現整個系統的雲開發過程。


推薦閱讀:

國內比較大的互聯網公司如BAT之類,會不會存在無間道卧底的情況發生?
短視頻思考:快手該如何盈利?
馬雲 劉強東 馬化騰布局農業
雲付通雲洗是什麼?
你認為百家號平台的發展前景怎麼樣?能打敗今日頭條么?

TAG:互聯網 |