Deiser Blog | Atlassian | ITSM | DevOps | Agile at Scale | Cloud

¿Cómo cambia la experiencia DevOps con Atlassian Cloud?

Escrito por Guillermo Montoya | 16-sep-2021 8:27:23

Los desarrolladores suelen invertir más tiempo entre las herramientas, actualizando el estado del trabajo y compartiéndolo con otros equipos, en lugar de desarrollar y crear soluciones innovadoras. Esto suele ocurrir cuando no se han implementado herramientas que contribuyan a aplicar prácticas DevOps de forma efectiva, por eso, en esta publicación te contaremos cómo evitarlo y cómo crear una mejor experiencia DevOps con Atlassian Cloud.

Según una encuesta realizada por Atlassian sobre las tendencias en el mundo DevOps, más del 80% de los desarrolladores afirman que las herramientas requieren un trabajo manual y no están conectadas, lo que genera mayor trabajo en los constantes (y necesarios) procesos de colaboración, y se interponen al objetivo principal de esta práctica: hacer más rápido el ciclo de vida del desarrollo de software, proporcionar una entrega continua de alta calidad, y crear una mejor colaboración entre los equipos de desarrollo y operaciones.

Beneficios que ofrecen las herramientas de Atlassian en la nube a las prácticas DevOps

Si necesitas que los desarrolladores entreguen código de calidad y de forma más rápida, las soluciones de Atlassian en la nube te ayudan en ello, partiendo de Jira Software Cloud, la columna vertebral, y el sitio donde se registra y almacena toda la información del día a día, expandiendo al portafolio de herramientas de software como Bitbucket Cloud (GitHub, GitLab), Jira Service Management Cloud, Opsgenie y Slack, dependiendo de tus necesidades de implementación. Con estas herramientas podrás beneficiarte de: 

  •    La automatización e integración con herramientas de terceros (Mabl, Sentry, Synkl...) y ayudan a los desarrolladores a centrarse en el código.

  •    La alineación exclusiva de los equipos de desarrollo y el de operaciones de TI, con los equipos comerciales.

  •    Reducir los constantes cambios de contexto y el retrabajo que generan los procesos manuales.

  •    Reducir el impacto de las incidencias de seguridad que recaen el equipo de TI.

  •    Disminuir la frecuencia de las reuniones.

Las herramientas de Atlassian Cloud unifica todo el trabajo que conllevan las prácticas DevOps y reduce la sobrecarga que pueda generar la colaboración entre los distintos equipos. A continuación, vamos a evaluar cómo estas herramientas pueden ayudar a los desarrolladores a ser más productivos, utilizando las nuevas funciones, automatizaciones e integraciones que permitirá recuperar tiempo y entregar código más rápido:

¡Planifica!

Realiza un seguimiento de las issues de tus proyectos en el contexto del código

La caja de herramientas para las prácticas DevOps no tienen un enfoque que funciona para todos los equipos por igual, cada uno (y cada organización) tiene sus propias necesidades, estructuras y utiliza diferentes apps y herramientas. Precisamente, por ello surge la necesidad crítica de coordinar el trabajo.

La encuesta que realizó Atlassian en 2020 (que puedes descargar en el pop-up), indica que cada vez más un número mayor de equipos que aplican prácticas DevOps han admitido necesitar, al menos, cinco herramientas para poder comprender el estado de un proyecto, por otro lado, los equipos de operaciones de TI, y los de negocios, no están trabajando con las mismas herramientas y también necesitan saber lo qué está sucediendo y cuándo. Allí es cuando Jira resulta útil, ya que unifica de forma autonómica el trabajo de todos los equipos, las distintas herramientas y ofrece visibilidad.

Integrar Jira Software Cloud, Bitbucket Cloud, GitHub y GitLab entre ellas, permite que el seguimiento de las issues, y las actualizaciones de los proyectos ocurra de forma automática y centralizada en Jira:

  1. Los que están escribiendo el código no tienen que volver a Jira para marcar el trabajo hecho.

  2. El Project Manager no tendrá que escribir por Slack para preguntar por actualizaciones del proceso de desarrollo, sino que podrá verlo por él mismo desde Jira.

  3. Todas las partes implicadas tendrán una visibilización unificada del trabajo en Jira y los desarrolladores evitarán interrupciones en su día a día. 

Quizá ya tenías una idea del poder de visibilización, comunicación y facilidad en el proceso de desarrollo con las herramientas de Atlassian, pero ¿Qué trae de nuevo las versiones en la nube?

