Nuevo producto Atlassian para desarrolladores: Compass ya está aquí

 

Compass es un nuevo producto de Atlassian orientado a los equipos de desarrollo, sobre todo a todos aquellos equipos que desarrollan microservicios o apps. También para empresas que quieren llevar un seguimiento, trazabilidad y monitorización de los servicios, librerías o aplicaciones de las que disponen. Hasta aquí la definición oficial del producto, pero ¿Qué ventajas tiene realmente y cómo vamos a poder aprovechar al máximo sus funcionalidades?

Hero_Screen_Compass

Catálogo

En el catálogo de componentes podrás llevar el control de la arquitectura técnica y de todos los equipos que colaboran en torno a ella: saber cómo funcionan, las API que ofrece, los incidentes en curso, las métricas asociadas…

  • Hay una gran variedad de tipos de componentes y recientemente han añadido más para ampliar la lista:
    Create component
  • Se pueden crear dependencias entre componentes y visualizar un esquema o listado donde aparecen todas las dependencias de un componente de manera dinámica.  Esta funcionalidad es muy  útil para ver qué componentes se verían afectados en caso de algún fallo por ejemplo.Dependencies
  • Han incluido además la creación de campos personalizados para agregar a los componentes. Esta posibilidad es muy útil mientras esté integrado con sistemas de control de versiones como Bitbucket, plataformas de gestión de incidentes como Opsgenie o productos como Jira Software.
  • Estos componentes se pueden importar desde un CSV, Bitbucket, GitHub, GitLab, New Relic e incluso crearlos también vía API.
  • También es posible realizar la integración con Statuspage para ver el estado real de los servicios.
  • Si además conectamos Compass, con un sistema de control de versiones detectará los repositorios automáticamente y se podrá elegir a qué tipo de componente pertenecerá en Compass.
  • Cuando se crean los componentes y se conectan a un control de versiones, se les agrega una etiqueta indicando con qué se ha importado (por ejemplo:  bitbucket-import) así se puede saber en todo momento cómo los componentes fueron agregados y de dónde vienen, teniendo un control total de cada uno de ellos en todo momento.
    Repositorie
  • En el resumen del componente también se pueden ver los repositorios, espacios de Confluence para documentación, proyectos de Jira, Dashboard, equipo asignado y enlaces varios, todo ello en un mismo lugar. Esta parte es muy útil para ver de un vistazo todo lo relacionado con el componente y dónde encontrar más información sin necesidad de ir a varios espacios diferentes.

Estado de DevOps

Compass ofrece, como no, características de DevOps. Estas son las más interesantes:

  • En el apartado de cada equipo se encuentra CheckOps, una funcionalidad pensada para llevar a cabo las reuniones del equipo, una especie de retrospectivas o reuniones de revisión en las que el equipo pueda evaluar el trabajo realizado, el rendimiento o el estado de los componentes. Lo más destacable de esta sección es que al empezar un «CheckOps» aparece un formulario para escribir puntos a mejorar, indicar cómo se encuentra el equipo, reflexiones y acciones a realizar para la próxima semana.
    Health details
  • Tienen una funcionalidad «scorecard» que permite agregar políticas para cada componente o todos los de un determinado tipo por ejemplo. Son un conjunto de criterios que debe cumplir cada componente para ser tomado como válido al 100%.  Hay un porcentaje editable para cada criterio y se pueden agregar o quitar los criterios.Compass_politica

