出典について
この記事はInfluxData BlogのPaul Dix氏によるUpdate on InfluxDB Clustering, High-Availability and Monetization(2016/3/10)を翻訳したものです。
「InfluxData社はどのようにお金を稼ぐのか?」これはInfluxDBのプロジェクトを発展させ、InfluxData社や関連会社を設立する過程で何度も質問されてきたことです。現在では、クラウド上でのサービスを提供しており、これはInfluxDBのマネージドプラットフォームで、SLAつきで、かつ専門家によるサービスが受けられるサポートを提供しています。
過去2, 3ヶ月にわたり、他のオープンソースベンダーと会話を重ね、様々なオープンソースのマネタイズモデルを検討してきました。ディスカッションの結果、サポートだけでは全てをオープンソースのままに保つには存続可能なモデルではないことがわかりました。継続的にオープンソースのプロジェクトに重要なコントリビューションを重ねたとしても、顧客は自身のインフラが成熟するとともに最終的にサポートを打ち切り、運用コストを下げようとするように思われます。
管理およびモニタリングなどのプロダクション用途に対するクローズドソースのツールを作ることも検討しました。これらのツールは大いにお金を稼げるものではなく、かつ他のモニタリングベンダーやホスティング会社の影響を受けやすいことがわかりました。ホスティングプロバイダーは、我々のオープンソースソフトウェア のフルマネージドなソリューションを提供し、ユーザーが商用のツール、サポートおよび我々のクラウド上のサービスを利用しなくて良いようにしており、既に大きな脅威となっています。過去6ヶ月にわたってAWSは彼らの基盤上でマネージドなElasticsearchを立ち上げました。時間が経てばElastic社がプロダクトの全体像という観点からどのような対応をとるかがわかりますが、Amazon社は改善を続け、積極的に彼らのサービス提供でマネタイズするであろうことは疑いの余地がありません。
我々はオープンソースにコミットする一方で、ビジネスが必要であるという現実についても無視することはできません。我々は開発者の方々がInfluxDBプロジェクトを前に推し進め続けられるようにする必要があります。結論として、我々は将来のクラスタリング機能はクローズドソースソフトウェアとして作っていくことを決断しました。オープンソースのInfluxDBのこれからのバージョンは、スタンドアロンサーバーとしてうまく動作することに焦点をあてていきます。クラスタリングと高可用の機能はInflux Enterpriseの一部として利用可能となる予定で、これは数ヶ月以内に利用可能となる予定です。
我々のユーザーおよびファンの一部の方が、本件について驚かれるであろうことは承知しております。我々は過去2年半にわたってInfluxDBをオープンにした状態で開発を続け、その間にもクラスタリングに関していくつものバージョンをリリースしてきました。しかしながら、InfluxDBのコミュニティーとそれをサポートする会社の両者にとって最善なのは、早期に営利化し、より積極的にオープンソースのInfluxDBに大きなコントリビューションを確実に続けられるようにすることであると考えました。我々のクラスタリング機能のオープンソースとしての機能追加に期待いただいていた皆さんに対しては、失望させることとなり申し訳なく思います。
次週、我々は0.11.0リリースの最初のリリース候補版を公開予定です。このリリースはクエリエンジンおよびクラスタリングのコード基盤についての大きな改良が含まれていますが、これはクラスタリング機能が含まれる最後のオープンソースのバージョンとなる予定です。4月には、0.12.0のリリースを予定しており、これは完全にオープンソースで、素晴らしい新機能を追加しますが、スタンドアローンのInfluxDBサーバーに焦点を当てたものとなります。これらの両者とも現在の安定版である0.10.3の当座の代替となるでしょう。
フリーのオープンソースの選択肢をお探しのユーザー向けには、InfluxDB Relayプロジェクトを、純粋なオープンソースと0.12.0およびそれ以降のバージョンのサブスクリプションオプションを利用してどのように高可用を達成すれば良いかを記載したランディングページと共にリリースします。その時点から、我々はクラスタリング機能については、クローズドソースのInflux Enterpriseでの提供向けに注力することになります。
この分割のゴールは、フリーで利用可能な純粋なオープンソースソフトウェアと、販売目的のクローズドソースソフトウェアに明確な線引きをすることでした。我々は大多数のユーザー基盤に対しオープンソースを通して貢献しつつ、割合の少ないより大きなスケールで運用する企業やユーザー向けにマネタイズすることを考えています。
これは我々が容易にできる決断ではありません。現在のユーザー基盤をみたところ、世界にはInfluxDBの数千の組織およびユーザーがおり、クラスター機能を利用しているのは1%の1/2以下でした。これは我々がコミュニティーに対してクラスタリング機能は商用用途の準備ができておらず(not production-ready)、テスト用途限定である、と伝えてきたからであると考えられます。
しかしながら、依然として世界中で数千の組織でInfluxDBが利用されており、ユーザーはクラスタリングなしでもその恩恵を受けています。我々がこれからの数ヶ月および数年でオープンソース版のリリースで提供する付加価値は、TSMストレージエンジン、新しいクエリエンジン、クエリ関数の拡張に関するオープンソースコードの改良となります。
ここで、我々が機能制限付きの試用版ソフトウェアを公開するのか、という質問が発生します。私が話した何人かの人は、クラスタリングはどんなオープンソースのデータベースにとっても"テーブルステークス"(※訳注 ポーカー用語。 Table stakesも参照)であると考えていました。我々の現在のユーザー基盤を考えると、これには当てはまらないと考えます。確かに、CassandraやRiakのようなオープンソースのクラスタリングをフリーで提供しているようなデータベースもありますが、これらのデータベースは分散/クラスター構成以外で利用されることはほとんどありません。
InfluxDBはクラスタリング機能がなくても、時系列データのユースケースにおいてはスタンドアローンサーバーとして十分魅力があります。単一サーバーで1日に10億を超える値を保存しているユーザーもいますし、オープンソースプラットフォームでのデータ保存のスループットは時とともに増えると期待されます。今日では数千のスタンドアローンのInfluxDBサーバーが商用で稼働しています。我々が取り組んできた機能の数々を見てみれば、その数は大きく増えると期待できます。
ここに、我々が直近6ヶ月間でオープンソースのInfluxDBを直接開発する予定の項目のいくつかご紹介します。
- クエリエンジンの改良。大幅な性能向上および、多くのメモリを食いつぶすクエリ(OOMバグ)の修正をします。
- クエリ関数の追加。移動平均、時間ベースの結合、ヒストグラム、シリーズをまたがった変換など。
- クエリ管理機能。長期間実行されているあるいは誤って実行されたクエリーをkillします。
- 単一サーバーにおける数十億の一時的なシリーズのサポート。これはディスク上あるいはメモリ上のメジャメントおよびタグへのインデックスです。
- 地理空間上のクエリー
過去2年間そうであったように、我々はスタンドアローンのInfluxDBのコードをオープンな状態でMITライセンスの元で開発し続けます。世界で最高のオープンソースの時系列データベースを作るというゴールは何ら変わっていません。
現在および将来のお客様に対して、我々はクラスタリングと高可用の機能を、我々のマネージドホスティングサービスであるInflux Cloud上、および数ヶ月以内に提供予定のオンプレミス版のInflux Enterpriseで提供予定です。オンプレミスでは基本的な高可用なクラスタリングを開発者のサポート込みで月$399で提供予定です。非営利組織、学術機関およびその他の組織に対してフリーあるいは大幅な値引きをしたものを提供することも考えています。
Influx EnterpriseおよびInflux Enterprise上でのクラスタリングは、オンプレミス版をバイナリーで提供できるまではInflux Cloudを通じてデプロイされる予定です。これによって我々がクラスタリングを素早く繰り返し適用し、制御下にある環境に対し1日で複数のデプロイをおこなう事ができるようになります。クラウド上でご利用のお客様にとっては、どんな問題の修正も素早く行われるようになり、一方で将来のオンプレミスのお客様にとっては商用の利用で鍛えられ強固になったバイナリーを利用できるようになることになります。
ご意見、疑問、心配の点がありましたらお気軽にpaul@influxdb.com宛に個人的にメールを送ってください。我々はこのプロジェクトが長く続き、魅力のあるフリーオープンソースソフトウェアとなるよう改良を続けるように全力を尽くします。