GitHub vs. Azure DevOps: elegir la plataforma CI/CD adecuada para la analítica empresarial
By Mirko Peters · · Updated
Al diseñar plataformas de analítica empresarial modernas como Microsoft Fabric, elegir la columna vertebral de integración continua y despliegue continuo (CI/CD)…
Automatically translated with AI from the original post. Read the English original
Al diseñar plataformas de analítica empresarial modernas como Microsoft Fabric, elegir la columna vertebral de integración continua y despliegue continuo (CI/CD) es una decisión arquitectónica crítica. Las organizaciones se encuentran con frecuencia en una encrucijada, evaluando GitHub y Azure DevOps. Ambas plataformas surgen del vasto ecosistema de herramientas para desarrolladores de Microsoft, pero responden a flujos de trabajo históricos, paradigmas de gobierno y estructuras de comunidad claramente distintos. Entender cómo gestionan estas herramientas la gobernanza, la gestión de artefactos y la flexibilidad de los pipelines determinará tu estrategia de despliegue y el éxito general de tu plataforma.
Para profundizar en este dilema arquitectónico y escuchar un análisis completo de cómo estas herramientas afectan a tus despliegues de datos, no dejes de escuchar nuestro episodio relacionado: GitHub vs Azure DevOps para Microsoft Fabric CI/CD.
Explicación de la titularidad del despliegue