1. El "Work Dashboard" o Panel de trabajo

Bitbucket Cloud ofrece un nuevo "Work Dahsboard" o panel de trabajo, que se ha ampliado para incluir las issues de Jira que la persona tenga asignadas, esto permitirá pasar de una tarea a otra de forma más sencilla, sin la necesidad de saltar de una herramienta a otra. Además, dentro de cada repositorio, hay una nueva vista a nivel de equipos por proyecto, te puedes hacer una idea con la imagen a continuación:


Así se ve el "Work Dashboard" en Bitbucket Cloud que promete mejorar tu experiencia DevOps.

2. Configurar "Triggers" de Automation para DevOps

Los nuevos "Triggers" de Automation para Jira Software Cloud permite, con unos pocos clics, crear reglas de automatización para mantener tu trabajo sincronizado con las actividades de desarrollo, aplicando triggers que reaccionen a commits o pull requests en cualquier repositorio de código que esté conectado.

Sin mayor configuración, este trigger permite actualizar automáticamente el estado de las issues de Jira que están relacionadas. De forma más avanzada, estas nuevas automatizaciones permiten crear reglas (rules) más complejas como la de reasignar issues de Jira para revisar el código o enviar un mensaje al canal de Slack del equipo sobre las nuevas PRs. Estas reglas de Automation funcionan con Bitbucket Cloud, GitHub, GitLab y cualquier otro repositorio de código que se integre con Jira Software Cloud.

Comienza a automatizar issues que reaccionen a acciones de proyectos en Jira >>

 

¡Compila!

Revisa, prueba e implementa el código sin perderte

Cada equipo quiere tener buenas herramientas para escribir y revisar el código, ¿quién no?, y con Bitbucket Cloud es posible maximizar la productividad de los desarrolladores permitiendo que la tarea de escribir y revisar código sean lo más sencillas posible. 
No importa que prefieras trabajar en Bitbucket o en tu IDE, el objetivo principal es seguir el flujo de trabajo y reducir el cambio constante e innecesario entre todas tus herramientas.

1. La nueva experiencia de Pull Request


Reduce el cambio constante entre tus herramientas DevOps con la experiencia de Pull Request de Bitbucket Cloud.

La nueva experiencia de Pull Request en Bitbucket Cloud hace que la revisión de cambios en el código sea más rápido, además tiene funciones adicionales, como una lista consolidada con las tareas, permite la creación de issues de Jira y filtros de alimentación de actividades, estas características permite a los desarrolladores completar las revisiones de código de forma más eficiente y así trabajar con múltiples pull requests a la vez.

2. Integración con Visual Studio Code

La integración de Atlassian con Visual Studio Code (VS Code) permite traer el entorno de desarrollo a tu editor. Esto, sumado a la lista de tareas de Jira Software Cloud, tendrás una experiencia completa de revisión de código y seguimiento de integración y entrega continua con Bitbucket Pipelines.

Mejora la integración y entrega continua (CI/CD)

Entrega más rápido y sin romper nada

