為什麼創業公司不再需要後端工程師?

technode發表於2015-03-17

  本文作者為 LeanCloud 前端資深工程師王瀟。

  這是一個腦洞大開的年代,產生越來越多的認知盈餘。思想的碰撞產生出種種奇思妙想,許多人想通過網際網路,通過技術來改變生活。所以,我們看到越來越多有價值的新產品出現。無論是在純軟體類移動網際網路產品領域、硬體類實體產品還是在新興的服務行業。你也許也會有同樣的想法:有個創意,想開發一個 App 來解決某個問題,想做一款好玩的遊戲 App,或者是通過移動 App 來優化您的傳統商業模式和體驗。那麼如今怎樣來開發一個 App,可以即高效又最節省開發成本呢?技術團隊如何組建,還需要後端工程師麼?

  關於開發方式,前兩年最火爆的詞語莫過於雲端計算。科技的迭代速度是指數級不斷增長的,雲端計算正是這種指數級迭代的引爆點之一。軟體開發的方向一定是會變得越來越簡單,成本也會不斷降低。

  雲服務 1.0

  如果你做一個 App,請至少選擇一款好用的雲服務,尤其對於初創公司來說。這樣的例子最有名就是 Instagram,在 2012 年 4 月 Instagram 被 Facebook 10 億美金收購時,使用者規模接近 5000 萬,然而整個團隊僅 13 人,而且其中的 5 名技術人員中,僅有兩個半後端工程師。另外的半個偶爾要負責前端的部分開發工作,Instagram 的所有服務就是部署在 AWS 上面。Instagram 聯合創始人 Mike Krieger 在「如何成為十億美金公司」的演講中,將使用 Amazon 的雲服務歸結為使用者規模暴漲,但工程團隊並未出現明顯增長的重要原因。類似的公司還有 Dropbox。

  在雲服務 1.0 這個時期,開發雖然沒有比之前變得簡單容易太多,但是如果你想讓別人使用你的服務,只需部署程式到對應的雲主機或者 App Engine 上,節省大量運維成本。類似 AWS(亞馬遜的雲服務)、SAE(新浪的雲服務)、微軟 Azure 和阿里雲,讓本來需要花很多錢購買的伺服器和運維成本都不再需要,取而代之的是選擇一個好的雲服務商。你的伺服器端程式可以完全部署在雲伺服器上,使用初期由於訪問量較小,使用者不需要支付費用。按需付費,當使用量真正達到了收費額度,雲服務商才會收一部分錢。當然,如果能夠達到這個付費標準,理論上這個專案已經運轉的不錯了。

  雲服務 2.0

  如今越來越多的 BaaS(Backend as a Service 後端即服務)已在矽谷興起,被稱為雲服務 2.0 版本。不知道大家是否記得,過年期間有個應用特別火爆,App Store 的下載排行榜一直位居榜首,這個應用叫做「逗拍」,來看下逗拍的發展速度。逗拍 2014 年 12 月 22 日正式上線,上線僅 10 天,使用者突破 10 萬;上線 42 天,進入 App Store 總排行榜第一;上線 52 天 ,突破 1000 萬使用者;上線不到三個月,目前已經突破 1600 萬下載。(資料來源於逗拍在拉勾網釋出的招聘資訊:http://www.lagou.com/gongsi/24510.html。)

  目前國內也已經有很多使用 BaaS 服務成功的案例,許多科技公司都會遇到使用者快速增長,這種情況下如果自建服務的技術成本是多大呢?打個比方,假如你打算做一款搶紅包應用,或者你的電商網站舉辦雙十一秒殺活動,技術團隊自己維護就需要相當大的資源投入。但是現在很多科技團隊可以在不投入一個後端工程師的情況下,使用 BaaS 服務輕鬆搞定這些。支付的成本遠遠低於自建團隊的資源投入,而更關鍵的是,他們節省了太多時間成本,也是機會成本,將更多的時間花在產品和運營上。

  目前越來越多的科技類創業公司都希望能夠保持著小而美,都希望技術團隊可以保持著精英化。為了讓工程團隊最大化的發揮作用,在 BaaS 服務幫助下甚至可以不安排工程師來負責的後端研發,伺服器端業務也完全依靠 BaaS 服務來支撐。雲服務 1.0 解決了絕大部分伺服器運維問題,而 BaaS 則是要解決後端研發的成本問題。

  無後端開發

  我們設想一下,每次想要做一款 App 時,總是會有很多重複的模組要開發。比如資料儲存、檔案儲存、賬號體系、簡訊驗證、統計需求和實時通訊等模組,這些模組工程師們也力求做到通用,為了以後開發的時候更加容易複用。這些模組為什麼一定要反反覆覆的寫,不可以做成一個通用的服務麼?使用者想使用哪個模組就用哪個模組,不需要伺服器運維,也不用再重複開發,只需要按需付費,這就是 BaaS 要實現的目標。

  使用 BaaS 的服務之後,最有趣的一點就是不再需要專業的後端工程師。現在如果你要開發一個產品,一般情況下需要三個角色。一個產品設計師負責產品的需求、介面和互動設計,一個前端(包括 Web、iOS 和 Android)工程師來實現設計,一個後端工程師來搭建後端服務寫出後端邏輯部署在雲服務上。而使用 BaaS 的服務之後,只需要兩個角色,設計師和前端工程師。

  舉個例子,比如你要是想實現一個遊戲 App,你可能需要的服務端需求就是儲存、使用者賬戶體系和統計。BaaS 的服務提供商的網站中,會提供應用控制檯。你可以直接點幾下滑鼠配置相關的儲存表,服務端就自動生成 RESTful API,前端工程師直接請求就可以了。類似使用者賬戶體系、統計功能等眾多模組都是類似的思路。

  這只是 BaaS 強大功能的一小部分,通過這一系列功能的使用,你會發現大大節省開發 App 的開發時間,並且顯著提高開發效率,當然也省掉後期的運維成本。同樣的只需按需付費,選擇一家服務穩定價格合理的 BaaS 服務,還可以省掉一大筆研發資金。國外類似的服務很多,比如 2013 年 4 月 Facebook 剛剛收購的 Parse、2014 年 10 月份 Google 收購的 Firebase 等。而

  國內類似的服務也在遍地開花,比如專注檔案儲存的七牛和專注解決移動開發服務的 LeanCloud 等。開發者只需將全部精力全部集中到如何做出精美的產品上,不用再操心後端究竟做了些什麼。

  人類科技的發展就是通過一個一個的創新,矽谷之所以走在創新的前列,一部分原因就是他們不斷降低創新的成本,同時使團隊變得更加高效。曾經一個網際網路產品的問世可能需要很多成本,人力成本、推廣成本、研發成本,當然還有大量的時間成本。但是現在因為 BaaS 等服務的出現,至少研發成本在不斷降低,使創新的成本也不斷降低,使更多的資源用在更重要的事情上。當然 BaaS 也不會是終點,越來越多的服務創新也會不斷進行下去。

相關文章