Integración continua y entrega continua (creación de aplicaciones en la nube reales con Azure)

por Mike Wasson, Rick Anderson, Tom Dykstra

Descargar el proyecto de corrección de ti o descargar el libro electrónico

La creación de aplicaciones reales en la nube con el libro electrónico de Azure se basa en una presentación desarrollada por Scott Guthrie. Se explican 13 patrones y prácticas que pueden ayudarle a desarrollar correctamente aplicaciones web para la nube. Para obtener información sobre el libro electrónico, consulte el primer capítulo.

Los dos primeros patrones de proceso de desarrollo recomendados fueron automatizados todo y el control de código fuente, y el tercer patrón de proceso los combina. La integración continua (CI) significa que cada vez que un desarrollador protege el código en el repositorio de origen, se desencadena automáticamente una compilación. La entrega continua (CD) lleva un paso más allá: después de que una compilación y las pruebas unitarias automatizadas se realizan correctamente, implementa automáticamente la aplicación en un entorno donde puede realizar pruebas más exhaustivas.

La nube le permite minimizar el costo de mantenimiento de un entorno de prueba, ya que solo paga por los recursos del entorno, siempre y cuando los esté usando. El proceso de CD puede configurar el entorno de prueba cuando lo necesite, y puede deshacerlo cuando haya terminado las pruebas.

Flujo de trabajo de integración continua y entrega continua

Por lo general, se recomienda realizar la entrega continua en los entornos de desarrollo y ensayo. La mayoría de los equipos, incluso en Microsoft, requieren un proceso de revisión y aprobación manual para la implementación de producción. En el caso de una implementación de producción, es posible que desee asegurarse de que se produce cuando las personas clave del equipo de desarrollo están disponibles para soporte técnico o durante períodos de tráfico bajo. Sin embargo, no hay nada que le impida automatizar completamente los entornos de desarrollo y pruebas para que todos los desarrolladores tengan que proteger un cambio y se configure un entorno para las pruebas de aceptación.

En el diagrama siguiente de un libro electrónico de patrones y prácticas de Microsoft sobre la entrega continua se muestra un flujo de trabajo típico. Haga clic en la imagen para ver su tamaño completo en su contexto original.

flujo de trabajo de entrega continua

Cómo la nube habilita los CI y el CD rentables

Automatizar estos procesos en Azure es fácil. Dado que está ejecutando todo en la nube, no tiene que comprar ni administrar servidores para sus compilaciones o entornos de prueba. Y no tiene que esperar a que un servidor esté disponible para realizar las pruebas. Con cada compilación que haga, puede poner en marcha un entorno de prueba en Azure con el script de automatización, ejecutar pruebas de aceptación o realizar pruebas más exhaustivas en él y, a continuación, cuando acabe de cortarlo. Y si solo ejecuta ese servidor durante 2 horas o 8 horas o un día, la cantidad de dinero que tiene que pagar es mínima, ya que solo paga por el tiempo en el que se está ejecutando realmente una máquina. Por ejemplo, el entorno necesario para la aplicación de corrección de ti básicamente cuesta aproximadamente un ciento por hora si se desplaza un nivel hacia arriba desde el nivel gratis. En el transcurso de un mes, si solo ejecutó el entorno una hora cada vez, el entorno de pruebas podría costar menos que un latte que compre en Starbucks.

Azure DevOps Services

Azure DevOps Services proporciona varias características para ayudarle en el desarrollo de aplicaciones desde la planeación de la implementación.

  • Admite el control de código fuente git (distribuido) y TFVC (centralizado).
  • Ofrece un servicio de compilación elástica, lo que significa que crea dinámicamente servidores de compilación cuando se necesitan y los pone al día cuando finalizan. Puede iniciar automáticamente una compilación cuando alguien protege los cambios del código fuente y no tiene que asignar y pagar sus propios servidores de compilación que se encuentran inactivos la mayor parte del tiempo. El servicio de compilación es gratuito siempre que no supere un número determinado de compilaciones. Si espera realizar un gran volumen de compilaciones, puede pagar un poco más para los servidores de compilación reservados.
  • Admite la entrega continua a Azure.
  • Admite la prueba de carga automatizada. La prueba de carga es fundamental para una aplicación en la nube, pero a menudo no se tiene cuidado hasta que es demasiado tarde. La prueba de carga simula un uso intensivo de una aplicación por miles de usuarios, lo que le permite encontrar cuellos de botella y mejorar el rendimiento, antes de publicar la aplicación en producción.
  • Admite la colaboración en el salón del equipo, lo que facilita la comunicación en tiempo real y la colaboración para equipos ágiles pequeños.
  • Admite la administración de proyectos ágiles.

Para obtener más información sobre las características de integración y entrega continuas de Azure DevOps Services, consulte la documentación de Azure DevOps.

Si está buscando una solución de administración de proyectos, colaboración en equipo y control de código fuente, consulte Azure DevOps Services. Regístrese en Azure DevOps Services.

Resumen

Los tres primeros patrones de desarrollo en la nube han estado sobre cómo implementar un proceso de desarrollo repetible, confiable y predecible con un tiempo de ciclo inferior. En el siguiente capítulo comenzamos a examinar los patrones de arquitectura y codificación.

Recursos

Para obtener más información, consulte implementación de una aplicación web en Azure App Service.

Consulte también los siguientes recursos: