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.
- ¿Cómo se puede hacer una conversión de PSD a HTML?
- ¿Ruby on Rails está muerto?
- ¿Es legal construir un sitio web que use contenido de Instagram?
- ¿Por qué Facebook no ha migrado fuera de PHP?
- Cómo limitar el área arrastrable a una región div particular en una página que usa Angularjs ngDragDrop
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.