Almacenamiento conectado a la red: virtualización para entornos Java

Hola otra vez. Te habla Simón Sánchez y esta vez te voy a contar sobre Almacenamiento conectado a la red: virtualización para entornos Java

Simplificar la escalabilidad de las aplicaciones en un clúster es un problema que se resuelve de varias formas. Terracota lo hace con memoria – memoria conectada a la red, para ser exactos. El software de infraestructura de la compañía crea un grupo expandible / retráctil de memoria compartida que las aplicaciones Java pueden aprovechar para satisfacer la creciente demanda.

El almacenamiento conectado a la red es análogo al almacenamiento conectado a la red (NAS) en el sentido de que brinda servicio a miles de clientes conectados de forma transparente. Debido a que el NAS es transparente bajo el sistema de archivos, la memoria conectada a la red es transparente bajo el lenguaje Java, dice Jeff Hartley, vicepresidente de productos y marketing de Terracotta. Los objetos se manipulan y se mantienen consistentes en la memoria como los archivos en el NAS, pero en el grupo de memoria de Terracotta, todo se puede cambiar de tamaño de forma masiva.

«Otra forma de pensarlo es la virtualización para el entorno Java», dice Hartley. «De la misma manera que un hipervisor divide una máquina en varias máquinas lógicas, Terracotta toma muchas máquinas físicas y las conecta como una sola».

Los desarrolladores no tienen que modificar sus aplicaciones para lograr un comportamiento de agrupamiento. Una aplicación agrupada tiene el mismo aspecto que una aplicación Java. Esencialmente, los usuarios le dicen a Terracotta qué hacer en un archivo de configuración, dice Hartley, y el software inyecta ese comportamiento en la aplicación en tiempo de ejecución. No solo no se requiere API para enviar mensajes a través del clúster, dice, no hay API en absoluto. Terracotta usa objetos Java antiguos y simples y se conecta a marcos familiares como Spring, Hibernate y EHcache para que los desarrolladores puedan continuar usando las mismas herramientas de desarrollo, pilas y plantillas.

«Ofrecemos una solución de agrupación en clústeres de código abierto», dice Hartley. “Es escalabilidad y alta disponibilidad para aplicaciones empresariales Java, sin tener que cambiar el código de la aplicación. De hecho, nos conectamos a la máquina virtual Java y compartimos los datos «.

Además de la agrupación en clústeres simplificada y el rendimiento escalable, Hartley dice que el enfoque de Terracotta también ofrece «alta disponibilidad sin compromiso»: la capacidad de reducir los cuellos de botella de la base de datos, lograr una mejor utilización del hardware, reducir los costos de mantenimiento y, a medida que el software se encarga de agregar capacidades de agrupamiento, concéntrese en desarrollar nuevas aplicaciones en lugar de reestructurar las antiguas.

“Estamos trabajando en el nivel de la memoria. Si tiene un servidor de aplicaciones A dado, el usuario es enviado al servidor de aplicaciones B y todos los datos se envían desde la memoria a B sin que el usuario se dé cuenta «, dice Hartley.» Ofrecemos alta disponibilidad poniendo todo en la memoria en lugar de agregar racks de servidores «.

Cuando agrega un servidor para manejar la aplicación, simplemente «se une al grupo». “No tienes que implementar nada. Simplemente agregamos los servidores y los convertimos en miembros del grupo de memoria compartida del clúster. Nuestro servidor mantiene los datos de su servidor sincronizados «, dice Hartley. Los cambios en una máquina virtual se reflejan instantáneamente en cada máquina virtual del clúster.a necesita saber.

Dado que los datos pueden compartirse entre máquinas virtuales Java y procesarse a velocidades en memoria, algunos clientes usan el software para reducir la carga en sus bases de datos. Los datos temporales, como la información de la sesión del usuario o la información del carrito de la compra, se pueden guardar y procesar en la memoria, mientras que solo los resultados críticos se envían y almacenan en la base de datos. “La terracota se usa para administrar los datos del trabajo en progreso mientras se ejecuta un proceso, y solo los datos completos van a la base de datos. Como resultado, algunos de nuestros usuarios han podido reducir el uso de la base de datos hasta en un 70% y no tienen que comprar licencias de base de datos adicionales para cumplir con el aumento de la carga de trabajo ”, dice Hartley.

