我公司曾經拓展過一項外包業務,幫助矽谷沒有技術能力的創業團隊,在1個月内以3萬美元不到的價格快速打造web、移動web、app以及對應的web管理平台,使得他們能夠從較為困難的天使融資階段快速的進入prea運維并進一步拿到a輪融資,這項業務的背後其實是小型創業團隊在創業初期面臨的一個重要問題:如何選擇合适的技術來優化、助推創業過程。
那麼今天我想和大家聊一聊這個話題:當小團隊或者個人進行創業的時候,到底應該進行怎樣的技術選擇呢?
首選我有一個觀點,創業成功有了融資以後,引入更為進階的技術專家,可能會對技術架構進行通盤重構,是以創業初期與後期的技術架構會大相徑庭,事實上大部分成功的創業項目都會經曆重大重構,是以,在創業初期選擇技術架構的時候,更多要考慮的事情是簡單便捷、快速開發,而不需要過多的考慮技術長久和技術擴充。
目前國内的網際網路創業,以web為主,完整的技術産出可能包括 app、微信公衆号、支付寶服務窗、微網誌應用、移動web(相容移動浏覽器、微信浏覽器、支付寶浏覽器、微網誌浏覽器)、官網web、管理web,在這樣的産品産出要求,我認為如下的架構比較合适

這個架構有以下幾個特點:
1、所有使用者端,包括網關服務都以json資料格通過http方式和業務處理服務進行互動,這樣的好處是簡化和統一業務邏輯處理流程和資料互動方式。
2、獨立出網關服務與微信伺服器等開放平台進行互動,以應對在創業項目中越來越重要的與各開放平台的互動場景。
3、加入資料庫orm層,加快資料庫開發速度,使得後端的代碼更加業務驅動。
4、使用hybrid app方式,降低app開發、部署、釋出的成本。
那麼在技術選擇的實操過程中,具體的方向性建議如下:
<b>一、合适而靈活的技術架構的選擇</b>
什麼技術語言、什麼資料庫、什麼開發架構、什麼作業系統?這些選擇,即使在非技術驅動的創業項目裡,也會對創業結果産生重大影響,我建議選擇的技術遵循如下:
1、選擇一個或多個自己熟悉的技術語言和開發架構。
2、選擇的技術要有足夠的成熟案例和社群支援,這樣在遇到問題的時候可以快速的得到幫助和解決。
3、支援快速搭建restful的http 服務。
4、有對應的orm架構支援資料庫快速開發
5、具備穩定而高效的內建開發環境
6、盡量少使用響應式技術,移動web和桌面web選擇不同的前端架構
<b>二、充分合理的使用雲服務</b>
現在的雲服務已經非常成熟穩定,種類也越來越多,能夠解決問題的寬度和深度都在增長,是以,使用全雲架構來進行創業初期的技術承載,是值得也很有必要的,其中包括:
1、将伺服器和資料庫都搬到雲端,使用彈性增長的雲基礎服務。
2、熟練使用雲服務的控制台來進行日常運維。
3、使用郵件推送、短信推送雲服務來為客戶提供消息訂閱和通知推送服務
4、使用圖檔、視訊處理雲服務進行多媒體資源的處理,例如圖檔縮略圖,視訊壓縮等。
5、使用cdn服務來提升使用者通路體驗,提高單web節點承載能力。
6、使用nosql服務解決部分業務資料增長後的瓶頸場景。
7、多鑽研創業項目所在領域在雲服務商處是否已經有成熟的解決方案,例如檔案下載下傳、視訊直播、資料存儲、大資料比對等等,挖掘好雲服務的價值,省下的就是大把的時間和大把的金錢(這也是2015-2017年的網際網路紅利,甚至有創業團隊專門等雲服務商研發好領域解決方案後就快速跟進,低成本推出産品,快速獲得融資)。
<b>三、除此以外,我還想糾正一個現象</b>
很多團隊在會選擇以一些開源的論壇社群、内容管理項目為基礎,進行二次開發和修改,事實上,這樣的做法既不讨巧,也會有副作用。
1、開源項目的業務邏輯和功能結構已經成型,更加注重通用性,而創業都是個性化的業務,強行用現有的通用邏輯和流程去套用的個性化的業務,反而适得其反,不能很好的表達業務。一旦業務加速擴張,開源系統無法及時擴充的缺點就會顯露無疑。
2、雖說在創業初期不需要過多的考慮穩定和長久,但無法完整的了解開源項目的所有代碼依然是一個巨大的風險點,甚至會導緻嚴重的安全問題。
3、即使在創業後期會經曆重大的技術重構,但投資人和投資機構依然會在初期進行技術能力的評估,在網際網路領域利用資訊不對稱的紅利已經消失,拿别人做好的系統去二次開發,和自己開發一個獨立的系統,在直覺上給人的印象還是不太一樣的。
<b>最後再補充兩句</b>
1、雖然php是最好的語言(宇宙第一),但是如果創業,在技術選擇上,特别是後端業務邏輯的處理部分,請慎用php,語言特性決定其無一成功案例!
2、創業是目标驅動,是艱苦奮鬥,不是裝逼,有的人有好的ide不用而去linux下面搗鼓各種指令,有的人看到react、angularjs、ionic這些新東西特别好用就恨不得立馬創業,然後覺得自己很有範,其實這些都不是特立獨行,而是無知加無能,事實上相當多成功的創業項目也就是老老實實的搞好j2ee,甚至還有從asp.net webform起步的項目也搞的挺穩,永遠記住,技術選擇是為了達到良好的創業結果,而不是進行創業的原因。
親愛的朋友,你如果也在創業,能分享一下是如何選擇技術的嗎?