1. 程式人生 > >Elastic 的成功上市:偶然和必然

Elastic 的成功上市:偶然和必然

國慶長假已經結束,該收收心了 , 開工幹活!

假期期間有個公司上市了,首日大漲,市值接近50億美元,又掀起了一波造富運動,這個公司就是Elastic。

作為後端的程式設計師,如果沒有聽說過Elastic及其產品Elasticsearch,實在是太out了。

Elasticsearch誕生的傳奇故事已經廣為流傳,我這裡就不再羅嗦了,還不知道的同學可以移步《搜尋之路:Elasticsearch的誕生》文末部分。

簡單來說,就是一個叫做Shay Banon的失業開發者,想給妻子做一個食譜搜尋引擎,可是有心栽花花不開,無心插柳柳成蔭。食譜搜尋引擎沒做完, 卻建立了一個開源專案Compass,這是2004年。

後來為了應對高效能、實時、分散式搜尋的需求,Shay又重寫了Compass,把它變成了著名的Elasticsearch,這是2010年。

2012年,Shay 成立了商業的公司 Elasticsearch 來對外提供商業的產品和服務。

2014年,成立公司僅僅18月以後,獲得7000萬美金的融資。

2015年,公司名稱從Elasticsearch改為Elastic ,因為公司的主要產品已經從單純的Elasticsearch變為ELK(Elasticsearch ,Logstash和Kibana)。

2018年,成功上市。

從一個Idea開始,形成開源專案Compass, 然後進行功能擴充套件形成Elasticsearch ,創立公司進行商業化運營,成功融資,擴充套件產品線,最後上市。Shay Banon 這個曾經的失業程式設計師,成功地逆襲了。

我們不僅會想到:能不能也像Shay那樣,開發一個工具、開源、成立公司、融資、上市? 走上人生巔峰?

理智的程式設計師都會認為這是很難的,從Elastic的故事中, 我們程式設計師能從中看到什麼東西呢? 它的成功有哪些偶然和必然呢?

 

真正解決痛點問題

我大概2003年左右接觸了Lucene, 一個開源的搜尋類庫,可是其中的很多概念讓人望而生畏,要想在實際的專案中有效地使用起來非常不容易,需要了解很多搜尋的專業知識,這是一個巨大的痛點。

2014年,我接觸到了Elasticsearch ,不禁驚訝於它的簡單,很輕鬆就可以把一個搜尋引擎給搭建起來,並且還是分散式的!底層繁雜的概念都給隱藏了,對外暴露的是簡單而清晰的API,配合直觀的外掛,用起來不要太爽!

有人戲稱“Elasticsearch 圓了很多公司的搜尋夢。” 這也從側面反映了這家公司的巨大價值。

可以說,Elasticsearch 真正地解決了企業內對資料進行搜尋這個痛點問題。

說起來容易,做起來就難了,我們在工作中也會遇到各種各樣的痛點問題,但卻難於提出有效的解決方案。或者已經對痛點問題麻木了,視而不見了。更有甚者,有些人成為了既有利益的維護者,堅決維護現狀,明明存在問題,你想改變都會巨大的阻力。

 

實力和專業

Shay Banon是在一個偶然的機會中開始Elasticsearch的開發的,如果讓我處於Shay Banon的場景下我能把它開發出來嗎? 恐怕要打個問號。

實際上,Shay Banon在開源的搜尋領域工作過很長時間,主要就是基於Lucene, 他本身就一個搜尋領域的專家,當他想對Lucene進行包裝,實現簡單的API,分散式,可擴充套件這些特性的時候,顯得非常自然。

不僅僅是Shay Banon ,Elasticsearch 公司在成立的時候,就有一大批Lucene的專家,如:Simon, Uri Boness, and Martijn Van Groningen, 有這些搜尋專家的助陣,Elasticsearch的成功絕對不是偶然的。

 

簡單好用

Shay Banon 有一個願景,使世界上每個開發人員能夠把搜尋作為基礎設施來解決他們最複雜的需求。

可見“簡單”是非常關鍵的一點,Elasticsearch的安裝、部署和使用,設定多個節點,建立叢集都非常簡單。在開發的時候,程式設計師可以使用多種語言的API,使用HTTP/JSON這樣簡單而標準的介面。

因為簡單好用,自然而然就有很多人自發地幫忙分享,傳播,讓它流行開來。

當然,想把一個軟體設計地簡單好用,沒有強大的洞察力是做不到的。

 

運氣和時間

進入移動網際網路時代以後,使用者產生的資料量暴漲,對海量資料的搜尋、聚合、分析成為各個企業共同面對的問題。

2010年Elasticsearch釋出的時候,正好是趕上了這一波浪潮,有了前面的幾點作為基礎,Elasticsearch想不火都難啊。

但是不要忘記,在此之前,Elasticsearch的前身Compass於2004年就開源了,從2004到2010, 有多少人在使用Compass? 

如果Shay Banon 沒有讓Compass“進化”成一個分散式的、可擴充套件的、通過JSON/HTTP,非Java使用者也可以使用的Elasticsearch ,Compass估計就泯然眾生了。

 

開源

這一點極為重要,沒有開源,很難有這麼多的使用者去使用。更不會有那麼多的程式設計師去貢獻,提交程式碼,修改Bug。 Elasticsearch的發展之路不會這麼順暢,ELK會不會出現也要打個大大的問號了。

Elasticsearch的成功,確實可以給程式設計師不少啟發,和創業一樣, 成功不是偶然的,需要真正解決使用者的問題, 自身強大實力、再加上必不可少的運氣。

嗯,這似乎是個放之四海而皆準的道理。

 

作為程式設計師, 我這裡談論的主要是技術因素,一個產品和公司的成功,商業因素肯定也起到了關鍵性作用,歡迎大家聊聊自己的看法。