En general, ¿cuáles son las mejores tecnologías para construir microservicios? Actualmente usando Node.JS, Docker y Kubernetes.

El objetivo de los microservicios es utilizar las tecnologías más adecuadas para un servicio en particular, por lo que no existe la tecnología “mejor general”.

Docker es ciertamente útil para aislar e implementar la lógica de la aplicación, pero también hay otras tecnologías de contenedor. Docker es el más convencional. Docker es una buena opción cuando necesita prácticas de implementación estándar, ya que la comunidad ha evolucionado en esta dirección. Si necesita un control más granular de su entorno, LXC puede ser mejor.

Node es ideal para la implementación rápida de la lógica de negocios, pero como cualquier tecnología, no es el adecuado el 100% del tiempo. Personalmente, soy un defensor de Node (miembro de la Fundación), pero también uso una cantidad considerable de Go. También opero algunos servicios de datos que aprovechan Python y Java porque son más adecuados para un servicio en particular. La conclusión de esto debería ser que la “mejor” tecnología es la que proporciona la mejor solución para los servicios que necesita.

Kubernetes se trata de gestionar un entorno SOA. Una vez más, sin embargo, hay alternativas (Google incluso usa alternativas internamente). Mesos / Mesosphere y DCOS ofrecen el mismo tipo de cosas, que generalmente se reduce a preferencias al final.

Tiendo a decirle a la gente que deje de enfocarse en la “mejor tecnología” y comience a enfocarse en el “mejor flujo de trabajo”. Las mejores soluciones técnicas solo pueden identificarse una vez que se define el flujo de trabajo; de lo contrario, alinear la tecnología con la aplicación práctica es como adivinar en la oscuridad.

Estos recursos deberían ayudarlo a:

https://www.softwareag.com/corpo

La tecnología, el marco o la herramienta adecuados para crear microservicios

Cómo elegir la tecnología, el marco o la herramienta adecuados para crear microservicios – Integración DZone

Estás tratando de resolverlo con demasiados pasos por delante. Un estilo de arquitectura de microservicios necesita primero tener una arquitectura decidida. Dicha arquitectura estará hecha de compensaciones y preferencias que crearán no solo una selección de objetivos, sino también acentos en algunos de los aspectos arquitectónicos de lo que desea dar vida.

Por ejemplo, puede valorar el agnosticismo del lenguaje (por lo que los marcos en torno a un solo idioma no expresarán sus ideas correctamente). En el lado opuesto, podría valorar el enfoque que pueden obtener los desarrolladores, y al tender a liberarlos de tomar decisiones, adoptaría una especie de receta maestra, que incluye qué lenguaje usar para modismos y estrategias particulares.

Que no haya dudas: ¡DEPENDE!