¿Qué son los microservicios?

El término “microservicios” generalmente tiene la intención de describir un enfoque para el desarrollo de software que implica descomponer la funcionalidad de la aplicación en componentes individuales que se pueden implementar por separado, y típicamente se comunican a través de interfaces de programación de aplicaciones o API.

Características comunes de los microservicios:

  • Soporta protocolos HTTP / REST
  • Implemente el formato JSON o XML para el intercambio de datos.
  • Implementado a través de un marco de contenedorización, como Docker
  • Escalado dinámico en infraestructura de nube pública o privada
  • A menudo utiliza noSQL o microSQL o almacenes de valores clave para conservar los datos.

Los beneficios de una arquitectura de microservicios pueden incluir:

  • Resistencia mejorada y tolerancia a fallas debido al aislamiento de la función de servicio
  • Escalabilidad mejorada con la capacidad de escalar servicios individualmente según sea necesario
  • Reutilización extrema con definiciones de interfaz estandarizadas
  • Soporte políglota más fácil ya que se pueden construir servicios separados en diferentes lenguajes de programación
  • Migración más fácil ya que los servicios pueden ser rediseñados o reconstruidos con diferentes tecnologías al tiempo que admiten la misma definición de API para minimizar la interrupción

Algunos ejemplos bien conocidos de grandes empresas que han empleado con éxito arquitecturas de microservicios son: Amazon, eBay, Gilt, Netflix, PayPal y Twitter.

Lo contrario de un enfoque de microservicios sería una aplicación “monolítica” donde toda la funcionalidad es parte de un solo programa que se ejecuta en un solo entorno.

“Microservicios”, la nueva palabra de moda en el mercado. No ha pasado mucho tiempo desde su introducción, pero ya ha arrasado con el mundo del desarrollo.

Entonces, ¿qué son exactamente los microservicios?

Microservicios o Arquitectura de microservicios es el patrón arquitectónico que estructura una aplicación como una colección de pequeños servicios autónomos, modelados en torno a un dominio comercial. En la Arquitectura de microservicios, cada servicio es autónomo e implementa una única capacidad empresarial.

Para identificar un buen microservicio, consulte las siguientes características:

Vamos a entender estas características en detalle:

  • Desacoplamiento : los servicios dentro de un sistema están en gran medida desacoplados. Por lo tanto, la aplicación en su conjunto se puede construir, modificar y escalar fácilmente
  • Componentización : los microservicios se tratan como componentes independientes que se pueden reemplazar y actualizar fácilmente
  • Capacidades comerciales : los microservicios son muy simples y se centran en una sola capacidad
  • Autonomía : los desarrolladores y los equipos pueden trabajar de forma independiente, lo que aumenta la velocidad
  • Entrega continua : permite lanzamientos frecuentes de software, a través de la automatización sistemática de la creación, prueba y aprobación de software.
  • Responsabilidad : los microservicios no se centran en las aplicaciones como proyectos. En cambio, tratan las aplicaciones como productos de los que son responsables
  • Gobernanza descentralizada : el objetivo es utilizar la herramienta adecuada para el trabajo adecuado. Eso significa que no hay un patrón estandarizado ni ningún patrón tecnológico. Los desarrolladores tienen la libertad de elegir las mejores herramientas útiles para resolver sus problemas.
  • Agilidad : los microservicios admiten el desarrollo ágil. Cualquier característica nueva se puede desarrollar rápidamente y descartar nuevamente.

Espero, ahora tienes una mejor idea de ‘¿Qué son exactamente los microservicios?’ En caso de que quiera saber más al respecto, puede leer este blog: ¿Qué son los microservicios? Edureka

O si desea capacitarse en él, también puede consultar este sitio: Microservices Architecture Training | Edureka

¡¡Feliz aprendizaje!!

Los microservicios, también conocidos como arquitectura de microservicios, es un estilo arquitectónico que estructura una aplicación como una colección de servicios acoplados libremente, que implementan capacidades comerciales. La arquitectura de microservicio permite la entrega / implementación continua de aplicaciones grandes y complejas. También permite a una organización desarrollar su pila de tecnología.

Ver ¿Qué son los microservicios?

Hay una buena entrada de blog sobre este tema aquí> Microservicios en la práctica

Citando: ” La base de la arquitectura de microservicios (MSA) se trata de desarrollar una sola aplicación como un conjunto de servicios pequeños e independientes que se ejecutan en su propio proceso, desarrollado e implementado de forma independiente.

En la mayoría de las definiciones de arquitectura de microservicios, se explica como el proceso de segregación de los servicios disponibles en el monolito en un conjunto de servicios independientes. Sin embargo, en mi opinión, Microservicios no se trata solo de dividir los servicios disponibles en monolitos en servicios independientes.

La idea clave es que al observar las funcionalidades que ofrece el monolito, podemos identificar las capacidades comerciales requeridas. Entonces, esas capacidades comerciales pueden implementarse como servicios (micro) totalmente independientes, detallados y autónomos. Podrían implementarse sobre diferentes pilas de tecnología y cada servicio está abordando un alcance comercial muy específico y limitado “.

Como los microservicios son un término bastante nuevo, no es fácil de definir y no existe una definición estándar con la que todos estén contentos. Hay muchas discusiones sobre cuán “micro” debería ser un servicio, si los datos deberían ser parte de cada servicio y si “micro” es realmente una buena palabra, ya que con los servicios desconectados hay un límite natural para la barrera inferior de un servicio en términos de tamaño Por lo que hay sobre los microservicios y nuestras propias experiencias con él, mi definición de elección de trabajo está en la línea de:

