落地系統解決方案探討

落地系統的高收入讓很多開發商趨之若鶩,但同樣高昂的開發和維護成本,讓很多開發商傷不起。扣去功能研發外,如何降低成本,是落地系統的解決方案不得不面對的關鍵。

落地系統的最佳解決方案就是不落地,這話可不是在開玩笑,而是一個樸素的道理,能不落地的,儘量不落地。落地系統之所以有難度,主要在於以下幾點痛點:

1、落地系統是被部署於一個封閉的環境中,難以及時獲取實時信息,運維和監控難度較大。這一點有點類似於硬件,一旦被用戶買走,只能靠後期售後服務了,一旦需要召回,生產商就要付出巨大的代價。

2、落地系統難以標準化,用戶之所以出高價開發私有系統,就是要實現自己的需求。這意味着落地系統千人千面,定製化程度比較高。隨着系統升級,需要維護的版本號會越來越多。隨着用戶規模擴大,就要投入更多的研發力量應對不同的需求。成本也隨着這兩點而上升。

3、落地系統通常需要現場部署,因此需要實施人員配套,特別是上線新功能時,沒準還要把測試人員甚至開發拉上湊數。實施隊伍龐大,必須常備,而且還不是隨時都能用上,這是一個巨大的成。

落地系統最典型的場景就是金融機構,比如銀行、券商,以及交易所。這些金融機構資金雄厚,再簡單的系統,只要需要,都可以不計成本。這些機構往往又有駐場的要求,因此要推廣落地系統,這些硬性成本不可小覷。

歸根結底,成本是落地系統的核心問題,而標準化程度是解決落地系統成本問題的關鍵。微軟的視窗操作系統是一個標準化做得比較好的系統,他同樣是部署在一個封閉的環境中,而微軟公司只能通過升級程序,由用戶選擇何時升級或者乾脆不升級,微軟公司對於本地部署系統的控制,其實和落地系統並沒有太大差別。

視窗系統提供豐富的功能選項和其他衍生軟件,構築一個完整的生態,即使大部分功能,用戶完全用不上,卻保證了視窗不需要定製。而個性化需求,可以由第三方來提供。視窗系統的這種特性,確保微軟即使每套幾千塊錢的售價,也能讓老闆比爾蓋茨雄踞世界首富多年。

一個標準化的落地系統,對於開發商來說可以極大的降低成本。原因有這麼幾個:

1、可以有效提高開發和測試效益,注意,不是提高效率。因爲同樣的系統被部署在多處,收入增多,但開發測試成本不變。這一點尤爲重要,開發測試成本被有效分攤,從而降低單位成本。

2、可以緩衝個性化帶來的成本衝擊。個性化和定製化不同,定製化是以特定版本爲基礎,從整體裏面選擇自己需要的功能,而個性化是開發和其他人不同的功能。標準化做得越多越完善,則個性化需要完成得就越少。同時,還可以將個性化功能轉化成定製化的功能選項。

3、間接降低部署和運維維護成本。標準化做得越完善,可覆蓋的範圍越廣,就能夠避免開發測試資源被分攤到個性化功能中,進而提高開發測試資源的使用密度。開發測試資源投入越多,錯誤就會進一步降低,那麼後期的運維維護成本就隨着降低。這是一個良性循環。

4、可以分攤更多開發測試資源到研發運維繫統。落地系統的成本有很大一部分來自於解決運維引出的問題。完善運維繫統,平滑運維學習曲線,簡化到讓用戶自己可以維護系統,最好遇到問題簡單的重啓一下就可以恢復。部署也是一樣,發個升級包給用戶,傻瓜式點擊一下,到邊上喝個咖啡就搞定了。這樣就一舉兩得,用戶和實施人員都開心。

標準化雖然是好解決方案,但多數情況下是做不到,或者說只能做到一部分,因此我們就只能將他作爲一個目標,努力的方向。因爲甲方是出資方,作爲強勢的一方,多數開發商看在錢的面子,是很難拒絕的,除非你有足夠優秀的行業專家和技術專家,甲方沒有想到的,你比他想的更多,更周到。

退而求其次,一部分開發商已經轉到了雲解決方案,再高級一點,就是SAAS。雲解決方案這個好理解,阿里夠強勢,自家基金都在雲上跑,給金融機構做了一個良好的示範。雖然應者寥寥,但至少已經不像早先那麼排斥了。關於SAAS,我會再開一篇,談談PAAS和SAAS之間,到底距離有多遠,不可輕易動輒SAAS,彷彿他就是萬能靈藥。雲解決方案實際上就是將原來落地系統變成不落地的解決方案,只要用戶接受,則皆大歡喜。多租戶架構,也能解決用戶的安全和個性化需求。

但基於金融機構的安全特性,必然有大量系統是運行在自身獨立機房中。再加上金融機構資金雄厚,沒有開發商能夠拒絕高額報酬。爲在競爭中勝出,金融機構必須有獨門絕技,個性化也就自然存在。如此一來,落地系統就會繼續存在,所以雲解決方案或者SAAS,對金融機構來說,存在一定侷限性。

借鑑於視窗操作系統的原理,可以將落地系統做成一個分佈式操作系統,除了底層核心外,所有功能都相當於運行其上面的應用程序。個性化功能同樣可以依託於這個操作系統,第三方開發系統也是一樣的道理。這種解決方案實際上是標準化原則的一個深化,他們將各種功能系統的基礎框架整合,又引入微服務的理念,不斷將公共組件下沉到基礎框架中。功能只需要專注於特有的業務邏輯即可,所需要的開發量也跟着減少,錯誤概率和運維難度也隨之降低。

將落地系統構建成一個通用業務平臺,在技術難度上較高,人力和時間的初始投入也大。對於大部分開發商來說,更切實際的是,先預先構建技術和行業領域基礎組件,這個過程可以在開發過程中不斷提煉,或者在重構的時候,有意識的設計。

再簡單一點的,在開源項目基礎上定製適合自己需求的代碼。通常來說,知名開源項目的質量都較高,即減少開發量又能確保軟件質量,一舉兩得,這個做法在軟件行業也越來越流行,爲衆人所接受。

發佈了183 篇原創文章 · 獲贊 37 · 訪問量 77萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章