アプリケーションファイル&パブリックリソースのセルフホスティング
最もシンプルなオンプレミスオプションでは、アプリケーションファイルをセルフホストできます。Kameleoonアプリケーションファイルは、Kameleoon CDN(デフォルト、SaaSセットアップ)または自身のサーバー/CDNに安全にホストできます。Kameleoonバックオフィスのウェブサイト設定セクションで構成オプションを設定します。次の3つの値から選択できます:セルフホスティングなし、アプリケーションファイルのみセルフホスト、パブリックリソースのみセルフホスト、または完全セルフホスティング(アプリケーションファイルと画像の両方)。Cloudflare CDNまたはFastly CDNを使ったセルフホスティングのガイドを確認してください。適切なセルフホスティングオプションを選択することに加えて、計画されているホスティングURLをテキストフィールドに入力してください。Kameleoonはこの URLを使って正しいインストールスクリプトを生成し、画像のセルフホスティングを行います(詳細は以下を参照)。
アプリケーションファイルのセルフホスティング
Kameleoonアプリケーションファイルを自身のサーバーにホストすることで、Kameleoon CDNで必要な追加のDNSクエリとSSLハンドシェイクを排除し、わずかにパフォーマンス向上を得られます。セキュリティ上の理由でセルフホスティングを選択することもできます。アプリケーションファイルを自身のサーバーから配信することで、内部のセキュリティポリシーへの準拠を確保し、ホスティングサーバーのセキュリティを直接管理できます。 Kameleoonアプリケーションファイルをセルフホストするには、以下の2つのステップに従ってください。- インストールタグにアプリケーションファイルのホスティングURLを指定します。これにより、デフォルトのタグに比べてインストールタグが若干変更されます。
//SITE_CODE.kameleoon.io/engine.jsになります。インストールタグ内のこのURLを自身のURL(例:https://www.customerdomain.com/resources/scripts/engine.js)に変更してください。
- サーバー/CDN上のファイルと、Kameleoonプラットフォームが生成するオリジナルファイルとの同期を実装します。アプリケーションファイルは動的であるため、このステップは必須です。プラットフォーム上で実験やパーソナライゼーションのステータスが変更されたり、構成を変更したりするたびに内容が変わります。
wgetコマンドを実行します。このジョブを5分ごとに実行してください。
これらの手順を完了すると、セルフホストされたアプリケーションファイルでKameleoonプラットフォームを使用できます。
オリジナルファイルの内容のハッシュはAutomation API経由で取得できます。これを使って、コピーされたファイルがオリジナルと一致するかを確認したり、内容が変更されたときにのみ同期をトリガーしたりできます。
例:Kameleoonアプリケーションファイルのセルフホスティング手順
//www.customerdomain.com/resources/scripts/engine.jsを使用しています。以下は同期コマンドの例です。
Kameleoonスクリプトのドメインはプロジェクトごとに異なります。プロジェクトの作成日に応じて
kameleoon.euまたはkameleoon.ioのいずれかが使用されます。プロジェクトのKameleoonアプリで表示されているドメインを使用してください。https://www.customerdomain.com/path/to/kameleoon-iframe.html)もセルフホストする必要があります。詳細についてはサブドメイン間でのセッションデータ統合のドキュメントを確認してください。
画像のセルフホスティング
Kameleoonプラットフォーム経由でアップロードした画像もセルフホストできます。このオプションを選択して画像URLを指定すると、アップロードされた画像の生成URLは自身のサーバーまたはCDNを使用します。アップロードされた画像の標準URLパスはSITE_CODE.kameleoon.io/images/です。KameleoonのCDNがこれらのリソースを配信します。https://server.mydomain.com/path/resources/images/のような別のパスを指定する場合は、CDNを構成して/path/resources/images/を/images/にリライトする必要があります。特定のパスが不要な場合は、標準パスhttps://server.mydomain.com/images/を使用してください。
画像セルフホスティング用に同期メカニズムも使用する必要があります。複数のファイルを考慮する必要があり、アップロードされる画像の正確な名前とURLを事前に知ることはできないため、このプロセスは単一ファイルの同期よりも複雑です。
組み込みのレプリケーションメカニズムを提供するCDN経由でのみ画像セルフホスティングを使用してください。CDNをSITE_CODE.kameleoon.io/images/オリジンURLからリソースを配信するように指定してください。
Kameleoonスクリプトのドメインはプロジェクトごとに異なります。プロジェクトの作成日に応じて
kameleoon.euまたはkameleoon.ioのいずれかが使用されます。プロジェクトのKameleoonアプリで表示されているドメインを使用してください。データストレージ用専用クラスタ
データストレージ用の別個のクラスタは、Webサイトの訪問者向けに収集されたデータを他のKameleoonユーザーから物理的に分離します。このデータは専用の独立したサーバーに保管され、次の利点があります。- セキュリティ:物理的分離は、論理的分離よりも高いレベルのセキュリティを提供します。
- パフォーマンス:専用サーバーにより、ストレージと操作の最適な速度が確保されます。
- 生データアクセス:Kameleoonは基盤となるデータベース(主にClickHouse)への低レベルアクセスを許可しており、データサイエンティストがカスタムクエリを実行できます。
- Kafka(必須):プロデューサーがすべてのデータ収集イベントをKafkaトピックに送信し、ETLアプリケーションで利用できるようにします。
- Hadoop File System(必須):Kameleoonはすべてのデータ収集イベントをHDFSに保管します。Kameleoonはこの生データから訪問を再構築し、他のスケーラブルなデータベースで使用します。HDFSは一次データストアおよび信頼できる情報源として機能します。
- ClickHouse(必須):ClickHouseはKameleoonが分析レポートを作成するために使用するOLAPエンジンです。高度な分析のためにカスタムクエリを実行できます。
- Cassandra(パーソナライゼーションまたはクロスデバイスリコンシリエーションに必須):KameleoonはCassandraを機械学習モデルとクロスデバイス履歴のリコンシリエーションに使用します。
サーバーのセットアップと構成は通常、経験豊富なKameleoonエンジニアが実施します。Kameleoonはこれらの作業を、自身のデータセンター(自社で所有・運用するサーバー)またはKameleoonのデータセンターで実施できます。
| コンポーネント | バージョン | 最小サーバー数 | 最適サーバー数 | 推奨RAM | ストレージタイプ | 備考 |
|---|---|---|---|---|---|---|
| Kafka | 2.3.1 | 2 | 2 | 32 GB | スピニングディスク(8TB+) | Confluent v5.3.1 |
| HDFS | 2.9.1 | 2 | 2 | 32 GB | スピニングディスク(8TB+) | レプリケーションのために2台のサーバーが必要 |
| ClickHouse | 22.3.3 | 1 | 2 | 64 GB | SSD推奨 | |
| Cassandra | 4.0.1 | 1 | 2 | 32 GB | SSD必須 |
A/Bテストのみの場合、最小構成は5台のサーバー(推奨6台)です。パーソナライゼーションの場合、最小構成は6台のサーバー(推奨8台)です。
完全オンプレミスモデル(分離されたバックオフィス、データストレージクラスタ、アプリケーションファイルホスティング)
このシナリオでは、Kameleoonプラットフォームのすべてのコンポーネントおよびすべての機能をITエコシステム内にホストします。これにより、VPN経由で企業ワークステーションへのアクセスを制限するなど、カスタムセキュリティポリシーを実装できます。 バックオフィスアプリケーションはTomcat JEEサーバーで実行され、ActiveMQを介して通信するいくつかのスタンドアロンJavaアプリケーションを使用します。Kameleoonは、バックオフィス用のリレーショナルデータベースとしてMySQLを使用し、ブラウザからのデータイベントを収集するための高性能HTTPサーバーとしてnginxを使用します。 専用データパイプラインおよびバックオフィスのサーバー要件を確認してください。| コンポーネント | バージョン | 最小サーバー数 | 最適サーバー数 | 推奨RAM | ストレージタイプ | 備考 |
|---|---|---|---|---|---|---|
| JDK/Tomcat/ActiveMQ | 1.8/8.0.47/5.14.5 | 1 | 1 | 32 GB | SSD推奨 | スタンドアロンJavaアプリケーションは同一サーバーに配置 |
| MySQL | 8.0.21 | 1 | 1 | 32 GB | SSD推奨 | |
| nginx | 1.20.1 | 1 | 2 | 32 GB | スピニングディスク | 独自のJavaログ解析アプリケーションを含む |
MySQLサーバーはTomcat JEEサーバーと同一サーバーに配置できますが、Kameleoonは、セキュリティとパフォーマンス上の理由から、明示されている場合を除き同一配置を避けることを推奨します。
A/Bテストの場合、最小構成は9台のサーバー(推奨11台)です。パーソナライゼーションの場合、最小構成は10台のサーバー(推奨13台)です。これらの数を計算するには、表を合計し、アプリケーションファイルホスティング用に1台追加します(CDNを使用する場合は1台減算)。