在2016年,SaaS公司走大客戶方向,已成為行業(yè)的基本共識(shí)。大客戶方向就難免會(huì)遇到不斷變化的定制需求,是否一定需要PaaS?在過去很長(zhǎng)一段時(shí)間里,國(guó)內(nèi)關(guān)于PaaS的討論,都主要集中在商業(yè)圈和投資圈,哪怕牛透社曾做過一期與PaaS相關(guān)的行業(yè)報(bào)告,崔牛會(huì)一眾讀者仍覺得不過癮,談的不透徹。
在本文中,我們將結(jié)合企業(yè)級(jí)市場(chǎng)現(xiàn)狀和PaaS的技術(shù)挑戰(zhàn),深度解析到底何謂“PaaS”
本文內(nèi)容來源于,崔牛會(huì)創(chuàng)始人崔強(qiáng)與PaaS實(shí)際操盤手——美洽總裁兼CTO李令輝的訪談。
崔強(qiáng):我一直想找人從技術(shù)角度給大家講PaaS, 能不能跟大家先講講你的背景?
李令輝:我自己親身參與過三次PaaS的構(gòu)建,第一次是在豆瓣,我在platform team做架構(gòu)師,當(dāng)時(shí)豆瓣內(nèi)部就打造了國(guó)內(nèi)互聯(lián)網(wǎng)比較早投入生產(chǎn)環(huán)境的App Engine基礎(chǔ)設(shè)施DAE。
第二次是在滴滴,我作為首席架構(gòu)師和技術(shù)委員會(huì)主席,帶領(lǐng)滴滴基礎(chǔ)架構(gòu)團(tuán)隊(duì)打造PaaS的通用中間件,來應(yīng)對(duì)業(yè)務(wù)的高速發(fā)展,提高業(yè)務(wù)研發(fā)的效率,統(tǒng)一解決復(fù)雜、艱難的業(yè)務(wù)技術(shù)問題。
第三次是一年多以前在美洽,帶領(lǐng)團(tuán)隊(duì)從零開始做了一個(gè)比前兩次都更復(fù)雜和強(qiáng)大的PaaS, 現(xiàn)在已經(jīng)上線了。所以講這個(gè)話題,我還是有一定實(shí)操經(jīng)驗(yàn)的。
崔強(qiáng):不同PaaS之間的能力確實(shí)差異性很大,令輝想從哪里開始談這個(gè)話題?
李令輝:在從技術(shù)角度講PaaS之前,我想先講講對(duì)企業(yè)級(jí)市場(chǎng)的宏觀理解。
前不久iPhoneX發(fā)布之后,蘋果首席設(shè)計(jì)師Jony Ive接受《紐約客》主編采訪時(shí),說了一段話,我很認(rèn)同。里面談到了iPhone為什么會(huì)誕生這個(gè)重要的問題。Ive說是因?yàn)樘O果受不了當(dāng)時(shí)使用的那些手機(jī),認(rèn)為它們都枯燥無味并且粗制濫造。
想想在諾基亞,摩托羅拉,阿爾卡特,西門子等等繁盛一時(shí)的功能機(jī)時(shí)代,相當(dāng)長(zhǎng)的一段時(shí)間內(nèi),諾基亞每年的研發(fā)費(fèi)用都數(shù)倍于蘋果。
為什么蘋果這個(gè)毫無手機(jī)行業(yè)經(jīng)驗(yàn)的外來人,把手機(jī)行業(yè)帶入了一個(gè)新的篇章?因?yàn)橹挥刑O果看到了未來,沒有被現(xiàn)有成果所限制,直接去追求代表未來的更先進(jìn)產(chǎn)品。
今天大家看到Salesforce市值700億美金,SAP1400億,Oracle2000億,數(shù)字之下,不明覺厲,也帶動(dòng)了中國(guó)SaaS的創(chuàng)業(yè)熱潮。
這里隱藏著一個(gè)巨大而又被忽略的風(fēng)險(xiǎn)是,這些公司會(huì)不會(huì)是上一個(gè)時(shí)代的諾基亞?這個(gè)行業(yè)里會(huì)不會(huì)誕生蘋果一樣的公司?
有些國(guó)內(nèi)公司對(duì)SOS(Salesforce、Oracle、SAP)是在復(fù)制追趕;而事實(shí)上,類似Ive描述的,這個(gè)市場(chǎng)需要的是“受不了它們的枯燥無味并且粗制濫造”的公司。
當(dāng)然,在產(chǎn)品技術(shù)上要做出比SOS強(qiáng)一個(gè)時(shí)代的PaaS及SaaS體驗(yàn),成本上達(dá)到一個(gè)數(shù)量級(jí)的降低,在中國(guó)乃至全球市場(chǎng)取代SOS,這很難。
但事實(shí)上,之前大家覺得去IOE (IBM、Oracle、EMC) 也很難,阿里還是做到了,之前大家覺得去思科、愛立信很難,華為還是做到了。我們相信在這個(gè)新時(shí)代,在應(yīng)用軟件領(lǐng)域,也一定會(huì)有中國(guó)公司脫穎而出,引領(lǐng)世界。
崔強(qiáng):你的這個(gè)目標(biāo)很大膽,能不能具體講講SOS有哪些讓你覺得“無法忍受”,或者說不夠先進(jìn)的地方?
李令輝:SAP的生產(chǎn)型ERP和Oracle的數(shù)據(jù)庫(kù)不在我說的范圍內(nèi),我指的是SaaS及應(yīng)用軟件部分。
你能看到Oracle的SaaS大部分是收購(gòu)而來的,產(chǎn)品的迭代速度極慢,另外各收購(gòu)產(chǎn)品之間不是原生就打通的,要分別集成,數(shù)據(jù)整合,產(chǎn)品一致性和靈活性都有一定問題,云產(chǎn)品的服務(wù)器不在國(guó)內(nèi),訪問速度比較慢。
SAP的云化剛開始,但SAP的思路并不是很現(xiàn)代,東西越做越貴,HANA是一個(gè)完全基于強(qiáng)大硬件的內(nèi)存解決方案。在大流量下,單位成本的高昂幾乎是不可接受的,中國(guó)互聯(lián)網(wǎng)企業(yè)都在去IOE,SAP比IOE合起來還貴,效率明顯低下。
互聯(lián)網(wǎng)的技術(shù)方向是用廉價(jià)的硬件+全新的分布式技術(shù)來解決這類問題,數(shù)據(jù)量越大,技術(shù)成本就攤得越薄,效率就越高。
其實(shí)這三家里面,產(chǎn)品體驗(yàn)最好的當(dāng)屬Salesforce,但是由于所處時(shí)代的限制,在今天看來,它有很多地方也無法忍受。
比如依賴于昂貴的Oracle數(shù)據(jù)庫(kù),因?yàn)閿?shù)據(jù)庫(kù)底層的限制,OLAP方面的能力不是很強(qiáng),因?yàn)槭褂玫募夹g(shù)都不是互聯(lián)網(wǎng)時(shí)代出現(xiàn)的針對(duì)大流量大數(shù)據(jù)的技術(shù),所以遇到ToC的使用場(chǎng)景,單位成本非常高昂。
因?yàn)橄拗浦荒苁褂肁pex語(yǔ)言做二次開發(fā),導(dǎo)致對(duì)開發(fā)者限制很多,無論是學(xué)習(xí)還是開發(fā)門檻都相對(duì)較高,并且Salesforce堅(jiān)持不提供私有化服務(wù),導(dǎo)致在一些領(lǐng)域無法推廣。Salesforce的服務(wù)器也不在中國(guó),訪問速度也較慢。
另外,中國(guó)市場(chǎng)有自己的特殊性。
例如世界領(lǐng)先的電商滲透率,移動(dòng)設(shè)備滲透率,未來的物聯(lián)網(wǎng)滲透率,4G/5G,移動(dòng)支付的普及率,小程序等連接線上線下的平臺(tái)強(qiáng)大性,企業(yè)對(duì)人工智能的開放程度,互聯(lián)網(wǎng)轉(zhuǎn)型的急切心態(tài),等等。
SOS等國(guó)外大廠調(diào)整產(chǎn)品,滿足國(guó)內(nèi)客戶需求的速度也是難以忍受的,這方面我們會(huì)做的更好。
微軟現(xiàn)任CEO薩提亞·納德拉(Satya Nadella) 上任時(shí)就對(duì)全體員工說“我們這個(gè)行業(yè)不尊重傳統(tǒng),只尊重創(chuàng)新。”
21世紀(jì)的科技巨頭和繁榮的開源社區(qū)創(chuàng)造了很多先進(jìn)優(yōu)雅的技術(shù),我們的起點(diǎn)在2016年,世界已經(jīng)和20世紀(jì)大不同,社會(huì)的每一個(gè)環(huán)節(jié)都被改變,這么多年里,快速發(fā)展的互聯(lián)網(wǎng)行業(yè)從根本上改變了IT行業(yè)的基礎(chǔ)和格局,我們依托于這些偉大的創(chuàng)新,站在巨人的肩膀上,當(dāng)然有機(jī)會(huì)做出一個(gè)新的PaaS平臺(tái),比SOS更先進(jìn),成本更低。
崔強(qiáng):接下來咱們談?wù)劶夹g(shù)干貨,這也是崔牛會(huì)的讀者們最期望的部分。能不能聚焦于PaaS的技術(shù)部分,給大家展開講講。
李令輝:好,在10月18號(hào) Qcon 2017 全球軟件開發(fā)大會(huì)上,面對(duì)CTO, 架構(gòu)師,工程師,我做了一次關(guān)于美洽PaaS平臺(tái)的演講。崔牛會(huì)的讀者不都是技術(shù)人員,所以接下來我會(huì)盡量用通俗易懂的方式,講講這件事。
PaaS是Platform as a service,通俗的說是Platform的云化。所以我想先談?wù)凱latform,再來談?wù)凱aaS,這是一脈相承,但并不相同的兩個(gè)概念。
可以看到,很多大名鼎鼎的軟件都支持充分的自定義,微軟Office系列支持VBA,PeopleSoft支持PeopleCode,Unix上每個(gè)著名軟件的配置文件語(yǔ)法都可以寫本書來講。
你可以把它們的這個(gè)能力抽象成code execution platform/computing platform。來到了云計(jì)算時(shí)代,計(jì)算能力在云端而不是本地,就有了PaaS,將Platform的能力,以Service的形式提供在云端。
其實(shí)從工業(yè)化時(shí)代開始,各行業(yè)都開始通過做一個(gè)靠譜的Platform來降低創(chuàng)新和迭代的成本,將不變的東西自動(dòng)化,將不斷變化的東西抽象成編程語(yǔ)言來提供靈活性,以此降低創(chuàng)新的成本和風(fēng)險(xiǎn),這就是規(guī)模生產(chǎn)的工業(yè)化Platform的概念。
上世紀(jì)90年代,國(guó)外企業(yè)級(jí)軟件里就能看到強(qiáng)大的API和可編程性,每個(gè)強(qiáng)大的軟件都帶著一個(gè)強(qiáng)大的Platform,例如當(dāng)時(shí)的PeopleSoft、 Siebel CRM都發(fā)明了自己的編程語(yǔ)言,在二三十年前就很強(qiáng)大了。Salesforce 和Workday的PaaS不是憑空而生的,是一路沿襲過來的。
而中國(guó)直到現(xiàn)在,并沒有足夠好的PaaS供應(yīng)方出現(xiàn)。為什么呢?因?yàn)樽鯬latform難度很大,PaaS就更難了。
再說說as a service, 它就相當(dāng)于從買車到租車或者滴滴打車的變化。
如果自己買車,首先要付一大筆錢,還要自己負(fù)責(zé)年檢,保養(yǎng),保險(xiǎn),考票,交罰單,加油,洗車等等事情,但as a service,租車或滴滴打車,就不用那么復(fù)雜,并同樣能達(dá)到從A點(diǎn)到B點(diǎn)的目的。
當(dāng)然作為服務(wù)提供方,租車公司或者滴滴打車做了很多工作把業(yè)務(wù)復(fù)雜度給消化了,直接呈現(xiàn)給客戶一個(gè)簡(jiǎn)單易用的服務(wù)。
所以不管IaaS, PaaS, SaaS 相比傳統(tǒng)的基礎(chǔ)設(shè)施,platform, 軟件,都是消化了特別多的復(fù)雜工作,提供一個(gè)簡(jiǎn)單易用的服務(wù)給客戶。這種商業(yè)模式,無疑是正確的方向。
具體到PaaS,這件事對(duì)企業(yè)信息化至關(guān)重要。
它能從根本上降低試錯(cuò)成本,任何行業(yè)創(chuàng)新都源自大量的試錯(cuò),如果成本很高,就會(huì)減少可能成功的機(jī)會(huì),而PaaS是提高試錯(cuò)效率的有效手段。如果沒有PaaS,企業(yè)信息化這個(gè)行業(yè)的井噴發(fā)展期就很難到來。
用個(gè)通俗的比喻來說,在沒有PaaS的世界里,客戶想吃個(gè)西紅柿炒蛋,就要自己去造燃?xì)庠詈陀蜔煓C(jī)。
大部分企業(yè)客戶需要的僅僅是實(shí)現(xiàn)業(yè)務(wù)需求(就像想吃西紅柿炒蛋),而不是如何管理資源,如何處理身份認(rèn)證,如何管理倒排索引等等(就像造燃?xì)庠詈陀蜔煓C(jī))。
由于通用編程語(yǔ)言過于基礎(chǔ),程序員需要把大量的精力花在對(duì)計(jì)算機(jī)資源的控制,去解決大量重復(fù)出現(xiàn)的問題,把至少80%的精力花在了原本要解決的核心問題之外,而一個(gè)合適PaaS的價(jià)值就在于,將解決方案提供者的視野限定在了業(yè)務(wù)需求范圍內(nèi),把此領(lǐng)域中反復(fù)出現(xiàn)的問題事先解決好,不去浪費(fèi)當(dāng)事人的精力。
崔強(qiáng):SaaS公司想做大客戶,PaaS是必須要有的嗎?
李令輝:你去看SAP、Oracle、Microsoft Dynamic 365、Salesforce、 Workday、ServiceNow都具有PaaS能力。
中國(guó)市場(chǎng)里,滿足大客戶高度復(fù)雜定制化需求的最常見方法是外包,這種商業(yè)模式價(jià)高、質(zhì)低且不可持續(xù),其次是找標(biāo)準(zhǔn)軟件商提供定制服務(wù)。
因?yàn)檫@種服務(wù)是非標(biāo)準(zhǔn)的,所以無法保證質(zhì)量,成本也極高。而第三條路,就是提供PaaS,依靠后續(xù)的實(shí)施和開發(fā)來滿足需求和應(yīng)對(duì)變化。
這里可以談一下ToC和ToB的本質(zhì)差別。
ToC產(chǎn)品解決的是一個(gè)確定的問題域,是一個(gè)比較具象、比較聚焦的需求場(chǎng)景。
但是這一套邏輯在ToB領(lǐng)域里完全不適用,在企業(yè)信息化中,最終使用者由企業(yè)中各層級(jí)的不同角色、職能,在不同的業(yè)務(wù)場(chǎng)景下管理需求,即使是一個(gè)行業(yè),也分為大中小型規(guī)模,即使是同一個(gè)公司,也分為早中晚不同時(shí)期的管理模式。
可以說,永遠(yuǎn)不可能憑借想象來窮舉所有遇到的需求,需求是無窮無盡的。
一套好的系統(tǒng),必須能夠跟隨企業(yè)的發(fā)展和變化,充分靈活和可塑,所以才有了PaaS的概念,我們需要把提供的服務(wù)拆解到更底層的維度,才能經(jīng)得住時(shí)間的考驗(yàn)。
大家都知道IaaS, PaaS, SaaS這三層的關(guān)系,理論上一個(gè)強(qiáng)大的PaaS層,是能支撐各種SaaS需求的。在我看來,一個(gè)強(qiáng)大通用的PaaS,從技術(shù)上可以拆分成三個(gè)維度:高性能PaaS, 度PaaS, 開發(fā)者PaaS。
論技術(shù)難度,做好一個(gè)高性能PaaS,相當(dāng)于一個(gè)大型互聯(lián)網(wǎng)公司的基礎(chǔ)架構(gòu)部或中間件團(tuán)隊(duì)的工作內(nèi)容,需要豐富的經(jīng)驗(yàn)和大量的研發(fā)投入。
做好一個(gè)復(fù)雜度PaaS, 相當(dāng)于創(chuàng)造一套數(shù)據(jù)庫(kù)+一套編程語(yǔ)言+若干個(gè)強(qiáng)大好用的中間件。上一個(gè)時(shí)代里,IBM、Microsoft、Oracle三家公司都做過類似的,艱難繁復(fù)的工作。
而一個(gè)開發(fā)者PaaS, 要解決的是開發(fā)者工具支持的完整度,開發(fā)、調(diào)試、部署、安全、文檔、數(shù)據(jù)隔離的問題。這需要提供一個(gè)基于云的開發(fā)、調(diào)試、部署工具,大致相當(dāng)于一套App Engine的工作,可以類比GAE、Heroku,或者BAE。
我們做PaaS的公司,要同時(shí)去挑戰(zhàn)這三件事的難度,更可怕的是還要同時(shí)挑戰(zhàn)這三件事的完整度,這意味著巨大的工作量。要知道Salesforce做PaaS平臺(tái)的有近4000位工程師,每年的人力成本就接近10億美金。
崔強(qiáng):能不能給我們具體講講這三種PaaS的技術(shù)挑戰(zhàn)?
李令輝:我們內(nèi)部評(píng)判PaaS總共有50多條標(biāo)準(zhǔn),按照高性能,復(fù)雜度,開發(fā)者三個(gè)維度來拆開分析下吧。
先說高性能PaaS, 這塊的難度相當(dāng)于:百億美金互聯(lián)網(wǎng)公司的基礎(chǔ)架構(gòu)部。
這是互聯(lián)網(wǎng)ToC公司的強(qiáng)項(xiàng),F(xiàn)LAG,BAT都是其中的佼佼者。
主要挑戰(zhàn)在于如何最大程度的發(fā)掘機(jī)器的潛能,如何利用分布式集群的能力,如何保證系統(tǒng)的SLA承諾,如何水平擴(kuò)展,如何控制單位成本,如何實(shí)現(xiàn)集群的自愈和監(jiān)控,如何有效的控制平攤下來的人力維護(hù)成本,又如何不斷優(yōu)化架構(gòu),提升檢索,讀寫IO的能力。
以美洽的做法舉例:我們通過分布式系統(tǒng)和集群管理工具來管理容量,并至少保障99.95%的SLA可用性,運(yùn)維和部署一并解決。
通過分布式系統(tǒng),我們規(guī)避了昂貴的硬件,我們甚至也不使用的單機(jī)數(shù)據(jù)庫(kù),而是使用分布式數(shù)據(jù)庫(kù)TiDB,具有在不犧牲業(yè)務(wù)特性和強(qiáng)一致性的事務(wù)保障的前提下的水平的擴(kuò)展能力。
并且,我們整個(gè)架構(gòu)還盡量使用多租戶設(shè)計(jì),更進(jìn)一步的節(jié)省計(jì)算資源和存儲(chǔ)成本。
這里要明確一點(diǎn),大部分互聯(lián)網(wǎng)公司的水平擴(kuò)展技術(shù)是以犧牲某些技術(shù)特性或需要使用者做很多「work around」的工作來解決水平擴(kuò)展性問題,而美洽的PaaS是提供不打折扣的類似于單機(jī)基礎(chǔ)設(shè)施能力的。
我們使用的所有基礎(chǔ)設(shè)施都是分布式的,比如分布式關(guān)系型數(shù)據(jù)庫(kù)TiDB,比如分布式的緩存系統(tǒng)Memcached,比如分布式隊(duì)列系統(tǒng)Kafka,分布式配置管理系統(tǒng)etcd,再通過將微服務(wù)化的無狀態(tài)微服務(wù)容器化,通過Kubernetes和istio的能力,將所有的服務(wù)能力分布式化。
美洽提供了結(jié)合了傳統(tǒng)單機(jī)系統(tǒng)一樣的靈活性以及互聯(lián)網(wǎng)公司常見的分布式高可用的基礎(chǔ)技術(shù)平臺(tái)。
我們的多租戶技術(shù)依賴于集群和數(shù)據(jù)庫(kù)的能力。通過集群編排系統(tǒng),智能的做容量管理,自動(dòng)升級(jí),部署管理,部署隔離。
我認(rèn)為高性能PaaS是一個(gè)基本能力,無論做哪個(gè)領(lǐng)域的SaaS,大的,小的,垂直的,客戶對(duì)你的要求,在這方面都是一樣的,系統(tǒng)穩(wěn)定性,數(shù)據(jù)安全性,數(shù)據(jù)量的水平擴(kuò)展能力,處理較大流量的并發(fā)能力等,這件事情是避免不了的,一個(gè)收入天花板太低的SaaS公司,根本無力覆蓋這塊技術(shù)投入的成本。
這一點(diǎn)被很多創(chuàng)業(yè)者和投資人忽視或者低估了。就好像銀行再有資源也無法做一個(gè)像iPhone一樣出色的硬件設(shè)備,一個(gè)再大的企業(yè)也無法為內(nèi)部開發(fā)一個(gè)強(qiáng)大的操作系統(tǒng)一樣。這是個(gè)成本問題,一定要覆蓋更多的人和領(lǐng)域,高昂的成本才能平攤到可以接受的程度。
再說說復(fù)雜度PaaS, 其難度相當(dāng)于設(shè)計(jì)一套數(shù)據(jù)抽象系統(tǒng),以及領(lǐng)域?qū)S镁幊陶Z(yǔ)言。這塊是企業(yè)軟件公司的強(qiáng)項(xiàng),之前世界上最強(qiáng)的是Salesforce和SAP。
主要挑戰(zhàn)是如何最大程度地提高解決復(fù)雜問題的能力,如何高效的應(yīng)對(duì)業(yè)務(wù)變化,而且必須是不能閹割的解決方案,要能解決所有問題。一般業(yè)務(wù)人員講給不懂技術(shù)的客戶,總說類似樂高積木的系統(tǒng),任意需求都可以拼搭出來,說的其實(shí)就是復(fù)雜度部分。
我講講復(fù)雜度PaaS這塊我們是怎么做的。
首先,美洽PaaS中一切都是以服務(wù)形式提供的,這樣的好處是將某件事情的復(fù)雜度控制在服務(wù)內(nèi)部,服務(wù)之間隔離數(shù)據(jù)和邏輯,只以API形式協(xié)作,這樣的好處是把問題域限制在一個(gè)較小的范圍內(nèi),對(duì)人類脆弱的大腦比較友好,可以更好的完成每一個(gè)具體的服務(wù)。
并且大部分服務(wù)本身都是元數(shù)據(jù)驅(qū)動(dòng)的多租戶服務(wù),它們都可以通過定義元數(shù)據(jù)的方式改變行為,特別是PaaS的核心,也就是存儲(chǔ)服務(wù),可以通過元數(shù)據(jù)定義出數(shù)據(jù)和數(shù)據(jù)之間的關(guān)系,數(shù)據(jù)以及數(shù)據(jù)間的映射還有級(jí)聯(lián)關(guān)系。
企業(yè)級(jí)服務(wù)的核心就是數(shù)據(jù)的增刪改查,以及級(jí)聯(lián)操作。通過一個(gè)高度定制,可以元數(shù)據(jù)定義的分布式數(shù)據(jù)服務(wù),來滿足復(fù)雜的數(shù)據(jù)業(yè)務(wù)場(chǎng)景。我們把OLTP,OLAP,搜索引擎合三為一,用戶可以一鍵式開啟這些能力,無需開發(fā)。
企業(yè)級(jí)開發(fā)的權(quán)限需求也非常復(fù)雜,像我們的權(quán)限系統(tǒng)兼容RBAC和ABAC,權(quán)限控制可以精確到數(shù)據(jù)庫(kù)的表級(jí),列級(jí),行級(jí),甚至字段級(jí)。
對(duì)于復(fù)雜的業(yè)務(wù)場(chǎng)景,直接封裝成可高度定制化的服務(wù)來單獨(dú)提供,比如審批,工作流,報(bào)表等服務(wù),全部可以通過元信息定義出期望的行為。
為了提高交付速度,連Web,iOS,Android三端也可以通過元信息生成界面,而無需開發(fā)。
為了滿足個(gè)性化展示需求,三端也可以全部拋棄,客戶完全可以基于API或者基礎(chǔ)UI組件,來獨(dú)立開發(fā)。
對(duì)于一些特別的需求,客戶可以基于PaaS提供的API,基于自己擅長(zhǎng)的編程語(yǔ)言,開發(fā)適合于自己需要的程序,以Plugin的方式部署,這樣既提供了足夠的靈活性(任意語(yǔ)言,任意行為),又保證了數(shù)據(jù)安全和資源隔離。
從本質(zhì)上來說,Salesforce的force.com和Heroku,它們分別代表了不同的思路和世界觀,雖然后續(xù)Salesforce收購(gòu)了Heroku,將其變成了給自己擴(kuò)展功能的底層設(shè)施,但畢竟是兩個(gè)獨(dú)立的平臺(tái)。我們的思路是一開始就將這兩者合二為一,更加一致和強(qiáng)大。
最后說說開發(fā)者PaaS, 難度相當(dāng)于開發(fā)App Engine的大致難度(比如GAE),這是技術(shù)型平臺(tái)公司的強(qiáng)項(xiàng),最強(qiáng)的是微軟,谷歌。
這部分的挑戰(zhàn)是:要建立清晰明確的世界觀,要服務(wù)好里面的所有玩家,要有完整的工具鏈條和文檔建設(shè),要從架構(gòu)上支持開發(fā)者,要做好社區(qū)建設(shè)。
要保證對(duì)開發(fā)者友好,易用,強(qiáng)大,而且不斷進(jìn)步,盡量降低門檻,讓大家容易上手,還可以不斷精進(jìn),快速解決問題,提高收入。
以美洽PaaS為例,我們會(huì)推出完整的編程工具,輔助完成元數(shù)據(jù)的編寫和查看,提供調(diào)試工具、部署工具,以及沙盒環(huán)境,幫助開發(fā)者快速開發(fā),提高效率,并且提供在線監(jiān)控平臺(tái)協(xié)助開發(fā)者了解自己程序的運(yùn)行狀況,把整個(gè)系統(tǒng)狀態(tài)盡量和客戶保持透明。
我們會(huì)提供一個(gè)讓開發(fā)者更高效的在線開發(fā)環(huán)境,也會(huì)盡量保持和普通虛擬機(jī)類似的開發(fā)體驗(yàn)來讓開發(fā)者低成本的遷移自己的經(jīng)驗(yàn)和知識(shí)。
高性能PaaS, 復(fù)雜度PaaS和開發(fā)者PaaS,這三個(gè)PaaS不能割裂來看,用小米雷總的話說,鐵人三項(xiàng),少一項(xiàng)都會(huì)有問題。
目前看要同時(shí)做好這三方面事情的難度和挑戰(zhàn)還是很大的,需要很強(qiáng)的想象力和架構(gòu)能力。
其中很多地方是反互聯(lián)網(wǎng)技術(shù)常識(shí)的,互聯(lián)網(wǎng)ToC公司,因?yàn)闃I(yè)務(wù)發(fā)展和變化太快,大部分時(shí)候不會(huì)也無法做特別長(zhǎng)久的設(shè)計(jì),而ToB業(yè)務(wù),因?yàn)閯e人要依賴于這個(gè)PaaS而存在,所以一開始就要是個(gè)至少完整正確的設(shè)計(jì)。
架構(gòu)也好,設(shè)計(jì)也好不是為了解決計(jì)算機(jī)的問題,而是為了解決使用者的問題,人類的腦容量不適合處理特別復(fù)雜,變量特別多的東西。所以,一個(gè)事先考慮的很清楚,強(qiáng)大優(yōu)雅,簡(jiǎn)單清晰的世界觀就非常重要。
崔強(qiáng):高性能PaaS, 復(fù)雜度PaaS和開發(fā)者PaaS,這三方面按照難度,如何排序呢?
李令輝:這三方面,第一難的是高性能PaaS,第二是開發(fā)者PaaS,第三是復(fù)雜度PaaS。但其實(shí)最難的,是如何將三者整合,同時(shí)呈現(xiàn)。
為什么這么說呢?說到復(fù)雜度,過去幾十年的企業(yè)級(jí)玩家,用小型機(jī),或者單機(jī)實(shí)現(xiàn)的功能都是非常復(fù)雜的。
僅限于單機(jī)的技術(shù),就不是特別有挑戰(zhàn)的事情。將這些復(fù)雜度用某種易于理解和使用的方式呈現(xiàn)給開發(fā)者,就需要掌舵人很好的建立世界觀,維護(hù)好這個(gè)思想世界里的一致和協(xié)調(diào)。
到了互聯(lián)網(wǎng)時(shí)代的數(shù)據(jù)爆發(fā)期,單機(jī)解決不了問題了,就要考慮如何在分布式環(huán)境下同時(shí)解決存儲(chǔ)和邏輯的問題,這也是過去二十年里,互聯(lián)網(wǎng)巨頭們一直在努力的領(lǐng)域。
這里面用到的技術(shù)和理論還是很新很難的,互聯(lián)網(wǎng)公司往往為了使用這些能力,放棄了很多業(yè)務(wù)上的便捷,但在企業(yè)級(jí)這些又無法放棄,所以三者結(jié)合的難度又大大高于其中任何一種。
以美洽的做法舉例:我們通過分布式系統(tǒng)和集群管理工具來管理容量,并至少保障99.95%的SLA可用性,運(yùn)維和部署一并解決。
通過分布式系統(tǒng),我們規(guī)避了昂貴的硬件,我們甚至也不使用的單機(jī)數(shù)據(jù)庫(kù),而是使用分布式數(shù)據(jù)庫(kù)TiDB,具有在不犧牲業(yè)務(wù)特性和強(qiáng)一致性的事務(wù)保障的前提下的水平的擴(kuò)展能力。
這里要明確一點(diǎn),大部分互聯(lián)網(wǎng)公司的水平擴(kuò)展技術(shù)是以犧牲某些技術(shù)特性或需要使用者做很多「work around」的工作來解決水平擴(kuò)展性問題,而美洽的PaaS是提供不打折扣的類似于單機(jī)基礎(chǔ)設(shè)施能力的。
美洽利用最新的技術(shù)手段提供了結(jié)合了傳統(tǒng)單機(jī)系統(tǒng)一樣的靈活性以及互聯(lián)網(wǎng)公司常見的分布式高可用的基礎(chǔ)技術(shù)平臺(tái)。
崔強(qiáng):要做出比SOS更先進(jìn)的PaaS產(chǎn)品,你覺得應(yīng)該要有什么樣的用人策略?
李令輝:就像攀登珠峰有南坡、北坡兩條路,國(guó)內(nèi)PaaS公司也有不同的路徑。
有的技術(shù)帶頭人軟件行業(yè)背景強(qiáng)擅長(zhǎng)復(fù)雜度PaaS, 有的技術(shù)帶頭人互聯(lián)網(wǎng)行業(yè)背景強(qiáng)擅長(zhǎng)高性能PaaS,這就看哪個(gè)打入到對(duì)方領(lǐng)域,更容易了。
我認(rèn)為應(yīng)該選擇的是全互聯(lián)網(wǎng)背景的人才,我們認(rèn)為從高性能PaaS打到復(fù)雜度PaaS更容易。
軟件行業(yè)和互聯(lián)網(wǎng)行業(yè)兩種人才的能力特點(diǎn)和認(rèn)知都相差甚遠(yuǎn),做產(chǎn)品、架構(gòu)、寫代碼的方式也差異極大。
大部分軟件行業(yè)的人才,雖然應(yīng)對(duì)復(fù)雜需求的能力ok,但這只是必要能力,不足以破局,如何應(yīng)用最新的互聯(lián)網(wǎng)技術(shù)和思想,去突破性的解決問題才是關(guān)鍵。
互聯(lián)網(wǎng)技術(shù)在過去二十年里獲得了突飛猛進(jìn)的發(fā)展,誕生了很多革命性的技術(shù)手段,這些技術(shù)合理地應(yīng)用到ToB領(lǐng)域,是可以帶來突破性的功能/成本/體驗(yàn)優(yōu)勢(shì)的,這也是我們看到的巨大機(jī)會(huì)。
其實(shí)從這個(gè)角度來看,SOS的團(tuán)隊(duì)也是相對(duì)陳舊落后的,他們也在革新和換血。
崔強(qiáng):你認(rèn)為,對(duì)于做PaaS的廠商來說,應(yīng)該有什么樣的商業(yè)化策略?
李令輝:從商業(yè)策略上來說,我認(rèn)為最重要的是發(fā)展生態(tài)伙伴。
你去看SOS這種體量的公司,它們沒有一家是單純靠直銷做大的。Salesforce負(fù)責(zé)中國(guó)業(yè)務(wù)的員工應(yīng)該不超過十個(gè),每年就能做到兩個(gè)億的收入,銷售效率極高。
而國(guó)內(nèi)廠商,現(xiàn)狀都是靠大量的直銷團(tuán)隊(duì),來拉動(dòng)銷售收入,不管人均單產(chǎn)高低,畢竟短期可以讓投資人看到增長(zhǎng)的可能性。
現(xiàn)在國(guó)內(nèi)廠商在生態(tài)伙伴這方面,基本沒有真正開始,有也只是一些幫著走貨的小批發(fā)商,很少有類似埃森哲,漢得信息這種體量的,能幫助客戶做定制化解決方案的合作伙伴。
事實(shí)上,如果你去搜索2016中國(guó)方案商500強(qiáng),會(huì)發(fā)現(xiàn),中國(guó)最多的企業(yè)IT預(yù)算是在方案商這里的。
那為什么國(guó)內(nèi)現(xiàn)在的云廠商都沒打入這些方案商市場(chǎng)?就是因?yàn)闆]有強(qiáng)大的PaaS及公司品牌,方案商的實(shí)施人員根本無法施展。
做PaaS, 做生態(tài),作為一個(gè)范式轉(zhuǎn)換的新興事物,被市場(chǎng)全面接受并普及是需要一個(gè)過程的,我們應(yīng)該要有充分的耐心。
AWS是2006年推向市場(chǎng)的,Netflix是2008年才開始和AWS合作,7年后的2015年才全部遷移到AWS上面。iPhone誕生于2007年,但到了2013年,智能手機(jī)的出貨量才超過功能機(jī)的出貨量。
很多合作伙伴覺得不能依賴其他第三方平臺(tái),這種想法是可以理解的,其實(shí)這是一個(gè)行業(yè)成熟度的問題,想象一下全世界范圍內(nèi)為汽車生產(chǎn)變速箱,發(fā)動(dòng)機(jī)的廠商寥寥無幾,生產(chǎn)CPU的廠商也一只手就數(shù)的過來,大家選擇公有云,其實(shí)也就那么幾個(gè)大廠出品。
因?yàn)椴煌虑樾枰煌娜耍煌慕?jīng)營(yíng)策略,不同的管理方式,一個(gè)企業(yè)什么都做的方式在現(xiàn)代工業(yè)文明里越來越少見。任何一個(gè)事情要做好都需要巨大的投入,如果沒有一個(gè)足夠大的規(guī)模去平攤掉成本,這個(gè)巨大投入就沒有人負(fù)擔(dān)的起。
崔強(qiáng):好,接下來進(jìn)入崔牛會(huì)的讀者提問時(shí)間,關(guān)于PaaS, 我們收集到很多周邊問題。
比如有人認(rèn)為PaaS是需求累積到一定程度倒逼出來的,不可能憑空做出來一個(gè)PaaS。
還有人認(rèn)為PaaS投入巨大,只有Salesforce , Oracle, SAP 這種巨頭才能玩得起,市場(chǎng)上又有很多小公司聲稱自己開發(fā)出來了PaaS。
這些到底如何鑒別,是真是假,是否強(qiáng)大?
李令輝:這些問題確實(shí)很高頻,我也經(jīng)常被問到。
“PaaS是需求累積到一定程度倒逼出來的”這個(gè)說法是相當(dāng)經(jīng)不起推敲的,需求是無限的,而人的生命是有限的,以有限追無限,是不可能成功的。
PaaS的設(shè)計(jì)是來自于對(duì)某一領(lǐng)域可能有的需求的總結(jié)和抽象,不需要窮舉。
在我看來,PaaS更類似于編程語(yǔ)言和操作系統(tǒng),在發(fā)明編程語(yǔ)言的時(shí)候,計(jì)算機(jī)科學(xué)家根本無法想象出今天的無數(shù)種應(yīng)用場(chǎng)景。
如何判斷一個(gè)編程語(yǔ)言的強(qiáng)大性?科學(xué)的方法是判斷它是否圖靈完備,這更像是一種數(shù)學(xué)證明方法,而不是窮舉所有的編程需求。
至于說“PaaS只是巨頭的游戲,小公司沒法參與”,這個(gè)觀點(diǎn)也站不住腳。
在我看來這是典型的因果倒置,是做了PaaS的公司,才成了大公司。Salesforce從創(chuàng)業(yè)開始就在做PaaS, 用他們的話說是要做商業(yè)的操作系統(tǒng),那時(shí)候的Salesforce可是完完全全的小公司。
崔強(qiáng):有一種說法是“PaaS會(huì)有一個(gè)側(cè)重,比如側(cè)重CRM的,側(cè)重HR的,很難有一個(gè)PaaS能各方面都很強(qiáng)大?!痹斐蛇@種區(qū)別的內(nèi)在原因是什么呢?
李令輝:在我看來這種說法有一定道理但是又有點(diǎn)似是而非,這里說的是復(fù)雜度PaaS的那一部分。
我之前做了一個(gè)類比,這個(gè)領(lǐng)域類似于數(shù)據(jù)抽象系統(tǒng)+一門編程語(yǔ)言,數(shù)據(jù)庫(kù)會(huì)對(duì)哪方面的業(yè)務(wù)有所側(cè)重么?編程語(yǔ)言會(huì)明顯傾向于解決某種業(yè)務(wù)么?
要知道從數(shù)據(jù)庫(kù)的角度來看,都是CRUD,編程語(yǔ)言的角度來看,都是讀寫IO,參數(shù)處理,一點(diǎn)點(diǎn)計(jì)算而已。從這個(gè)角度來看,什么業(yè)務(wù)并沒有太大差別。
但是這種提法并不是一點(diǎn)道理也沒有,因?yàn)镻aaS都是在易用性和強(qiáng)大性之間做權(quán)衡,為了更快的交付,PaaS一定會(huì)對(duì)具體要做的業(yè)務(wù)做很多接近的功能支撐,如果一個(gè)公司的在商業(yè)策略上傾斜于一個(gè)領(lǐng)域,當(dāng)然在這個(gè)領(lǐng)域的功能支持上會(huì)增大投入,所以肯定會(huì)在交付上能力上有所區(qū)別。
但是這件事并不是必然的,而是和投入水平相關(guān)。通用的編程平臺(tái)很多,根本不會(huì)有人質(zhì)疑它們的通用性。
崔強(qiáng):有人問PaaS那么重要,為什么Salesforce的PaaS收入還不到總收入的10%?
李令輝:PaaS直接售賣的不多,更多是打包成SaaS后去售賣的,但是透過現(xiàn)象看本質(zhì),你會(huì)發(fā)現(xiàn),如果沒有PaaS來平攤成本,效率是很低的。
另外,對(duì)Salesforce而言,最重要的護(hù)城河是它的生態(tài),單靠Salesforce一家公司直營(yíng),是不可能滿足如此數(shù)量眾多的客戶需求的。而吸引如此眾多的合作伙伴的前提,無疑是PaaS。
就好像QQ其實(shí)長(zhǎng)期都不是騰訊的盈利主力,網(wǎng)游才是,但是QQ的存在,現(xiàn)在是微信,是保證騰訊能夠源源不斷的獲得網(wǎng)游用戶的競(jìng)爭(zhēng)力所在。你不能說這個(gè)不直接賺大錢,就不是公司的核心。
崔強(qiáng):有一種觀點(diǎn)說,凡是到一定規(guī)模的客戶,難免會(huì)自己開發(fā)CRM。你們?cè)趺唇鉀Q客戶的這個(gè)問題?
李令輝:過去確實(shí)有不少中國(guó)企業(yè)傾向于什么事都自己干,這在以前技術(shù)人力成本較低的情況下還好。
企業(yè)客戶第一次做CRM開發(fā)時(shí)大多會(huì)低估難度,找個(gè)外包團(tuán)隊(duì)或在自己技術(shù)團(tuán)隊(duì)里找?guī)讉€(gè)人就開始干了,做出一個(gè)能用的,就先湊合著用。
在今天還帶著這個(gè)慣性來做的,肯定得不償失。專業(yè)的人做專業(yè)的事情,一個(gè)公司不可能有精力把內(nèi)部系統(tǒng)做的和外部系統(tǒng)一樣好,現(xiàn)代社會(huì)肯定是用分工去提高效率的。
剛才提到的例子,過去大多數(shù)公司都自己買車,但是現(xiàn)在大家都改成租車了,因?yàn)樽约吼B(yǎng)車成本高,效率低,就算每個(gè)公司都有車的時(shí)代,也沒有哪個(gè)公司非要自己造車造發(fā)動(dòng)機(jī)吧,你可以理解中國(guó)企業(yè)非要自己干內(nèi)部信息系統(tǒng)的行為基本就等同于為了用車,非要自己造車。
隨著時(shí)代發(fā)展,大家越來越在乎成本和效率,沒有人會(huì)自己養(yǎng)車了,都會(huì)選擇租車,在企業(yè)服務(wù)市場(chǎng),大家都會(huì)選擇租用SaaS,而不是現(xiàn)在自己買機(jī)器,自己雇程序員,項(xiàng)目經(jīng)理,產(chǎn)品經(jīng)理,開發(fā)一個(gè)“用的人比做的人多不了多少”的系統(tǒng)。
算筆簡(jiǎn)單的帳,一個(gè)相對(duì)來說比較復(fù)雜的CRM系統(tǒng)20個(gè)人來做一點(diǎn)也不多,大約4-6個(gè)移動(dòng)端,2-3個(gè)前端,6-10個(gè)后端,1個(gè)項(xiàng)目經(jīng)理,2-3個(gè)測(cè)試,1-2個(gè)產(chǎn)品經(jīng)理,1-2個(gè)UE,這些人一年的所有成本大約500-1000萬,如果一個(gè)團(tuán)隊(duì)經(jīng)過多次迭代,三年才把CRM做到及格,就需要1500-3000萬。
每家公司在自己的領(lǐng)域都要征服星辰大海,但肯定不是每家公司都征服同一片海嘛。
任何行業(yè)的發(fā)展都會(huì)逐步走向更精密的分工及合作,企業(yè)信息化領(lǐng)域也不例外。
美國(guó)的亞馬遜,蘋果,特斯拉,思科采購(gòu)了Salesforce, 國(guó)內(nèi)的金山軟件,TalkingData, 神策采購(gòu)了Salesforce。這些公司都有很強(qiáng)的軟件研發(fā)能力,但在非核心的業(yè)務(wù)系統(tǒng)上,還是會(huì)采購(gòu)專業(yè)的第三方服務(wù)。
國(guó)內(nèi)現(xiàn)在是供應(yīng)方產(chǎn)品技術(shù)能力比較弱,假以時(shí)日,這種現(xiàn)狀肯定會(huì)改變的。