Déploiement continu

Accelerate

Stratégies et patterns pour déployer automatiquement un modèle de machine learning

Automatiser un déploiement c’est pouvoir rendre accessible une nouvelle version de son logiciel en un clic. En ce qui concerne le déploiement d'un modèle de machine learning, il s’agit d’automatiser deux choses : la construction de l’artéfact modèle, communément appelé entraînement ; le déploiement du service d’inférence.  Service d’inférencePipeline de construction de l’artefact modèleRôleSert les prédictionsProduit un modèle à partir de données et de codeEnjeuPouvoir déployer une nouvelle version du modèle utilisable par le logiciel à la demandePouvoir lancer un entraînement à la demande Nous…

Lire la suite
Archi & techno

SLO : la puissance insoupçonnée des métriques

Lorsque l’on exploite un produit ou que l’on monte une infrastructure, il est normal de se poser la question “Est-ce que mon application fonctionne bien ?” En général, il est commun d’avoir deux réponses dans ce genre de cas : Mettre en place du monitoring illustrant le fonctionnement de mon application Mettre en place un système d’alerting pour être prévenu en cas de dysfonctionnement Cependant, rares sont les fois où l'on va se demander si les alertes positionnées sont pertinentes dans mon contexte (ex :…

Lire la suite
Archi & techno

Tour d’horizon de Github Action

Fin de l’année dernière, Github a lancé son nouveau service Actions lui permettant de faire une entrée fracassante sur le marché de la CI/CD. Comme son célèbre compère Gitlab, celui-ci permet d’avoir accès à un système de pipeline très complet, directement au sein des dépôts Github. Petit tour d’horizon de ce nouveau service.  Note : vous trouverez ci-dessous deux des projets que j’ai utilisé pour rédiger cette article : tezos-link et kata-roman. Fonctionnement Github Actions est un service entrant directement en concurrence avec Gitlab-CI, Jenkins…

Lire la suite
Archi & techno

On entend beaucoup de choses sur l’architecture de SI…

...mais on a rarement des réponses claires aux questions qu’on se pose ! La Duck Conf est faite pour ça ; pour partager et explorer des sujets pratiques, techniques, incontournables, qui nous font aimer l’archi. A commencer par les grands classiques : que faire du legacy ? Ou plus récemment, comment je me mets en conformité avec le RGPD ?... En s’attaquant à des sujets techniques pointus, comme celui des transactions distribuées en environnement microservices. Sans oublier de se faire plaisir avec des domaines plus…

Lire la suite
Archi & techno

Réduire la durée d’un build Android

La durée d’exécution d’un projet est une métrique que tout développeur Android devrait surveiller de près. En effet, même si celui-ci a une grande confiance dans le code qu’il produit, il sera amené à réexécuter le projet plusieurs fois par jour. Lors du développement d’un projet, il est important pour le développeur de pouvoir constater rapidement le résultat de ses modifications. Dans le cas contraire, il peut se produire deux choses : soit le développeur se déconcentre (parce qu’il regarde ses mails par exemple), soit…

Lire la suite
Archi & techno

Les Patterns des Géants du Web – Zero Downtime Deployment

Description Dans l'article Continuous Deployment, nous avons vu comment améliorer le Time To Market, tout en garantissant la qualité des développements. L'étape suivante est de garantir que ces déploiements fréquents n'impactent pas la disponibilité du site. Et c'est là qu'intervient le Zero Downtime Deployment (ZDD), qui permet de déployer une nouvelle version d’un système sans interrompre le bon fonctionnement du service. Mais comment s'assurer d'un déploiement "sans accroc" ?

Lire la suite
Archi & techno

La technique au service du Lean Startup

À ChooseYourBoss, un site d'emploi informatique, on fait du Lean Startup. Plus précisément, on applique la méthode du Build-Measure-Learn (Construire - Mesurer - Apprendre). Tous les jours on construit notre produit, on l'améliore. Mais une partie importante de celui-ci est un logiciel que l'on développe. Bien évidemment tout ce que l'on développe est au service du produit ou de nos clients. Notre but étant d'apprendre le plus possible et surtout le plus vite possible, nous avons mis en place un certain nombre de pratiques qui nous aident. Ce sont des pratiques…

Lire la suite
Méthode

5 bonnes raisons de déployer en continu

Depuis la présentation retentissante de John Allspaw à Velocity 2009 sur la collaboration entre dev et ops, où il explique que chez Flickr le rythme de déploiement en production dépasse les 10 par jour, on entend beaucoup parler de "continuous delivery" et "continuous deployment". Ce dernier se différencie par une automatisation complète de la chaîne de fabrication et déploiement entre le commit du développeur et le déploiement en production, alors que le "continuous delivery" préconise des interventions manuelles (simples "push-button") pour approbation humaine de certaines étapes : tests…

Lire la suite