Dans cette session vous découvrirez toutes les étapes de la mise en place d'une plateforme Répliquée sur plusieurs datacenters Azure, les enjeux derrière une telle infrastructure, mais aussi les contraintes que nous avons pu observer sur ce projet.
3. 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
4. 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
6. 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
7. 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
9. 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 »
10. 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
+
13. 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)
14. 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
15. 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
16. aOS Genève
22 juin 2017
Politique de build
•
• Continuous Delivery
• Continuous intégration
• Qualité Sonar
•
17. 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
18. 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
19. 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
21. 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
22. 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)
23. 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
24. 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
26. 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
27. 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
29. 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
31. 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
32. 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
33. 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