Compass

  • Atlassian no se ha olvidado tampoco de los  amantes del «Config-as-code». Desde tu servicio de Compass  puedes rápidamente vincularlo a tu gestor de repositorios de código favorito. Selecciona el repo de tu desarrollo y será Compass automáticamente el que añadirá, a tu rama principal vía pull request, un fichero campass.yaml con toda la configuración que define tu servicio en Compass. Tú sólo tendrás que modificar ese fichero en adelante y los cambios de configuración se plasmaran en Compass.  ¡Ya no hay razón posible para no cumplir con el «scorecard» de tu organización!Sólo acuérdate de aprobar la pull request con el cambio, Compass es mágico, pero seguirás teniendo el poder de decisión en todo momento.
  • También se puede agregar anuncios para avisar a otros equipos de componentes que puedan verse afectados por un cambio por ejemplo.  El anuncio se puede marcar como leído en el componente afectado, esto quedará reflejado en el componente donde se va a realizar el cambio.
  • Existe también un apartado de «Activity» que nos permite ver un Timeline con los despliegues que se han hecho y si hubiera una incidencia crítica poder saber a qué despliegue correspondió al ver la fecha y hora. Esto permite también localizar el componente de ese despliegue y ver el equipo responsable así como toda la información de ese componente.

Aplicaciones:

Compass ha venido para ahorrarnos tiempo en cambios de contexto. Existen muchas apps que se pueden instalar de forma gratuita y que tienen las siguientes funcionalidades:

  • BitbucketConecta Bitbucket a Compass permite importar componentes desde Bitbucket, administrar componentes con configuración como código, obtener visibilidad de las implementaciones y obtener datos de métricas.
  • CircleCI: Para visualizar datos de compilación e implementación de CircleCI en Compass
  • GitHub: Conectarse a una organización de GitHub para importar componentes de GitHub, administrar componentes de Compass mediante la configuración como código, obtener visibilidad de las implementaciones y obtener datos de métricas
  • GitLab: Conecta GitLab a Compass para importar componentes de GitLab, administrar componentes de Compass mediante la configuración como código, obtener visibilidad de las implementaciones y obtener datos de métricas
  • Integrate with AWS: Conecta entornos de AWS a Compass para importar recursos de AWS como componentes, obtener vínculos profundos a recursos y paneles en la consola de administración de AWS y realizar un seguimiento del estado y el cumplimiento de los recursos
  • LaunchDarkly: Visualizar los indicadores de características de LaunchDarkly para los componentes de Compass relacionados.
  • New Relic: Importar servicios desde New Relic para administrarlos usando Compass
  • Opsgenie: Conecta Opsgenie a Compass para ver incidentes e información de guardia detallada de Opsgenie sobre los componentes.
  • PagerDuty: Conecta PagerDuty a Compass para ver incidentes e información detallada de guardia de PagerDuty sobre los componentes.
  • Statuspage: Conecta Statuspage a Compass para crear incidentes y mantenimientos para componentes
  • Swagger UI: Para ver las especificaciones de la API de Swagger de sus componentes en Compass
  • Swimm: Sincroniza equipos con código: Swimm mantiene el desarrollo fluido con documentos inteligentes que siempre se sincronizan con el código. Swimm integra la documentación continua en el flujo de trabajo de desarrollo para que los documentos acoplados al código en su CI e IDE estén accesibles y siempre actualizados.
  • Tidelift: Para realizar un seguimiento de las métricas de riesgo para las dependencias de código abierto de sus componentes.

 

Conclusiones:

Nosotros llevamos tiempo trabajando ya con la versión Beta de este producto y podemos decir que es un producto que merece la pena, ya que se puede tener inventariado toda la información de nuestros servicios para tener trazabilidad total desde Jira Service Management y Jira Software. Es compatible con los servicios de repositorio de código más usados (CircleCI, GitHub, GitLab) instalando una app.

Con lo que hemos visto hasta ahora podemos decir, que de momento es especialmente útil para equipos que puedan explotar la mayoría de características que incorpora, como equipos que desarrollan microservicios o apps. Para el resto de equipos, dependerá de las nuevas funcionalidades que vayan incorporando, aún le queda recorrido y aún nos puede traer más sorpresas que puedan aprovechar equipos de otras áreas pero sin duda, merece mucho la pena 😉

 

Andrés Uriarte - 11 de octubre de 2023 / Comparte: