aOS Genève
22 juin 2017
Rex: Mise en place de DevOps sur Azure
Fabien Dibot et Matthieu Petite
aOS Genève
22 juin 2017
Merci à nos sponsors !
aOS Genève
22 juin 2017
Présentation du conférencier
• Matthieu Petite
• Architecte .Net / Consultant Dev Ops
• Membre Aos
• Passionné de la transition Build to Run
aOS Genève
22 juin 2017
Présentation du conférencier
• Fabien DIBOT
• Architecte solutions Azure chez OBS
• MVP Cloud & Datacenter Management
• Membre aOS
• P-Seller Azure
• French PowerShell User Group
aOS Genève
22 juin 2017
Présentation du projet
aOS Genève
22 juin 2017
Le projet: Gestion des interventions
Le client
• Spécialiste de la construction et de la maintenance de réseaux Telco / énergie
• +15000 interventions jours dans tout le territoire national
• +5000 techniciens sur le terrain et 300 gestionnaires d’activités concernés
1
Le projet
• Construire le système d’information de production (Gestion des interventions / facturation / …)
• Concevoir un système multi domaine (Telco / Energie)
• Interconnecter les SI des donneurs d’ordres afin d’accélérer les processus de traitement et de numériser les
relations
2
La mission pour Orange Applications for Business
• Concevoir et implémenter le futur système d’information
• Accompagner la transition vers le run
• Assurer la Tierce Maintenance Applicative (Evolution / Correction /…)
3
aOS Genève
22 juin 2017
Le projet: Les ambitions
Une ambition méthodologique
• Dans un cadre forfaitaire, produire un SI performant tout en donnant de la visibilité au client
• Implémenter en agile opérationnellement
• Adresser les enjeux des opérations et de l’exploitation dès les phases initiales du projet
1
Une ambition technologique
• Déployer un socle de système d’information Up To Date : Asp.Net Core, WS2016, Biztalk 2016, SQL2016,
Azure, …
• Mettre en place un processus Dev/OPS end to end (Captation des exigences  Gestion des releases)
• Avoir une approche Infrastructure As A Code sur l’ensemble des plates-formes
2
Vers une excellence opérationnelle
• Transcrire nos processus qualité dans les outils des Stackholders du projet
• Mesurer la performance et anticiper les écarts
• Assurer la transition des personnels vers nos nouveaux métiers
3
aOS Genève
22 juin 2017
Concevoir pour le Dev/Ops
aOS Genève
22 juin 2017
Concevoir pour le Dev / OPS
« Mettre en œuvre une approche Dev / OPS, c’est
avant tout se réinterroger à toutes les étapes du
projet pour s’assurer que le développement d’un
applicatif soit testable et tolérant aux
changements »
aOS Genève
22 juin 2017
Le projet : Architecture Technique
Authentification Conduite
d activités
MobileFaçade de service
Mobile
Application
Référentiel
Middleware Biztalk
SI Clients
Services tiers
SI Sous-traitants
Administration
centrale
Supervision / Logs
Active
Directory
ADFS
Application web
Web API
Application
Xamarin
Web API
Web API
Référentiel
Référentiel
métier OTs
ADFS
WAP
Mail
Push
notif
SMS
Données Biztalk
Application web
ElasticSearch Kibana
+
aOS Genève
22 juin 2017
Les outils du développement
aOS Genève
22 juin 2017
Dev/Ops, c’est aussi des outils !
aOS Genève
22 juin 2017
Gestion des exigences
Centraliser les exigences
dans un référentiel unique
pour mieux suivre le projet
S’intégrer dans les outils
des experts fonctionnels
(Suite office)
aOS Genève
22 juin 2017
Gestion de projet
• Mise en oeuvre de la
demarche Agile
• Suivi des charges projet
• Reporting temps reel sur
l’avancée des travaux
aOS Genève
22 juin 2017
Gestion du code source
•
• Outil de gestion de code souple
• Gestion décentralisée
• Intégration VS2015 moyenne – usage
d’un outil third parties
•
• Gestion des Feature, Release, Hotfix
• Versionning automatique
• Build déclenchée en automatique
aOS Genève
22 juin 2017
Politique de build
•
• Continuous Delivery
• Continuous intégration
• Qualité Sonar
•
aOS Genève
22 juin 2017
Mise en oeuvre du release Pipeline
Version Change (Pull Resquest Develop)
Build
Agent
Code
Compile
Unit test
Code
Analysis
(sonar)
Code
Analysis
(OWASP)
Versionning
Build
Agent
Code
Compile
Unit test
Code
Analysis
(sonar)
Packaging
Version Change (Manually)
PF Prod / Pre
prod
Deploy
Infrastructure
Deploy
VM
Deploy Middleware
(IIS, Biztalk, SQL)
Deploy Packages
Deploy
Infrastructure
Deploy
VM
Deploy Middleware
(IIS, Biztalk, SQL)
Deploy Packages
Release
Agent
2
1
PF Azure
Start Release (manually)
PSRemoting
Custom TFS Release Tasks
Deploy Infra(manually)
Powershell DSC
ARM
aOS Genève
22 juin 2017
Suivis des release
• Le reporting de base TFS n’est pas suffisant
• Développement de plugin d’extension
(build / report)
• Publication dans les prochaines semaines
sur la marketplace
aOS Genève
22 juin 2017
Rapide et automatisé, mais pas sans garde
fou…
S’inscrire dans une démarche Dev/Ops impose aux équipes projets
d’apporter des réponses industrielles vis-à-vis des politiques de:
Tests Unitaires
Tests d’intégration
/ Tests fonctionnels
Qualimétrie Supervision
Une nécessité d’embrasser la culture de la mesure dans tout le
spectre de la production, de la construction aux opérations
aOS Genève
22 juin 2017
Développer avec Azure
aOS Genève
22 juin 2017
Environement de développement (Dev
Side)
•
• VS2015 Update 3
• Resharper
• Telerik
• .Net Core Extension
• Accès à Artifactory / TFS
• Mise à disposition de l’ensemble du
tooling dans une VM généralisée.
•
• VS2015 Update 3
• Xamarin Studio
• Google SDK’s
• Accès à Artifactory / TFS
aOS Genève
22 juin 2017
 Coût de l’infrastructure plus faible que sur nos environnements Orange
 Simplification des processus de maintenance (L’ensemble de la pf est à la main de
l’équipe projet)
 Nécessité d’avoir des compétence d’OPS au sein de l’équipe pour
 Template les plateformes
 Gérer les infrastructures Azure en termes de sécurité
