Paketo – Cloud Native Buildpack, conteneuriser facilement.

Conclusion

Paketo et ses buildpack apportent une réponse pour les projets/personnes désirant construire une image docker de manière rapide, optimisée.

Il permet l’abstraction de la complexité d’écriture des Dockerfile, mais aussi de certains aspects « tuning » relatifs à la technologie de votre application.

Les images créées par Paketo sont auditable, tous les logiciels sont listés en méta-données avec le numéro de version exact présent dans l’image.

Paketo vous permet si vous le désirez, d’utiliser des builders de chez Google ou encore Heroku, vous laissant un vaste choix.

Cependant, cette simplicité est comme souvent accompagné de contraintes.

Quand tout fonctionne correctement vous êtes content. Quand un problème émerge, si vous souhaitez comprendre le fonctionnement, c’est assez compliqué. Les buildpacks sont des ensembles de scripts pas forcément évidents à assimiler et nécessitent une bonne volonté de compréhension pour résoudre certains problèmes. C’est donc assez problématique si vous êtes dans une équipe de support IT qui met à disposition Paketo et ses buildpacks pour faciliter la vie de vos utilisateurs. C’est un choix que vous pourrez regretter rapidement lorsqu’il faudra y apporter de l’assistance en cas de soucis.

Les buildpacks peuvent être un peu customisé dans leur exécution, exemple, passer une commande particulière au buildpack maven. Mais ces customisations demandent un peu de maitrise de la part des utilisateurs.

A prendre en compte en entreprise

De même si vous travaillez en entreprise vous êtes surement confrontés à des règles strictes. Réseau controlé, certificats signés par une autorité de certification privée (PKI)… Paketo vous permet d’importer des certificats personnalisés dans le truststore des JVM de vos images docker. Cependant l’action revient à l’équipe projet alors que vous avez peut être un process permettant d’abstraire cette action en temps normal.

Paketo récupère tous ses composants sur Github. Si votre organisation bloque l’accès au site depuis les postes de travail, Paketo ne pourra etre utilisé.

Buildpack =/= CI/CD

Enfin, il est à noter que vous n’avez pas la main sur le process entre la compilation de votre code source et la construction de l’image docker finale. Si vous souhaitez effectuer une analyse Sonar par exemple, vous devrez, soit la réaliser en amont dans un pipeline CI/CD, soit utiliser un plugin sonar.

L’évaluation de la mise en oeuvre dans votre contexte est indispensable

Paketo ne se substitue pas à un pipeline de CI/CD, il permet simplement de créer une image docker à partir de source. Les tests unitaires ne sont pas lancés dans ce cas là car déjà lancés par votre pipeline.

Alors ?

Pour terminer, Paketo peut être utile selon vos cas d’utilisation, mais sa facilité apparente est à mesurer avec les compétences requises pour résoudre les éventuels problèmes que vous pourrez rencontrer. De mon point de vue, il peut être utile lorsque vous travaillez sur des projets perso ou bien dans un environnement avec des personnes très compétentes pas très loin. Cette complexité qui vous est abstraite et qui peut ressortir en cas de problème est à mesurer vis à vis de la sensibilisation aux bonnes pratiques de rédaction d’un Dockerfile auprès de vos équipes. Vous perdrez peut être du temps au début, mais en gagnerez à la fin. Avec un buildpack, vous gagnez du temps à court terme mais n’êtes pas sur de ne pas en perdre plus tard.

Quelques liens

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.