<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=974250883405448&amp;ev=PageView&amp;noscript=1">
SAP BTP y la adopción de procesos DevOps

DevOps

,

SAP BTP

SAP BTP y la adopción de procesos DevOps

Jesús Chicharro | may 10, 2022

Tal y como anuncia el fabricante, SAP Business Technology Platform (SAP BTP) ofrece una única plataforma donde reunir aplicaciones empresariales, ya sea servicios preconstruidos, extensión de aplicaciones estándar, o nuevos desarrollos para entornos híbridos y en la nube facilitando la integración con sistemas SAP y no SAP

Debido a la naturaleza de los transportes clásicos en SAP y la adopción de nuevos modelos de desarrollo, la duda de si se podrá adaptar el ciclo de vida de las aplicaciones a los procesos DevOps implantados en la compañía es una de las primeras que surgen.

En este artículo aportamos un rayo de luz sobre este punto, basado en la experiencia que hemos tenido en la adopción del modelo DevOps en SAP.

Tal y como comentamos en el artículo “Sentando las bases de la metodología DevOps”, los puntos a revisar para adaptar los desarrollos en SAP BTP a nuestro modelo de DevOps son:

  • Gestión del código fuente.
  • Despliegue.
  • Pruebas.
  • Automatización.
  • Monitorización.

Nos centraremos en los puntos “Gestión del código fuente”, “Despliegue” y “Automatización”, dado que contienen las claves para tener éxito en la adopción de DevOps.

Gestión del código fuente

Como siempre, la recomendación es utilizar una herramienta que facilite la gestión, por lo que no vamos a encontrar ningún problema en la integración de las herramientas de desarrollo con la plataforma basada en Git que utilice tu empresa. 

Despliegue

Este punto es el primero en el que tendremos que tomar decisiones importantes ya que impactará de forma directa en cómo vamos a gestionar el despliegue de los cambios incluidos en el repositorio en los distintos entornos del landscape (DES/QAS/PRD).

SAP BTP ofrece un servicio que permite gestionar los transportes de forma muy similar a cómo se propaga el cambio en los entornos ECC on-prem.

Esto abre el camino a las siguientes opciones:

1. Integrar los procesos de mezcla de cambios en el repositorio para invocar procesos en SAP CTM que faciliten la propagación entre entornos

En este caso, para un desarrollador que esté habituado al uso de procesos DevOps, no se modifica su forma de trabajo, ya que el único cambio que se implementa es la gestión de ramas. En este caso, los cambios introducidos en la rama de integración son los que provocan la ejecución de la cadena de construcción y la cadena de despliegue. Además, existe un cambio en cómo se propagan los cambios entre los entornos. Se hace uso de la capa de transportes implementada en la nube para mover el artefacto desde el entorno de desarrollo hasta producción. 

Esto sin embargo puede provocar problemas a la hora de implementar hotfix, ya que el artefacto que se despliega es el que se encuentra en el entorno de desarrollo y la gestión no se realiza desde el repositorio.

2. Gestionar los despliegues desde la estrategia de branching y que sean las operaciones sobre el repositorio las que lancen los despliegues a los distintos entornos

Eliminando la capa de transporte se tiene más control sobre el código que se chequea, generando un entregable mucho más fiable. En este caso, el producto se despliega directamente en el entorno, teniendo en cuenta que para poder ejecutar una mezcla en la rama master ha sido necesario realizar mezclas con las ramas de control, provocando de manera automática el despliegue en los distintos entornos. 

Con este tenemos más flexibilidad a la hora de incluir cambios en entornos productivos como pueden ser hotfix o correcciones. 

Estos modelos son el primer paso en la adopción de los procesos DevOps en SAP BTP. En Techedge facilitamos la toma de decisiones y adaptamos los distintos modelos a la infraestructura de tu empresa.

  • Sincronización de transportes en BTP y sistemas On-premise.
  • Integración con SAP Solution Manager.
  • DevOps para ABAP.

integracion

Automatización

El concepto de pipeline en DevOps dice que un flujo está formado por un conjunto de automatismos y herramientas que facilitan a los desarrolladores y equipos de operación construir productos software y desplegarlos en producción. Tradicionalmente en el mundo SAP hemos estado encorsetados en el proceso de gestión de transportes que, aunque era robusto, era demasiado rígido para automatizar procesos. 

En la evolución del fabricante esto está cambiando y nos permite utilizar cualquier herramienta del mercado gracias a su toolkit

Un ejemplo de esto, es la librería SAP Piper. Encapsula la funcionalidad de despliegue más común en productos SAP.

  • Despliegue en BTP de aplicaciones SAPUI5 (Fiori).
  • Despliegue de extensiones/addons en BTP.
  • Despliegue de aplicaciones híbridas, por ejemplo SAPUI5 + ABAP CDS integrándose con SAP SOLMAN.

NOTA: Para más integraciones revisar la documentación de la librería

Existen dos sabores de la librería.

  • Imagen Docker que contiene todas las aplicaciones necesarias para construir el pipeline basándose en Jenkins como motor de integración continua. Hay que tener en cuenta que para utilizar la librería de este modo es recomendable desplegarlo sobre una plataforma de gestión de contenedores como puede ser Kubernetes.
  • Piper Cli: Ofrece un conjunto de comandos que nos permiten adaptar la infraestructura ya existente y generar las pipelines necesarias para cubrir los requisitos de la empresa.

Además de facilitar los procesos de despliegue, también hay que tener en cuenta que es necesario asegurar la calidad del producto software a entregar. Por eso ofrecemos la posibilidad de automatizar procesos como: 

  • Análisis de calidad de código.
  • Ejecución de casos automáticos.
  • Integración con herramientas de testing funcional de terceros.

En Techedge podemos ayudar a tu empresa a automatizar estos procesos independientemente del motor que los ejecute, desde pipelines montadas en plataformas en la nube como puede ser Azure, DevOps, hasta instalaciones más tradicionales en productos como Jenkins o Bamboo.

Conclusión

Con la adopción de las bondades del mundo open source, SAP ha facilitado la modernización en el desarrollo de productos software utilizando su plataforma SAP BTP, pero con ello también ha abierto el camino a que la gestión del ciclo de vida del software pueda adoptar procesos DevOps de una forma muy sencilla. Desde Techedge podemos ayudarte en el proceso de definición e implantación como partner de referencia de tu empresa.

Contacta con nosotros

¡Suscríbete!