La relación entre DevOps, contenedores, microservicios y la computación nativa de nube
La definición de computación nativa de nube puede reunir microservicios, Docker, automatización y DevOps, según un experto de Cisco.
Ken Owens, jefe de tecnología de plataformas de nube de Cisco Systems, proporcionó a nuestro sitio hermano The Server Side una definición muy concisa y precisa de la computación nativa de nube, que reunió los conceptos de DevOps, contenedores, microservicios y desarrollo de software moderno. A continuación, tiene una transcripción de la entrevista con el experto y de la definición de Owen de computación nativa de la nube.
Cameron McKenzie: Es increíblemente difícil tratar de acertar con precisión una definición precisa de lo que significa la computación nativa en la nube. Hasta el más puro, es simplemente el despliegue de un microservicio en un contenedor administrado y orquestado. Para otros, no estás haciendo algo nativo de la nube si no eres ágil y estás haciendo DevOps. Realmente no hay consenso de expertos sobre el término. Ahora, habiendo dicho eso, Ken Owens de Cisco nos dio la mejor definición de computación nativa de nube que hemos escuchado hasta la fecha. En su definición, él reúne la idea de nativo de la nube, junta la idea de microservicios, a Docker, y luego discute cómo todo eso vuelve sobre sí mismo para incorporar cosas como la automatización y DevOps. Es como si hubiera proporcionado una teoría unificada de la computación nativa de nube. Y lo que es aún más sorprendente, lo hace en menos de cuatro minutos. Así que aquí está la respuesta de Ken cuando le pedimos que definiera el término nativo de la nube, creo que encontrará que es la mejor definición de computación nativa de la nube que hay.
Ken Owens: Tengo dos formas de responder a esa pregunta. Lo siento por eso, pero como ustedes saben, estoy en el TOC (Comité de Supervisión Técnica) para la CNCF (Cloud Native Computing Foundation), y la forma en que nosotros como comunidad hemos definido lo nativo de nube es empacado en contenedores, dinámicamente orquestado (y siempre agrego ‘administrado’, así que es un tipo de enfoque de arquitectura de sistemas administrados, que es donde entra Kubernetes), y diseñado como microservicios. Y esa parte del diseñado como microservicios es donde ocurre toda la magia, si se quiere.
Así que me gusta luego definir lo diseñado como microservicios. Creo que llega a las raíces de su pregunta en cuanto a por qué hay dos opiniones diferentes acerca de cómo se define lo nativo de nube.
Así que cuando se piensa en lo diseñado como microservicios, hay una amplia gama de, supongo que podrías decir opiniones, sobre lo que eso significa. Pero creo que los patrones o el tipo de vista común que la mayoría en el espacio tiene es que se trata sobre la automatización completa de su software, un enfoque en un pequeño conjunto de interfaces que usted define como servicios, como un servicio contenerizado si lo desea, y luego ver cómo consumir y exponer los servicios de sus interfaces.
Por lo tanto, es realmente un cambio mental en cómo se desarrolla el software porque ahora el desarrollador de aplicaciones es como el dueño de todo. En algunos casos, se puede decir que todavía están confiando en el equipo de infraestructura para proporcionarles alguna infraestructura, pero en su mayor parte, ellos poseen el ciclo de vida del desarrollo, el despliegue y los aspectos de integración y despliegue en curso de ese servicio para el resto de la vida de ese servicio. Algunas personas lo llaman DevOps, algunos lo llaman, ya sabes, la arquitectura de aplicación de 12 factores, pero en efecto, el desarrollador es dueño del ciclo de vida, de extremo a extremo, de los servicios que crean, mientras que en el pasado había un equipo de infraestructura al que pasarían algunas cosas, y ahí estaba el equipo de operaciones al que pasarían algunos aspectos. Ahora, todos esos tres equipos están siendo fusionados en un equipo nativo de la nube.
Cameron McKenzie: Así que ahí está, una definición concisa de la computación nativa de la nube que reúne los contenedores, microservicios, la nube, la automatización y DevOps. Es una hazaña bastante impresionante.
Investigue más sobre Desarrollo de software y aplicaciones
-
Las 11 mejores certificaciones y cursos de formación gratuitos de DevOps en 2024
-
Automatizar DevOps es un imperativo estratégico, pero pocos tienen una estrategia para implementarla
-
Tres opciones para llevar sus aplicaciones heredadas a la nube
-
Tres tendencias de modernización de sistemas heredados que afectan a las empresas