Información general sobre las tecnologías de DevOps

Automatice la entrega de software para ofrecer valor a los usuarios de forma continuada

La promesa de DevOps

DevOps automatiza y agiliza la entrega de software. Aporta confiabilidad al proceso y a los productos. Cuando implementa las tecnologías y la práctica de DevOps, puede aportar valor a sus clientes con más rapidez, ya sea en forma de productos nuevos e innovadores o como mejoras de otros actuales.

¿Cuál es la definición de DevOps?

DevOps es una práctica que, en el ámbito del desarrollo y las TI, unifica a las personas, los procesos y la tecnología en cinco prácticas principales: planeamiento y seguimiento, desarrollo, compilación y pruebas, entrega y supervisión y operaciones. Cuando se practica DevOps, los equipos de desarrollo, operaciones de TI, ingeniería de calidad y seguridad colaboran estrechamente en prácticas diferenciadas que antes estaban aisladas. La coordinación y la colaboración mejoradas entre estas disciplinas reduce el tiempo que transcurre desde que se confirma un cambio en un sistema hasta que se implementa en un entorno de producción. Además, asegura el cumplimiento de los estándares de seguridad y confiabilidad como parte del proceso. El resultado es mejores productos que se entregan más rápido y clientes más contentos.

¿Cómo se pone en práctica un modelo de DevOps?

Los equipos interdisciplinarios siguen estas fases de DevOps a través de la canalización de entrega para comercializar los productos en menos tiempo.

Planear y hacer un seguimiento

Identifique el trabajo y mantenga un seguimiento del mismo mediante prácticas y procesos como los paneles kanban y la metodología ágil. Cuando se hace un seguimiento visual del trabajo, las partes interesadas obtienen una conclusión clara de la capacidad del equipo de desarrollo y pueden planear y clasificar mejor las tareas por orden de prioridad, y así evitar situaciones de urgencia innecesarias.

Desarrollar

Escriba código usando modernos sistemas de control de versiones, como GIT, para integrarlo de forma continuada y segura en la rama maestra. Cuando se completa una característica, el desarrollador envía una solicitud de incorporación de cambios y, una vez aprobada, los cambios se fusionan mediante combinación en una rama maestra y la rama anterior se elimina.

Compilar y probar

La inserción de código en GIT u otro sistema de control de versiones inicia un proceso de compilación automatizado. El código se prueba y se valida para asegurar que los errores se detectan pronto en el proceso de desarrollo, cuando aún están recientes en la mente del desarrollador y cuesta menos corregirlos. Este proceso de automatizar la compilación y las pruebas se denomina integración continua (CI). Un artefacto que se puede implementar en el entorno de producción es el resultado de una compilación y una integración satisfactorias, lo que permite llevar a cabo una entrega continua (CD), es decir, la capacidad de implementar en producción en cualquier momento.

Implementar

Una vez probado y validado, cada cambio se puede implementar en el entorno de producción. Si se utilizan prácticas de entrega continua, la implementación final en producción es una decisión empresarial controlada manualmente.

Con la implementación continua, todo el proceso, desde que se confirma el código hasta que se implementa en producción, es automático. Cuando el código se implementa de forma automática, los clientes acceden a las nuevas características tan pronto como están listas para usarlas.

Supervisar y controlar

Cuando la aplicación ya está activa en el entorno de producción, la supervisión ofrece información sobre su rendimiento y patrones de uso. Obtenga datos de diagnóstico completos de inmediato para que su equipo pueda tomar medidas rápido y ofrecer así alta disponibilidad. Mitigue posibles problemas para los usuarios y recopile datos que permitan tomar decisiones empresariales informadas sobre la actividad de desarrollo futura. Y, con las directivas de cumplimiento automatizadas que utilizan infraestructura como código y directiva como código, podrá asegurarse de que las aplicaciones que implementa en el entorno de producción utilizan la configuración deseada, en línea con las mejores prácticas de seguridad.

Más información

Comience a practicar DevOps con Azure

Azure ofrece una solución integral y automatizada para DevOps que incluye seguridad y supervisión integradas. Desarrolle y controle sus aplicaciones en la nube de una manera fácil. La experiencia de desarrollo de Azure DevOps se integra con las herramientas que prefiera. Si es un desarrollador de Java, genial, porque Azure proporciona integración nativa con Eclipse. Si utiliza Jenkins, úselo para implementar soluciones directamente en Azure sin problemas. Reúna a sus equipos de desarrollo, operaciones de TI e ingeniería de calidad para compilar, probar, implementar, supervisar y administrar aplicaciones en la nube. Para aplicaciones y cargas de trabajo con requisitos especiales de latencia, cumplimiento normativo o de otro tipo, Azure, combinado con Azure Stack, ofrece una experiencia de DevOps híbrida totalmente coherente. Utilice sus conocimientos, procesos y herramientas en el entorno donde deba ejecutarse su aplicación.

Ofrezca innovación continua

Simplifique y agilice la experiencia de desarrollo en la nube

