Les articles de GNU/Linux Magazine Hors-Série N°104

Image promotionnelle
Dossier : Conteneurs : utilisation avancée & microservices
Article mis en avant

Introduction au dossier : Conteneurs : utilisation avancée & microservices

Comment ne pas fondre comme un esquimau au soleil, en voyant la quantité de technologies qui est aujourd'hui mise à notre disposition pour rien ; et par rien, j'entends bien que vous pouvez les utiliser sans que cela ne vous coûte un seul centime. Vous voulez un DNS ? Prenez Dnsmasq ou CoreDNS. Un serveur web ? Essayez NGinx ou Apache. Un orchestrateur de conteneurs ? Boum, Kubernetes.

La recherche scientifique permet d'avancer dans nos connaissances. En ce qui concerne l'informatique et les mathématiques, elle nous permet d'accroître notre savoir sur tout ce qui touche aux algorithmes, à la complexité, etc.
Vous utilisez les notebooksJupyter pour réaliser des présentations et vous souhaiteriez pouvoir les distribuer à des personnes n'ayant pas nécessairement besoin de connaître Jupyter et le fonctionnement des cellules ? Ne cherchez plus, Voilà – c'est le nom d'un projet – va vous aider à réaliser cela, au travers d'une page web !
Voici une sélection d'ouvrages, pour la plupart récemment sortis ou sur le point de sortir et qui ont attiré notre attention.
Chaque langage a ses bonnes pratiques. Parmi celles-ci, les règles de codage, qui paraissent futiles à certains, sont pourtant essentielles. En Python, ces règles portent le nom de PEP 8. Petit rappel sur le contenu de PEP 8 et les outils qui lui sont associés.
Un code mal pensé entraîne nécessairement une perte d'énergie et de temps. Il est plus simple de réfléchir, au moment de la conception du programme, à une architecture permettant une meilleure maintenabilité que de devoir corriger un code « sale », a posteriori. C'est pour aider les développeurs à rester dans le droit chemin que les principes SOLID ont été énumérés.
Je rencontre toujours beaucoup de développeurs qui souhaitent « passer aux conteneurs ». Si cela me fait à chaque fois le même plaisir immense, convaincu que je suis que c'est le prochain (ou plus exactement l'actuel) cap à franchir, je me demande tout de même si tout ce beau monde y est toujours bien préparé... Heroku, 12 Factor Apps, microservices, architectures distribuées, communication asynchrone, Rest API, CI / CD... si ce jargon ne vous est pas familier, alors prenez le temps de lire cette petite introduction, avant de vous lancer (trop vite) dans l'aventure.
Finalement, les conteneurs ne semblent pas être la panacée dont nous avions rêvé ; bien sûr, ils apportent des réponses à nos problèmes de packaging, mais sérieusement, comment allons-nous convaincre nos collègues des opérations qu'il faut les adopter ? Docker, à lui seul, est une solution difficilement viable en production. Alors que nous manque-t-il ? Et si c'était simplement un orchestrateur !
Comme vous le savez déjà, dès 2013 Docker s'est imposé comme étant, de facto, l'outil de conteneurisation ; et son format d'image unique n'y est pas pour rien. Il a ainsi créé un écosystème où il est devenu simple de transporter et d'exécuter des applications dans des conteneurs. Quand il a fallu orchestrer tous ces conteneurs, c'est Kubernetes qui s'est imposé ; et s'il y a une chose qu'il a merveilleusement réussi à faire, c'est de créer un tout nouvel écosystème : les applications cloud natives.
Passer d'une application monolithique aux microservices est loin d'être un voyage paisible et sans surprises. Il y a tant de nouveaux concepts qu'il faut s'approprier ! Et là où l'on y perd le plus, c'est sans doute dans l'observabilité de notre application.
Je ne pouvais pas finir cette série d'articles sans aborder la question (délicate) de l'intégration continue, du déploiement continu et de la livraison continue, car aujourd'hui, tout doit être de plus en plus rapide, tout doit être de plus en plus automatisé et tout doit être de plus en plus sûr.
Les ateliers collaboratifs (ou workshops) sont source d'idées pertinentes, voire innovantes, pour le développement de l'entreprise. Comment retenir les meilleures idées pour enrichir les business models ? Cet article propose des solutions pour valoriser ces idées, grâce au Spectral Co-clustering et au Hierarchical Clustering sur Jupyter.