經(jīng)常在群里看到有朋友討論供應(yīng)鏈系統(tǒng)是自己研發(fā)好,還是購買三方的系統(tǒng)好。問這一類問題的朋友,通常是處在業(yè)務(wù)發(fā)展和系統(tǒng)建設(shè)的十字路口,需要對下一步的系統(tǒng)規(guī)劃做決策,擔(dān)心當(dāng)前決策失誤了為未來留下隱患。這種決策通常會發(fā)生在兩個階段:一是業(yè)務(wù)剛啟動時,想要一個系統(tǒng)快速支撐業(yè)務(wù)的開展;二是業(yè)務(wù)已經(jīng)步入正軌,需要加大投入時。
不得不說,系統(tǒng)建設(shè)的決策確實很重要,特別是業(yè)務(wù)已經(jīng)步入正軌,一旦起量了,再進(jìn)行系統(tǒng)切換,付出的代價會是初始建設(shè)的好幾倍,會涉及到業(yè)務(wù)流程的重新梳理、數(shù)據(jù)的遷移、操作人員習(xí)慣的轉(zhuǎn)變等諸多問題,所以在做決策之前,做好充分的規(guī)劃和對比是非常有必要的。
在做系統(tǒng)規(guī)劃時,我們通常有三種建設(shè)思路可供選擇:自研系統(tǒng)、定制開發(fā)和外采市面上標(biāo)準(zhǔn)的產(chǎn)品:
(1)自研系統(tǒng):一般有自己的研發(fā)團(tuán)隊的公司會選擇自研,即所有功能都自己研發(fā),完全貼合自有業(yè)務(wù)。
(2)定制開發(fā):尋求市面上專業(yè)的解決方案公司,提業(yè)務(wù)需求,讓解決方案公司為自己定制系統(tǒng)開發(fā),開發(fā)完成交付以后,有的公司可以連源代碼一起交付,有的則只交付成品系統(tǒng),不交付源代碼。
(3)外采標(biāo)準(zhǔn)產(chǎn)品:直接采購市面上標(biāo)準(zhǔn)的解決方案產(chǎn)品,或者付費(fèi)使用標(biāo)準(zhǔn)的SAAS產(chǎn)品。
三者的優(yōu)劣和適用場景如圖所示:
▲系統(tǒng)規(guī)劃的3種建設(shè)思路
從上圖的對比可以看到,無論是自研、定制開發(fā),還是外采產(chǎn)品,都是需要結(jié)合企業(yè)自身現(xiàn)狀的,還是要追求成本收益最大化,并不是為了秀肌肉,所以即便是有雄厚研發(fā)實力的企業(yè),也不全部自研產(chǎn)品,一般核心業(yè)務(wù)系統(tǒng)會考慮自研(如用戶端、供應(yīng)鏈系統(tǒng)、交易系統(tǒng)等),核心較穩(wěn)定的系統(tǒng)考慮定制開發(fā)(如財務(wù)系統(tǒng)、ERP系統(tǒng)等),新型業(yè)務(wù)或可獨(dú)立運(yùn)行的系統(tǒng)考慮外采(如新嘗試的某電商業(yè)務(wù)、EHR系統(tǒng)、OA系統(tǒng)等)。
記得十多年前,信息化還不像現(xiàn)在這么發(fā)達(dá),無論是自研,還是定制開發(fā),或者外采標(biāo)準(zhǔn)產(chǎn)品,程序都只需要部署在企業(yè)當(dāng)?shù)氐臋C(jī)房中,在本地局域網(wǎng)里運(yùn)轉(zhuǎn),用現(xiàn)在的話叫私有化部署。一旦出了問題,好一點(diǎn)的情況可以通過遠(yuǎn)程桌面解決問題,嚴(yán)重一點(diǎn)的事故需要工程師坐幾天火車去到現(xiàn)場解決,成本高,而且非常低效,不過當(dāng)時的工程師是萬能的,不僅會寫代碼,還要充當(dāng)網(wǎng)絡(luò)部署、服務(wù)器運(yùn)維、數(shù)據(jù)庫DBA等角色,什么都要懂一些。
隨著云服務(wù)的普及,近幾年市面上的系統(tǒng)開發(fā)方式也發(fā)生了翻天覆地的變化,出現(xiàn)了SaaS、PaaS、IaaS等很多耳熟能詳?shù)男迈r名詞,各種花樣層出不窮,即便是身處軟件開發(fā)行業(yè)的產(chǎn)品經(jīng)理和開發(fā)工程師們,也經(jīng)常會被這些名詞整得一愣一愣的。不過不用緊張,下面,我們從老王養(yǎng)魚的故事開始聊起,帶大家一起認(rèn)識一下這些神秘的服務(wù),最后,再一起來分析一下該如何使用這些服務(wù)。
36歲的老王在職場上遇到了中年危機(jī),實在不想再受傻叉領(lǐng)導(dǎo)的PUA了,打算帶著自己省吃儉用存下來的100萬回魚米之鄉(xiāng)的老家投資養(yǎng)魚,經(jīng)過一番詳細(xì)調(diào)研,老王了解到養(yǎng)魚的流程大體上分為4步:
首先,要修建一個魚塘,這是所有環(huán)節(jié)的基礎(chǔ),就像種樹需要陽光和土壤一樣;
然后,選擇合適的魚苗品種進(jìn)行投放,這個環(huán)節(jié)也很關(guān)鍵,為什么要養(yǎng)魚而不是養(yǎng)螃蟹,一定是經(jīng)過市場分析的;
接著,就是對魚苗進(jìn)行養(yǎng)殖和養(yǎng)護(hù),讓它們茁壯成長,這是最漫長的過程,通常要幾個月的周期;
最后,等魚苗長大后,到了打撈的季節(jié)了,進(jìn)行成魚的捕撈和銷售。
無論哪一步,都需要有人力和財力的投入,還有時間成本。經(jīng)過分析,老王整理出了4個可行的方案:
方案1:所有環(huán)節(jié)全都自己干。自己把農(nóng)田改造成魚塘,然后從市場上挑選合適的魚品種進(jìn)行培育,然后再開始養(yǎng)殖,但以上每一步都需要投入時間和資金,而老王自己一竅不通,試錯成本太高;
方案2:找同村的李叔租一塊魚塘,其它的環(huán)節(jié)自己學(xué)自己干。這樣自己不用單獨(dú)挖魚塘了,省掉了最大的時間投入,但是要把利潤拿一部分出來當(dāng)作魚塘的租金給李叔;
方案3:魚塘租李叔家的,魚苗也請有經(jīng)驗的李叔幫忙挑選和培育,自己只負(fù)責(zé)后續(xù)的養(yǎng)殖和銷售。畢竟自己一竅不通,讓李叔幫忙選苗,風(fēng)險比較低,期初投入也不大,但利潤也比較薄了;
方案4:完全不管養(yǎng)殖,直接從李叔那采購已經(jīng)養(yǎng)大的成魚,自己負(fù)責(zé)后續(xù)的銷售。這樣最省心,但得完全依賴?yán)钍澹蠢钍逵惺裁呆~,自己只能賣什么魚,而且大部分利潤都給李叔了。
▲老王養(yǎng)魚的方案
思來想去,老王決定第一年先用MVP的方式低成本低風(fēng)險投入,試水一下這塊養(yǎng)殖業(yè)務(wù),如果ROI還不錯,第二年再加大投入。于是,他選擇了方案3…...
以上故事中,老王和李叔是養(yǎng)殖業(yè)的兩個角色,老王是付錢買服務(wù)的使用方,李叔是提供服務(wù)的服務(wù)方,養(yǎng)魚的過程和軟件開發(fā)的過程類似,如果對應(yīng)到系統(tǒng)開發(fā)流程里也是一樣的:如果想完整的上線一個系統(tǒng),我們同樣需要4步:
第一步:購買服務(wù)器,部署服務(wù)器網(wǎng)絡(luò)和操作系統(tǒng)(建魚塘);
第二步:確定開發(fā)語言,部署開發(fā)環(huán)境(選魚苗);
第三步:進(jìn)入系統(tǒng)開發(fā)、測試(魚苗養(yǎng)殖);
第四步:系統(tǒng)上線推廣,提供給業(yè)務(wù)方使用(成魚捕撈)。
在以上4步開發(fā)過程中,也有4種投入方式:自采服務(wù)器+自主研發(fā)、租用三方云服務(wù)器+自主研發(fā)、使用三方服務(wù)商的開發(fā)環(huán)境開發(fā)、使用三方服務(wù)商開發(fā)好的軟件,分別對應(yīng)本地自研(建魚塘,選魚苗、養(yǎng)殖魚苗和成魚捕撈都自己干)、Iaas(只租李叔的魚塘,自己培育和養(yǎng)殖魚苗)、PaaS(租李叔的魚塘+請李叔選魚苗,自己負(fù)責(zé)養(yǎng)殖)、SaaS (李叔提供魚塘租賃+選魚苗+成魚捕撈一條龍服務(wù))4種模式:
▲老王養(yǎng)魚與系統(tǒng)開發(fā)
本地自研:企業(yè)自己建設(shè)機(jī)房,并購買服務(wù)器和安裝操作系統(tǒng),然后在服務(wù)器上部署開發(fā)環(huán)境、開發(fā)系統(tǒng),并完成項目上線,這種模式在10年前網(wǎng)絡(luò)不通暢時,是主流的開發(fā)模式;
IaaS(Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù)):企業(yè)不需要建設(shè)機(jī)房和購買服務(wù)器,可以按需直接購買IaaS服務(wù)商提供的虛擬機(jī)、存儲、網(wǎng)絡(luò)和其他基礎(chǔ)設(shè)施資源,這些基礎(chǔ)設(shè)施都是部署在云端的,也即經(jīng)常所說的云計算,像市面上的阿里云、騰訊云等;
PaaS(Platform as a Service,平臺即服務(wù)):在IaaS的基礎(chǔ)上,服務(wù)商還為企業(yè)提供了一個開發(fā)和部署應(yīng)用程序的平臺環(huán)境。開發(fā)人員可以使用PaaS提供商的工具和資源和開發(fā)規(guī)范來直接構(gòu)建、測試、托管和擴(kuò)展應(yīng)用程序,只需要開發(fā)很少的代碼。
SaaS(Software as a Service,軟件即服務(wù)):服務(wù)商提供完整的軟件系統(tǒng)供企業(yè)使用,企業(yè)直接打開瀏覽器即可訪問,服務(wù)器、開發(fā)環(huán)境和開發(fā)過程都不需要了。
無論是IaaS、PaaS還是SaaS,都是服務(wù)商為企業(yè)提供的可直接購買的云服務(wù),所以才叫“XXX即服務(wù)”,但三者提供的服務(wù)方式不同。IaaS只提供服務(wù)器和網(wǎng)絡(luò)等基礎(chǔ)設(shè)置,PaaS還提供開發(fā)平臺供企業(yè)做二次開發(fā),SaaS則為企業(yè)提供完整的軟件服務(wù)。
▲本地自研、IaaS、PaaS與SaaS
在PaaS中,還有一種特殊的形式,叫aPaaS(application Platform as a Service,應(yīng)用程序平臺即服務(wù)):由服務(wù)商提供可視化的開發(fā)組件,使用方可以在不具備開發(fā)能力的基礎(chǔ)上也能在平臺上快速搭建出自己想要實現(xiàn)的系統(tǒng)功能。它和PaaS的區(qū)別是PaaS通常需要開發(fā)人員按照PaaS平臺的規(guī)范,基于PaaS平臺的API接口,在本地完成應(yīng)用程序的開發(fā)和數(shù)據(jù)提供,然后部署到PaaS平臺上,需要寫少量的代碼,也即傳說中的低代碼,而aPaaS則是由服務(wù)商提供全套開發(fā)組件,開發(fā)者拖拖拽拽即可完成系統(tǒng)開發(fā),即傳說中的無代碼。
回到老王的故事里來,PaaS就像李叔提供魚苗培育的技術(shù)標(biāo)準(zhǔn)(魚塘的酸堿度、溫度等),老王按照技術(shù)標(biāo)準(zhǔn)在自己的魚塘里培育魚苗;而aPaaS像是老王直接在李叔已經(jīng)調(diào)配好的魚塘里進(jìn)行魚苗培育,無需自己操心,相比PaaS會更加省事。
IaaS、PaaS與SaaS是隨著互聯(lián)網(wǎng)的普及逐漸形成的。在最早的軟件市場里,只有標(biāo)準(zhǔn)化的產(chǎn)品,比如國內(nèi)的SAP、Oracle,國內(nèi)的金蝶、用友等軟件,受限于網(wǎng)絡(luò)傳輸,主要在本地部署。隨著電信網(wǎng)絡(luò)的普及,傳輸速率加快,慢慢就出現(xiàn)了IaaS產(chǎn)品,解決了每個企業(yè)都需要自己花錢建機(jī)房和買服務(wù)器的問題。
與云服務(wù)隨之而生的是SaaS產(chǎn)品,用來滿足很多中小型企業(yè)的標(biāo)準(zhǔn)化需求,比如早期的電商ISV、打單軟件、CRM系統(tǒng)等,相比傳統(tǒng)的標(biāo)準(zhǔn)產(chǎn)品,部署更快、成本更低。
但標(biāo)準(zhǔn)化的產(chǎn)品總是無法很好的滿足每個企業(yè)的需求,于是企業(yè)稍微有個性化需求,SaaS產(chǎn)品就無法支持了,導(dǎo)致很多用戶的流失,這也是國內(nèi)SaaS行業(yè)最大的痛點(diǎn)之一。于是,為了能更好的適應(yīng)市場上不同用戶的需求,PaaS模式就誕生了,服務(wù)方提供服務(wù)平臺,可以由使用方自定義系統(tǒng)流程和系統(tǒng)功能,相當(dāng)于服務(wù)方提供一套工具箱給使用方,想做成什么樣子完全由使用方自己打磨,而且利用PaaS和aPaaS的架構(gòu)方式來快速實現(xiàn)業(yè)務(wù)開發(fā),相比傳統(tǒng)開發(fā)模式,開發(fā)周期和開發(fā)成本縮減了50%。
聽起來很美好是不是?這也是這兩年低代碼和無代碼平臺火起來的原因,號稱可以干掉一大片的程序員的新型開發(fā)模式。但實際情況是,即便是國內(nèi)最先進(jìn)的低代碼和無代碼平臺,也無法完全用組件化的方式實現(xiàn)每個企業(yè)的個性化需求,他們的工具箱的完善還需假以時日(所以程序員朋友們暫時還沒有必要杞人憂天~)
自研、PaaS、aPaaS和SaaS,這4種模式,哪種模式更優(yōu)呢?
這個問題和前面開篇提到的自研好還是購買三方軟件好一樣,不在特定的場景下做對比,沒有意義。
站在使用方的視角,自研、PaaS、aPaaS和SaaS的工作量呈遞減態(tài)勢,自研模式下,所有工作量都需要自己完成,開發(fā)工作量自然最大;PaaS模式下,服務(wù)方提供了完整的開發(fā)環(huán)境和規(guī)范,使用方按標(biāo)準(zhǔn)使用,工作量次之;aPaaS模式下,使用方甚至都不用懂開發(fā),通過配置后臺就能完成系統(tǒng)的開發(fā),開發(fā)過程就是配置的過程,工作量小的多;在SaaS模式下,服務(wù)方直接提供了完整的系統(tǒng),使用方只需要付費(fèi)開通賬號即可使用,開發(fā)工作量為零。
當(dāng)然,PaaS、aPaaS和SaaS之所以開發(fā)工作量比自研要少,是因為服務(wù)方提供了相當(dāng)多的系統(tǒng)集成能力和開發(fā)工具箱,這就要求軟件的生成必須符合服務(wù)方的開發(fā)規(guī)范,如果業(yè)務(wù)需求超出了服務(wù)方提供的工具箱能力,就無法滿足了。所以從擴(kuò)展性來說,自研模式是最高的,幾乎沒有限制;其次是PaaS,取決于服務(wù)方提供的開發(fā)規(guī)范,可以支持外接擴(kuò)展能力;然后是aPaaS,使用方可以在aPaaS平臺上按照平臺規(guī)范定制軟件功能,但取決于aPaaS平臺的組件能力;擴(kuò)展性最差的是SaaS,由于服務(wù)方提供的是已經(jīng)成型的標(biāo)準(zhǔn)產(chǎn)品,除非所有使用方都有相同的需求,平臺統(tǒng)一升級,或者使用方付費(fèi)做定制化開發(fā),否則很難有擴(kuò)展的可能性。
▲本地自研、PaaS、aPaaS與SaaS對比
不管是自研、PaaS、aPaaS,還是SaaS,誰將會是軟件開發(fā)的終點(diǎn),木筆無法下定論,但有一個趨勢是不可逆轉(zhuǎn)的,那就是系統(tǒng)一定會越來越簡單,開發(fā)的成本也一定會越來越低,因為行業(yè)終歸會逐漸走向標(biāo)準(zhǔn)化,技術(shù)也會慢慢組件化,繁瑣無效的開發(fā)過程終究會被一系列的標(biāo)準(zhǔn)化工具所替代。
也許未來有這么一天,軟件發(fā)展到世界上只剩下了寫無代碼平臺工具的底層工程師這一種崗位,業(yè)務(wù)方只需要結(jié)合AI就能輕松使用工具迅速配置出自己需要的系統(tǒng)功能,產(chǎn)品經(jīng)理和研發(fā)崗位將大面積消失,這會不會是我們的終局,我不知道,但我期待那一天的到來,也愿意提前做好準(zhǔn)備去迎接它,雖然殘酷,但是一個新的時代開始了 。。。
無論是選擇自研,還是購買三方的軟件(包含PaaS和SaaS),底層邏輯是一樣的:都是希望用較低的成本滿足業(yè)務(wù)訴求,這個成本包含金錢投入成本和時間投入成本,當(dāng)然最理想的情況是既快又省。因為不同公司不同階段不同業(yè)務(wù)的差別挺大的,單純的討論應(yīng)該自研還是購買三方系統(tǒng)并沒有意義,我們可以業(yè)務(wù)穩(wěn)定性、研發(fā)投入預(yù)算兩個維度來綜合評估:
▲該自研還是購買三方?
(1)如果業(yè)務(wù)相對穩(wěn)定,需求變化比較慢的業(yè)務(wù),更加適合購買三方成熟的軟件,如果遇到個性需求無法滿足,可以適當(dāng)定制;
(2)如果需求變化快,有自己的研發(fā)團(tuán)隊,更加適合自研,這樣可以更加快速的響應(yīng)業(yè)務(wù)發(fā)展的步伐;
(3)如果業(yè)務(wù)變化快,研發(fā)預(yù)算又較小時,適合用MVP的方式最低成本啟動試錯(自研和三方,誰成本更低就用誰),待業(yè)務(wù)相對穩(wěn)定成規(guī)模以后,再決定購買三方系統(tǒng)還是完全自研。
最后,需要強(qiáng)調(diào)的是,除了成本本身,數(shù)據(jù)的連貫性和統(tǒng)一性、系統(tǒng)切換的風(fēng)險、上下游系統(tǒng)對接的難度、操作習(xí)慣的改變等,也都是我們做決策時需要考慮的因素,切不可忽視哦!
中郵無人機(jī)(北京)有限公司揭牌
2636 閱讀智能倉儲企業(yè)“智世機(jī)器人”完成數(shù)千萬元A輪融資
2593 閱讀這家老牌物流巨頭被整合重組,四千多名員工將何去何從?
1991 閱讀2024最值錢的物流上市企業(yè)是誰?哪些物流企業(yè)被看好,哪些被看跌?
1499 閱讀地緣政治重塑下的全球供應(yīng)鏈:轉(zhuǎn)型、挑戰(zhàn)與新秩序
1235 閱讀物流供應(yīng)鏈領(lǐng)域“吸金”不力,但能給投融資事件頒幾個獎
1238 閱讀16連冠背后,日日順助力智家工廠物流降本增效
1022 閱讀中遠(yuǎn)海運(yùn)回應(yīng)被美國國防部列入“中國軍事企業(yè)”清單
959 閱讀1745億件,快遞業(yè)務(wù)量增速超預(yù)期
952 閱讀扎根供應(yīng)鏈創(chuàng)新25年,一家“耐力長跑型”企業(yè)的破局啟示
914 閱讀