Insights >Blog

Pasar de una aplicación monolítica a los microservicios Java con AWS

Sebastian Minatti


January 17th, 2019

Introducción

En este artículo, explicaré cómo puedes migrar aplicaciones Java de una aplicación monolítica que se despliega directamente en instancias sin contenedorización u orquestación, a una arquitectura de microservicios en contenedores y orquestada.

Mover una aplicación Java existente a un contenedor desplegado utilizando ECS

¿Por qué contenedores?

Los contenedores permiten a las organizaciones de ingeniería crear una canalización estándar para el ciclo de vida de la aplicación. Esto típicamente se ve de la siguiente manera:

  1. Los desarrolladores construyen y ejecutan el contenedor localmente.
  2. El servidor de integración continua ejecuta el mismo contenedor y ejecuta las pruebas de integración para asegurarse de que supere las expectativas.
  3. El mismo contenedor se envía a un entorno de prueba en el que se puede verificar su comportamiento en tiempo de ejecución mediante pruebas de carga o control de calidad manual.
  4. El mismo contenedor finalmente se envía a la producción.
microservicios de Java
Fuente de la imagen: Implementación de microservicios de Java en Amazon Elastic Container Service

El hecho de poder enviar exactamente el mismo contenedor a través de las cuatro etapas del proceso hace que la entrega de una aplicación confiable y de alta calidad sea considerablemente más fácil.

¿Por qué EC2 Container Service?

El EC2 Container Service ofrece orquestación para tus contenedores. Asimismo, automatiza el proceso de lanzamiento de contenedores a través de tu flota de instancias conforme a las reglas que especifiques. Luego, automatiza el seguimiento de dónde se ejecutan esos contenedores, de modo que puedas usar un equilibrador de carga para atraer el tráfico hacia ellos. También tiene funciones integradas para desplegar implementaciones sin tiempo de inactividad, recopilar métricas y registros de tus contenedores y escalar automáticamente la cantidad de contenedores que estás ejecutando en función de las métricas.La siguiente imagen, publicada por Amazon Web Services, muestra una visión general concisa de la configuración de Amazon ECS.

Del monolítico al microservicio

El siguiente gráfico nos muestra una descripción general de la implementación del contenedor en EC2.

microservicios de Java
Fuente de la imagen: Implementación de microservicios de Java en Amazon Elastic Container Service

Módulos separados

En el caso de módulos separados, recomiendo simplemente:

  1. Divide los módulos en microservicios por funcionalidad en cada caso; tales como un servicio de correo o servicio de impresión.
  2. Puedes utilizar tus tecnologías de lenguaje favoritas para construir tu microservicio. Particularmente, aquí recomiendo Java o Spring Boot.

Conclusión: pasar a los microservicios tiene beneficios significativos

Pasar de tener aplicaciones monolíticas a microservicios tiene beneficios significativos, tanto para los desarrolladores como para la empresa. Como mencioné anteriormente, poder enviar exactamente el mismo contenedor cada vez, significa que puedes entregar una aplicación de alta calidad de manera mucho más fácil y confiable.

 

Share

Related posts

See also

Services

Software development

Software testing

Consultancy & innovation

User experience

Industries

Fintech

Media & entertainment

Healthcare

All industries

Insights

Blog

Whitepapers

Webinars

Videos

Why Belatrix?

International presence

Nearshore advantages

Project governance

Agile expertise

Flexible engagement models

Our talent development