Microservicios: Beneficios y funcionamiento
Los beneficios que da usar Microservicios y sus funcionamientos. Conoce a fondo qué son y los beneficios que nos da la implementación...
Conoce todo de este importante framework de código abierto para JVM con soporte además para Groovy y Kotlin y diseñado para construir microservicios cloud native.
Tabla de contenidos
En el mundo del desarrollo nos encontramos frente a constantes innovaciones que representan un cambio prácticamente en todos los aspectos, uno de estos es la distribución de aplicaciones, ya que hemos pasado desde las aplicaciones que se ejecutaban en ordenadores locales a aplicaciones distribuidas en servidores Web (ejecutadas en PCs conectados a Internet). Luego surgieron los servicios de hosting que han evolucionado a la nube, ofreciéndonos diferentes modelos muy alejados del método clásico, en el cual debíamos montar todo, desde el sistema operativo, los drivers, el servidor de aplicaciones, las conexiones a Internet, los firewalls, etc.
La llegada del cloud computing (la llamada nube) y el nacimiento de los nuevos modelos de servicios, ha ocasionado una revolución tanto en la forma de desarrollar, como en la de mantener las aplicaciones. Es en este punto clave donde un equipo con sólidos conocimientos, luego de aprender una cantidad considerable de lecciones e implementar buenas prácticas en el desarrollo de aplicaciones y microservicios utilizando Grails, Spring y Spring Boot, desarrollan Micronaut un potente framework el cual si aún no has trabajado con él es posible que hayas oído hablar de este y si no a continuación te invitamos a seguir leyendo para que aprendas un poco sobre qué es Micronaut, ¿puedo construir microservicios cloud native con él?, cuáles son sus objetivos y características, entre otros puntos de interés.
Micronaut es un proyecto de código abierto con licencia de Apache (v2), el cual ha sido desarrollado por los creadores del framework Grails, quienes, como se comentó en el inicio de este post, se inspiraron en las lecciones aprendidas después de crear una cantidad considerable de aplicaciones y microservicios utilizando frameworks como Grails y Spring, estos dos últimos no fueron diseñados para desarrollar microservicios o aplicaciones Android cuyos servidores cuenten con poca memoria, entre otros escenarios, Micronaut nace para ser adecuado a todas estas necesidades.
En vista de lo anterior y que se encuentra basado en todas las buenas prácticas adquiridas, Micronaut se considera un potente framework para JVM (Java Virtual Machine), este soporta tanto Java, como Groovy y Kotlin y está perfectamente diseñado para construir microservicios cloud native.
Es muy liviano, actualmente con la versión de Micronaut es posible construir el famoso “Hello Word” en un .JAR que ocupa tan sólo 10MB y puede ser ejecutado con un heap de 8MB. Como resultado, el tiempo de arranque es menor a un (1) segundo cuando lo programamos con Java. El consumo de memoria y el tiempo de arranque de Micronaut no incrementa de forma lineal con el número de líneas de código ya que toda la inyección de dependencias, AOP (Aspect Oriented Programming – Programación Orientada a Aspectos) y generación de proxys sucede en el tiempo de compilación utilizando la transformación Groovy AST o los procesadores AST para Java y Kotlin.
El manejo de toda la información en el tiempo de compilación es un soporte fundamental tanto para Groovy, como para Kotlin y Java, ya que le permite a los desarrolladores tener mayores opciones a la hora de construir aplicaciones de microservicios perfectas, puesto que los metadatos de anotación se crean en este tiempo (de compilación) y no antes, resultando en ser uno de los frameworks más rápidos.
Por otra parte, en cuanto al código, este es bastante similar al código de Spring Boot con Spring Cloud habilitado. También utiliza una inyección de dependencias interna inspirada en Spring, así mismo las API de Micronaut se encuentran basadas en Spring y en Grails para ayudar a los desarrolladores a optimizar y avanzar de forma óptima en sus requerimientos.
Objetivos de Micronaut
Entre los objetivos con los cuales ha sido diseñado Micronaut podemos destacar los siguientes:
Micronaut brinda una gran cantidad de opciones y características pensadas en microservicios destacando las siguientes:
Es de gran importancia mencionar que Micronaut proporciona un servidor y un cliente HTTP, y a su vez es capaz de soportar microservicios reactive y non-blocking ya que se encuentra basado en Netty. Como servidor HTTP, ofrece soporte de fábrica para Hystrix, seguimiento de registros y almacenamiento en caché, entre otras ventajas.
Adicionalmente, Micronaut también soporta GORM el ORM (Object Relational Mapping) de Grails, este proporciona un conjunto de APIs para acceder de una manera sencilla y potente a todo tipo de bases de datos SQL, entre las que destacan:
En el sitio oficial de Micronaut (https://micronaut.io/) podemos encontrar diferentes guías de ayuda, su API, entre otros, que nos seran de gran ayuda para trabajar con este. Como desarrolladores no solo debemos prestar atención a los requisitos a nivel funcional, sino también al entorno en el cual se va a llevar a cabo la ejecución, esto con la finalidad de que el producto final sea de alta calidad y rendimiento óptimo.
Como hemos aprendido en este artículo, Micronaut ofrece patrones de confiabilidad amigables con la nube, que incluyen desde el equilibrio de carga, hasta la configuración de recursos compartidos y el desarrollo de servicios. Desde su inicio las aplicaciones de Micronaut son “nativas” nativas de la nube. ¿Y tú ya te iniciaste en el mundo de Micronaut? Si no lo has hecho te invitamos a que lo explores y conozcas su potencial, si por el contrario ya te encuentras trabajando con él déjanos un comentario para conocer tu experiencia.
También te puede interesar
Los beneficios que da usar Microservicios y sus funcionamientos. Conoce a fondo qué son y los beneficios que nos da la implementación...
Descubre las tecnologías relacionadas con el Cloud Computing y el cambio de paradigma que se está produciendo