Qué es la titularidad del despliegue
La titularidad del despliegue significa que tienes el control de cada paso del proceso DevOps. Decides cómo pasa tu código del desarrollo a la entrega. Gestionas quién puede acceder a tus herramientas DevOps y cómo haces el seguimiento de los cambios. Estableces las reglas de la automatización y te aseguras de que tu equipo las cumpla.
Código y artefactos
Tú gestionas el código fuente y los artefactos en las plataformas DevOps. Estos componentes forman la base de tu pipeline de entrega. Estas son las partes principales que componen la titularidad del despliegue en las herramientas DevOps modernas:
- Seguimiento del código fuente
- Pruebas
- Despliegue
- Gestión de la infraestructura
- Seguimiento de compilaciones
- Gestión de secretos
- Gestión de versiones
Utilizas las herramientas DevOps para automatizar estos pasos. La automatización te ayuda a entregar actualizaciones más rápido y reduce los errores. Mantienes tu código a salvo y te aseguras de que los artefactos coincidan con las versiones probadas. Haces seguimiento de las compilaciones y las versiones para mantener la coherencia entre entornos.
Acceso y gobernanza
Controlas el acceso a las herramientas DevOps y estableces directivas de gobernanza. Decides quién puede ver, editar o desplegar código. Utilizas la automatización para aplicar las reglas y supervisar la actividad. La gobernanza garantiza que tu equipo siga los estándares durante el desarrollo y la entrega. Registras las acciones y revisas los cambios para proteger tu proceso de desarrollo de software.
Por qué importa la titularidad
La titularidad te da poder sobre tu entorno DevOps. Proteges tu pipeline de entrega frente a riesgos y mantienes segur tu desarrollo. Mantienes el cumplimiento de las normativas y das soporte al control operativo. La siguiente tabla muestra por qué la titularidad del despliegue es fundamental en DevOps:
| Aspecto | Descripción |
|---|---|
| Marco de gobernanza | Integra la seguridad, el cumplimiento y la rendición de cuentas en el ciclo de vida del desarrollo de software (SDLC). |
| Autonomía | Permite a los equipos trabajar de forma independiente, siguiendo los estándares. |
| Gestión de riesgos | Garantiza una gestión de riesgos coherente a lo largo de todo el proceso de desarrollo. |
Utilizas las herramientas DevOps para construir un marco de gobernanza sólido. Ganas autonomía y dejas que los equipos trabajen de forma independiente. Gestionas los riesgos y mantienes fiable tu proceso de entrega. La automatización respalda estos objetivos al hacer que el desarrollo y la entrega sean más eficientes.
Consejo: cuando eres dueño de tu pipeline DevOps, puedes responder rápidamente a los cambios y mantener tu desarrollo de software encaminado.
Necesitas entender la titularidad del despliegue para tomar decisiones acertadas sobre las herramientas DevOps. Mejoras la velocidad de entrega, proteges tu código y mantienes el control sobre tu proceso de desarrollo.
Modelo de titularidad de GitHub
Almacenamiento de código y artefactos
Usas GitHub como un lugar centralizado para el control de código fuente. Cuando subes tu código a github.com, conservas un historial claro de cada cambio. Esto te ayuda a saber quién hizo cada actualización y cuándo. Puedes almacenar tu código en repositorios públicos o privados, según tus necesidades. Si usas GitHub Enterprise, obtienes funciones adicionales para grandes organizaciones, como herramientas avanzadas de seguridad y cumplimiento.
Para los artefactos de despliegue, GitHub ofrece GitHub Packages. Este servicio te permite almacenar salidas de compilación, imágenes de contenedor y otros archivos junto con tu código. Puedes acceder a estos artefactos directamente desde tus flujos de trabajo. Sin embargo, GitHub Packages solo proporciona metadatos básicos, como la fecha de creación y el número de descargas. No puedes añadir propiedades personalizadas ni usar consultas avanzadas para la gestión de artefactos. Otras plataformas, como JFrog, ofrecen más opciones de metadatos y consultas.
Aquí tienes una comparativa rápida:
| Función | JFrog | GitHub |
|---|---|---|
| Automatización: CI/CD integrado de forma nativa | ✅ | ✅ |
| Promoción de compilaciones para la preparación de versiones | ✅ | ❌ |
| Metadatos extendidos para la trazabilidad | ✅ | ❌ |
| Lenguaje de consulta avanzado | ✅ | ❌ |
| Caché de repositorios proxy | ✅ | ❌ |
| Solución de distribución | ✅ | ❌ |
| Solución DevOps de extremo a extremo | ✅ | Limitada |
Dependes de GitHub para el control de código fuente y para el almacenamiento básico de artefactos. Para una gestión más avanzada de artefactos, es posible que necesites usar otras herramientas o integrarte con servicios externos.
Acceso y permisos
Controlas quién puede ver y modificar tu código en github.com. Asignas roles a usuarios y equipos, asegurándote de que cada persona tenga solo el acceso que necesita. Esto sigue el principio de mínimo privilegio. Puedes crear equipos dentro de tu organización y definir permisos distintos para cada uno. Por ejemplo, podrías dar a los desarrolladores acceso de escritura, pero limitar los derechos de administrador a miembros de confianza.
Puedes automatizar la gestión de accesos conectando GitHub a tu sistema de gestión de identidades y accesos (IAM). Así resulta fácil añadir o eliminar usuarios a medida que cambia tu equipo. También deberías establecer directivas claras de control de acceso y revisarlas con frecuencia. GitHub te permite auditar los registros de acceso para detectar cualquier actividad inusual.
- Asigna roles y permisos a nivel de repositorio, organización o empresa.
- Usa propietarios de código para exigir revisiones en los cambios importantes.
- Limita el acceso de administrador y úsalo solo cuando sea necesario.
- Revisa periódicamente los registros de auditoría para detectar acciones no autorizadas.
Si usas GitHub Enterprise, dispones de aún más opciones para gestionar el acceso a gran escala. Puedes definir directivas en muchos repositorios y automatizar el aprovisionamiento de usuarios.
Gobernanza y cumplimiento
Necesitas una gobernanza sólida para que tus despliegues sean seguros y cumplan la normativa. GitHub te ofrece varias herramientas para gestionarla. Puedes reutilizar flujos de trabajo entre proyectos, lo que ahorra tiempo y garantiza la coherencia. GitHub Actions te permite automatizar los despliegues y aplicar reglas en cada entorno.
Puedes usar atestaciones de artefactos para verificar que los archivos de despliegue no han sido modificados. GitHub admite OpenID Connect (OIDC) para realizar despliegues seguros en plataformas de nube. Puedes controlar los despliegues definiendo reglas sobre quién puede desplegar y cuándo. GitHub también te permite consultar el historial de despliegues, lo que facilita las auditorías y las comprobaciones de cumplimiento.
| Función | Descripción |
|---|---|
| Reutilizar flujos de trabajo | Comparte y reutiliza flujos de trabajo entre repositorios y organizaciones. |
| Usar atestaciones de artefactos | Verifica la integridad de los artefactos usados en los despliegues. |
| Reforzar la seguridad de los despliegues | Usa OIDC para realizar despliegues seguros en plataformas de nube. |
| Controlar los despliegues | Gestiona y configura los procesos de despliegue de forma eficaz. |
| Ver el historial de despliegues | Consulta los despliegues anteriores para auditorías y cumplimiento. |
| Gestionar entornos | Organiza los entornos de despliegue para un mejor control. |
| Crear reglas de protección personalizadas | Define reglas para proteger ramas y despliegues críticos frente a cambios no autorizados. |
Puedes conceder permisos según roles y limitar el acceso de administrador a los usuarios imprescindibles. Deberías usar archivos CODEOWNERS para exigir revisiones en el código sensible. Estas funciones te ayudan a aplicar la gobernanza y a mantener seguro tu proceso de implementación.
Nota: GitHub Actions se integra con Microsoft Fabric, así que puedes automatizar implementaciones y gestionar soluciones analíticas con los mismos controles de gobernanza.
Consideraciones de seguridad
Debes prestar mucha atención a la seguridad cuando uses GitHub para canalizaciones de implementación. Las amenazas de seguridad pueden aparecer en muchos puntos de tu flujo de trabajo. Los atacantes pueden intentar inyectar malware en tu código fuente o en tus artefactos de compilación. Los datos sensibles, como claves de acceso y contraseñas, pueden quedar expuestos si no sigues las mejores prácticas. El acceso no autorizado puede dar a los atacantes el control de tu canalización y de tu entorno de producción. Las dependencias obsoletas pueden introducir vulnerabilidades que pongan en riesgo todo tu sistema.
Deberías revisar las principales amenazas de seguridad que afectan a las canalizaciones de implementación de GitHub. La siguiente tabla muestra los riesgos y sus implicaciones:
| Amenazas de seguridad | Implicaciones |
|---|---|
| Inyección de malware | Los atacantes pueden inyectar malware en el código fuente o en los artefactos de compilación. |
| Exposición de datos sensibles | Las claves de acceso, las credenciales y las contraseñas pueden quedar expuestas. |
| Acceso no autorizado | Los atacantes pueden obtener el control de la canalización y del entorno de producción. |
| Dependencias obsoletas | Las dependencias con vulnerabilidades conocidas pueden poner en riesgo la canalización. |
| Canalizaciones mal configuradas | Pueden provocar vulnerabilidades en el sistema. |
| Pérdida de datos | Los atacantes pueden robar o destruir datos sensibles. |
| Tiempo de inactividad | Las brechas de seguridad pueden provocar interrupciones del sistema. |
| Daño reputacional | Pérdida de la confianza de los clientes y pérdidas económicas. |
Debes proteger tus repositorios de GitHub mediante controles de acceso sólidos. Deberías habilitar la autenticación de dos factores para todos los usuarios. Puedes usar la administración de secretos para mantener seguras las credenciales y los tokens. Debes evitar almacenar información sensible directamente en tu código. Deberías revisar los permisos con frecuencia y retirar el acceso a los usuarios que ya no lo necesitan.
Puedes usar GitHub Actions para automatizar tareas de seguridad. Puedes configurar flujos de trabajo que ejecuten análisis de código y análisis de vulnerabilidades cada vez que envíes cambios. Estas comprobaciones automatizadas te ayudan a detectar problemas a tiempo y corregirlos antes de que lleguen a producción. También puedes usar GitHub Actions para aplicar reglas de protección de ramas y exigir revisiones en los cambios importantes.
Debes mantener tus dependencias actualizadas. Puedes usar Dependabot de GitHub para supervisar tus proyectos y avisarte cuando una dependencia tenga una vulnerabilidad conocida. Deberías probar las configuraciones de tu canalización para asegurarte de que no exponen tu sistema a riesgos. Debes revisar los registros y las auditorías con regularidad para detectar actividad inusual.
Consejo: Puedes mejorar tu postura de seguridad combinando las herramientas integradas de GitHub con soluciones externas. Puedes usar analizadores de terceros o integrarte con plataformas de seguridad en la nube para obtener una protección adicional.
Debes tratar la seguridad como un proceso continuo. Deberías formar a tu equipo en prácticas seguras y fomentar revisiones periódicas. Puedes usar las funciones de GitHub para automatizar muchas tareas de seguridad, pero debes mantenerte atento y proactivo. La seguridad sólida te ayuda a proteger tu código, tus datos y tu reputación.
Empezar con GitHub como repositorio: lista de comprobación
Una lista de comprobación práctica para empezar a usar GitHub como repositorio de código.
- Crea una cuenta de GitHub o inicia sesión en ella
- Decide si usarás una cuenta personal o una organización para la propiedad del equipo
- Crea un repositorio nuevo (público o privado) y selecciona la visibilidad adecuada
- Añade un nombre de repositorio claro y un README.md descriptivo
- Añade un archivo LICENSE que se ajuste a las necesidades de tu proyecto
- Añade un .gitignore adaptado a tu lenguaje o marco de trabajo
- Inicializa el repositorio con una rama predeterminada (main) y reglas de protección de ramas
- Configura CODEOWNERS y las directrices de contribución (CONTRIBUTING.md)
- Configura plantillas de incidencias y una plantilla de pull request
- Configura etiquetas, hitos y tableros de proyecto para el seguimiento de incidencias
- Configura flujos de trabajo de GitHub Actions para CI/CD o integra tus canalizaciones existentes
- Añade secretos del repositorio para CI, implementaciones y servicios de terceros
- Configura reglas de protección de ramas: revisiones obligatorias, comprobaciones de estado y confirmaciones firmadas obligatorias si las necesitas
- Habilita Dependabot para las actualizaciones de dependencias y las alertas de seguridad
- Habilita las funciones de seguridad: análisis de código, detección de secretos y alertas de vulnerabilidades
- Configura webhooks o integraciones para CI, chatops o servicios externos
- Invita a colaboradores o miembros del equipo y define los permisos del repositorio
- Migra los repositorios e incidencias existentes (si vienes de Azure DevOps, planifica la migración y asigna los elementos de trabajo)
- Documenta la estructura del repositorio, el flujo de trabajo de desarrollo y el proceso de publicación en la wiki o en la carpeta de documentación
- Configura la monitorización y las alertas para publicaciones, implementaciones y flujos de trabajo importantes
- Revisa y compara los flujos de trabajo frente a las alternativas (GitHub vs. Azure DevOps) para optimizar las decisiones de CI/CD y de gestión de proyectos
- Audita con regularidad el acceso a los repositorios, los secretos y la configuración de seguridad
Modelo de propiedad de Azure DevOps
Repositorios y canalizaciones
Al usar Azure DevOps, obtienes una plataforma unificada para gestionar tu código, tus artefactos y tus procesos de implementación. Los servicios de Azure DevOps reúnen repositorios de código, seguimiento del trabajo, herramientas de pruebas y almacenamiento de artefactos. Esta integración te ayuda a controlar cada etapa del ciclo de vida de la entrega de software. Puedes rastrear cada ejecución de canalización hasta confirmaciones, solicitudes de incorporación de cambios o elementos de trabajo concretos, lo que te da una visibilidad clara de tu proceso de desarrollo.
| Característica | Descripción |
|---|---|
| Gestión del ciclo de vida | Azure DevOps integra repositorios de código, seguimiento del trabajo, pruebas y almacenamiento de artefactos. |
| Integración con canalizaciones | Puedes rastrear cada ejecución de canalización hasta confirmaciones o elementos de trabajo concretos. |
| Control de acceso basado en roles | Los proyectos tienen roles asignados para gestionar el acceso y los permisos. |
Las canalizaciones de Azure DevOps usan identidades para acceder a los recursos. Estas identidades se pueden definir a nivel de colección o de proyecto. Las identidades a nivel de proyecto te ayudan a limitar el acceso solo a los recursos necesarios para cada proyecto, lo que aumenta la seguridad. También puedes añadir protección a los recursos del repositorio mediante comprobaciones y permisos de canalización. Así puedes gestionar la propiedad y los derechos de edición de tu código y de tus flujos de trabajo de implementación.
Azure DevOps admite CI/CD optimizado, para que puedas automatizar compilaciones, pruebas e implementaciones. Con Azure Pipelines obtienes integración continua y entrega continua, lo que te ayuda a publicar actualizaciones de forma rápida y fiable. Microsoft diseñó Azure DevOps para funcionar bien con la computación en la nube, lo que facilita escalar tus proyectos a medida que crecen tus necesidades.
Control de acceso
Controlas quién puede acceder a tus servicios de Azure DevOps mediante control de acceso basado en roles. Este modelo te permite asignar permisos según los roles, de modo que cada usuario solo tenga el acceso que necesita. Puedes organizar a los usuarios en grupos de seguridad y asignar permisos a nivel de organización, de proyecto o de objeto. Microsoft recomienda seguir el principio de mínimo privilegio, lo que significa que das a los usuarios únicamente los permisos necesarios para sus tareas.
- Asigna roles a usuarios y grupos para un control de acceso preciso.
- Usa grupos de seguridad para gestionar los permisos en distintos niveles.
- Revisa y audita los permisos con regularidad para detectar usos inesperados.
Azure DevOps facilita supervisar y ajustar el acceso a medida que cambia tu equipo. Puedes hacer un seguimiento de quién tiene acceso a cada repositorio y canalización, lo que te ayuda a mantener el control de tu entorno de DevOps.
Gobernanza y directivas
Una gobernanza sólida es esencial para implementaciones seguras y fiables. Azure DevOps aplica la gobernanza mediante directivas de rama, controles de acceso y roles personalizados. Las directivas de rama te permiten establecer comprobaciones y requisitos antes de que el código pueda fusionarse, de modo que solo llegue a producción código de calidad. Puedes asignar entidades de seguridad a roles siguiendo el principio de mínimo privilegio, lo que reduce el riesgo de acceso no autorizado.
- Configura directivas de rama para exigir revisiones de código y comprobaciones antes de fusionar.
- Asigna roles personalizados a entidades de servicio para evitar acciones destructivas en producción.
- Usa controles de acceso para limitar quién puede implementar en entornos críticos.
Microsoft diseñó Azure DevOps para dar soporte a la gobernanza empresarial. Puedes integrar Azure DevOps con otras herramientas de Microsoft, como GitHub y Microsoft Fabric, para crear un flujo de trabajo de DevOps sin fisuras. Esta integración te ayuda a gestionar las implementaciones, aplicar directivas y mantener el cumplimiento en toda la organización.
Consejo: revisa periódicamente la configuración de gobernanza en Azure DevOps para mantener tus implementaciones seguras y conformes con la normativa.
Seguridad y cumplimiento
Necesitas controles sólidos de seguridad y cumplimiento al gestionar tus implementaciones. Azure DevOps te ofrece una amplia gama de herramientas para proteger tu código, tus datos y tus flujos de trabajo. Puedes usar las funciones de seguridad integradas para mantener tu proceso de desarrollo seguro y alineado con los estándares del sector.
Azure DevOps utiliza el control de acceso basado en roles para limitar quién puede ver o modificar tus recursos. Asignas permisos a usuarios y grupos, asegurándote de que solo accedan las personas adecuadas. También puedes usar conexiones de servicio para controlar cómo interactúan tus canalizaciones con otros servicios de Azure. Así reduces el riesgo de acciones no autorizadas.
Puedes configurar directivas de rama en Azure DevOps para exigir revisiones de código y comprobaciones antes de fusionar cambios. Estas directivas te ayudan a detectar problemas a tiempo y a mantener segura tu base de código. También puedes usar puertas de aprobación en tus canalizaciones para asegurarte de que solo llegue a producción código probado y aprobado. Este proceso favorece el cumplimiento al aplicar reglas en cada etapa.
Azure DevOps te ofrece registros de auditoría detallados. Puedes registrar cada acción en tus proyectos. Esto facilita revisar los cambios y detectar actividad inusual. Puedes usar estos registros para respaldar auditorías de cumplimiento y cumplir los requisitos normativos.
Puedes almacenar secretos y credenciales de forma segura en Azure DevOps. La plataforma utiliza almacenamiento seguro para la información sensible. Puedes vincular secretos a tus canalizaciones sin exponerlos en el código. Así mantienes a salvo tus contraseñas, tokens y claves frente a filtraciones.
Azure DevOps admite la integración con las herramientas de seguridad de Azure. Puedes usar Microsoft Defender for Cloud para analizar tu código y tus recursos en busca de amenazas. También puedes conectarte a Azure policy para aplicar reglas de cumplimiento en todo tu entorno. Estas integraciones te ayudan a construir una postura de seguridad sólida.
Puedes automatizar las comprobaciones de seguridad en tus canalizaciones. Puedes añadir tareas que busquen vulnerabilidades o verifiquen problemas de cumplimiento. Esta automatización te ayuda a encontrar y corregir problemas antes de que lleguen a producción. También puedes usar la integración continua para ejecutar estas comprobaciones cada vez que subas código.
Puedes confiar en Azure DevOps para gestionar la seguridad y el cumplimiento. Obtienes las herramientas que necesitas para proteger tu código, controlar el acceso y cumplir los estándares del sector. Así puedes centrarte en crear software de calidad mientras mantienes tus implementaciones seguras.
Empieza con Azure DevOps como repositorio: lista de verificación
- Crea o inicia sesión en una organización de Azure DevOps
- Crea un proyecto nuevo (elige la visibilidad: privada o pública) y selecciona el control de versiones: Git
- Crea tu primer repositorio o importa un repositorio existente (desde GitHub o en local)
- Añade un archivo README.md descriptivo y un archivo de licencia
- Añade un .gitignore adaptado al lenguaje o framework de tu proyecto
- Define la estrategia de ramas y las convenciones de nombres (main, develop, feature/*, hotfix/*)
- Protege la rama main: habilita las directivas de rama, los revisores obligatorios y las comprobaciones de estado
- Crea plantillas para pull requests y pautas para colaboradores
- Configura los permisos del repositorio y los grupos (Lectores, Colaboradores, Administradores del proyecto)
- Configura conexiones de servicio para las implementaciones (Azure, AWS, registros de Docker, proveedores externos de Git)
- Crea canalizaciones de CI (YAML de Azure Pipelines o clásicas) y valida las compilaciones en los pull requests
- Crea canalizaciones de CD o de versiones para los entornos (desarrollo, preproducción y producción) y añade puertas de aprobación
- Integra Boards: crea elementos de trabajo y vincula los commits y los pull requests a ellos
- Configura webhooks o ganchos de servicio (service hooks) para integraciones externas (Slack, Teams, Jenkins)
- Configura la retención de ramas del repositorio y las directivas de retención de compilaciones
- Activa la auditoría y configura los controles de cumplimiento y seguridad necesarios
- Configura el análisis de código, el análisis de seguridad y las comprobaciones de dependencias (GitHub puede ofrecer herramientas adicionales; compáralas según tus necesidades)
- Configura un feed de artefactos si necesitas alojar paquetes (NuGet, npm, Maven)
- Crea una wiki o un sitio de documentación y mantén la documentación en el repositorio cuando sea apropiado
- Planifica los pasos de migración si vienes de GitHub: asigna repositorios, incidencias, pull requests, CI/CD y cuentas de servicio
- Invita a los miembros del equipo y verifica el acceso desde sus cuentas
- Ejecuta una prueba inicial de extremo a extremo: clona, haz commit, haz push, abre una PR, ejecuta el pipeline y despliega en el entorno de pruebas
- Supervisa el uso y los pipelines, e itera sobre las directivas y la automatización
Integración de Microsoft Fabric
Integración con Git
Puedes conectar tu área de trabajo de Microsoft Fabric directamente a un repositorio de GitHub. Esta conexión te ofrece un control de versiones sólido para tus proyectos de analítica. Vinculas tu área de trabajo a la rama develop en GitHub. Así puedes hacer seguimiento de cada cambio y revertirlo si es necesario. Puedes usar pipelines de implementación en Microsoft Fabric para mover el contenido de desarrollo a pruebas y, después, a producción. Este proceso te ayuda a evitar problemas de sincronización entre entornos.
Cuando quieras publicar funcionalidades estables, creas una rama release. Usas los pipelines de implementación para llevar estos cambios a producción. Si necesitas corregir problemas urgentes, creas una rama hotfix. Fusionas esta rama con la rama principal para desplegarla. Debes usar bases de datos independientes para cada entorno. Esta práctica protege tus datos de producción frente a cambios accidentales durante las pruebas o el desarrollo.
CI/CD con Azure DevOps y GitHub
Puedes configurar pipelines de CI/CD en Microsoft Fabric con Azure DevOps o GitHub Actions. Estas herramientas te ayudan a automatizar los pasos de compilación, prueba e implementación. Debes dar a tus pipelines de implementación nombres claros y descriptivos. Así es fácil identificar el propósito de cada pipeline. Puedes usar áreas de trabajo existentes o crear nuevas para las distintas etapas del pipeline, como desarrollo, pruebas y producción.
Debes comparar el contenido entre etapas con frecuencia. Esta comprobación garantiza que todos los elementos se han desplegado correctamente. Puedes publicar aplicaciones desde cualquier área de trabajo del pipeline. Este paso permite que los usuarios finales prueben las funcionalidades antes de la implementación final. Debes mantener ramas independientes para cada desarrollador o funcionalidad. Esta práctica te ayuda a evitar conflictos de fusión. Una estrategia de ramas sólida, como Gitflow, te ayuda a gestionar el desarrollo, las versiones y los hotfixes.
Debes exigir revisiones de código antes de fusionar los cambios. Esta regla garantiza que otros miembros del equipo revisen y aprueben las actualizaciones. Microsoft Fabric te permite comparar el contenido de las áreas de trabajo de origen y destino antes de desplegar los cambios. Esta función te ayuda a detectar errores a tiempo y a mantener tus entornos coherentes.
Gobernanza de datos
Microsoft Fabric integra la gobernanza en todas las partes del ciclo de vida de los datos. Gestionas la recopilación, el almacenamiento y el análisis de datos en un único entorno. Microsoft Purview cataloga tus datos y realiza el seguimiento de su linaje. OneLake proporciona almacenamiento centralizado, lo que facilita aplicar directivas de gobernanza. Microsoft Entra ID te ofrece control de acceso basado en roles, para que decidas quién puede ver o modificar los datos.
Aplicas las directivas de gobernanza a nivel de OneLake. Estas reglas siguen a tus datos en las distintas áreas de trabajo y conjuntos de datos. Este enfoque mantiene el tratamiento de los datos coherente y ágil. No necesitas configurar reglas independientes para cada área de trabajo. El diseño de Microsoft Fabric te ayuda a mantener el control y a cumplir los requisitos de cumplimiento a medida que crecen tus datos.
Seguridad y cumplimiento
Necesitas controles sólidos de seguridad y cumplimiento cuando gestionas datos e implementaciones en Microsoft Fabric. La plataforma te ofrece herramientas avanzadas para proteger la información y cumplir los requisitos normativos. Puedes clasificar y proteger los datos sensibles en tus pipelines de Data Factory. Esto te ayuda a mantener la información importante a salvo de accesos no autorizados.
Microsoft Fabric funciona junto con Microsoft Defender for Cloud Apps. Esta integración te ofrece más visibilidad y control sobre tus operaciones. Puedes supervisar actividades y configurar alertas para comportamientos de riesgo. También puedes hacer seguimiento del linaje de los datos. Esta función te permite ver cómo se mueven los datos por tu sistema. Puedes usar esta información para verificar el cumplimiento normativo y entender el flujo de datos confidenciales.
Puedes configurar directivas de prevención de pérdida de datos (DLP) en Microsoft Fabric. Estas directivas te ayudan a impedir el uso compartido no autorizado de información confidencial. Puedes crear reglas personalizadas que se ajusten a las necesidades de tu organización. Por ejemplo, puedes bloquear que los usuarios envíen datos confidenciales fuera de la empresa. También puedes recibir alertas cuando alguien intente compartir información protegida.
Microsoft Fabric admite la localización de datos. Puedes elegir dónde almacenar tus datos mediante la función Multi-Geo. Esto te ayuda a cumplir las leyes de residencia de datos de distintos países. Puedes mantener los datos en regiones específicas para cumplir con la normativa local. Esta función es importante para las organizaciones que operan en muchas ubicaciones.
Microsoft Fabric admite los derechos de privacidad que reconocen leyes como el RGPD. La plataforma te ofrece herramientas para gestionar las solicitudes de sujetos de datos (DSR). Puedes buscar los datos de una persona con Microsoft Purview. Puedes exportar estos datos en formatos como JSON o CSV. Si encuentras errores, puedes corregirlos. También puedes eliminar las identidades de usuario cuando sea necesario. Estos pasos te ayudan a respetar la privacidad y a cumplir las normas legales.
Este es un resumen de la gestión de los derechos de privacidad en Microsoft Fabric:
- Búsqueda y detección: encuentra la información de los sujetos de datos con Microsoft Purview.
- Recuperación: exporta los datos en formatos habituales.
- Rectificación: corrige los errores en los datos almacenados.
- Supresión: elimina de forma permanente las identidades de usuario.
Puedes usar estas funciones para crear una plataforma de datos segura y conforme con la normativa. Microsoft Fabric te ayuda a proteger tus datos, controlar el acceso y cumplir las exigencias de las normativas actuales. Tendrás la tranquilidad de saber que tus implementaciones siguen las mejores prácticas de seguridad y cumplimiento.
Consejo: revisa con frecuencia tu configuración de seguridad y cumplimiento. Las revisiones periódicas te ayudan a anticiparte a los nuevos riesgos y a mantener tus datos seguros.
GitHub vs Azure DevOps vs Fabric: comparativa de propiedad
Ubicación del repositorio
Necesitas saber dónde está tu código. En el debate GitHub vs Azure DevOps, este es un punto clave. GitHub almacena tus repositorios en la nube. Puedes elegir entre las opciones pública y privada. Muchos proyectos de código abierto usan GitHub porque es fácil de compartir y colaborar. Azure DevOps también almacena el código en la nube, pero se centra en proyectos privados de nivel empresarial. Tienes más control sobre quién puede ver y modificar tu código. Microsoft Fabric se conecta tanto a GitHub como a Azure DevOps para el control de versiones. Gestionas tus proyectos de análisis en Fabric, pero el código real reside en el repositorio vinculado.
Esta es una comparativa rápida:
| Plataforma | Ubicación del repositorio | Ideal para |
|---|---|---|
| GitHub | Nube (GitHub.com) | Código abierto, colaboración |
| Azure DevOps | Nube (Azure Repos) | Empresas, proyectos privados |
| Microsoft Fabric | GitHub/Azure DevOps vinculado | Análisis de datos, control unificado |
Debes elegir la plataforma que se ajuste a tus necesidades. Si quieres colaboración abierta, GitHub funciona bien. Si necesitas un control estricto, Azure DevOps te ofrece más opciones. Microsoft Fabric permite usar cualquiera de los dos, así que puedes adaptarlo a tu flujo de trabajo.
Gestión de artefactos
La gestión de artefactos es la forma en que administras los resultados de compilación, los paquetes y los archivos que generan tus proyectos. En la comparativa GitHub vs Azure DevOps, las diferencias son importantes. GitHub usa GitHub Packages para almacenar los artefactos. Ofrece funciones básicas, como almacenar y compartir paquetes. Azure DevOps ofrece Azure Artifacts, que proporciona controles avanzados. Puedes gestionar versiones, configurar feeds y hacer seguimiento del uso. Microsoft Fabric se centra en los artefactos de análisis, como los informes de Power BI y los modelos semánticos. Se vincula a tu repositorio para el control de versiones y utiliza canalizaciones de implementación para trasladar los artefactos entre entornos.
Debes tener en cuenta estos puntos al comparar la gestión de artefactos:
- Autenticación: Azure DevOps utiliza cuentas de usuario de Microsoft Entra. Esto hace que el inicio de sesión sea sencillo y seguro. GitHub utiliza tokens de acceso personal. Pueden ser más difíciles de gestionar, sobre todo en equipos grandes.
- Gobernanza: Azure DevOps incluye funciones de gobernanza integradas. Puedes definir reglas y hacer seguimiento de los cambios con facilidad. GitHub Enterprise ofrece mejor gobernanza que GitHub estándar, pero Azure DevOps sigue siendo la mejor opción para las necesidades empresariales.
- Integración: Microsoft Fabric solo admite las versiones en la nube de Azure DevOps y GitHub para la gestión de artefactos. Si usas Fabric, debes estar preparado para trabajar con flujos de trabajo en la nube.
Aquí tienes una tabla para ayudarte a comparar:
| Plataforma | Almacenamiento de artefactos | Características de gobernanza | Integración con Fabric |
|---|---|---|---|
| GitHub | GitHub Packages | Básicas (mejor en Enterprise) | Sí |
| Azure DevOps | Azure Artifacts | Avanzadas, integradas | Sí |
| Microsoft Fabric | Repositorio vinculado | Unificado en Fabric | N/D (usa el repositorio vinculado) |
Debes elegir Azure DevOps si quieres una gestión sólida de artefactos y gobernanza. GitHub sirve para necesidades sencillas o proyectos abiertos. Microsoft Fabric ofrece un control unificado de los artefactos analíticos, pero depende del repositorio vinculado para el almacenamiento.
Acceso y permisos
El acceso y los permisos determinan quién puede ver, editar o desplegar tu código y tus artefactos. En el debate entre GitHub y Azure DevOps encuentras enfoques diferentes. GitHub te permite definir roles a nivel de repositorio, organización o empresa. Usas equipos y propietarios de código para controlar los cambios. Azure DevOps utiliza control de acceso basado en roles. Asignas usuarios a grupos de seguridad y defines permisos a nivel de proyecto o de objeto. Esto te ofrece un control detallado, algo importante en organizaciones grandes.
Microsoft Fabric utiliza Microsoft Entra ID para el control de acceso. Defines roles para tu área de trabajo analítica. Puedes decidir quién puede ver, editar o desplegar el contenido analítico. Cuando vinculas Fabric con GitHub o Azure DevOps, utilizas sus controles de acceso para el código y los artefactos. Así obtienes lo mejor de ambos mundos: una gestión sólida de identidades de Microsoft y controles flexibles de tu repositorio elegido.
Este es un resumen:
- GitHub: roles y equipos, propietarios de código, registros de auditoría.
- Azure DevOps: control de acceso basado en roles, grupos de seguridad, controles a nivel de proyecto.
- Microsoft Fabric: roles de Entra ID, permisos del área de trabajo, hereda los controles del repositorio vinculado.
Revisa con frecuencia tu configuración de acceso. Asegúrate de que solo las personas adecuadas tengan permisos. Así tus proyectos quedan protegidos y se respetan los requisitos de cumplimiento.
Consejo: aplica el principio de mínimo privilegio. Concede a los usuarios solo el acceso que necesitan. Esto reduce el riesgo y te ayuda a mantener la seguridad.
Gobernanza y cumplimiento
Necesitas una sólida gobernanza y cumplimiento para proteger tus despliegues y cumplir los estándares del sector. Cada plataforma (GitHub, Azure DevOps y Microsoft Fabric) ofrece herramientas y enfoques distintos para estas necesidades.
GitHub ofrece una gobernanza flexible. Puedes definir reglas de protección de ramas, exigir revisiones de código y usar archivos CODEOWNERS. Estas funciones te ayudan a controlar quién puede realizar cambios en tu código. También puedes utilizar registros de auditoría para hacer seguimiento de las acciones en tus repositorios. En cuanto al cumplimiento, GitHub admite integraciones con herramientas de terceros. Puedes automatizar las comprobaciones de directivas y utilizar GitHub Actions para aplicar reglas. Si usas GitHub Enterprise, obtienes funciones avanzadas de cumplimiento, como el inicio de sesión único mediante SAML y la gestión de directivas en toda la empresa.
Azure DevOps se centra en la gobernanza empresarial. Puedes definir directivas de rama, puertas de aprobación y roles personalizados. Estos controles te ayudan a aplicar estándares en todos tus proyectos. Azure DevOps te permite usar el seguimiento de elementos de trabajo para conectar los cambios en el código con los requisitos de negocio. Puedes configurar comprobaciones de cumplimiento en tus canalizaciones. Azure DevOps admite pistas de auditoría y registros detallados. Puedes exportar informes que demuestren el cumplimiento de marcos como ISO, SOC y GDPR. Azure DevOps también se integra con Azure Policy y Microsoft Purview para una gobernanza unificada.
Microsoft Fabric aporta gobernanza a tus flujos de análisis de datos. Usas Microsoft Purview para catalogar datos y hacer seguimiento del linaje. Defines directivas a nivel de OneLake, que se aplican a todas las áreas de trabajo. Este enfoque unificado facilita la gestión del cumplimiento normativo a medida que crecen tus datos. Microsoft Fabric admite control de acceso basado en roles con Microsoft Entra ID. Puedes definir reglas para el acceso a los datos y para las implementaciones. Además, dispones de herramientas integradas de cumplimiento para normativas de privacidad como el RGPD. Puedes buscar, exportar y eliminar datos de usuarios cuando sea necesario.
Esta tabla te ayuda a comparar las funciones de gobernanza y cumplimiento:
| Plataforma | Herramientas de gobernanza | Compatibilidad con el cumplimiento | Integración con Azure |
|---|---|---|---|
| GitHub | Reglas de rama, CODEOWNERS, registros | De terceros, Enterprise | Sí |
| Azure DevOps | Directivas, roles, registros de auditoría | ISO, SOC, RGPD, Purview | Nativa |
| Microsoft Fabric | Purview, OneLake, Entra ID | RGPD, herramientas de privacidad | Nativa |
Consejo: revisa con frecuencia tu configuración de gobernanza. Una gobernanza sólida te ayuda a cumplir la normativa y mantiene tus implementaciones seguras.
Postura de seguridad
Debes proteger tu código, tus datos y tus implementaciones frente a las amenazas. Cada plataforma ofrece funciones y controles de seguridad distintos.
GitHub te ayuda a proteger tus repositorios con autenticación de dos factores, gestión de secretos y protección de ramas. Puedes usar GitHub Actions para automatizar análisis de seguridad y comprobaciones de vulnerabilidades. Dependabot te avisa de las dependencias desactualizadas. Puedes revisar los registros de auditoría para detectar actividad inusual. Para las implementaciones en la nube, GitHub admite OpenID Connect para una autenticación segura. Deberías usar estas herramientas para mantener a salvo tu código y tus artefactos.
Azure DevOps te ofrece controles de seguridad avanzados. Usas el acceso basado en roles para limitar los permisos. Azure DevOps almacena los secretos de forma segura y los vincula a tus canalizaciones. Puedes configurar puertas de aprobación para bloquear las implementaciones arriesgadas. Azure DevOps se integra con Microsoft Defender for Cloud para analizar amenazas. Puedes usar Azure Policy para aplicar reglas de seguridad en todo tu entorno. Los registros de auditoría detallados te permiten seguir cada acción. Puedes automatizar comprobaciones de seguridad en tus canalizaciones para detectar problemas a tiempo. Azure DevOps admite el cumplimiento de estándares del sector y te ofrece herramientas para exportar informes de seguridad.
Microsoft Fabric se centra en la seguridad de los datos. Usas Microsoft Defender for Cloud Apps para supervisar la actividad y configurar alertas ante comportamientos arriesgados. Puedes clasificar y proteger los datos sensibles en tus canalizaciones. Microsoft Fabric admite directivas de prevención de pérdida de datos (DLP). Puedes bloquear el uso compartido no autorizado de información confidencial. También dispones de localización de datos con Multi-Geo, de modo que puedes elegir dónde almacenar tus datos. Microsoft Fabric te ayuda a gestionar los derechos de privacidad y a atender las solicitudes de los interesados. Puedes buscar, exportar y eliminar datos de usuarios para cumplir los requisitos legales.
Este es un resumen de las funciones de seguridad:
- GitHub: autenticación de dos factores, gestión de secretos, análisis automatizados, registros de auditoría.
- Azure DevOps: acceso basado en roles, secretos seguros, puertas de aprobación, Defender for Cloud, aplicación de directivas, registros de auditoría.
- Microsoft Fabric: Defender for Cloud Apps, directivas DLP, clasificación de datos, Multi-Geo, gestión de la privacidad.
Nota: combina las funciones de seguridad de la plataforma con las mejores prácticas. Forma a tu equipo, revisa la configuración y actualiza las directivas a medida que cambien las amenazas.
Obtienes la postura de seguridad más sólida cuando usas las herramientas adecuadas y te anticipas. Cada plataforma (GitHub, Azure DevOps y Microsoft Fabric) te ofrece los controles que necesitas para proteger tus implementaciones y tus datos.
Escenarios reales de DevOps
Código abierto con GitHub
Cuando trabajas en proyectos de código abierto, GitHub te ofrece una forma sencilla de gestionar la propiedad de las implementaciones. Puedes automatizar tu proceso de implementación y mantener el proyecto activo con cada cambio de código. Así funciona la propiedad en un flujo de trabajo típico de DevOps de código abierto con GitHub:
- Subes el código a un repositorio público de GitHub.
- Cada envío a la rama principal desencadena una implementación automática.
- No necesitas solicitar ni esperar una aprobación para implementar.
- Mantienes el control de tu infraestructura en la nube usando tu propia cuenta de AWS o servicios similares.
- Tu proyecto permanece activo en una infraestructura de nivel de producción en todo momento.
Este enfoque te permite centrarte en construir y mejorar tu proyecto. No tienes que preocuparte por aprobaciones manuales ni retrasos. Tú controlas tu proceso de despliegue y tu infraestructura, incluso cuando compartes tu código con el mundo. Con GitHub, también puedes usar herramientas de DevOps como GitHub Actions para automatizar los pasos de pruebas y despliegue.
Empresa con Azure DevOps
En un entorno empresarial, a menudo usas Azure DevOps para gestionar proyectos complejos. Necesitas equilibrar la velocidad, la seguridad y el cumplimiento normativo. La propiedad en este entorno puede volverse complicada. La tabla siguiente muestra algunos desafíos habituales a los que podrías enfrentarte:
| Tipo de desafío | Descripción |
|---|---|
| Ambigüedad en las responsabilidades | El cambio de responsabilidades debido a DevOps provoca confusión sobre quién gestiona la infraestructura en la nube. |
| Preocupaciones de seguridad y cumplimiento normativo | Gestionar las configuraciones de seguridad y los requisitos de cumplimiento normativo añade complejidad a la propiedad del despliegue. |
| Complejidad de la infraestructura en la nube | La incorporación de infraestructura en la nube complica los procesos de despliegue tradicionales y la propiedad de los mismos. |
Debes definir roles y responsabilidades claros para tu equipo. Azure DevOps te ayuda a hacerlo, ya que te permite asignar permisos y utilizar el control de acceso basado en roles. Puedes registrar cada cambio y aplicar directivas para cumplir los estándares de tu empresa. Microsoft ofrece herramientas integradas de seguridad y cumplimiento normativo para que protejas tu código y tus datos. También puedes integrar Azure DevOps con otros servicios de Microsoft para disfrutar de una experiencia de DevOps unificada.
Análisis de datos con Fabric
Cuando gestionas proyectos de análisis de datos, Microsoft Fabric te ofrece una propiedad del despliegue sólida. Controlas quién puede desplegar, editar o ver cada elemento de tu área de trabajo. La tabla siguiente muestra cómo funciona la propiedad de los distintos elementos en Microsoft Fabric:
| Elemento de Fabric | Permiso necesario para desplegar un elemento existente | Propiedad del elemento tras el primer despliegue | Propiedad del elemento tras el despliegue en una fase que ya contiene el elemento |
|---|---|---|---|
| Modelo semántico | Miembro del área de trabajo | El usuario que realizó el despliegue pasa a ser el propietario | Sin cambios |
| Flujo de datos | Propietario del flujo de datos | El usuario que realizó el despliegue pasa a ser el propietario | Sin cambios |
| Datamart | Propietario del datamart | El usuario que realizó el despliegue pasa a ser el propietario | Sin cambios |
| Informe paginado | Miembro del área de trabajo | El usuario que realizó el despliegue pasa a ser el propietario | El usuario que realizó el despliegue pasa a ser el propietario |
Obtienes un control claro sobre tus activos analíticos. Cuando despliegas un elemento nuevo, te conviertes en su propietario. Si despliegas en una fase donde el elemento ya existe, la propiedad no cambia. Microsoft Fabric utiliza roles y permisos de área de trabajo para ayudarte a gestionar el acceso. Puedes vincular tu área de trabajo a GitHub o Azure DevOps para el control de versiones y los despliegues automatizados. Esta integración te ofrece un flujo de trabajo de DevOps unificado para tus proyectos de análisis de datos.
Consejo: usa las canalizaciones de implementación de Microsoft Fabric y los permisos de área de trabajo para mantener tus datos seguros y a tu equipo productivo.
Despliegues híbridos
A menudo necesitas usar más de una plataforma para gestionar tus despliegues. Esto es habitual en las grandes organizaciones o cuando quieres combinar las fortalezas de distintas herramientas. Los despliegues híbridos te permiten usar GitHub para el control de código fuente, Azure DevOps para las canalizaciones y Microsoft Fabric para el análisis. Puedes conectar estas plataformas para crear un flujo de trabajo que se adapte a tus necesidades.
Puedes empezar almacenando tu código en GitHub. Puedes usar GitHub Actions para ejecutar pruebas y compilar tu aplicación. Después, puedes enviar los artefactos de compilación a Azure DevOps. Azure DevOps te ofrece controles avanzados de canalizaciones y gestión de artefactos. Puedes configurar puertas de aprobación y usar el acceso basado en roles para controlar quién puede desplegar en producción. Cuando necesites gestionar datos analíticos, puedes vincular Microsoft Fabric a tus repositorios. Así podrás gestionar los activos analíticos y los despliegues con una gobernanza sólida.
Los despliegues híbridos te dan flexibilidad. Puedes elegir la mejor herramienta para cada parte de tu flujo de trabajo. También puedes escalar tus operaciones a medida que crece tu equipo. Sin embargo, debes gestionar la propiedad con cuidado. Cada plataforma tiene sus propias reglas de acceso, gobernanza y seguridad. Tienes que asegurarte de que estas reglas funcionen juntas.
Estas son algunas mejores prácticas para gestionar la propiedad de las implementaciones en entornos híbridos:
| Mejor práctica | Descripción |
|---|---|
| Automatización | Usa canalizaciones de implementación continua para automatizar la compilación, las pruebas y la implementación. Esto reduce los errores y ahorra tiempo. |
| Estrategias de implementación | Aplica estrategias de implementación azul-verde o canary. Estos métodos te ayudan a actualizar tus aplicaciones con menos riesgo y menos tiempo de inactividad. |
| Herramientas de gestión coherentes | Usa herramientas como Octopus, Anthos u OpenShift para gestionar las implementaciones en distintas plataformas. Estas herramientas te ayudan a mantener un proceso coherente. |
Debes automatizar todo lo que puedas. La automatización reduce los errores y hace que tus implementaciones sean más rápidas. También debes usar estrategias de implementación inteligentes. Las implementaciones azul-verde y canary te permiten probar nuevas versiones sin afectar a todos los usuarios. Así detectas los problemas a tiempo.
Necesitas herramientas de gestión que funcionen en varias plataformas. Estas herramientas te ayudan a hacer un seguimiento de las implementaciones y a asegurarte de que todos siguen las mismas reglas. Puedes configurar paneles para supervisar tus canalizaciones y recibir alertas si algo sale mal.
Consejo: revisa la configuración de acceso y gobernanza en cada plataforma. Asegúrate de que solo las personas adecuadas puedan implementar o cambiar tu código. Así tu flujo de trabajo se mantiene seguro.
Las implementaciones híbridas pueden parecer complejas, pero puedes gestionarlas con las prácticas adecuadas. Obtienes los beneficios de cada plataforma y mantienes el control de tus implementaciones. Si sigues las mejores prácticas, garantizarás que tu software siga siendo fiable y seguro.
Elegir la plataforma DevOps adecuada
Preguntas clave sobre la propiedad
Debes hacerte las preguntas adecuadas antes de elegir una plataforma DevOps. Estas preguntas te ayudan a entender cómo gestiona cada herramienta la propiedad, la gobernanza y la integración. Ten en cuenta estos puntos:
- ¿Quién controla el acceso a tu código y a tus artefactos?
- ¿Cómo aplica la plataforma la gobernanza y el cumplimiento normativo?
- ¿Puedes automatizar recordatorios para los metadatos que faltan en las implementaciones?
- ¿La plataforma admite la integración con tus herramientas actuales?
- ¿Cómo gestiona la plataforma la propiedad de los servicios y sus metadatos?
Debes buscar una plataforma DevOps que te permita gestionar la propiedad de los servicios. Asegúrate de que los desarrolladores introduzcan los metadatos del servicio al crear servicios nuevos. La automatización te ayuda a mantener los metadatos precisos. Puedes evolucionar tu plataforma de implementación hacia una plataforma interna para desarrolladores (IDP) para centralizar la propiedad y agilizar tus procesos DevOps.
Consejo: plantea estas preguntas desde el principio. Así evitarás confusiones y sentarás unas bases sólidas para tu flujo de trabajo DevOps.
Fortalezas de cada plataforma
Cada plataforma DevOps ofrece fortalezas propias. Debes hacer coincidir estas fortalezas con las necesidades de tu proyecto. Aquí tienes un resumen rápido:
| Plataforma | Fortalezas |
|---|---|
| GitHub | Configuración sencilla, automatización rápida e integración perfecta con flujos de trabajo centrados en repositorios |
| Azure DevOps | Servicios maduros de CI/CD, gobernanza avanzada, puertas de aprobación e implementaciones complejas de varias fases |
| Microsoft Fabric | Analítica unificada, gobernanza sólida de los datos e integración perfecta con GitHub y Azure DevOps |
Puedes usar GitHub Actions para una adopción rápida y una integración sencilla. GitHub funciona bien para equipos que buscan soluciones directas. Azure DevOps te ofrece controles avanzados para flujos de trabajo complejos. Obtienes funciones como puertas de aprobación y estrategias de ejecución condicional. Azure Pipelines es ideal para implementaciones con mucha integración. Microsoft Fabric aporta analítica unificada y gobernanza. Puedes vincular tu área de trabajo a GitHub o Azure DevOps para el control de versiones y la implementación.
- GitHub Actions se centra en la sencillez y en la implementación rápida.
- Azure DevOps ofrece servicios maduros para la integración y la entrega continuas.
- Microsoft Fabric consolida las herramientas de ingeniería de datos, almacenamiento y analítica.
Nota: elige una plataforma que se ajuste a tu flujo de trabajo y a tus necesidades de gobernanza. Cada plataforma ofrece fortalezas distintas en la propiedad DevOps.
Con una comprensión clara de cómo GitHub, Azure DevOps y Microsoft Fabric gestionan el código, los artefactos, el acceso y la gobernanza, tendrás una propiedad clara sobre tus implementaciones. Elige una plataforma que se ajuste a tus necesidades de seguridad y cumplimiento. Define directivas de administración de endpoints, establece una responsabilidad compartida entre los equipos e identifica los controles de seguridad esenciales. Revisa las funciones de la plataforma con frecuencia para anticiparte a los riesgos. Alinea tu elección de plataforma con las directivas de IA responsable, incluidas la equidad, la fiabilidad y la responsabilidad. Este enfoque te ayuda a proteger tus datos y a mantener una gobernanza sólida.
Para resumir cómo estas decisiones afectan a tus estrategias de implementación, te recomendamos revisar nuestro episodio de podcast relacionado, GitHub vs Azure DevOps for Microsoft Fabric CI/CD, que analiza en detalle estas decisiones empresariales.
Preguntas frecuentes
¿Qué significa la propiedad de la implementación en las plataformas de DevOps?
Significa que controlas tu código, tus artefactos, el acceso y la gobernanza. Decides quién puede implementar, haces seguimiento de los cambios y aplicas las reglas. La propiedad te ayuda a proteger tus proyectos y a mantener el cumplimiento.
¿Cómo gestionan el control de acceso GitHub, Azure DevOps y Microsoft Fabric?
Defines roles y permisos en cada plataforma. GitHub usa equipos y propietarios de código. Azure DevOps usa grupos de seguridad y acceso basado en roles. Microsoft Fabric se basa en Microsoft Entra ID para los permisos de las áreas de trabajo.
¿Puedes automatizar las implementaciones en las tres plataformas?
Sí, puedes automatizar las implementaciones con GitHub Actions, Azure Pipelines o las canalizaciones de implementación de Microsoft Fabric. La automatización te permite entregar actualizaciones más rápido y reduce los errores.
¿Cómo se integra Microsoft Fabric con GitHub y Azure DevOps?
Conectas tu área de trabajo de Fabric a un repositorio de GitHub o de Azure DevOps. Esta integración te ofrece control de versiones, implementaciones automatizadas y una gobernanza unificada de la analítica.
¿Qué funciones de seguridad protegen tus implementaciones?
Utilizas autenticación de dos factores, administración de secretos y análisis de seguridad automatizados. Azure DevOps añade puertas de aprobación y Defender for Cloud. Microsoft Fabric ofrece Prevención de pérdida de datos (DLP) y herramientas de administración de la privacidad.
¿Cómo gestionas el cumplimiento en estas plataformas?
Configuras directivas de ramas, registros de auditoría y reglas de gobernanza. Azure DevOps y Microsoft Fabric admiten marcos de cumplimiento como GDPR e ISO. GitHub Enterprise ofrece herramientas avanzadas de cumplimiento para las organizaciones.
¿Quién es propietario de los elementos de analítica implementados en Microsoft Fabric?
Te conviertes en propietario cuando implementas un nuevo elemento. Si lo implementas en una fase que ya contiene un elemento existente, la propiedad no cambia. Los roles y permisos del área de trabajo te ayudan a gestionar el acceso.
¿Cuáles son las diferencias principales entre Azure DevOps y GitHub?
Azure DevOps (ADO) es un conjunto de herramientas para desarrolladores que incluye Azure Boards, Pipelines, Repos, Test Plans y la gestión de artefactos, orientado a la gestión de proyectos empresariales y a CI/CD. GitHub, en cambio, es una plataforma centrada en Git, con repositorios Git, pull requests y una comunidad de desarrolladores, y con funciones como GitHub Repos, GitHub Enterprise Cloud y GitHub Actions. Azure DevOps suele preferirse para el seguimiento integrado de elementos de trabajo y por su herencia de Visual Studio Team Services (TFS), mientras que GitHub ofrece un amplio ecosistema de código abierto y funciones modernas de colaboración.
¿Qué herramienta debo usar para el control de versiones: Azure Repos o GitHub Repos?
Ambas admiten repositorios Git y control de versiones. Azure Repos se integra estrechamente con Azure Boards y Azure Pipelines, lo que resulta atractivo para equipos que trabajan con flujos de Microsoft Azure DevOps. GitHub Repos, alojado en GitHub, destaca en repositorios públicos y privados, en la gestión de proyectos de código abierto, en las contribuciones de la comunidad y en funciones como los flujos de trabajo con pull requests. Elige en función de si prefieres Azure Boards integrado o la plataforma y la comunidad más amplias de GitHub.
¿Puedo migrar repositorios de Azure Repos a GitHub?
Sí, puedes mover repositorios de Azure Repos a GitHub. Muchos equipos exportan los repositorios git de Azure Repos (ADO) e los importan en un repositorio de GitHub, o usan herramientas de migración. La migración suele implicar conservar el historial de commits, gestionar los usuarios administrados por empresa de GitHub Enterprise Cloud y, si se desea, actualizar las integraciones de CI/CD de Azure Pipelines a GitHub Actions.
¿Cómo se comparan Azure Boards y los issues de GitHub para la gestión de proyectos ágiles?
Azure Boards ofrece una gestión de proyectos ágiles completa, con elementos de trabajo, backlogs, sprints e integración profunda con los pipelines y Test Plans, lo que lo convierte en una sólida herramienta de gestión de proyectos para empresas. Los issues de GitHub (y los tableros de proyectos) son más sencillos y se adaptan mejor a los flujos de trabajo de código abierto y de comunidades de desarrolladores. Aun así, GitHub ha ampliado sus funciones de planificación de proyectos, y algunos equipos aprovechan lo mejor de ambos mundos conectando repositorios de GitHub con Azure Boards.
¿GitHub Copilot está disponible para usuarios de Azure DevOps?
GitHub Copilot se integra principalmente con herramientas para desarrolladores como Visual Studio Code y Visual Studio, así que los desarrolladores que usan Azure DevOps también pueden usar Copilot en sus IDE. El lanzamiento de GitHub Copilot y las funciones posteriores de espacios de trabajo de Copilot lo hacen accesible para los desarrolladores, independientemente del CI/CD que utilicen en el backend. Sin embargo, algunos controles empresariales y las licencias dependen de si usas GitHub Enterprise Cloud o prefieres entornos gestionados con Azure DevOps.
¿Qué plataforma es mejor para la gestión de usuarios empresariales y la seguridad: GitHub o Azure DevOps?
Ambas plataformas ofrecen capacidades empresariales. Microsoft Azure DevOps proporciona control de acceso detallado, integración con Azure AD y funciones avanzadas de cumplimiento, mientras que GitHub Enterprise Cloud incluye usuarios administrados por empresa y GitHub Advanced Security para Azure, que aporta análisis de código, detección de secretos y gestión de dependencias. La elección depende de las necesidades de la organización: Azure DevOps puede integrarse mejor con las herramientas de Microsoft que ya usas, mientras que GitHub ofrece mejores funciones de código abierto y comunidad, además de opciones de seguridad avanzadas.
¿Cómo se comparan los pipelines de CI/CD de Azure Pipelines y GitHub Actions?
Azure Pipelines (parte de Azure Boards y Pipelines) ofrece un CI/CD multiplataforma robusto, con una integración sólida con Azure DevOps y Visual Studio. GitHub Actions está estrechamente integrado con la plataforma de GitHub y proporciona flujos de trabajo flexibles activados por eventos del repositorio, además de una automatización de pull requests sin fisuras. Ambas opciones admiten contenedores, despliegues en la nube y runners autohospedados. Elige la herramienta de DevOps que mejor se adapte a tu flujo de trabajo, o aprovecha lo mejor de ambos mundos conectándolas.
¿Puedo usar Visual Studio y VS Code con ambas plataformas?
Sí, tanto Visual Studio como Visual Studio Code (VS Code) son compatibles con GitHub y Azure DevOps. Visual Studio tiene integraciones nativas para Azure Repos y ADO, mientras que VS Code funciona bien con los repositorios de GitHub, GitHub Copilot y repositorios git en general. Los desarrolladores pueden usar estas herramientas en ambas plataformas para editar código, ejecutar pruebas e interactuar con pull requests o elementos de trabajo.
¿Y las pruebas? ¿Existe Azure Test Plans en GitHub?
Azure Test Plans es una solución de pruebas integrada en Azure DevOps que ofrece herramientas para pruebas manuales y exploratorias. GitHub no ofrece un producto de planes de prueba integrado idéntico, pero puedes integrar frameworks de pruebas, acciones y herramientas de gestión de pruebas de terceros con los repositorios de GitHub para lograr capacidades similares de automatización y generación de informes de pruebas.
¿En qué se diferencian los precios y el alojamiento: alojado en GitHub frente a Microsoft Azure DevOps?
GitHub ofrece servicios alojados (GitHub.com y GitHub Enterprise Cloud) con planes por niveles para equipos y empresas, centrados en repositorios públicos y privados y en el acceso a la comunidad. Microsoft Azure DevOps Services también ofrece opciones de nube alojada con precios por usuario, así como variantes locales (antes TFS y Visual Studio Team Services). Al decidir los costes se tienen en cuenta los minutos de pipeline, el almacenamiento de artefactos, los usuarios administrados por empresa y si necesitas alojamiento local.
¿Pueden los equipos usar GitHub y Azure DevOps juntos?
Sí, muchas organizaciones combinan GitHub para el alojamiento de código y la colaboración con la comunidad con Azure DevOps para la gestión de proyectos, los pipelines o los planes de prueba. Este enfoque aprovecha lo mejor de ambos mundos: las fortalezas de la plataforma GitHub en repositorios y comunidad, y funciones de Azure DevOps como Azure Boards. Las integraciones y los conectores facilitan la sincronización de repositorios de Azure Repos a GitHub o la vinculación de eventos de repositorios de GitHub con los tableros de ADO.
¿Qué herramienta prefieren los desarrolladores de la comunidad: GitHub o Azure DevOps?
Los colaboradores de código abierto y muchos desarrolladores independientes prefieren GitHub porque fomenta la comunidad, ofrece repositorios públicos y privados, y flujos de revisión integrados, mientras que los desarrolladores de empresa y los equipos que necesitan una gestión de proyectos completa suelen preferir Azure DevOps. Las preferencias también dependen de la inversión existente en Visual Studio y Microsoft Azure, y de si se priorizan funciones como GitHub Copilot o GitHub Advanced Security para Azure.
¿Qué aspectos debe considerar un equipo al decidir entre GitHub y Azure DevOps?
Considera tus necesidades de control de versiones, la integración con Visual Studio o VS Code, la necesidad de gestión de proyectos ágil (Azure Boards), los requisitos de seguridad y cumplimiento, la necesidad de Azure Test Plans, la visibilidad en la comunidad y el código abierto, y si quieres funciones como GitHub Copilot o el análisis de seguridad avanzado. Evalúa qué herramienta de DevOps se adapta a tu flujo de trabajo, o adopta un modelo híbrido para aprovechar los repositorios de Azure Repos o usar repositorios de GitHub con Azure Boards y pipelines.