Auto-hébergement du fichier d’application et des ressources publiques
L’option on-premises la plus simple vous permet d’auto-héberger le fichier d’application. Vous pouvez héberger en toute sécurité le fichier d’application Kameleoon sur le CDN Kameleoon (par défaut, configuration SaaS) ou sur vos propres serveurs ou CDN. Définissez l’option de configuration dans le back-office Kameleoon dans la section de configuration du site web. Vous pouvez choisir parmi trois valeurs : pas d’auto-hébergement, auto-hébergement uniquement du fichier d’application, auto-hébergement uniquement des ressources publiques, ou auto-hébergement complet (à la fois fichier d’application et images). Consultez les guides pour l’auto-hébergement avec Cloudflare CDN ou Fastly CDN.En plus de choisir la bonne option d’auto-hébergement, fournissez l’URL d’hébergement prévue dans le champ texte. Kameleoon utilise cette URL pour générer un script d’installation correct et pour auto-héberger les images (voir les détails ci-dessous).
Auto-hébergement du fichier d’application
Héberger le fichier d’application Kameleoon sur vos propres serveurs peut fournir un léger gain de performance en supprimant la requête DNS et la poignée SSL supplémentaires requises par le CDN Kameleoon. Vous pouvez également choisir l’auto-hébergement pour des raisons de sécurité. Si vous servez le fichier d’application depuis vos propres serveurs, vous pouvez garantir la conformité avec les politiques de sécurité internes et gérer directement la sécurité des serveurs d’hébergement. Pour auto-héberger le fichier d’application Kameleoon, suivez ces deux étapes :- Fournissez l’URL d’hébergement du fichier d’application dans le tag d’installation. Cela donne un tag d’installation légèrement modifié par rapport aux tags par défaut.
//SITE_CODE.kameleoon.io/engine.js. Modifiez cette URL dans le tag d’installation pour la remplacer par votre propre URL (par exemple, https://www.customerdomain.com/resources/scripts/engine.js).
- Implémentez la synchronisation entre le fichier sur vos serveurs ou CDN et le fichier d’origine généré par la plateforme Kameleoon. Cette étape est obligatoire car le fichier d’application est dynamique ; son contenu change chaque fois que le statut d’une expérience ou personnalisation change sur la plateforme ou lorsque vous modifiez la configuration.
wget pour récupérer le fichier. Exécutez cette tâche toutes les 5 minutes.
Une fois ces étapes terminées, vous pouvez utiliser la plateforme Kameleoon avec un fichier d’application auto-hébergé.
Vous pouvez obtenir un hash du contenu du fichier d’origine via l’API d’automatisation. Utilisez-le pour vérifier que le fichier copié correspond à l’original ou pour déclencher la synchronisation uniquement lorsque le contenu change.
Exemple : Instructions pour l’auto-hébergement du fichier d’application Kameleoon
//www.customerdomain.com/resources/scripts/engine.js. Vous trouverez ci-dessous des exemples de commandes de synchronisation.
Les domaines des scripts Kameleoon varient selon le projet. Les projets utilisent soit
kameleoon.eu soit kameleoon.io selon leur date de création. Utilisez le domaine affiché dans l’application Kameleoon pour votre projet.https://www.customerdomain.com/path/to/kameleoon-iframe.html). Consultez la documentation Unifier les données de session entre sous-domaines pour plus de détails.
Auto-hébergement des images
Vous pouvez également auto-héberger les images téléchargées via la plateforme Kameleoon. Si vous choisissez cette option et fournissez une URL d’image, les URL générées pour les images téléchargées utilisent votre serveur ou CDN. Le chemin URL standard pour les images téléchargées estSITE_CODE.kameleoon.io/images/. Le CDN de Kameleoon sert ces ressources. Si vous spécifiez un chemin différent, tel que https://server.mydomain.com/path/resources/images/, vous devez configurer votre CDN pour réécrire /path/resources/images/ en /images/. Si vous n’avez pas besoin d’un chemin spécifique, utilisez le chemin standard : https://server.mydomain.com/images/.
Vous devez également utiliser un mécanisme de synchronisation pour l’auto-hébergement des images. Ce processus est plus complexe que la synchronisation d’un seul fichier car vous devez prendre en compte plusieurs fichiers et vous ne pouvez pas connaître à l’avance les noms et URL exacts des images téléchargées.
N’utilisez l’auto-hébergement d’images que via un CDN qui fournit un mécanisme de réplication intégré. Pointez votre CDN pour servir les ressources depuis l’URL d’origine SITE_CODE.kameleoon.io/images/.
Les domaines des scripts Kameleoon varient selon le projet. Les projets utilisent soit
kameleoon.eu soit kameleoon.io selon leur date de création. Utilisez le domaine affiché dans l’application Kameleoon pour votre projet.Clusters dédiés pour le stockage des données
Un cluster séparé pour le stockage des données sépare physiquement les données collectées pour les visiteurs sur votre site web des autres utilisateurs Kameleoon. Ces données résident sur des serveurs dédiés et séparés, et offrent les avantages suivants :- Sécurité : La séparation physique offre un niveau de sécurité plus élevé que la séparation logique.
- Performance : Les serveurs dédiés garantissent une vitesse optimale pour le stockage et les opérations.
- Accès aux données brutes : Kameleoon autorise un accès de bas niveau aux bases de données sous-jacentes (principalement ClickHouse), permettant à vos data scientists d’exécuter des requêtes personnalisées.
- Kafka (obligatoire) : Les producteurs envoient tous les événements de collecte de données aux topics Kafka, les rendant disponibles aux applications ETL.
- Hadoop File System (obligatoire) : Kameleoon stocke tous les événements de collecte de données dans HDFS. Kameleoon reconstruit les visites à partir de ces données brutes pour les utiliser dans d’autres bases de données scalables. HDFS sert de datastore principal et de source de vérité.
- ClickHouse (obligatoire) : ClickHouse est le moteur OLAP que Kameleoon utilise pour créer des rapports analytiques. Vous pouvez exécuter des requêtes personnalisées pour des analyses avancées.
- Cassandra (requis pour la personnalisation ou la réconciliation cross-device) : Kameleoon utilise Cassandra pour les modèles d’apprentissage automatique et la réconciliation cross-device de l’historique.
Des ingénieurs Kameleoon expérimentés effectuent généralement la configuration et le paramétrage des serveurs. Kameleoon peut effectuer ces opérations sur votre centre de données (serveurs que vous possédez et exploitez) ou sur les centres de données de Kameleoon.
| Composant | Version | Serveurs minimaux | Serveurs optimaux | RAM recommandée | Type de stockage | Remarques |
|---|---|---|---|---|---|---|
| Kafka | 2.3.1 | 2 | 2 | 32 Go | Disques mécaniques (8 To+) | Confluent v5.3.1 |
| HDFS | 2.9.1 | 2 | 2 | 32 Go | Disques mécaniques (8 To+) | Nécessite 2 serveurs pour la réplication |
| ClickHouse | 22.3.3 | 1 | 2 | 64 Go | SSD recommandé | |
| Cassandra | 4.0.1 | 1 | 2 | 32 Go | SSD obligatoire |
Pour l’A/B test uniquement, utilisez une configuration minimale de 5 serveurs (6 recommandés). Pour la personnalisation, utilisez une configuration minimale de 6 serveurs (8 recommandés).
Modèle on-premises complet (back-office séparé, cluster de stockage de données et hébergement du fichier d’application)
Dans ce scénario, vous hébergez tous les composants et fonctionnalités de la plateforme Kameleoon sur votre écosystème informatique. Cela vous permet d’implémenter des politiques de sécurité personnalisées, telles que la restriction de l’accès aux postes de travail d’entreprise via VPN. L’application Back-Office s’exécute sur un serveur Tomcat JEE et utilise plusieurs applications Java autonomes qui communiquent via ActiveMQ. Kameleoon utilise MySQL comme base de données relationnelle pour le back-office et nginx comme serveur HTTP haute performance pour collecter les événements de données des navigateurs. Examinez les exigences de serveur pour le pipeline de données dédié et le back-office :| Composant | Version | Serveurs minimaux | Serveurs optimaux | RAM recommandée | Type de stockage | Remarques |
|---|---|---|---|---|---|---|
| JDK/Tomcat/ActiveMQ | 1.8/8.0.47/5.14.5 | 1 | 1 | 32 Go | SSD recommandé | Les applications Java autonomes sont colocalisées |
| MySQL | 8.0.21 | 1 | 1 | 32 Go | SSD recommandé | |
| nginx | 1.20.1 | 1 | 2 | 32 Go | Disques mécaniques | Inclut une application Java propriétaire d’analyse de logs |
Vous pouvez colocaliser le serveur MySQL avec le serveur Tomcat JEE, mais Kameleoon recommande d’éviter la colocalisation sauf indication contraire, pour des raisons de sécurité et de performance.
Pour l’A/B test, utilisez une configuration minimale de 9 serveurs (11 recommandés). Pour la personnalisation, utilisez une configuration minimale de 10 serveurs (13 recommandés). Calculez ces nombres en additionnant les tableaux et en ajoutant un serveur pour l’hébergement du fichier d’application (en soustrayant un si vous utilisez un CDN).