Self-hosting del archivo de aplicación y de los recursos públicos
La opción on-premises más sencilla le permite alojar usted mismo el archivo de aplicación. Puede alojar de forma segura el archivo de aplicación de Kameleoon en el CDN de Kameleoon (predeterminado, configuración SaaS) o en sus propios servidores o CDN. Configure la opción en el back-office de Kameleoon, en la sección de configuración del sitio web. Puede elegir entre tres valores: sin self-hosting, self-host solo del archivo de aplicación, self-host solo de los recursos públicos, o self-hosting completo (tanto el archivo de aplicación como las imágenes). Revise las guías para el self-hosting con Cloudflare CDN o Fastly CDN.Además de elegir la opción correcta de self-hosting, proporcione la URL de alojamiento prevista en el campo de texto. Kameleoon utiliza esta URL para generar un script de instalación correcto y para alojar las imágenes en self-hosting (ver detalles a continuación).
Self-hosting del archivo de aplicación
Alojar el archivo de aplicación de Kameleoon en sus propios servidores puede proporcionar un pequeño impulso de rendimiento al eliminar la consulta DNS adicional y el handshake SSL que requiere el CDN de Kameleoon. También puede optar por el self-hosting por razones de seguridad. Si sirve el archivo de aplicación desde sus propios servidores, puede garantizar el cumplimiento de las políticas de seguridad internas y gestionar directamente la seguridad de los servidores de alojamiento. Para alojar usted mismo el archivo de aplicación de Kameleoon, siga estos dos pasos:- Proporcione la URL de alojamiento del archivo de aplicación en la etiqueta de instalación. Esto da como resultado una etiqueta de instalación ligeramente modificada respecto a las etiquetas predeterminadas.
//SITE_CODE.kameleoon.io/engine.js. Cambie esta URL en la etiqueta de instalación por su propia URL (por ejemplo, https://www.customerdomain.com/resources/scripts/engine.js).
- Implemente la sincronización entre el archivo en sus servidores o CDN y el archivo original que genera la plataforma Kameleoon. Este paso es obligatorio, ya que el archivo de aplicación es dinámico; su contenido cambia cada vez que cambia el estado de un experimento o personalización en la plataforma o cuando modifica la configuración.
wget que recupere el archivo. Ejecute este job cada 5 minutos.
Una vez completados estos pasos, podrá utilizar la plataforma Kameleoon con un archivo de aplicación auto-alojado.
Puede obtener un hash del contenido del archivo original mediante la Automation API. Utilícelo para verificar que el archivo copiado coincide con el original o para desencadenar la sincronización solo cuando cambie el contenido.
Ejemplo: instrucciones para el self-hosting del archivo de aplicación de Kameleoon
//www.customerdomain.com/resources/scripts/engine.js. A continuación se muestran ejemplos de comandos de sincronización.
Los dominios de los scripts de Kameleoon varían según el proyecto. Los proyectos usan
kameleoon.eu o kameleoon.io según su fecha de creación. Utilice el dominio que se muestra en la aplicación Kameleoon para su proyecto.https://www.customerdomain.com/path/to/kameleoon-iframe.html). Revise la documentación Unificar los datos de sesión entre subdominios para más detalles.
Self-hosting de imágenes
También puede alojar usted mismo las imágenes subidas mediante la plataforma Kameleoon. Si elige esta opción y proporciona una URL de imagen, las URLs generadas para las imágenes subidas utilizarán su servidor o CDN. La ruta URL estándar para las imágenes subidas esSITE_CODE.kameleoon.io/images/. El CDN de Kameleoon sirve estos recursos. Si especifica una ruta diferente, como https://server.mydomain.com/path/resources/images/, debe configurar su CDN para que reescriba /path/resources/images/ en /images/. Si no necesita una ruta específica, use la ruta estándar: https://server.mydomain.com/images/.
También debe utilizar un mecanismo de sincronización para el self-hosting de imágenes. Este proceso es más complejo que la sincronización de un único archivo, ya que debe contemplar varios archivos y no puede conocer de antemano los nombres y URLs exactos de las imágenes subidas.
Utilice el self-hosting de imágenes únicamente a través de un CDN que proporcione un mecanismo de replicación integrado. Apunte su CDN para que sirva los recursos desde la URL de origen SITE_CODE.kameleoon.io/images/.
Los dominios de los scripts de Kameleoon varían según el proyecto. Los proyectos usan
kameleoon.eu o kameleoon.io según su fecha de creación. Utilice el dominio que se muestra en la aplicación Kameleoon para su proyecto.Clústeres dedicados para el almacenamiento de datos
Un clúster separado para el almacenamiento de datos separa físicamente los datos recopilados de los visitantes de su sitio web de los de otros usuarios de Kameleoon. Estos datos residen en servidores dedicados e independientes y ofrecen las siguientes ventajas:- Seguridad: La separación física proporciona un mayor nivel de seguridad que la separación lógica.
- Rendimiento: Los servidores dedicados garantizan una velocidad óptima de almacenamiento y operaciones.
- Acceso a datos en bruto: Kameleoon autoriza el acceso a bajo nivel a las bases de datos subyacentes (principalmente ClickHouse), permitiendo a sus científicos de datos ejecutar consultas personalizadas.
- Kafka (obligatoria): Los productores envían todos los eventos de recopilación de datos a topics de Kafka, haciéndolos disponibles para las aplicaciones ETL.
- Hadoop File System (obligatoria): Kameleoon almacena todos los eventos de recopilación de datos en HDFS. Kameleoon reconstruye las visitas a partir de estos datos en bruto para utilizarlos en otras bases de datos escalables. HDFS sirve como almacén de datos principal y fuente de verdad.
- ClickHouse (obligatoria): ClickHouse es el motor OLAP que Kameleoon utiliza para crear informes analíticos. Puede ejecutar consultas personalizadas para análisis avanzados.
- Cassandra (requerida para personalización o reconciliación entre dispositivos): Kameleoon utiliza Cassandra para modelos de aprendizaje automático y la reconciliación de historial entre dispositivos.
Habitualmente, ingenieros experimentados de Kameleoon realizan la configuración y el setup del servidor. Kameleoon puede llevar a cabo estas operaciones en su centro de datos (servidores de su propiedad y operados por usted) o en los centros de datos de Kameleoon.
| Componente | Versión | Servidores mínimos | Servidores óptimos | RAM recomendada | Tipo de almacenamiento | Observaciones |
|---|---|---|---|---|---|---|
| Kafka | 2.3.1 | 2 | 2 | 32 GB | Discos giratorios (8 TB+) | Confluent v5.3.1 |
| HDFS | 2.9.1 | 2 | 2 | 32 GB | Discos giratorios (8 TB+) | Requiere 2 servidores para la replicación |
| ClickHouse | 22.3.3 | 1 | 2 | 64 GB | SSD recomendado | |
| Cassandra | 4.0.1 | 1 | 2 | 32 GB | SSD obligatorio |
Solo para pruebas A/B, utilice una configuración mínima de 5 servidores (6 recomendados). Para personalización, utilice una configuración mínima de 6 servidores (8 recomendados).
Modelo on-premises completo (back-office, clúster de almacenamiento de datos y alojamiento del archivo de aplicación separados)
En este escenario, aloja todos los componentes y la funcionalidad de la plataforma Kameleoon en su ecosistema de TI. Esto le permite implementar políticas de seguridad personalizadas, como restringir el acceso a las estaciones de trabajo corporativas a través de VPN. La aplicación Back-Office se ejecuta en un servidor Tomcat JEE y utiliza varias aplicaciones Java independientes que se comunican mediante ActiveMQ. Kameleoon utiliza MySQL como base de datos relacional para el back-office y nginx como servidor HTTP de alto rendimiento para recopilar eventos de datos desde los navegadores. Revise los requisitos de servidor para la pipeline de datos dedicada y el back-office:| Componente | Versión | Servidores mínimos | Servidores óptimos | RAM recomendada | Tipo de almacenamiento | Observaciones |
|---|---|---|---|---|---|---|
| JDK/Tomcat/ActiveMQ | 1.8/8.0.47/5.14.5 | 1 | 1 | 32 GB | SSD recomendado | Las aplicaciones Java independientes están colocadas |
| MySQL | 8.0.21 | 1 | 1 | 32 GB | SSD recomendado | |
| nginx | 1.20.1 | 1 | 2 | 32 GB | Discos giratorios | Incluye una aplicación propietaria Java de análisis de logs |
Puede colocar el servidor MySQL junto con el servidor Tomcat JEE, pero Kameleoon recomienda evitar la colocación, salvo donde se indique, por razones de seguridad y rendimiento.
Para pruebas A/B, utilice una configuración mínima de 9 servidores (11 recomendados). Para personalización, utilice una configuración mínima de 10 servidores (13 recomendados). Calcule estos números sumando las tablas y añadiendo un servidor para el alojamiento del archivo de aplicación (reste uno si utiliza un CDN).