Environnement de développement
(Server Side)
aOS Genève
22 juin 2017
Diagramme Réseau
Architecture Plateformes Dev OAB
Azure
OrangeApplication For Business
Création le : 19/10/2016
Confientialité N° CODE Type de document RÉV
Restreint
Projet
AD0878801 Dossier d architecture 1
ECHELLE 1:1 Statut : Draft FEUILLE 1 / 21
RÉV. DESCRIPTION DATE PAR
1 Création 19/10/2016 MPE
Resource
group
Virtual Network
192.168.0.10
osdiskad
vhdstorageaccountad
vmAd
Publicipad
192.168.0.11
osdiskIis
vhdstorageaccountIis
vmIis
PublicipIis
192.168.0.12
osdiskSql
vhdstorageaccountsql
vmSql
PublicipSql
192.168.0.13
osdiskBiz
talk
vhdstorageaccountbiztalk
vmBiztalk
PublicipBiztalk
Internet
Lan
Interne
aOS Genève
22 juin 2017
Diagramme Réseau
Architecture Plateformes Intégration
OAB Azure
OrangeApplication For Business
Création le : 09/11/2016
Confientialité N° CODE Type de document RÉV
Restreint
Projet
AD0878801 Dossier d architecture 1
ECHELLE 1:1 Statut : Draft FEUILLE 1 / 21
RÉV. DESCRIPTION DATE PAR
1 Création 09/11/2016 MPE
Resource
group
Virtual Network
192.168.0.10
osdiskad
vhdstorageaccountad
vmAd
Publicipad
192.168.0.11
osdiskIis
vhdstorageaccountIis
vmIis
PublicipIis
192.168.0.13
osdiskSql
vhdstorageaccountsql
vmSql
PublicipSql
192.168.0.14
osdiskBiz
talk
vhdstorageaccountbiztalk
vmBiztalk
PublicipBiztalk
Internet
Lan
Interne
192.168.0.12
osdiskIis2
vhdstorageaccountIis2
vmIis2
PublicipIis2
Application Gateway
aOS Genève
22 juin 2017
Produire avec Azure
aOS Genève
22 juin 2017
Enjeux de la plateforme de production
• Haute disponibilité
• Distribution multi Datacenter
• Sécurité
• Network Security Group
• RBAC
• ADFS
• Flexibilité
• Optimisation grâce PaaS/IaaS
• Intégration native d’un PCA
aOS Genève
22 juin 2017
Traffic Manager
Resource
group
Resource
group
Entreprise
Network
Web App API App
Resource
group
Entreprise
Network
Web App API App
DMZ DMZ
AD FS 01 AD FS 02
SQL01 SQL 02
Internet
AD 01
AD FS PROXY
02
AD FS PROXY
01
Biztalk 01 Biztalk 02
Region 1 Region 2
Traffic Manager
Internet
VPN
Gateway
VPN
Gateway
VPN
Gateway /
Peering
Workstation
client
Workstation
client
Admin Admin
Application
Insights
Application
Insights
AD 02 AD 01 AD 02
WSUS WSUS
aOS Genève
22 juin 2017
Mise en œuvre des plateformes
aOS Genève
22 juin 2017
Mise en oeuvre des plateformes
• Templatisation des plateforme avec ARM
• Nested Templates
• Déploiement et paramétrage des VMs
• Azure automation
• Desired State Configuration
• Validation des déploiements
• Pester
aOS Genève
22 juin 2017
Princpales diffultés
aOS Genève
22 juin 2017
Principales difficultés en phase amont
• Reconnaître la nécessité de mettre en œuvre une démarche Dev/Ops
• Identifier les solutions technologiques à mettre en œuvre
• Fédérer une équipe de réponse sachant adresser la problématique
Identifier
• Montrer la plus value financière sur la mise en œuvre de la démarche
• Faire accepter le cout d’initialisation de l’outillage… pour faire gagner notre
client au final !
Vendre la plus
value
• Identifier les coûts de mise en œuvre sur des nouveaux métiers ou les abaques
sont peu connus
• Embrasser les paradigmes des Cloud Native et l’ingénierie financière associée
• Proposer une démarche projet qui sort du cadre classique
Valoriser
Nécessité de
réaliser des
projets significatifs
pour mieux
appréhender
l’ingénierie d’affaire
à mettre en œuvre
dans ce type
de projet
aOS Genève
22 juin 2017
Principales difficultés en phase projet
• Bouleversement des pratiques
• Embrasser les paradigmes des Cloud Native Applications et des patterns de
conception, implémentation et production associés
• Engagement de chacun sur des pratiques nouvelles  Changement de métier
Organisationnelles
• Nécessaire montée en compétences sur les thématique du tests, de la
qualimétrie
• Prise en charge des outils de l’OPS (ARM / DSC / PowerShell)
Techniques
• Capter les exigences au sein de la forge pour servir au mieux le processus de
développement
• S’inscrire dans une approche de service strict pour produire du logiciel testable
• Gérer une phase de démarrage plus longue dû à la mise en place de l’outillage
Fonctionnelles
Nécessité
d’accompagner
les équipes
pour pérenniser
la
démarche
aOS Genève
22 juin 2017
Bilan et bénéfices
Satisfaction
Client
Visibilité
Respect des délais
Meilleure qualité
Maitrise des
livrables
Satisfaction
Equipe
Projet
Travail plus
qualitatif
Meilleure maitrise
sur le code produit
Sentiment de
montée en gamme
Confiance et
engagement
Technique
Généralisation de
la démarche pour
servir nos projets
Financière
Optimisation via le
modèle hybride de
production
Pas de surcoût lié à
la mise en place de
la démarche
Gain du projet de
TMA
aOS Genève
22 juin 2017
Questions ?