Los equipos que aplican prácticas DevOps tratan de acelerar su pipeline mediante la automatización y aplicando el modelo de testing "Shift Left" a las comprobaciones manuales en el proceso de integración y entrega continua (o CI/CD por sus siglas en inglés, que significa "Continuous Integration/Continuous Delivery).

Para hacer la experiencia de revisión de código más sencilla, Bitbucket Cloud ahora integra el análisis de código e informes de calidad; esto permite que las personas a cargo de las revisiones puedan recibir alertas sobre posibles problemas antes de llegar a la etapa de producción. Además, la nueva característica de gestión de cambios automatizada de Jira Service Management Cloud permite conectar tu pipeline de CI/CD con las aprobaciones de cambios de más alto nivel. 

1. Code Insights

Code Insights es una funcionalidad de Bitbucket Cloud que ofrece informes y anotaciones para ayudarte a mejorar la calidad del código en las Pull Requests a lo largo del proceso de revisión del código, esta característica permite integraciones con:

  •    Mabl que permite la automatización de pruebas.

  •    Sentry para la monitorización automatizada.

  •    La nueva integración de DevSecOps con Snyk permite escanear y resaltar las vulnerabilidades de seguridad críticas antes de que se conviertan en un incidente de seguridad Sev-1.

  •    Todas estas integraciones también se basan en una API abierta, por lo que puedes ampliar Bitbucket Cloud con informes de código que se ajusten a tus necesidades.

Comienza a ofrecer la mejor calidad de código posible, implementa alguna de ideas de código que puedan surgir durante el proceso, además de todos los puntos críticos que puedas identificar con los informes de análisis estáticos, los resultados de análisis de seguridad y más, con esta característica de Bitbucket Cloud.

2. Automatiza la gestión de cambios 

La gestión de cambios automatizada se alcanza al integrar Jira Service Management Cloud y Bitbucket Pipelines que de forma automática pausará el proceso de CI/CD, creará una solicitud de cambio en tu Jira Service Management y activará la implementación una vez aprobada. Esto suena bien como concepto, pero... ¿cómo funciona esta gestión de cambios automatizada?:

  •    La evaluación de riesgos se realiza en Jira Service Management Cloud, donde se puntúa el riesgo del cambio, y aprueba e implementa los cambios de bajo riesgo de forma automática.

  •    La vista de gestión de cambios en Jira Service Management Cloud agiliza el proceso de aprobación para cambios de alto riesgo, ya que reúne toda la información en las solicitudes de cambio, se priorizan de forma adecuada y así el equipo puede revisarlas y aprobar manualmente de ser necesario.

                         Aprende a crear una matriz de prioridades en Jira Service Management >> 

  •    La gestión de cambios es automatizada, y es compatible con Bitbucket Pipelines, Jenkins, Circle CI y Octopus Deploy.

¡Opera y monitoriza!

Mitiga la fatiga ocasionada por las alertas y resuelve los incidentes más rápido

La clave para alcanzar una resolución de incidentes eficiente, radica en determinar la causa del problema de forma rápida, y en la medida que los equipos adopten prácticas DevOps y estén automatizando los procesos de implementación, los fallos durante este proceso son comunes...  ¿Cómo lidiar con una interrupción del servicio en horas fuera del trabajo?... primero, es importante tener la capacidad de determinar si un cambio de código reciente causó esta interrupción y saber quién lo hizo, para saber a qué desarrollador consultar, en ese caso.

Hoy en día, esta tarea requiere un trabajo detectivesco y se puede lograr rastreando el historial de Git y las issues en Jira, sin embargo, la nueva integración de Opsgenie con Jira Software Cloud y Bitbucket Cloud ofrece una auditoría sobre las implementaciones recientes con las issues de Jira relacionadas ¡Menos horas de trabajo, y trabajo más efectivo!

1. ¿Cómo funciona la integración de Opsgenie y Bitbucket Cloud?

La integración de Opsgenie y Bitbucket Cloud centraliza todas las alertas y filtra la información que no es necesaria para asegurarse de que se reciben las incidencias adecuadas en el momento adecuado, alertando a los desarrolladores a los que les concierne el problema, lo que les ayudará a tomar las medidas adecuadas.

2. El panel de investigación de incidentes

Desde este panel, es posible supervisar el despliegue que tuvo lugar justo antes del incidente, agregarlo como una causa potencial y contactar al desarrollador que realizó el cambio para que puedan revertirlo, y resolver el incidente.


El panel de investigación de incidentes de Bitbucket Cloud permite identificar errorer y su responsable de forma rápida.

 

¡No pierdas la comunicación!

DevOps se trata de las prácticas, la cultura y las herramientas adecuadas

El éxito en la implementación de las prácticas DevOps no consiste exclusivamente en implementar una serie de herramientas y ya, las personas y la cultura son los factores de mayor relevancia dentro de cualquier organización y dentro del mundo DevOps no hay diferencia. Para lograrlo, la comunicación es básica, por eso mantener al tanto tanto a tu equipo (a través de Slack) como a tus clientes (Statuspage) sobre lo que ocurre, es importante para lograr una implementación exitosa, y proporcionar un servicio de forma efectiva.

Para entender un poco más el concepto de DevOps y lograr un equilibrio en tu equipo, te recomendamos ver esta charla que ofreció Leo Díaz, Head of Products de DEISER que ofrece una visión más comprensible sobre esta serie de prácticas:

 

Si te sientes un poco abrumado por tanta información, y te interesa implementar prácticas DevOps dentro de tu organización, nuestra recomendación es que comiences por los pasos más sencillos y luego ir expandiéndote de acuerdo a tus necesidades. Si crees que necesitarás ayuda en ello o si tienes dudas, escríbenos, deja tus comentarios aquí, o interactua con nosotros a través de nuestros canales en redes sociales. ¡Estamos aqui para ayudarte con Atlassian!