Un SDK PowerShell pour Azure Databricks

Petite présentation rapide d’un SDK bien utile auquel j’ai contribué.

La question est d’automatiser le déploiement et/ou la configuration de Databricks. L’outil propose des API REST:

https://docs.databricks.com/dev-tools/api/index.html

Ces Api fonctionnent bien évidemment, mais il est tout de même plus pratique de disposer de cmdlet PowerShell. C’est justement ce que propose ce projet Github animé par des anglais de chez DataThirstLimited:

https://github.com/DataThirstLtd/azure.databricks.cicd.tools

L’Api fonctionne bien, je l’ai testé pendant 1 an et demi sur un projet et on a fait des centaines de déploiements sans difficultés. J’ai même contribué et ajouté une dizaine de nouvelles fonctions avec ses tests unitaires Pester.

Je propose de construire un exemple simple pour la présenter à minima.

Lire la suite de « Un SDK PowerShell pour Azure Databricks »

Initiation aux pipelines Devops Yaml – VII

Le chapitre précédent fut l’occasion de construire un pipeline CI qui aboutit à la création d’un artefact. Il ne reste qu’à le consommer et lancer l’orchestrateur pour construire des ressources Azure.

On va démontrer deux approches possibles pour échanger un artefact:

  1. un seul pipeline: échange entre stage
  2. pipelines CI et CD distincts: échange entre pipeline

Bien entendu nous repartons de la situation laissée dans le chapitre précédent.

Lire la suite de « Initiation aux pipelines Devops Yaml – VII »

Initiation aux pipelines Devops Yaml – VI

Cet article va être un peu plus sophistiqué que les précédents. Nous allons monter un pipeline complet CI/CD.

Au programme donc:

  • Quelques techniques de base
  • Création d’un artefact
  • Création d’un tag
  • Gestion de la version de l’artefact
  • Pipeline CI

Dans cet article nous allons construire le pipeline CI (Continuous Integration) donc la finalité est de créer un artefact réutilisable.

Le pipeline CD (Continuous Delivery) sera abordé dans l’article qui suit.

Pourquoi un artefact?

L’objectif de tout pipeline CI est de créer un package immutable. C’est ce package qui servira de base pour le déploiement dans les divers environnements (DEV, UAT, PROD…). L’idée est d’être certain que ce qui est déployé dans un environnement est identique à ce qui a été validé dans l’environnement précédent, même si entre temps le source évolue.

Cette fois nous allons résoudre le problème via un artefact Devops. Nous verrons plus tard une autre méthode: création d’une task personnalisée.

Lire la suite de « Initiation aux pipelines Devops Yaml – VI »

Initiation aux pipelines Devops Yaml – IV

Nous continuons d’explorer les pipelines Azure Devops. Vous avez du remarquer que j’ai laissé de côté et passé rapidement sur un certain nombre de choses dans les 3 articles qui précèdent. On va essayer de consolider tout cela ici:

  • Les dépendances d’un job
  • Exécution conditionnelle d’un job
  • Exécution en parallèle des tâches
  • Le lancement planifié d’un pipeline

Lire la suite de « Initiation aux pipelines Devops Yaml – IV »

Initiation aux pipelines Devops Yaml – III

Lors des deux articles précédents, on a vu les bases indispensables, mais à part allumer en vert des pastilles, on a rien fait de très concret.

Je propose donc d’aller encore un peu plus loin et déployer un bout de code. Ce sera l’occasion de découvrir les tasks, mais aussi d’affiner quelques techniques.

Au programme donc:

  1. les tasks
  2. la task Powershell
  3. La task AzurePowershell
  4. Les Service Connection
  5. Contrôler le numéro de build

Lire la suite de « Initiation aux pipelines Devops Yaml – III »

Initiation aux pipelines Devops Yaml – II

On a vu un certain nombre de bases dans l’article précédent de cette série. On n’en a pas assez pour savoir construire des scripts industriels. On va rester au niveau 101, mais découvrir un certain nombre de concepts.

Au menu:

  • pipeline multi-stage
  • pipeline composé avec des templates
  • environnement et approbation

Lire la suite de « Initiation aux pipelines Devops Yaml – II »

Catégories ALM

Initiation aux pipelines Devops Yaml – I

Vous avez sans doute remarqué qu’Azure Devops propose une nouvelle architecture pour construire des pipelines de build et de déploiement. Cette architecture s’appuie sur un langage de description: Yaml.
Le principal avantage est que vos pipelines deviennent des ressources Devops comme les autres et peuvent donc être sauvegardées dans le repository de code et versionnées.

La première fois que je suis tombé dessus je me suis senti un peu perdu, mais en fait c’est facile. Et ce sera encore plus facile après avoir lu ce tuto qui sera le premier d’une petite série.

Voici le programme de ce premier article:

  • Création d’un environnement de test
  • créer un pipeline Yaml
  • exécuter un pipeline Yaml
  • explorer les menus Devops
  • Bases de la syntaxe Yaml

Ce premier article présente les bases, on entrera dans les détail par la suite.

Et c’est Ines qui va nous accompagner!

Lire la suite de « Initiation aux pipelines Devops Yaml – I »

Les stockages immutables de blob

Le stockage immutable de blob permet d’enregistrer des données dans un état dit WORM, c’est à dire non réinscriptibles.

Les données sont alors non effaçables et immutables pour une durée spécifiée durant laquelle il est possible de les lire ou d’en créer de nouvelles, mais pas les altérer ou les supprimer.

Ce mécanisme peut être important à utiliser pour des raisons réglementaires ou légales par exemple.

Lire la suite de « Les stockages immutables de blob »