SAP BTP, el tiempo de ejecución de Cloud Foundry utiliza pilas, un sistema de archivos raíz preconstruido que, en combinación con el código de la aplicación y los paquetes de compilación, es la base para construir el contenedor de la aplicación. La pila en el entorno SAP BTP, Cloud Foundry se basa en un sistema Linux y se llama cflinuxfs
Las pilas reciben actualizaciones periódicas para abordar los problemas de seguridad y las vulnerabilidades, que sus aplicaciones pueden detectar a través de nuevos lanzamientos y actualizaciones de versión de SAP BTP, Cloud Foundry Runtime. Para obtener información sobre actualizaciones de versiones y otros temas relacionados con Cloud Foundry, consulte Novedades de SAP Business Technology Platform.
Actualmente, en el entorno SAP BTP, Cloud Foundry, todas las aplicaciones se ejecutan en una pila denominada cflinuxfs3, que se basa en Ubuntu Bionic Beaver 18.04. Esta pila quedó obsoleta en diciembre de 2022 y está previsto que se elimine del entorno SAP BTP, Cloud Foundry en mayo de 2023 después de que finalice el soporte para Ubuntu Bionic Beaver 18.04.
La pila sucesora clinuxfs4basado en Ubuntu Jammy Jellyfish 22.04, ha estado disponible de forma opcional desde diciembre de 2022 y está previsto que se convierta en la pila predeterminada en marzo de 2023.
Este cambio afecta a cualquiera que esté ejecutando aplicaciones basadas en buildpack en el entorno SAP BTP, Cloud Foundry.
Para ayudarlo a comprender lo que sucederá, hemos creado una línea de tiempo simplificada de los cambios planificados:
Una vez clinuxfs4 está designada como la pila predeterminada, todas las aplicaciones nuevas utilizarán esta pila automáticamente. Las aplicaciones existentes que se ejecutan en el entorno SAP BTP, Cloud Foundry no se verán afectadas por este cambio, pero se recomienda que las actualice para usar la nueva pila siguiendo la guía a continuación, ya que la pila anterior se eliminará en mayo de 2023 y tu app puede dejar de funcionar en caso de que no sea compatible con el clinuxfs4 pila.
Para empezar a usar clinuxfs4 con las aplicaciones existentes, puede enviar la aplicación y designar la pila manualmente usando:
cf push <app> -s cflinuxfs4
Si está utilizando el método de implementación azul-verde para impulsar sus aplicaciones, se implementan automáticamente en clinuxfs4 cuando se declara la pila predeterminada. Esto solo funciona si elimina las aplicaciones azules o verdes no utilizadas. Para obtener más información sobre la implementación azul-verde, consulte https://docs.cloudfoundry.org/devguide/deploy-apps/blue-green.html.
Puedes seguir usando cflinuxfs3 por un período transitorio. Esto significa que también puede volver manualmente a cflinuxfs3 si nota problemas al usar la nueva pila usando el comando «-s» al enviar su aplicación:
cf push <APP_NAME> -s cflinuxfs3
cflinuxfs3 se eliminará de forma permanente en mayo de 2023. Posteriormente, ya no será posible volver manualmente a cflinuxfs3. Para obtener más información sobre las pilas, consulte https://docs.cloudfoundry.org/devguide/deploy-apps/stacks.html#disponible-pilas.
Antes Si las aplicaciones se estaban ejecutando, el reinicio provoca un breve tiempo de inactividad. Sin embargo, si sus aplicaciones son incompatibles con el clinuxfs4 pila, es posible que dejen de funcionar y no se puedan reiniciar.
Para mantener la funcionalidad y el cumplimiento de los estándares de seguridad en el entorno SAP BTP, Cloud Foundry, debe migrar sus aplicaciones a clinuxfs4. Le recomendamos que comience a probar sus aplicaciones con la nueva pila lo antes posible para poder solucionar posibles problemas. Solo las aplicaciones que se han migrado a clinuxfs4 antes de la migración forzada no sufrirá tiempos de inactividad.
Para ayudarlo, hemos compilado una breve guía que lo guiará a través de los pasos necesarios para la migración.
Asegúrese de estar utilizando una versión reciente de la interfaz de línea de comandos de Cloud Foundry (CF CLI). Recomendamos usar la versión 8. Para obtener información sobre la versión más reciente, consulte https://github.com/cloudfoundry/cli/releases.
Si no está seguro de en qué pila se están ejecutando actualmente sus aplicaciones, puede determinarlo utilizando la CLI de CF. Ejecute el comando:
cf app <app-name>
El resultado resultante muestra información sobre la aplicación que especificó. La salida también incluye una línea que comienza con «pila:» seguida del nombre de la pila actualmente en uso.
Si cflinuxfs3 se muestra aquí, su aplicación todavía está usando la pila en desuso. Si clinuxfs4 aparece en la lista, su aplicación ya está usando la nueva pila y no se requiere ninguna otra acción.
CF CLI admite el uso de complementos de terceros. Para verificar qué pilas están usando sus aplicaciones, puede usar para enumerar las aplicaciones para cada organización a la que tiene acceso. Para ver todas las aplicaciones en su implementación, asegúrese de haber iniciado sesión en CF CLI como un usuario que puede acceder a todas las organizaciones. No recomendamos usar el comando ‘cambiar pila’ proporcionado por el complemento Stack Auditor. Si bien puede cambiar su pila, no proporciona registros ni información sobre lo que salió mal si la operación falla. Tampoco funciona en Mac ARM y utiliza la API v2 obsoleta de Cloud Foundry. Sin embargo, funciona bien si desea averiguar cuáles de sus aplicaciones requieren migración. Para más información, ver https://docs.cloudfoundry.org/adminguide/stack-auditor.html. Tenga en cuenta que este complemento no es compatible con SAP.
Como alternativa, puede utilizar la herramienta jq y la CLI de CF para consultar las API de CF para obtener esta información. Tenga en cuenta que la herramienta jq tampoco es compatible con SAP. Para más información, ver https://stedolan.github.io/jq/.
Con la herramienta jq, puede ejecutar el siguiente script para obtener una descripción general de la pila y los paquetes de compilación utilizados para todas las aplicaciones dentro de una organización de Cloud Foundry:
cf curl "/v3/apps?per_page=5000&include=space.organization" | jq '(.included.spaces | INDEX(.guid)) as $spaces | (.included.organizations | INDEX(.guid)) as $orgs | [ .resources[] | {app: .name, org:$orgs[$spaces[.relationships.space.data.guid].relationships.organization.data.guid].name ,space: $spaces[.relationships.space.data.guid].name , lifecycle} ]'
Si desea filtrar por cflinuxfs3 para mostrar las aplicaciones que requieren migración manual, utilice:
cf curl "/v3/apps?per_page=5000&include=space.organization" | jq '(.included.spaces | INDEX(.guid)) as $spaces | (.included.organizations | INDEX(.guid)) as $orgs | [ .resources[] | select(.lifecycle.data.stack == "cflinuxfs3") | {app: .name, org:$orgs[$spaces[.relationships.space.data.guid].relationships.organization.data.guid].name ,space: $spaces[.relationships.space.data.guid].name , lifecycle} ]'
Con CF CLI, puede verificar los paquetes de compilación disponibles y su soporte de pila ejecutando:
cf buildpacks
Compatibilidad con paquetes de compilación clinuxfs4 lo enumerará en la columna de la pila de la salida. SAP Java Buildpack no muestra ninguna pila en la salida, pero admite clinuxfs4.
Si ha designado una versión específica del paquete de compilación para usar, puede ser necesario actualizar la versión del paquete de compilación en el manifiesto.yml de su aplicación. Ver https://docs.cloudfoundry.org/devguide/deploy-apps/manifest-attributes.html#buildpacks.
Para obtener más información sobre paquetes de compilación individuales, consulte:
Para comprobar que su aplicación funciona correctamente en la nueva pila, le recomendamos que la pruebe antes de continuar con la migración. Para hacerlo, envíe su aplicación en otro momento usando un nuevo nombre y una ruta separada ejecutando:
cf push <APP_NAME> -s cflinuxfs4
Si sus aplicaciones usan o contienen archivos binarios precompilados, es posible que deba volver a compilarlos. Un ejemplo de esto son las aplicaciones que dependen de librerías binarias como OpenSSL o Python, donde clinuxfs4 se basa en versiones más nuevas que las proporcionadas por cflinuxfs3.
Si todo funcionó bien, puede continuar con sus aplicaciones productivas y cambiar su pila simplemente definiéndola en el cf empujar o en el manifiesto de Cloud Foundry.
Tenga en cuenta que después de que su aplicación se haya implementado utilizando la nueva pila clinuxfs4 una vez, su selección se guardará para el futuro cf empujar operaciones. Esto significa que cada vez que envíe la aplicación posteriormente, el entorno SAP BTP, Cloud Foundry seleccionará automáticamente la nueva pila como destino.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073