Entradas etiquetadas con producción

Tunning de aplicaciones en WildFly

JBUG: London

JBUG: London

El grupo de usuario de Jboss de Londres organizó unas charlas el mes pasado. La que me ha parecido mas interesante es la que dieron sobre tunning de aplicaciones sobre WoldFly/JBoss. Afortunadamente para todos, las grabaron en vídeo.

 

Te recomiendo que prestes mucha atención, sobre todo a la parte del “funnel”. Representa el comportamiento ideal de una petición. Es fundamental ya que la configuración inicial que hacemos de todos los parámetros del servidor java (JBossAS, WildFly o el que sea) se basa en este comportamiento ideal. Espero que te gusten.

 

Parte 1:

 

Parte 2:

Video del WebLogic Classloader Analysis Tool

Aquí os dejo un vídeo donde se muestra el uso del CAT de WebLogic. Como su nombre indica, se trata de un analizador del sistema de carga de clases. A primera vista puede parecer que estamos ante una herramienta para desarrolladores, un depurador mas. Si embargo, como administrador de sistemas de servidores Java, te va resultar de cierta utilidad. Te servirá para comprobar la calidad del equipo de desarrollo que te entrega ese war o ese ear. Si se han limitado a arrojar las librerías al proyecto, lo sabrás.

Administrando tu JBoss desde el telefono

Nos ha pasado a todos. En algún momento uno de nuestros servidores de aplicaciones se vuelve inestable en el peor momento. En mi caso se producía una vez al año. Se trataba de una aplicación utilizada para realizar un determinado tramite. El resto del año el servidor se estaba tocando las narices, pero en ese mes echaba humo. Como la aplicación tenia un leak de memoria, conforme iba recibiendo visitas disminuía la memoria que realmente podía utilizar. Este tipo de comportamientos es relativamente fácil de observar en la gráfica del Heap desde jconsole o visualvm. Finalmente, como no podía ser de otra manera, el servidor de aplicaciones dejaba de responder. ¿Que hacia en estos casos? Pues reiniciarlo de forma preventiva en las horas de menor afluencia. Ya se que no era la solución perfecta, pero hasta que no corrigieran el leak, no había otra. En el peor de los casos, el servidor colapsaba antes del siguiente reinicio: alarma en el móvil de guardia, carrera para arrancar el portátil, activar la VPN… ya sabes como va.

Afortunadamente, y como no estamos solos, hay quien se ha propuesto facilitarnos la vida: ya tenemos aplicaciones gratuitas para monitorizar y gestionar JBoss/WildFly desde nuestro smartphone. ¿No te fías? Pues puedes revisar, descargar y compilar el código tu mismo. La aplicación esta disponible para Android y para iOS. Y en github tienes el código tanto de una como de la otra.

Ahora podrás reiniciar ese servidor de aplicaciones maldito antes de que el teléfono de guardia desate el apocalipsis.

Jetty 7 y 8 llegaran a su EOL este año

A finales de este año Jetty 7 y 8 se quedarán sin soporte. Bueno, esto es relativo. Se quedarán sin soporte opensource. Esto quiere decir que si surge una vulnerabilidad, no se liberara una nueva versión para corregirla. Sin embargo, si nuestra empresa no puede migrar a Jetty 9, siempre puede contratar el soporte que ofrezca una empresa especializada. En ese caso, y como el código de Jetty es libre, podrá hacernos las actualizaciones que necesitemos.

Configurando WebLogic para funcionar con proxy inverso

WebLogic ServerEn numerosas ocasiones es necesario poner nuestro servidor de aplicaciones detras de un proxy inverso (también conocido como “fachada”). Dentro de unos días espero publicar un articulo sobre las ventajas y desventajas del uso del proxy inverso. A pesar de que sobre el papel la acción de la fachada es transparente, en numerosos casos eso no es asi. Por ejemplo, cuando se utiliza SSL algunos de los extremos puede suponer que esta sufriendo un ataque de tipo man-in-the-middle. También dependerá de si la conexión segura llega hasta la fachada (si tenemos tarjetas aceleradoras SSL podemos aumentar el rendimiento) o hasta el servidor. Hay ocasiones en que el propio servidor se percata de la existencia del proxy: si conectamos con un Tomcat a través del conector AJP13 funcionará suponiendo que las peticiones no las realiza un cliente directamente sino que las realiza a través del proxy inverso.

En otras ocasiones, como en el caso de WebLogic es necesario indicarlo explícitamente. Utilizando la Consola de Administración tendrás que acceder a las propiedades del Dominio o del Cluster y marcar la opción WebLogic plugin Enabled. Efectivamente, no le han dado un nombre muy intuitivo que digamos. Si no lo hacemos, y siguiendo el ejemplo anterior del uso de SSL, veremos la petición denegada con un mensaje similar a este

[WSM_POLICY_NAME: oracle/wss11_saml_or_username_token_with_message_protection_service_policy] Failure in WS-Policy Execution due to exception.

Y en el log veremos la siguiente traza de error:

Caused by: oracle.wsm.common.sdk.WSMException: FailedCheck : failure in security check
Caused by: oracle.wsm.security.policy.scenario.policycompliance.PolicyComplianceException: WSM-00042 : The request must be made over SSL.

En resumen: un nombre de elección dudosa para una propiedad que nos puede dar muchos dolores de cabeza. Si quieres ver los pasos que hay que seguir dentro de la Consola de Administración o mas información sobre esto, puedes consultar el articulo original en ateam-oracle.com.

Ir arriba