Dedique menos tiempo a crear canalizaciones de entrega y más tiempo a desarrollar software. Utilice una solución de DevOps integral para desarrollar y usar aplicaciones en la nube, tanto si es para mejorar una canalización de entrega actual como si empieza desde cero. Puede usar Node.js, .NET, Azure DevOps o Jenkins. Azure es la forma más sencilla de desarrollar y controlar aplicaciones en la nube.

Aumente la confiabilidad y repetibilidad

Invierta menos tiempo en administrar la infraestructura y la seguridad, y más tiempo en desarrollar soluciones innovadoras. En Azure, puede usar implementación continua con características de seguridad y supervisión de nivel empresarial integradas. Aproveche herramientas de infraestructura como código (por ejemplo, Azure Resource Manager o Terraform) para crear implementaciones repetibles y confiables que satisfacen los estándares de cumplimiento normativo.

Desarrolle e implemente soluciones a su manera

Use las herramientas que desee. Un proceso de DevOps integral y abierto admite cualquier cadena de herramientas, incluidas las de código abierto, a lo largo de todo el flujo de trabajo. Utilice Ansible, Docker, Kubernetes o cualquier otra herramienta que prefiera con Azure.

Customers are doing great things with DevOps and Azure

Explore Azure para DevOps

Continúe usando las herramientas de código abierto y de terceros que más le gustan dentro de su canalización. O bien aproveche Azure DevOps para organizar y complementar su cadena de herramientas de DevOps completa.

Desarrollar

Simplifique la experiencia de desarrollo gracias a la integración nativa de Azure con Visual Studio y Visual Studio Code. Si es un desarrollador de Java, aproveche las experiencias enriquecidas de Azure en IDE de terceros, como Eclipse e IntelliJ, usando el kit de herramientas de Azure.

Comparta código, compile y distribuya software con repositorios GIT ilimitados y use una metodología Agile de administración del trabajo con Azure DevOps. Aprovisione entornos en minutos para desarrolladores con DevTest Labs.

Compilar y probar

Configure canalizaciones de CI/CD y administre paquetes con Azure DevOps. Traiga a Azure compilaciones y canalizaciones de Jenkins que ya tenga y utilice complementos de agente dinámicos para reducir los requisitos y los costos de infraestructura.

Distribuya soluciones de gran calidad y a tiempo usando DevTest Labs para configurar y administrar los entornos de pruebas. Compile, pruebe y distribuya aplicaciones para iOS, macOS, Android y Windows con más rapidez y confianza automatizando sus ciclos de vida con Visual Studio App Center. Realice pruebas en miles de dispositivos reales, distribuya juegos a evaluadores de versiones beta y tiendas de aplicaciones, y supervise el uso con datos de bloqueos y análisis.

Implementar

La infraestructura como código captura las definiciones de entorno como código declarativo (por ejemplo, JSON o YAML) para ofrecer configuración y aprovisionamiento automatizados. Use Azure Resource Manager o Terraform para aprovisionar entornos duplicados con confianza. Azure Automation y herramientas como Ansible, Chef o Puppet ofrecen automatización y administración de la configuración.

Automatice las pruebas y la entrega de software en varios entornos a lo largo de todo el proceso hasta el entorno de producción mediante validaciones de aprobación, con Release Management para Azure DevOps. También puede implementar las soluciones directamente desde sus canalizaciones de Jenkins en Virtual Machines, Web Apps o Azure Container Service.

Supervisar y controlar

Supervise el estado de mantenimiento de la infraestructura e intégrelo en los paneles actuales de Grafana, Kibana o Azure Portal con Azure Monitor. Utilice Log Analytics para conectar, recopilar y transformar en conclusiones y acciones con rapidez datos de registro de varias ubicaciones. Diagnostique problemas y optimice sus aplicaciones con Application Insights.

Asegúrese de que la infraestructura aprovisionada y las aplicaciones son conformes a Azure Policy o Chef Automate. Si se utiliza junto con Security Center, permite limitar la exposición a amenazas y buscar y remediar vulnerabilidades con rapidez.

Obtenga prácticas de DevOps coherentes en la nube híbrida

Azure Stack es una extensión de Azure que incorpora la funcionalidad de la nube a los entornos locales. Permite ofrecer servicios de Azure desde su centro de datos, al tiempo que mantiene un equilibrio entre flexibilidad y control. De este modo, se consiguen implementaciones de nube híbrida realmente coherentes.

Use Team Foundation Server para obtener el mismo conjunto completo de servicios y características de DevOps que Team Services, pero con la capacidad de ejecutarlos en el entorno local.

Vídeo

Metodología ágil en Microsoft

Ver el vídeo

Vídeo

Introducción a Visual Studio App Center

Ver el vídeo

Documentación

Azure DevOps Projects para GitHub

Explore la documentación

Comience a usar DevOps como mejor le convenga

Implementar una solución de DevOps en Azure es muy sencillo. Integre su canalización de forma automática, impleméntela en cualquier plataforma y comience a supervisarla con Azure DevOps Projects.

Si utiliza herramientas de código abierto y de terceros, pruebe soluciones de Azure DevOps. Explore una arquitectura de soluciones y prácticas probadas para implementar sus soluciones de DevOps en Azure.