Los microservicios son un enfoque arquitectónico para desarrollar un software moderno. Cada función principal o servicio representa un contexto de negocio relacionado que se ha creado y desplegado de forma independiente. Los microservicios proporcionan agilidad en la creación y el mantenimiento de aplicaciones y representan un contraste con el enfoque monolítico seguido en el desarrollo de software antiguo. En la actualidad, la modernización de aplicaciones es sinónimo de microservicios.
Al obtener más información sobre microservicios, verás el contraste con arquitecturas monolíticas, consideraciones para la adopción de arquitectura de microservicios, mecanismos de comunicación, metodología de despliegue de 12 factores, despliegue en Kubernetes, persistencia de datos, malla de servicio y mejores prácticas para el diseño de microservicios.
Acelera el tiempo de comercialización de nuevas funciones al permitir una integración continua y un despliegue continuo que admita modelos de despliegue azul/verde para servicios.
Escala los contenedores de servicios o las plataformas de datos de forma independiente por servicio para satisfacer la demanda de esa función.
Reemplaza o retira servicios independientes sin afectar a toda la aplicación, los fallos de servicio individuales se gestionan de forma controlada mediante un servicio degradado, en lugar de bloquear toda la aplicación.
Descubre cómo crear un microservicio en Oracle Cloud Infrastructure(OCI).
Un aspecto importante para los microservicios basados en datos es el despliegue de la plataforma de gestión de datos para desplegar una variedad de tipos de datos, soportar varias bases de datos en un contenedor y ofrecer funciones de gestión autónomas. Oracle Autonomous Database en OCI facilita el despliegue para crear microservicios inteligentes basados en datos.
Oracle Transaction Manager for Microservices (MicroTx) simplifica el desarrollo y las operaciones de aplicaciones al permitir transacciones distribuidas para garantizar la coherencia entre microservicios políglotas desplegados en Kubernetes y/u otros entornos.
Para la modernización de aplicaciones, se deben integrar varias tecnologías para crear la base adecuada de microservicios multinube. Oracle LiveLabs le proporciona acceso a las herramientas y tecnologías de Oracle para ejecutar una amplia variedad de prácticas y talleres. Estos talleres muestran cómo utilizar tecnologías abiertas junto con Oracle para crear arquitecturas más sencillas que proporcionen flexibilidad en el despliegue. Crea microservicios en Oracle LiveLabs con componentes híbridos y en la nube disponibles en OCI, incluidos Autonomous Database, Helidon, Micronaut, MicroTx, WebLogic Server, Java, Docker, Kubernetes e Istio Service Mesh. Para comenzar su recorrido por los microservicios, hay varios laboratorios que le ayudarán a modernizar sus aplicaciones empresariales monolíticas o a simplificarlas si ya ha comenzado este camino.
Oracle LiveLab crea una aplicación de entrega de alimentos móvil denominada GrabDish para destacar la simplicidad de la arquitectura de datos, con un paquete de desarrollo moderno. Compara la complejidad de las bases de datos de uso especial empleadas tradicionalmente como arquitecturas Lambda y Kappa en la industria (con sistemas independientes para sistemas relacionales, de texto, espaciales, de gráficos y de mensajería) con la simplicidad de crear microservicios basados en datos con Oracle Converged Database. El laboratorio está diseñado para que los desarrolladores y arquitectos diseñen nuevos microservicios. También ayuda a los DBA a comprender el rol de Oracle Database en los proyectos de modernización de aplicaciones. Los clusters de Autonomous Database, Kubernetes con contenedores docker, Oracle Advanced Queuing, Transactional Event Queues y Helidon se utilizan para mostrar microservicios de Java, Node.js y Python que funcionan con datos relacionales, JSON, espaciales y de gráficos, con un rastreo y supervisión configurados con Kiali, Jaeger, Prometheus y Grafana. Se ilustran los patrones de microservicio, como el abastecimiento de eventos, CQRS y SAGA.
A medida que la arquitectura de microservicios está ganando popularidad, los desarrolladores suelen tener problemas asociados con la consistencia de los datos, ya que cada microservicio suele tener su propia base de datos u otro recurso. MicroTx proporciona un microservicio de coordinación de transacciones para mantener la coherencia en el estado de varias bases de datos que participan en una transacción. MicroTx soporta varios protocolos de transacciones distribuidas, como XA, acciones de larga ejecución (LRA) y try-confirm/cancel (TCC). Soporta transacciones distribuidas en microservicios políglotas, como Java, node.js, C/C++ y PL/SQL. En esta LiveLab, los desarrolladores pueden aprender a lograr la consistencia de los datos en varios microservicios utilizados en una aplicación de ejemplo.
Plataforma abierta y completa para microservicios
Para la modernización de aplicaciones, se deben integrar varias tecnologías para crear la base adecuada de microservicios multinube. Oracle LiveLabs le proporciona acceso a las herramientas y tecnologías de Oracle para ejecutar una amplia variedad de prácticas y talleres. Estos talleres muestran cómo utilizar tecnologías abiertas junto con Oracle para crear arquitecturas más sencillas que proporcionen flexibilidad en el despliegue. Crea microservicios en Oracle LiveLabs con componentes híbridos y en la nube disponibles en OCI, Autonomous Database, Helidon, Micronaut, Weblogic, Java, Docker, Kubernetes e Istio Service Mesh, en una pila de plataforma de microservicios molesta. Hay varios laboratorios para ayudarte a modernizar las aplicaciones empresariales monolíticas para comenzar tu recorrido por los microservicios, o bien simplificarlo si ya estás siguiendo este camino.
Sin servidor: no se necesita ningún estado persistente en un almacén de datos, las tareas se ejecutan en el estilo de inicio y olvido. Por ejemplo, funciones lambda y gateways de API.
Basado en API: los microservicios se comunican mediante el uso de API de REST, por ejemplo, un gateway de API. Cada microservicio tiene una definición de API.
Microservicio: el acoplamiento se logra mediante mensajes asíncronos a través de colas o software de transmisión, por ejemplo, con Oracle Advanced Queuing o Apache Kafka.
Acciones de flujo de trabajo: flujos de negocio (con personas en el bucle) que también representan transacciones de larga ejecución, por ejemplo, con marcos BPMN, como Camunda, Zeebe o flujo temporal.io.
Flujo de trabajo automatizado: tareas que se ejecutan como un flujo de trabajo automatizado de manera sencilla (sin ninguna persona en el bucle), por ejemplo, con Apache Airflow y Argo (CNCF).
Controlada por los datos: la arquitectura de datos impulsa el consumo de datos en la aplicación para las operaciones y la toma de decisiones, generalmente con un almacén persistente, por ejemplo, Oracle Converged Database o con bases de datos de propósito especial.
Nativa en la nube: una aplicación se ha desarrollado completamente para la nube, por ejemplo, con componentes de CNCF y servicios OCI.
Microservicios en la nube híbrida: microservicios que funcionan en el centro de datos del cliente (nube privada) y en la nube pública, por ejemplo, con Kubernetes/malla de servicio para organizarse en una nube privada y en la nube pública (casos de uso de repartición de la nube).
Varios microservicios en la nube: microservicios que funcionan en al menos dos nubes públicas y una nube privada, por ejemplo, con Kubernetes/malla de servicio para orquestar en varias nubes (para proporcionar mitigación de riesgos y evitar la dependencia de una nube pública).
Mientras que los microservicios son sinónimos de la modernización de aplicaciones y son el camino a seguir para el desarrollo de todas las aplicaciones, hay algunas consideraciones que hacen que el viaje a las arquitecturas de microservicios sea más eficiente.
Esta página ha sido traducida por una máquina.