Javaで動くアプリケーションをサポートするというHerokuの発表に続いて、New RelicはJavaアプリケーションを動かすHerokuのカスタマー向けに、自社のサービスを利用可能にした。彼らの製品はHerokuと密にインテグレーションされており、HerokuコンソールからNew Relicパフォーマンスデータを閲覧することができる。無料のスタンダード版とdyno hour当たり$0.06のプロフェッショナル向けサブスクリプション版の2つのバージョンが提供される(dynoとは「Herokuプラットフォームで動作する任意のシングルプロセス」としてHerokuが定義した基準)。積極的なアラートや長期のデータ保持だけでなく、プロフェッショナル版は開発者にさらに綿密なトランザクションの可視化のための仕組みを提供し、問題分析をコードレベルまで掘り下げることを可能にする。例えば、開発者はSQL文を見ながら、レスポンス時間閾値を超えた特定エンドユーザのトランザクションプランを説明することができる。マーケティングディレクターのJohn Essex氏はInfoQにこう語った。
言い換えれば、スタンダード版を使うと、これまで使われてきたグラフやチャートという形式で、Webトランザクションのサマリーデータ(例えば「カートへのアイテム配置のための平均レスポンス時間、スループット、エラーレートなど)を利用したトランザクション分析ができます。しかし、プロフェッショナル版を使うと、さらにデータを得ることができ、個々のカスタマーのトランザクションまでコードレベルで掘り下げて分析できるのです。
Herokuはマルチ言語対応のPaaSを2007年後半にローンチして、現在はSalesforce.comがオーナーとなって。近頃Javaをサポート言語に追加した。GoogleのApp EngineやVMwareのCloud Foundryと同様、Herokuはアプリケーションを構築、デプロイ、スケーリングするためのオンラインサービスを提供する。もともとはRubyしかサポートしていなかったが、以後サポートを広げ、node.js、JVMベースのClojure、そして今ではJavaをサポートしている。
Herokuは組み込みサーブレットコンテナとしてJettyを使うことで、完全なJava EEスタックのサポートを捨てて、シンプルなサーブレットベースのアプローチをとっている。ベータをアナウンスしたHerokuのブログ記事では、ロギング、サービスバインディング、水平方向へのスケーリングといった従来のJava EEアプリケーションサーバで提供されるサービスの大部分はHerokuプラットフォームによって提供され、これらのサービスが言語中立であるという利点もあると主張している。
デプロイメント、ロギング、スケーリングのためのテクニックは言語によらず、どんなアプリケーションのデプロイメントにも使えます。共通のデプロイメントインフラがあるということは、シンタックスやライブラリだけを問題とした言語選択というものをなくします。アプリとインフラの結合をなくすことで、その仕事にあった言語選択を可能にするのです。
サーブレットベースのアプローチは、これまで利用可能なJava PaaSひとつを除いて、すべてによって使われている。その例外とは、Red HatのOpenShiftであり、これはJBoss AS 7を使ってJava EE 6をサポートしている。
New Relicの創業者でCEOのLewis Cirne氏は、New Relicは間違いなくHerokuで利用可能な最も人気のあるプラグインであると語っている。Essex氏はこう加えた。
Herokuとのパートナーシップによって、私たちは15,000サインアップを獲得しています。Javaについては、30サインアップを獲得したところです。HerokuにおけるJavaサポートの発表からまだ1週間であることを考えると、そうわるい数字ではありません。
Herokuアドオンだけでなく、New RelicはAcquia、Amazon、CloudBees、Engine Yard、Joyent、Rackspaceといった数多くのPaaS企業と提携している。データセンターにインストールしたり従来型のホスティングプロバイダ経由で利用できるスタンドアローン版も提供している。スタンドアローン製品は現在、Ruby、Java、PHP、そしてC#、VB.NET、C++/CLIのような.NET 2.0以上に準拠した言語をサポートしている。彼らはPythonサポートにも取り組んでおり、ベータ版が利用可能になっている。Cirne氏はこう語った。
これら各言語に対して、私たちはWebアプリケーションサーバプロセス内部で動作し、ページレンダリング時間、データベースに費やされる時間、memcache呼び出しに費やされる時間など、プロセス内部の重要なメソッドのパフォーマンスを測定するエージェントを書いています。エージェントは非常に低いオーバーヘッドで24時間動作し、診断データをNew Relicサービスにレポートします。New Relicのカスタマーは私たちのSaaSアプリケーションにログインして、アプリケーションのパフォーマンスを分析し、ホットスポット、ボトルネック、プロダクションエラー、スケーリング問題などを特定することができます。New Relicは無料でリアルユーザモニタリングも提供します。これはコア製品に統合されており、小さなJavaScriptライブラリによってブラウザのページレンダリング時間を測定することで、実際の顧客体験を測定しています。これはGoogle Analyticsと似ていますが、リアルタイムのパフォーマンスにフォーカスしています。New Relic BasicやProの一部として、無料で利用可能です。
基本的な言語サポートに加えて、さまざまなフレームワークもサポートしている。
- Ruby: Rails、Sinatra
- Java: Spring、Grails、Struts、Java EEアプリサーバ/Servletコンテナ: Tomcat、Jetty、GlassFish、WebLogic、WebSphere
- PHP: Drupal、WordPress、CakePHP
- .NET: 標準Microsoft .NETスタック
- Python: Django、Cirne氏によれば他にもある
スタンドアローン製品は無料から12か月のサブスクリプションによる$149/サーバ/月まで、4つのバージョンで提供されている。ボリュームディスカウントも提供されている。