“En las arquitecturas de microservicios, las aplicaciones se crean y despliegan como servicios simples, altamente desacoplados y enfocados. Se conectan entre sí a través de mecanismos de comunicación agnósticos de lenguaje liviano, lo que a menudo significa API HTTP simples y colas de mensajes. Los servicios se construyen alrededor de las capacidades comerciales e independientemente cambiables y desplegables con solo un mínimo de administración centralizada. Son políglotas en términos de lenguajes de programación, marcos y almacenes de datos utilizados. Por último, los microservicios son resistentes, lo que significa que son artefactos inmutables diseñados para fallar y elásticos en escala. ”

Eso es en realidad de un abridor que escribí en “Qué son los microservicios”. Para leer un poco más sobre el tema, puedo recomendar el blog de Martin Fowler, especialmente comenzando con su publicación de blog en Microservicios. Hoy en día también salen algunos buenos libros. Uno de ellos sería Building Microservices de Sam Newman, que también puedo recomendar.

En pocas palabras, Microservices estructura una aplicación de software como una colección de pequeños servicios autónomos, que trabajan en estrecha colaboración. Cada servicio generalmente maneja una tarea bien definida.

Déjame darte una ilustración que puede ayudarte a entender cómo funcionan los microservicios.

En el enfoque tradicional para crear aplicaciones, todas las características se agrupan en una sola base de código y se encuentran en una única base de datos subyacente.

Para evitar los desafíos relacionados con el escalado, la modificación y la adición de nuevas características, los desarrolladores de esta aplicación decidieron cambiar su aplicación de una arquitectura monolítica a microservicios, como se muestra en el siguiente diagrama.

Esto significa que los desarrolladores no crean un microservicio web, un microservicio lógico o un microservicio de base de datos. En cambio, crean microservicios separados para búsqueda, recomendaciones, servicios al cliente, etc.

Puede consultar el blog vinculado a continuación para obtener más información sobre microservicios:
¿Qué son los microservicios? Introducción a la arquitectura de microservicios | Edureka

O puede ver el video vinculado:

Si está interesado en microservicios, puede inscribirse en el curso de capacitación en arquitectura de microservicios ofrecido por Edureka para obtener un conocimiento profundo sobre el desarrollo de una solución basada en la arquitectura de microservicios.

Yo diría que la madurez de SOA se conoce como microservicios.

Los problemas de la comunidad SOA se incorporan al enfocar las siguientes cosas como guía en @Microservices.

1. Alta cohesión (enfoque único)

2. Atonom0us (independiente)

3. Centrado en el dominio empresarial (Representar el dominio empresarial)

4.Resiliencia (fracaso del abrazo)

5.Observable (centralizado y monitoreo)

6.Automatización (Herramientas para pruebas y despliegue)

Gracias

Es difícil definir Microservicios como una entidad o componente individual separado.

Microservicios es un patrón de arquitectura y un ecosistema que permite agilidad, escalabilidad, tolerancia a fallas, resistencia, menos acoplamiento, CI / CD, etc.

Microservicios es, en principio, una versión fina de SOA.

Hay diferentes formas de implementar Microservicios.

Microservicios es una variante del estilo arquitectónico de arquitectura orientada a servicios (SOA) que estructura una aplicación como una colección de servicios acoplados libremente. En una arquitectura de microservicios, los servicios deben ser precisos y los protocolos deben ser ligeros. El beneficio de descomponer una aplicación en diferentes servicios más pequeños es que mejora la modularidad y hace que la aplicación sea más fácil de entender, desarrollar y probar. También paraleliza el desarrollo al permitir que pequeños equipos autónomos desarrollen, implementen y escalen sus respectivos servicios de forma independiente. También permite que surja la arquitectura de un servicio individual a través de la refactorización continua. Las arquitecturas basadas en microservicios permiten la entrega y la implementación continuas

Preguntas de la entrevista de microservicios

Los microservicios son el conjunto de pequeños servicios separados con procesos heterogéneos, que se ejecutan por completo y constituyen una aplicación completa. Esta arquitectura tiene una gran demanda en este momento debido a su enfoque en el desarrollo de pequeños módulos autónomos, su implementación independiente, cambios, arreglos y la capacidad de escalarlos aparte de todo el sistema.

Consulte este artículo si necesita más detalles sobre la arquitectura de microservicios: microservicios como enfoque innovador para la entrega de aplicaciones | YourServerAdmin

Puede pensar en los microservicios como muchos mini programas conectados entre sí a través de HTTP o mensajes. Hice un video corto sobre el tema aquí.

¡Espero eso ayude!

¿Te será útil comprender qué son los microservicios? esperando que te guste!
Por qué los microservicios son una buena idea: servicios de diseño, desarrollo, deslocalización y coaching de TI en Barcelona

Recientemente escribimos un artículo sobre nuestra experiencia práctica en el uso de microservicios, incluyendo lo que pensamos que eran los beneficios. Si está interesado en leerlo, échele un vistazo aquí: Sleighdogs »Microservicios http://sld.gs/blog/microservices/ . Cualquier pregunta o sugerencia, ¡házmelo saber!

Los microservicios son una forma de dividir grandes proyectos de software en módulos sueltos, que se comunican entre sí a través de API simples.

Puedes encontrar más en: Cloud Computing Sales en Udemy. Contactenos para mas detalles.

Desde hace unos días estaba buscando lo que es Micro Services … Finalmente, tengo un instituto en Hyderabad, para Micro Services Training. Allí tengo más temas sobre Micro services.

Respondo esta pregunta en mi blog: ¿Qué es un microservicio? – Aditi Chaudhry – Medio

Encontré uno de los mejores artículos para ti, revísalo y aclara todas tus dudas.

Mejores prácticas para construir una arquitectura de microservicios