El temario oficial de Microsoft Certified: DevOps Engineer Expert, organizado por dominio. Marca cada punto según lo vayas repasando.
Inicia sesión para guardar tu progreso entre sesiones.
Design and implement traceability and flow of work
GitHub flow es un flujo ligero basado en ramas: creas una rama descriptiva, confirmas cambios aislados, abres una PR (en borrador si quieres opinión temprana), atiendes la revisión, combinas y eliminas la rama. En Azure Repos, Microsoft recomienda ramas de característica, PR con validación de compilación y revisores automáticos en main, y ramas de versión que no se combinan de vuelta: las correcciones se trasladan con cherry-pick.
En GitHub, las plantillas y formularios de incidencias (.github/ISSUE_TEMPLATE) estructuran los informes, config.yml puede ocultar la incidencia en blanco, y las subincidencias crean jerarquías. Las notificaciones llegan a la bandeja web, móvil o correo según si participas o vigilas el repositorio. Azure DevOps entrega avisos por correo o enlaces de servicio con suscripciones personales, de equipo, de proyecto o globales filtradas por evento.
Configuring issue templates for your repository ↗About notifications ↗
GitHub Projects combina tabla, tablero y hoja de ruta sincronizados con incidencias y PR; sus flujos integrados ponen Done al cerrar o combinar, y el agregado automático añade elementos nuevos que cumplen un filtro. Para automatizarlos con Actions hace falta una GitHub App o un PAT, porque GITHUB_TOKEN no accede a proyectos. Azure Boards se conecta a GitHub con su aplicación y vincula confirmaciones, PR e incidencias mediante AB#ID.
Using the built-in automations ↗Link GitHub commits, pull requests, branches, and issues to work items in Azure Boards ↗
La trazabilidad une requisitos, código, compilaciones, versiones, pruebas y errores mediante vínculos como Branch, Commit, Pull Request o Integrated in build. En Azure Pipelines puedes vincular resultados de pruebas a requisitos, crear errores desde pruebas fallidas y localizar el cambio de código que inició un fallo. El widget Requirements quality resume la calidad por requisito, y AB# o Fixes #n conectan el código de GitHub con el trabajo.
Design and implement appropriate metrics and queries for DevOps
El tiempo de entrega va de la creación del elemento a su estado Completed y el de ciclo, desde que entra en In Progress hasta Completed; los widgets Lead Time y Cycle Time muestran la media móvil y la desviación estándar, y el CFD revela cuellos de botella y exceso de WIP. Para la entrega, Cloud Adoption Framework propone Lead Time for Change, Deployment Frequency, Mean Time to Restore y Change Fail Percentage.
Configure lead time and cycle time widgets ↗DevOps considerations ↗
Para planificar, Azure Boards ofrece la velocidad (trabajo completado por sprint, acreditado al sprint en que se termina), la herramienta de previsión, que usa esa velocidad para repartir el trabajo pendiente en sprints futuros, y widgets Burndown y Burnup que pueden abarcar varios equipos y mostrar el aumento de alcance. Las consultas usan macros como @CurrentIteration - 1, y GitHub Projects ofrece gráficos históricos como Burn up.
View and configure team velocity ↗Forecast your product backlog ↗
Las métricas de desarrollo miden la salud del código y del flujo de cambios: cobertura diferencial en las PR de Azure Repos (azurepipelines-coverage.yml, consultiva salvo que una directiva de rama la exija), widgets Code Tile y Pull Request, Pulse en GitHub y métricas de rendimiento de GitHub Actions. Para relacionar trabajo y código de GitHub en consultas, Azure Boards usa External Link Count.
Review and configure code coverage results in Azure Pipelines ↗Using Pulse to view a summary of repository activity ↗
Las métricas de pruebas de Azure DevOps salen de los resultados que publica la canalización (p. ej., PublishTestResults@2). Test Analytics y el informe Test failures muestran las pruebas que más fallan y la tendencia de aprobación; la administración de pruebas inestables detecta pruebas flaky y puede excluirlas del resumen. Los widgets Test Results Trend (Advanced), Chart for Test Plans y Requirements quality llevan estos datos a los paneles.
Las métricas de seguridad se obtienen de las alertas de las herramientas de análisis. En GitHub, la vista general de seguridad ofrece vistas Overview, Risk, Coverage y por herramienta, y las alertas de código y de Dependabot se filtran con expresiones como is:open o scope:development. GitHub Advanced Security for Azure DevOps ofrece Risk, Coverage y Alerts para Azure Repos, y Defender for Cloud unifica Azure DevOps, GitHub y GitLab.
Security overview ↗Security overview (GitHub Advanced Security for Azure DevOps) ↗
Las métricas de entrega muestran qué llega a cada entorno y con qué fiabilidad. En Azure Pipelines, los entornos guardan el historial de implementaciones de todas las canalizaciones con sus cambios y elementos de trabajo, y los informes de tasa de aprobación y duración revelan tareas que fallan o tardan. En GitHub, la página Deployments muestra el historial por entorno y las métricas de rendimiento de Actions dan tiempos de cola y tasas de error.
Create and target Azure DevOps environments ↗Pipeline reports ↗
Para operaciones, Azure Monitor combina consultas KQL en Log Analytics con alertas. En KQL, summarize con percentile() y bin(timestamp, 5m) genera series temporales de latencia. Las alertas de métricas admiten varias condiciones y umbrales dinámicos, y son preferibles para detectar ausencia de datos. Las pruebas estándar de Application Insights comprueban también el certificado TLS/SSL.
Configure collaboration and communication
La wiki de Azure DevOps admite Markdown y diagramas Mermaid con el contenedor ::: mermaid o un bloque delimitado mermaid; los diagramas de flujo se escriben con graph, no con flowchart. Etiquetas como [[_TOC_]] y [[_TOSP_]] generan índices, y Publicar código como wiki asigna una rama y carpeta del repositorio, ordenadas con archivos .order. GitHub representa Mermaid en bloques delimitados mermaid.
Use Markdown in Azure DevOps ↗Publish a Git repo to a wiki ↗
En GitHub, las notas de la versión generadas automáticamente incluyen las solicitudes de incorporación de cambios combinadas, los colaboradores y un vínculo al registro de cambios; .github/release.yml las organiza por etiquetas y excluye etiquetas o autores. La documentación de API en ASP.NET Core se genera como documento OpenAPI con Swashbuckle o NSwag y se muestra con Swagger UI.
Automatically generated release notes ↗ASP.NET Core web API documentation with Swagger / OpenAPI ↗
Git ofrece comandos para generar documentación a partir del historial: git log con rangos como v2.3.0..HEAD, --no-merges, --grep y --pretty=format crea registros de cambios; git shortlog -sn resume confirmaciones por autor; git describe genera versiones a partir de la etiqueta anotada más cercana. La API de GitHub genera notas de la versión entre dos etiquetas con el punto de conexión generate-notes.
Git - git-log Documentation ↗Git - git-shortlog Documentation ↗
Los webhooks envían eventos a un punto de conexión HTTPS. En GitHub conviene usar un secreto y validar la firma X-Hub-Signature-256, responder con 2XX enseguida y usar X-GitHub-Delivery contra reenvíos. Azure DevOps envía eventos con suscripciones Web Hooks de enlaces de servicio, y Azure Pipelines admite recursos webhooks con una conexión Incoming Webhook protegida por secreto.
Validating webhook deliveries ↗resources.webhooks.webhook definition ↗
Azure Boards se conecta a repositorios de GitHub, preferiblemente con la aplicación Azure Boards. Las menciones AB# en mensajes de confirmación y descripciones de solicitudes vinculan elementos de trabajo, y palabras como Fixes cambian su estado solo al combinar en la rama predeterminada. También hay distintivos de estado, ramas creadas desde elementos de trabajo y menciones ! de solicitudes.
Link GitHub commits, pull requests, branches, and issues to work items in Azure Boards ↗What is the Azure Boards-GitHub integration? ↗
Azure DevOps Services se integra con Teams mediante las aplicaciones Azure Boards, Azure Pipelines y Azure Repos, que crean suscripciones de notificaciones en un canal, y la aplicación Azure DevOps como pestaña. Azure Pipelines permite aprobar implementaciones desde el canal. La aplicación GitHub para Teams usa @GitHub subscribe OWNER/REPO con características y filtros de rama, etiqueta y flujos de trabajo.
Azure DevOps integration with Microsoft Teams ↗Customizing notifications for GitHub in Teams ↗
Practica por dominio oficial y revisa la explicación de cada respuesta.
Empezar a practicar