La eliminación del trabajo de TI mundano es otra de las principales fortalezas de Terracotta. Como CTO de la empresa Ari Zilka explica en un video tour software, «No tiene que escribir la tubería o mantener la tubería. … Puede ejecutar una aplicación en dos servidores a la medianoche y en 20 servidores al mediodía. Le permite a TI ejecutar aplicaciones de la manera que necesitan ejecutarlos ”, y enfocar el tiempo de desarrollo en asuntos comerciales más importantes, dice.

La implementación involucra dos componentes principales: los nodos del cliente y la matriz del servidor Terracotta. Los nodos se ejecutan en máquinas virtuales Java estándar y cada nodo corresponde a un proceso Java en el clúster (por ejemplo, el servidor de aplicaciones). La terracota se carga en cada máquina virtual al inicio. La matriz de servidores Terracotta proporciona la inteligencia para organizar todos los nodos en el clúster, sincronizar la actividad entre sí, replicar datos y administrar el almacenamiento de datos en el disco. El arreglo puede ejecutarse en una configuración de par activo-pasivo para una alta disponibilidad que puede alcanzar decenas de miles de solicitudes por segundo, dice la compañía. La ejecución de varias instancias del servidor Terracotta en modo activo-pasivo garantiza que una falla no comprometa el clúster, dice la compañía.

“Somos una tecnología fundamental. No somos una solución de red, no somos una solución en la nube. Somos una memoria conectada a la red, una memoria distribuida que se encuentra justo debajo de las aplicaciones y se puede utilizar para todo tipo de operaciones ”, explica Hartley.

Clientes exigentes

Los clientes que utilizan Terracotta suelen tener una cosa en común: una cantidad impredecible de usuarios exigentes. (Zilka fue el arquitecto principal de Walmart.com, por lo que sabe cómo construir infraestructura para hacer frente a picos de tráfico de proporciones épicas). La lista de usuarios incluye grandes nombres familiarizados con la alta demanda Online, incluido Adobe, MapQuest, BBC, Electronic Arts, PartyGaming (PartyPoker.com, etc.) y empresas de servicios financieros como JP Morgan y Mizuho Securities.

Una empresa de juegos multijugador Online que quiere permanecer sin nombre está utilizando servidores agrupados no solo para albergar juegos, sino también para coordinar y monitorear las actividades de los jugadores. Eligió Terracotta como su solución de escalamiento horizontal por varias razones: (1) funciona entre bastidores, a nivel de código de bytes, proporcionando memoria de pila distribuida en múltiples máquinas virtuales Java; (2) los desarrolladores pueden utilizar la semántica estándar de Java para sincronizar el acceso a los objetos compartidos; (3) «impresionante escalamiento horizontal» habilitado simplemente agregando más nodos de servidor y sin tener que usar bases de datos y cachés para administrar los datos compartidos; (4) ningún punto único de falla; y (5) es de código abierto, por lo que el software no aumenta sus ganancias y no requiere una orden de compra para comenzar.

Mark Turansky, un arquitecto de software que trabaja actualmente en la industria de la salud, lo hizo escrito sobre su experiencia usando terracota. “Con software habilitante como Terracotta, la agrupación se vuelve fácil. Aún tiene que diseñar su software para aprovechar el paralelismo, pero el acto de ejecutar programas en paralelo ya no es difícil. … Agrupa de forma invisible y mágica las clases de Java a través de la configuración «, escribe Turansky.» La distribución masiva de código y la ejecución de programas paralelos era difícil. Se requerían arquitecturas complejas y servidores de aplicaciones costosos. Esto es una complejidad accidental. Progreso del desarrollo. de software, como Terracotta, GridGain, Spring y otros FOSS [free open source] programas: reducir drásticamente, si no eliminar, la complejidad accidental de distribuir programas a un grupo de máquinas «.

Gnip, un servicio que agrega y distribuye feeds de sitios como Twitter y Digg a usuarios de servicios como Plaxo, ejecuta su sistema en el EC2 de Amazon, pero ha elegido Terracotta para la replicación de nodos a nivel de memoria. UN publicar en el sitio web de la empresa explica: «La perspectiva de simplemente escribir nuestra aplicación y pensar en ella como una sola cosa, en lugar de» cómo se replica todo este estado en n n nodos «fue muy tentadora».

Terracotta acaba de lanzar la versión 2.7, que según la compañía está más estrechamente integrada con marcos como Spring y Glassfish, y agrega mejores capacidades de administración y visualización, mejor recolección de desechos y la capacidad de aplicar parches calientes. Está disponible para descargar en www. terracotta.org.

Recuerda compartir en tu Facebook para que tus amigos lo vean

??? ? ? ???

Comparte