天天看點

Salesforce CEO:Ruby是下一代雲計算的語言

Salesforce CEO:Ruby是下一代雲計算的語言

美國時間12月8日,著名企業雲計算平台廠商Salesforce宣布以近2.12億美元現金收購Heroku。這是一個有些驚人的消息,顯示了Salesforce CEO Marc Benioff對雲計算的遠見和決心。

Heroku由三位資深程式員James Lindenbaum, Adam Wiggins和Orion Henry創辦于2007年,是較早的雲計算公司之一,以專門為Ruby應用軟體提供支援著稱(最近也開始支援Node.js)。他們的理念是讓開發人員專注于11月剛與Facebook達成合作協定。目前有10萬以上的移動和社會化應用使用他們的平台,包括大公司和創業公司,而且每月都有數千新使用者。Heroku位于舊金山,員工隻有約30人。

3年,30人,價值2億多美金,憑什麼呢?聽聽Marc Benioff的解釋吧:“雲計算的下一個時代,我稱之為Cloud 2,将屬于移動、社會化和實時。而Ruby是Cloud 2的語言,Heroku是領先的Cloud 2 Ruby PaaS平台。這一并購将使Salesforce成為下一代應用程式員的基石。”

而Heroku創始人James Lindenbaum則在名為“The Next Level”(更上一層樓)的部落格中顯示了更大的雄心:“如果企業級軟體的開發能像靈活的Ruby應用一樣,世界将會怎樣?如果大公司也能接受Heroku和Ruby社群的理念,世界将會怎樣?” 顯然,他希望将網際網路的靈活通過Salesforce帶入企業級開發。此外,他在文中也确認Heroku被收購後運作仍然獨立,而且與Amazon Web Services的合作關系不會受到影響。

該公司網站今年4月曾給出流量的增長圖,的确驚人。看來在美國雲計算的采用非常迅速。 

Salesforce CEO:Ruby是下一代雲計算的語言

Heroku的平台架構和使用者體驗都做得比較出色。使用者體驗方面,在工作流程、界面的很多細節都考慮得非常周到,實踐了他們自己宣稱的“讓使用者的開發人員100%精力都放在自己的應用代碼上”的理念。而架構方面各種元件都經過了精心選擇或者設計,從下圖(推薦看該公司網站原圖,設計非常精緻)中可以看到:

  1. 1. HTTP反向代理使用Nginx
  2. 2. HTTP緩存使用Varnish
  3. 3. 路由網(Routing Mesh)用Erlang編寫
  4. 4. Dyno網格提供了很好的擴充性(dyno是運作Ruby代碼的單一程序,運作在網格中的某個伺服器上,每個dyno都是獨立的,包含所有層次的資源)
  5. 5. SQL資料庫選用PostgreSQL,也可以通過add-on方式選擇其他方案,包括用Amazon RDS支援MySQL, 也支援MongoDB、Redis、CouchDB等
  6. 6. 當然,也少不了memcached
Salesforce CEO:Ruby是下一代雲計算的語言

下面這幅Dyno架構圖給出了系統的更多細節:

  1. 1. 作業系統用的是Debian
  2. 2. Ruby虛拟機用MRI
  3. 3. 應用伺服器是基于Mongrel改寫的Thin
  4. 4. Web伺服器接口用Rack
  5. 5. 中間件是可選的,可以用Rack中間件,也可以用Rails Metal
  6. 6. 架構方面,應用推薦選擇Rails,輕量服務用Sinatra
Salesforce CEO:Ruby是下一代雲計算的語言

最後,代碼的部署與Git完全相同。使用者push代碼時,平台會将代碼編譯成獨立的包含所有依賴關系的隻讀版本(成為slug),可以随時釋出。編譯過程還會檢查程式是否可以啟動,如果不行将拒絕通過。對應用的管理選項非常完整,提供REST接口。

Salesforce CEO:Ruby是下一代雲計算的語言

繼續閱讀