La guía de apps para developers compatibles con Compass
Atlassian Compass es una plataforma diseñada para mejorar la experiencia de desarrollo (o Developer Experience). Compass facilita la gestión y la visibilidad de los componentes de software en arquitecturas distribuidas, como las que se utilizan en entornos de microservicios. Su principal objetivo es proporcionar a los equipos de desarrollo una vista centralizada y estructurada de todos los servicios y herramientas que utilizan, permitiendo una mejor coordinación, documentación y monitorización de las operaciones técnicas.
Existen varias apps que fomentan la integración y conexión de Compass con otras soluciones. ¿Quieres ampliar el abanico de funcionalidades y mejorar los rendimientos en las operativas de tus equipos?. Si la respuesta es sí, este artículo es para ti. Vamos a revisar algunas de las apps disponibles para Compass, desde las imprescindibles hasta las incorporaciones más recientes. ¡Dentro artículo!
Apps imprescindibles para equipos de desarrollo
Los 3 mosqueteros: Bitbucket, Gitlab y Github for Compass
Bitbucket, Gitlab y Github son tres de las plataformas más populares para la gestión de código y la colaboración en proyectos de software, especialmente en entornos de desarrollo basados en Git. Cualquiera de las tres, dependiendo de las preferencias de cada equipo, resultan un must a la hora de trabajar con Compass. Gracias a la integración de los componentes con los repositorios alojados en cualquiera de las tres opciones, podemos habilitar funcionalidades clave en Compass:
- Importación en forma de componentes de los repositorios seleccionados.
- Sincronización automática de la actividad que ocurre en el repositorio: commits, pull requests, deploys…
- Obtención automática de métricas que cumplen con DORA (Digital Operational Resilience Act). Algunos ejemplos de estas métricas son los tiempos de despliegue, frecuencia de despliegue, tiempo medio en la resolución de incidentes, ratio de éxito en despliegue de cambios, y muchas más.
- Delegar la gestión de la configuración del componente como config-as-code.
LaunchDarkly for Compass
LaunchDarkly es una de las plataformas de gestión de feature flags más reconocidas. Permite a los equipos de desarrollo implementar y gestionar el lanzamiento de nuevas funcionalidades en aplicaciones de software de manera controlada y eficiente. Además, proporciona la capacidad de habilitar o deshabilitar ciertas funcionalidades del producto directamente sobre entornos productivos sin necesidad de generar nuevos despliegues.
La integración con Compass nos va a permitir conectar un componente con un conjunto prefiltrado de feature flags de interés. Una vez establecida esta conexión, podremos visualizar directamente sobre el componente todo el histórico de cambios sobre las feature flags conectadas.
Snyk for Compass
A medida que el desarrollo de software se vuelve más ágil y basado en la nube, Snyk se ha posicionado como una herramienta clave para garantizar la seguridad en cada etapa del ciclo de vida del desarrollo de software.
A través de la integración con Compass, conseguimos disponer de alertas en tiempo real en relación a las vulnerabilidades detectadas en el código almacenado en el repositorio vinculado con un componente.
Adicionalmente también se nos proporcionará alguna métrica que podemos visualizar o configurar dentro de nuestros Scorecards, como el número total de vulnerabilidades críticas abiertas.
Apps menos comunes pero con gran valor diferencial
Marketplace metrics for Compass
Si tu negocio o parte de él consiste en el desarrollo de plugins de Atlassian (como es nuestro caso), que se comercian a través del Marketplace, Marketplace metrics for Compass puede ser útil para conectarlo a tu componente en Compass que representa dicha app. A través de esta integración podremos obtener métricas como la media de las reviews que obtiene el plugin, o el número de instalaciones.
Enterprise Architecture Manager for Compass
Enterprise Architecture Manager es una solución que amplía las capacidades de Atlassian Compass, al proporcionar una visión más estratégica y holística del entorno de software de una organización. Esta herramienta permite a los arquitectos empresariales agrupar aplicaciones en Capacidades de Negocio.
Una capacidad de negocio es una representación de lo que una organización puede o debe poder hacer para alcanzar sus objetivos y misión. A menudo se utilizan en la planificación de la arquitectura empresarial para alinear mejor los recursos tecnológicos con las necesidades de la empresa, asegurando que las aplicaciones y los sistemas soporten eficazmente las capacidades necesarias.
Por tanto, con Enterprise Architecture Manager podremos:
- Organizar y agrupar diferentes componentes por Capacidades de Negocio. Esto nos permitirá tener un nuevo nivel de navegabilidad dentro de Compass, ya no únicamente centrado en los componentes SW o HW y sus relaciones entre sí, sino también con respecto a las capacidades de Negocio que soportan.
- Al tener esta visión holística, tendremos mejores respuestas para preguntas como: ¿Cómo de extendida está una aplicación dentro de una organización? ¿Cuál sería el impacto que tendría el eliminar o reemplazar una aplicación?
- La solución permite obtener reportes de Ajuste Funcional. De esta manera, podemos ver qué tan bien soportada está una capacidad de negocio por sus aplicaciones asociadas, así como Informes de Salud, donde para cada componente asociado a cada capacidad, se asocia un color en función de la media de sus Scorecards.
Jellyfish DevEx
Jellyfish DevEx es una herramienta diseñada específicamente para mejorar la Experiencia del Desarrollador (Developer Experience o DevEx) dentro de las organizaciones de desarrollo de software. Te permite generar encuestas hacia tus equipos de desarrollo y visualizar directamente desde la página de equipos de Compass los diferentes resultados y acciones a llevar a cabo.
Release notes for Compass
Release notes for Compass es perfecta para la gestión de tus release notes asociadas a tus desarrollos. Las funcionalidades son sencillas:
- Te permite estandarizar el proceso de creación de nuevas notas de release, a través de un formulario.
- Permite a los usuarios Slack, Microsoft Teams o Email.
Integrate with AWS
Integrate with AWS es una herramienta que permite a las organizaciones conectar y gestionar sus aplicaciones y servicios alojados en la nube de AWS desde dentro de Atlassian Compass. Este plugin facilita la visibilidad y el control de los recursos de AWS, proporcionando una forma más eficiente de administrar la infraestructura en la nube y su relación con las capacidades comerciales. Entre las funcionalidades del producto destacamos:
- La posibilidad de importar recursos de AWS como componentes en Compass: Puedes realizar importaciones unitarias a través del códifo ARN del recurso a importar, o realizar importaciones masivas en base a filtrado por etiquetas.
- Poder enlazar un recurso AWS con un componente de Compass a través de su ARN.
- Realizar búsquedas o filtrados de los componentes de Compass por los metadatos de los recursos AWS enlazados.
Breaking news: últimas incorporaciones en apps para developers
Vercel for Compass
Vercel es una plataforma de desarrollo y despliegue de aplicaciones web, enfocada en proporcionar una experiencia optimizada para desarrolladores y equipos que trabajan con frameworks modernos. Utiliza Bitbucket, Github o Gitlab como posibles repositorios de código. Por tanto, las funcionalidades que permite el plugin son muy similares a las comentadas anteriormente:
- Importar proyectos de Vercel como componentes en Compass.
- Conectar componentes existentes con proyectos de Vercel. Para realizar la vinculación, en este caso, se deberá utilizar la sección de enlaces de Proyectos o Dashboards del componente.
- Monitorizar actividad y métricas del proyecto, en el componente.
Jenkins for Compass
Jenkins es una de las herramientas de automatización de código abierto más utilizadas. Principalmente para implementar prácticas de Integración Continua (CI) y Despliegue Continuo (CD). La unidad principal de trabajo en Jenkins es el job. Un job de Jenkins es una unidad de trabajo que permite automatizar diversas tareas en el proceso de desarrollo de software, como la construcción de aplicaciones, la ejecución de pruebas automatizadas o el despliegue en diferentes entornos.
Gracias a la aplicación de Jenkins for Compass, vamos a poder vincular dichos jobs en nuestros componentes. Esta vinculación se puede hacer de dos formas:
- Manualmente buscando el job en cuestión y asociándolo a nuestro componente.
- En base a sugerencias, si el componente está asociado a issues de Jira previamente vinculadas con un job de Jenkins.
A partir de este momento, toda la actividad referente a los jobs vinculados, podrá ser monitorizada desde la sección de Actividad del componente.
👀 ¡Ojo! Para la configuración de la app de Jenkins for Compass es necesario tener previamente instalada y configurada la aplicación de Jenkins integration for Jira.
Sonar Cloud for Compass
SonarCloud es una plataforma de análisis de calidad de código basada en la nube, diseñada para ayudar a los equipos de desarrollo a mejorar la calidad y seguridad de su código fuente. SonarCloud te permite monitorear el rendimiento de tu proyecto desde tu cuenta de Atlassian Compass. Esto se puede hacer simplemente utilizando la aplicación SonarCloud Quality Gate para agregar scorecards y métricas a cualquiera de tus componentes en Compass, los cuales te informan sobre el estado actual de la calidad en tu proyecto.
Una vez realizas la configuración de la integración con tu instancia de Sonar a través de Access Token, y de agregar la URL del proyecto de Sonar a tu componente en Compass, podrás visualizar la nueva métrica que te alertará en caso de que se detecte alguna vulnerabilidad en el proyecto de Sonar. La información será actualizada aproximadamente en franjas de 1 hora.
Conclusión
Los últimos 10 años han sido moviditos para el desarrollo de software: la transición al cloud-first, la adopción de DevOps y la mentalidad de «You Build It You Run It» complejizan la entrega de software a la producción. Sumado a la implementación de la IA y a las necesidades de ciberseguridad, esta complejidad exponencial implica que los desarrolladores dediquen solo el 20% de su tiempo a la codificación y entrega de software, según datos de Atlassian
En este contexto, Atlassian Compass facilita la experiencia de usuario de los desarrolladores y mejora la salud del software. El siguiente paso en la evolución de la herramienta es Compass Premium, que ofrece un amplio abanico de posibilidades para las organizaciones que quieren escalar y mejorar su experiencia, estándares y prácticas de desarrollo. Sin embargo, en este artículo hemos visto cómo la compatibilidad de Compass con multitud de aplicaciones externas puede ayudarnos a incorporar nuevas funcionalidades que mejoran la productividad, la calidad y el tiempo de entrega.
Si tienes dudas sobre cuáles de estas apps son más útiles para tu situación particular, recuerda que podemos ayudarte 😉