Los productos de DataCenter de Atlassian permiten a las organizaciones contar con alta disponibilidad y mayor seguridad. Si Jira, Confluence o alguno de los productos es crítico dentro de tu organización, DataCenter son la solución ideal. Es importante planear bien la implementación.
En este artículo te presentamos 4 puntos clave.
Requerimientos del Software
Atlassian tiene guías de dimensionamiento documentadas para cada producto. Normalmente, las organizaciones quieren escuchar una configuración de hardware muy específica (ej. Cuánto disco duro necesitamos para no tener problemas). Desafortunadamente, no hay una respuesta que aplique para todos los casos, ya que depende de elementos muy variables como la cantidad de información que se va a cargar en el sistema o la cantidad de usuarios concurrentes.
Puntos clave a tener en cuenta en el dimensionamiento:
1. Cada nodo requiere almacenar localmente índices y cachés. Contempla como mínimo 250GB de disco para cada nodo. No uses directorios de red para esto, ya que si hay alguna falla de comunicación o hay mucha latencia, toda la aplicación dejaría de funcionar.
2. Contempla como mínimo 500GB de disco para el NFS.
3. Los respaldos requieren mucho procesamiento. Contempla como mínimo procesadores de 4 cores para cada nodo.
4. DataCenter se encarga de sincronizar los nodos de forma automática, de manera que si un nodo se cae, la carga se distribuye entre los otros nodos. Es recomendable (no necesario) tener por lo menos 3 nodos para cada aplicación, ya que si tenemos solo 2 nodos y uno se cae, toda la carga se concentraría en un solo nodo y podría saturar.
5. Configurar el mismo NTP (Network Time Protocol) para cada nodo. La sincronización entre nodos se basa en que no haya más de 5 segundos de diferencia entre los horarios de cada nodo; aún cuando los tengas iguales, un NTP asegura que no vaya a haber desincronizaciones.
Arquitectura
DataCenter se encarga de replicar la información entre los nodos que se tengan activados. Sin embargo, la arquitectura contempla solamente un servidor de base de datos. La redundancia de base de datos debe implementarse directamente desde la base de datos (ej. Oracle RAC).
Lo mismo ocurre con el balanceador de carga y con el NFS. Los mecanismos de replicación deben implementarse nativamente.
Es muy importante que los servidores de la arquitectura esté co-localizados, es decir, en la misma ubicación geográfica. Esto debido a que si hay mucha latencia, la información no podría sincronizarse lo suficientemente rápido entre los nodos.
Redes
Considera todos los puertos que se requieren habilitar en cada nodo, así como los permisos de acceso a una DMZ. Los puertos default son:
JIRA
- 8080 (Se recomienda dejarlo abierto aún si usas SSL, ya que la integración con otros productos pueden requerir pings hacia este puerto. Internamente puedes crear un redireccionamiento hacia HTTPS)
- 8443 / 443
- 8081 como puerto de control del servidor de aplicaciones
- 40001 y 40011 para la replicación de índices y cachés entre nodos
- 8099 para poder monitorear remotamente en vivo la instancia
CONFLUENCE
- 8090 (Synchrony requiere que este puerto esté disponible. Internamente puedes crear un redireccionamiento hacia HTTPS)
- 8443 / 443
- 8081 como puerto de control del servidor de aplicaciones
- 40001 y 40011 para la replicación de índices y cachés entre nodos
- 8099 para poder monitorear remotamente en vivo la instancia
Adicionalmente, es importante permitir el tráfico de cada nodo hacia los DNS de atlassian.com y marketplace.atlassian.com. El primero permite validar la licencia del producto y permite que el analizador de logs sugiera artículos de resolución de problemas que están documentados ya en el sitio de Atlassian. El segundo permite descargar y actualizar plugins desde el marketplace.
Seguridad
Si vas a implementar SSL, deberás contar con certificados firmados por una autoridad. Con esos certificados, puedes generar los keystores para cada nodo, de manera que puedan identificar a cada nodo como un sitio seguro.
En cuanto al sistema operativo; los instaladores de Jira y Confluence crean en automático un usuario para ejecutar los servicios. Es importante que los usuarios de Jira y Confluence tengan permisos de ejecución, lectura y escritura en el home dir y el install dir de cada nodo, así como en el NFS.
Apoyo requerido por otros equipos
Asegúrate de contar con la disponibilidad de los siguientes roles durante la instalación:
- DBAs
- Administradores LDAP, para configurar directorios de usuarios.
- Administradores de sistema operativo, para permisos en el sistema operativo.
- Administradores de redes, para problemas de conexión.
- Administradores de seguridad, para problemas con certificados de seguridad.
La instalación de DataCenter requiere contemplar muchos detalles para mantener la aplicación segura y estable. Esperamos esta guía sirva como una referencia para planear tu implementación.
Si requieres apoyo en la instalación, licenciamiento, capacitación y soporte, contáctanos en ventas@enevasys.com