Heroku聲明現(xiàn)在支持Java應(yīng)用,緊隨其后的是New Relic,他們聲明:運(yùn)行Java應(yīng)用的Heroku客戶將可使用他們的服務(wù)。這個(gè)產(chǎn)品與Heroku緊密整合,客戶可以用其在Heroku控制臺中看到New Relic的性能數(shù)據(jù)。該產(chǎn)品提供兩個(gè)版本,一個(gè)是免費(fèi)的標(biāo)準(zhǔn)版,一個(gè)是職業(yè)版訂閱服務(wù),目前價(jià)格為每dyno小時(shí)0.06美分。(dyno是Heroku的一個(gè)度量標(biāo)準(zhǔn),定義為“在Heroku平臺上運(yùn)行的、任何類型的單一進(jìn)程”。)除主動報(bào)警和更長的數(shù)據(jù)保存期之外,職業(yè)版還提供一種機(jī)制,讓開發(fā)人員可以深入到事務(wù)層面的細(xì)節(jié),讓他們可以鉆到代碼層面,診斷問題。比如:開發(fā)人員可以看到SQL語句,對于超過響應(yīng)時(shí)間閾值的特定用戶事務(wù),還可以看到其執(zhí)行計(jì)劃。市場總監(jiān)John Essex告訴InfoQ:
換句話說,使用標(biāo)準(zhǔn)版,你可以看到事務(wù)分析,以當(dāng)前和歷史數(shù)據(jù)圖表的形式,針對不同類型的web事務(wù)展示整體數(shù)據(jù)(平均響應(yīng)時(shí)間、吞吐量、錯(cuò)誤率等等,比如針對‘將商品放入購物車’功能)。但是使用職業(yè)版,你可以進(jìn)一步深入,在代碼層面上,鉆入到單個(gè)客戶的交易事務(wù)。
Heroku是在2007年后期上線的多語言PaaS平臺,目前被Salesforce.com收購,它最近對Java作為第一級語言予以支持。類似于Google的App Engine或VMware的Cloud Foundry,Heroku提供構(gòu)建、部署和擴(kuò)展應(yīng)用的在線服務(wù)。它最開始僅僅支持Ruby,后來擴(kuò)展到覆蓋node.js、基于JVM的Clojure,現(xiàn)在是Java。
Heroku的Java服務(wù)拋棄了完整的Java EE軟件棧,使用更簡單的基于servlet的方式,以Jetty作為內(nèi)置的Servlet容器。在發(fā)布beta版的那篇博客中,Heroku提出:傳統(tǒng)Java EE應(yīng)用服務(wù)器提供的很多服務(wù),包括日志、服務(wù)綁定和水平擴(kuò)展,Heroku平臺都已經(jīng)提供,額外的好處是:這些服務(wù)是語言中立的。
不管使用什么語言,部署、日志、擴(kuò)展相關(guān)的技術(shù)對于所有應(yīng)用的部署都適用。使用通用的部署基礎(chǔ)設(shè)施,對編程語言的選擇變?yōu)橹灰紤]語法和庫就可以了。降低應(yīng)用和基礎(chǔ)設(shè)施之間的耦合,使得人們可以針對不同的工作選擇不同的語言。
所有人都在用基于servlet的方式,但是目前只是諸多Java PaaS服務(wù)中的一種。RedHat的OpenShift是個(gè)例外,他們使用自己的JBoss AS 7來提供Java EE 6支持。
New Relic的創(chuàng)始人和CEO Lewis Cirne告訴我們:New Relic“目前是Heroku上使用最廣泛的插件。”Essex補(bǔ)充道:
在我們與Heroku合作的這段時(shí)間里,通過他們,我們獲得了1萬5千個(gè)用戶注冊。Java這塊,我們已經(jīng)有30個(gè)用戶注冊,考慮到我們一周前剛剛發(fā)布對Java的支持,這還挺不錯(cuò)的!
除Heroku的插件外,New Relic還與其他多個(gè)平臺有合作關(guān)系,包括Acquia、Amazon、CloudBees、Engine Yard、Joyent和Rackspace。他們也提供獨(dú)立版的產(chǎn)品,可以安裝在一個(gè)數(shù)據(jù)中心中,或是通過常規(guī)的托管提供商。獨(dú)立版產(chǎn)品目前支持Ruby、Java、PHP和任何.NET 2.0以及以上兼容版本的開發(fā)語言,比如C#、VB.NET和C++/CLI。對Python的支持目前正在研發(fā)中,beta版本已經(jīng)可用。Cirne告訴我們:
對于這些語言,我們已經(jīng)開發(fā)了一個(gè)代理,運(yùn)行在web應(yīng)用服務(wù)器進(jìn)程之中,并測量進(jìn)程內(nèi)關(guān)鍵方法的性能,比如頁面呈現(xiàn)實(shí)現(xiàn)、數(shù)據(jù)庫占用時(shí)間、memcache調(diào)用時(shí)間等等。這個(gè)代理對資源消耗很低,7x24方式運(yùn)行,并將診斷數(shù)據(jù)報(bào)告回New Relic的服務(wù)。New Relic的客戶可以登錄到我們的SaaS應(yīng)用,分析他們應(yīng)用的性能,識別熱點(diǎn)、瓶頸、產(chǎn)品錯(cuò)誤和擴(kuò)展方面的問題。
New Relic還提供免費(fèi)的“實(shí)時(shí)用戶監(jiān)控”,集成在我們的核心產(chǎn)品之中,它使用一個(gè)小JavaScript庫,測量瀏覽頁面呈現(xiàn)時(shí)間,并以此測量真實(shí)客戶的體驗(yàn)。它的運(yùn)行方式與Google Analytics類似,但是重點(diǎn)關(guān)注實(shí)時(shí)性能。作為New Relic基本版和職業(yè)版的一部分,它是免費(fèi)提供的。
除了基本的語言支持之外,產(chǎn)品還包括對多種框架的支持,包括:
Ruby:Rails、Sinatra
Java:Spring、Grails、Struts、Java EE;應(yīng)用服務(wù)器和Servlet容器:Tomcat、Jetty、GlassFish、WebLogic、WebSphere
PHP:Drupal、WordPress、CakePHP
.NET:標(biāo)準(zhǔn)的微軟.NET軟件棧
Python:Django,Cirne指出后續(xù)會有更多支持
獨(dú)立版產(chǎn)品提供四個(gè)版本,價(jià)格從免費(fèi)到149美元每服務(wù)器每月,并從12個(gè)月起訂閱。批量購買也有折扣。