8 Rex : Mise en place de DevOps sur Azure

  • 1.
    aOS Genève 22 juin2017 Rex: Mise en place de DevOps sur Azure Fabien Dibot et Matthieu Petite
  • 2.
    aOS Genève 22 juin2017 Merci à nos sponsors !
  • 3.
    aOS Genève 22 juin2017 Présentation du conférencier • Matthieu Petite • Architecte .Net / Consultant Dev Ops • Membre Aos • Passionné de la transition Build to Run
  • 4.
    aOS Genève 22 juin2017 Présentation du conférencier • Fabien DIBOT • Architecte solutions Azure chez OBS • MVP Cloud & Datacenter Management • Membre aOS • P-Seller Azure • French PowerShell User Group
  • 5.
    aOS Genève 22 juin2017 Présentation du projet
  • 6.
    aOS Genève 22 juin2017 Le projet: Gestion des interventions Le client • Spécialiste de la construction et de la maintenance de réseaux Telco / énergie • +15000 interventions jours dans tout le territoire national • +5000 techniciens sur le terrain et 300 gestionnaires d’activités concernés 1 Le projet • Construire le système d’information de production (Gestion des interventions / facturation / …) • Concevoir un système multi domaine (Telco / Energie) • Interconnecter les SI des donneurs d’ordres afin d’accélérer les processus de traitement et de numériser les relations 2 La mission pour Orange Applications for Business • Concevoir et implémenter le futur système d’information • Accompagner la transition vers le run • Assurer la Tierce Maintenance Applicative (Evolution / Correction /…) 3
  • 7.
    aOS Genève 22 juin2017 Le projet: Les ambitions Une ambition méthodologique • Dans un cadre forfaitaire, produire un SI performant tout en donnant de la visibilité au client • Implémenter en agile opérationnellement • Adresser les enjeux des opérations et de l’exploitation dès les phases initiales du projet 1 Une ambition technologique • Déployer un socle de système d’information Up To Date : Asp.Net Core, WS2016, Biztalk 2016, SQL2016, Azure, … • Mettre en place un processus Dev/OPS end to end (Captation des exigences  Gestion des releases) • Avoir une approche Infrastructure As A Code sur l’ensemble des plates-formes 2 Vers une excellence opérationnelle • Transcrire nos processus qualité dans les outils des Stackholders du projet • Mesurer la performance et anticiper les écarts • Assurer la transition des personnels vers nos nouveaux métiers 3
  • 8.
    aOS Genève 22 juin2017 Concevoir pour le Dev/Ops
  • 9.
    aOS Genève 22 juin2017 Concevoir pour le Dev / OPS « Mettre en œuvre une approche Dev / OPS, c’est avant tout se réinterroger à toutes les étapes du projet pour s’assurer que le développement d’un applicatif soit testable et tolérant aux changements »
  • 10.
    aOS Genève 22 juin2017 Le projet : Architecture Technique Authentification Conduite d activités MobileFaçade de service Mobile Application Référentiel Middleware Biztalk SI Clients Services tiers SI Sous-traitants Administration centrale Supervision / Logs Active Directory ADFS Application web Web API Application Xamarin Web API Web API Référentiel Référentiel métier OTs ADFS WAP Mail Push notif SMS Données Biztalk Application web ElasticSearch Kibana +
  • 11.
    aOS Genève 22 juin2017 Les outils du développement
  • 12.
    aOS Genève 22 juin2017 Dev/Ops, c’est aussi des outils !
  • 13.
    aOS Genève 22 juin2017 Gestion des exigences Centraliser les exigences dans un référentiel unique pour mieux suivre le projet S’intégrer dans les outils des experts fonctionnels (Suite office)
  • 14.
    aOS Genève 22 juin2017 Gestion de projet • Mise en oeuvre de la demarche Agile • Suivi des charges projet • Reporting temps reel sur l’avancée des travaux
  • 15.
    aOS Genève 22 juin2017 Gestion du code source • • Outil de gestion de code souple • Gestion décentralisée • Intégration VS2015 moyenne – usage d’un outil third parties • • Gestion des Feature, Release, Hotfix • Versionning automatique • Build déclenchée en automatique
  • 16.
    aOS Genève 22 juin2017 Politique de build • • Continuous Delivery • Continuous intégration • Qualité Sonar •
  • 17.
    aOS Genève 22 juin2017 Mise en oeuvre du release Pipeline Version Change (Pull Resquest Develop) Build Agent Code Compile Unit test Code Analysis (sonar) Code Analysis (OWASP) Versionning Build Agent Code Compile Unit test Code Analysis (sonar) Packaging Version Change (Manually) PF Prod / Pre prod Deploy Infrastructure Deploy VM Deploy Middleware (IIS, Biztalk, SQL) Deploy Packages Deploy Infrastructure Deploy VM Deploy Middleware (IIS, Biztalk, SQL) Deploy Packages Release Agent 2 1 PF Azure Start Release (manually) PSRemoting Custom TFS Release Tasks Deploy Infra(manually) Powershell DSC ARM
  • 18.
    aOS Genève 22 juin2017 Suivis des release • Le reporting de base TFS n’est pas suffisant • Développement de plugin d’extension (build / report) • Publication dans les prochaines semaines sur la marketplace
  • 19.
    aOS Genève 22 juin2017 Rapide et automatisé, mais pas sans garde fou… S’inscrire dans une démarche Dev/Ops impose aux équipes projets d’apporter des réponses industrielles vis-à-vis des politiques de: Tests Unitaires Tests d’intégration / Tests fonctionnels Qualimétrie Supervision Une nécessité d’embrasser la culture de la mesure dans tout le spectre de la production, de la construction aux opérations
  • 20.
    aOS Genève 22 juin2017 Développer avec Azure
  • 21.
    aOS Genève 22 juin2017 Environement de développement (Dev Side) • • VS2015 Update 3 • Resharper • Telerik • .Net Core Extension • Accès à Artifactory / TFS • Mise à disposition de l’ensemble du tooling dans une VM généralisée. • • VS2015 Update 3 • Xamarin Studio • Google SDK’s • Accès à Artifactory / TFS
  • 22.
    aOS Genève 22 juin2017  Coût de l’infrastructure plus faible que sur nos environnements Orange  Simplification des processus de maintenance (L’ensemble de la pf est à la main de l’équipe projet)  Nécessité d’avoir des compétence d’OPS au sein de l’équipe pour  Template les plateformes  Gérer les infrastructures Azure en termes de sécurité Environnement de développement (Server Side)
  • 23.
    aOS Genève 22 juin2017 Diagramme Réseau Architecture Plateformes Dev OAB Azure OrangeApplication For Business Création le : 19/10/2016 Confientialité N° CODE Type de document RÉV Restreint Projet AD0878801 Dossier d architecture 1 ECHELLE 1:1 Statut : Draft FEUILLE 1 / 21 RÉV. DESCRIPTION DATE PAR 1 Création 19/10/2016 MPE Resource group Virtual Network 192.168.0.10 osdiskad vhdstorageaccountad vmAd Publicipad 192.168.0.11 osdiskIis vhdstorageaccountIis vmIis PublicipIis 192.168.0.12 osdiskSql vhdstorageaccountsql vmSql PublicipSql 192.168.0.13 osdiskBiz talk vhdstorageaccountbiztalk vmBiztalk PublicipBiztalk Internet Lan Interne
  • 24.
    aOS Genève 22 juin2017 Diagramme Réseau Architecture Plateformes Intégration OAB Azure OrangeApplication For Business Création le : 09/11/2016 Confientialité N° CODE Type de document RÉV Restreint Projet AD0878801 Dossier d architecture 1 ECHELLE 1:1 Statut : Draft FEUILLE 1 / 21 RÉV. DESCRIPTION DATE PAR 1 Création 09/11/2016 MPE Resource group Virtual Network 192.168.0.10 osdiskad vhdstorageaccountad vmAd Publicipad 192.168.0.11 osdiskIis vhdstorageaccountIis vmIis PublicipIis 192.168.0.13 osdiskSql vhdstorageaccountsql vmSql PublicipSql 192.168.0.14 osdiskBiz talk vhdstorageaccountbiztalk vmBiztalk PublicipBiztalk Internet Lan Interne 192.168.0.12 osdiskIis2 vhdstorageaccountIis2 vmIis2 PublicipIis2 Application Gateway
  • 25.
    aOS Genève 22 juin2017 Produire avec Azure
  • 26.
    aOS Genève 22 juin2017 Enjeux de la plateforme de production • Haute disponibilité • Distribution multi Datacenter • Sécurité • Network Security Group • RBAC • ADFS • Flexibilité • Optimisation grâce PaaS/IaaS • Intégration native d’un PCA
  • 27.
    aOS Genève 22 juin2017 Traffic Manager Resource group Resource group Entreprise Network Web App API App Resource group Entreprise Network Web App API App DMZ DMZ AD FS 01 AD FS 02 SQL01 SQL 02 Internet AD 01 AD FS PROXY 02 AD FS PROXY 01 Biztalk 01 Biztalk 02 Region 1 Region 2 Traffic Manager Internet VPN Gateway VPN Gateway VPN Gateway / Peering Workstation client Workstation client Admin Admin Application Insights Application Insights AD 02 AD 01 AD 02 WSUS WSUS
  • 28.
    aOS Genève 22 juin2017 Mise en œuvre des plateformes
  • 29.
    aOS Genève 22 juin2017 Mise en oeuvre des plateformes • Templatisation des plateforme avec ARM • Nested Templates • Déploiement et paramétrage des VMs • Azure automation • Desired State Configuration • Validation des déploiements • Pester
  • 30.
    aOS Genève 22 juin2017 Princpales diffultés
  • 31.
    aOS Genève 22 juin2017 Principales difficultés en phase amont • Reconnaître la nécessité de mettre en œuvre une démarche Dev/Ops • Identifier les solutions technologiques à mettre en œuvre • Fédérer une équipe de réponse sachant adresser la problématique Identifier • Montrer la plus value financière sur la mise en œuvre de la démarche • Faire accepter le cout d’initialisation de l’outillage… pour faire gagner notre client au final ! Vendre la plus value • Identifier les coûts de mise en œuvre sur des nouveaux métiers ou les abaques sont peu connus • Embrasser les paradigmes des Cloud Native et l’ingénierie financière associée • Proposer une démarche projet qui sort du cadre classique Valoriser Nécessité de réaliser des projets significatifs pour mieux appréhender l’ingénierie d’affaire à mettre en œuvre dans ce type de projet
  • 32.
    aOS Genève 22 juin2017 Principales difficultés en phase projet • Bouleversement des pratiques • Embrasser les paradigmes des Cloud Native Applications et des patterns de conception, implémentation et production associés • Engagement de chacun sur des pratiques nouvelles  Changement de métier Organisationnelles • Nécessaire montée en compétences sur les thématique du tests, de la qualimétrie • Prise en charge des outils de l’OPS (ARM / DSC / PowerShell) Techniques • Capter les exigences au sein de la forge pour servir au mieux le processus de développement • S’inscrire dans une approche de service strict pour produire du logiciel testable • Gérer une phase de démarrage plus longue dû à la mise en place de l’outillage Fonctionnelles Nécessité d’accompagner les équipes pour pérenniser la démarche
  • 33.
    aOS Genève 22 juin2017 Bilan et bénéfices Satisfaction Client Visibilité Respect des délais Meilleure qualité Maitrise des livrables Satisfaction Equipe Projet Travail plus qualitatif Meilleure maitrise sur le code produit Sentiment de montée en gamme Confiance et engagement Technique Généralisation de la démarche pour servir nos projets Financière Optimisation via le modèle hybride de production Pas de surcoût lié à la mise en place de la démarche Gain du projet de TMA
  • 34.
    aOS Genève 22 juin2017 Questions ?

Notes de l'éditeur

  • #8 Déploiement biztalk en 3 temps Rlz pipieline compliquées Install Config Ajout applications
  • #14 Un outil qui permet de^puis word et office de recupere et collecter les work items tfs (vsts ou tfs)
  • #18 Build déployer l’infra Au dessus on applique le DSC Après on applique l’application