7. GESTION DE
PROJET AGILE
Maîtrise et acteur
dans la communauté
Plus de 10 ans d’expérience en Agilité
‘BEST PRACTICES’
SCRUM ET XP
Plus de 10 ans d’expérience en Agilité
LIVRAISON
INCRÉMENTALES
FLEXIBILITÉ
EQUIPES
CO-LOCALISÉES
CONTRACTUALISATION
AGILE
SPONSORS OU
PARTENARIATS
MULTIPLES
8. 10h05 – 10h30
Coulisses techniques Développement Cloud
9h00 – 9h15
10h30 – 11h00
Accueil
(badges, café, livres blancs)
PAUSE
Discussions informelles
et questions
9h15 – 9h25
11h00 – 11h30
Présentation
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
Coulisses
Techniques - Industrialisation
9h25 – 9h45
11h30 – 12h00
Mot de Microsoft,
positionnement du Cloud
Conclusion / Q&A
et/ou Bonus*
(*) « Industrialisez rapidement vos développements »
9h45 – 10h05
Retour d’expériences et
démo Colibri, une application
SaaS sur Windows Azure
9.
10. Le Cloud par Microsoft
Sur les Datacenters de Microsoft
•
•
•
•
•
•
2
12. Déployé sur 8
Data Centers
Cloud ultra
modernes
De nouveaux DC :
Australie, Japon,
Brésil, Suède,
Finlande
Connecté à
l’infrastructure
réseau de
Microsoft
4
13. Trois modèles d’hébergement
applicatif…
Web Sites : le « SaaS »
- Déployer facilement des sites web en quelques secondes
- Support de frameworks open sources dont WordPress, Drupal, Joomla!, Umbraco.
- Développer sur Windows, Mac ou Linux et déployer grâce à GIT,TFS,FTP
,…
Cloud Services : le PaaS
- Déployer ses applications directement sur les DataCenters Azure
- Bénéficier du modèle complet de Cloud et d’une automatisation maximale
- L’application est adaptée pour le Cloud de manière à l’utiliser au maximum
Virtual Machines : le IaaS
- Migrer des applications / VM vers Azure sans modification
- Garder le contrôle complet des VMs tout en bénéficiant des services de Cloud
- Réversibilité complète par simple récupération de la machine virtuelle
16. Ruby …
Infrastructure
Fabric
Services
Frameworks
Richesse de l’offre Windows
Azure
.
.
.
virtual machines
.
.
.
web sites
.
.
.
cloud services
Automated
Elastic
Managed Resources
Usage Based
N Central US, S Central US, N Europe, W Europe, E Asia, SE
Asia + 24 Edge CDN Locations
SQL database
.
.
.
noSQL database
.
.
.
blob storage
connect
.
.
.
virtual network
traffic manager
17. Windows Azure : Un cloud très ouvert
WebLogic
Langage
CMS
Devices
Databases
Operating Systems
18. Achat Azure : 2 options
•
Abonnement en ligne (procédure slide suivante)
–
–
–
Souscription en ligne sur le site Microsoft
Prix publics. Pas de garantie des prix.
Le support Azure doit être souscrit en plus à raison d’un abonnement support par abonnement Azure. Les offres de
support sont décrites sur : https://www.windowsazure.com/fr-fr/support/plans/
– Contrat entreprise (contacter Julie Desoeuvres)
–
–
–
–
–
–
–
Ouvert pour 3 ans. Engagement annuel. L’ annuité peut être révisée chaque année.
Prépaiement de l’annuité (forfait annuel). Forfait minimum de 18767€ /an.
Les services Azure sont décomptés quotidiennement de ce forfait à des tarifs préférentiels versus les tarifs publics.
Garantie contre une hausse des prix pendant 3 ans. Si baisse des prix publics, baisse impactée sur les tarifs
préférentiels
Gestion multi-abonnements : possibilité de créer un nombre illimité d’abonnements Azure dans le cadre du contrat
Suivi granulaire de la consommation : au niveau global, et au niveau de chaque abonnement
Le support doit être souscrit annuellement en plus, à raison d’un abonnement support pour tous les abonnements du
Contrat Entreprise.
Possibilité de récupérer des abonnements existants (ouverts en ligne) et les « importer » dans le contrat sans
migration ni réinstallation
19. Ouverture d’un abonnement Azure
(directement sur le site web Azure)
• Avoir un compte Microsoft (anciennement
compte Windows Live). Pour en créer un :
https://signup.live.com/signup.aspx?lic=1
• Ouvrir un abonnement Azure sur :
https://www.windowsazure.com/frfr/pricing/purchase-options/
20. 10h05 – 10h30
Coulisses techniques Développement Cloud
9h00 – 9h15
10h30 – 11h00
Accueil
(badges, café, livres blancs)
PAUSE
Discussions informelles
et questions
9h15 – 9h25
11h00 – 11h30
Présentation
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
Coulisses
Techniques - Industrialisation
9h25 – 9h45
11h30 – 12h00
Mot de Microsoft,
positionnement du Cloud
Conclusion / Q&A
et/ou Bonus*
(*) « Industrialisez rapidement vos développements »
9h45 – 10h05
Retour d’expériences et
démo Colibri, une application
SaaS sur Windows Azure
25. UN PROCESSUS STRUCTURÉ
• Best Practices du marché
• Colibri formalise l’élaboration des prévisions
de ventes
Capacité de structurer un processus métier
et de le piloter ► Workflow ou phasage
des actions
26. STRUCTURE DE DONNÉES
RICHE
5 axes d’analyse,
12 niveaux d’agrégation par axe
GESTION MULTI-NIVEAUX
► Structuration avec Base en étoile, Cube OLAP
ou Calcul In Memory ?
27. SIMPLE ET ROBUSTE
• Modèles de prévision basés sur des
algorithmes éprouvés et vérifiables
Mise en œuvre de calculs complexes de
manière transparente pour l’utilisateur ►
traitements asynchrones et puissance de
calcul
28. NATIVEMENT COLLABORATIF
• Placer le travail collaboratif au cœur du
processus de prévisions, avec tous les acteurs
Notification des actions des collaborateurs
en temps réel
► Système de push serveur/client
29. PILOTAGE ET SUPERVISION
Tableaux de bord à caractère décisionnel
► Tableaux de bord performants et
composants riches
► Intégration au mail
30. INTUITIF, ACCESSIBLE ET
ERGONOMIQUE
• Impliquer les novices : simple et intuitive
• L’élaboration de prévisions n’a jamais été
si facile et ludique !
Clients : desktop et tablettes
Design : centré utilisateur
Technologie front : HTML5 avec
composants graphiques riches adaptés
31. ACCESSIBLE À
TOUS LES BUDGETS
Prix de vente basés sur l’usage
Solution SAAS : Infra/TMA/MCO intégrées
MAIS
ATTENTION aux prix des composants utilisés
32. INTÉGRÉ ET PERFORMANT
•
•
Gros volumes de données
Module d’import/export des données
depuis le SI + transfert sécurisé
► PERFORMANCES & SCALABILITÉ
► SÉCURITÉ
37. ARCHITECTURE DE COLIBRI
EXIGENCE : RÉDUCTION DES COÛTS !
ERP
•
•
•
Uniquement PaaS
Pas de Worker
Role
Multi-tenancy
côté Web-Role
38. ARCHITECTURE DE COLIBRI
MULTI-TENANCY
3
4
2
1
3
2
1
1
Full multi-tenancy
. Plusieurs clients / tenants
. 1 Web Role
. 1 Azure SQL Database
Multi-tenancy partielle
. Plusieurs clients / tenants
. 1 Web Role
. 1 Azure SQL Database
2
4
3
Mono-tenancy partielle
. 4 WebRoles / 4 bases
. Tout est dupliqué !
4
39. ARCHITECTURE DE COLIBRI
MULTI-TENANCY
Exigence forte : garantir le
cloisonnement des données
clients
3
2
1
4
Chaque client Colibri dispose de sa
propre SQL Database
Windows
Azure
Répond à l’exigence de réinternalisation
sur site de la solution Colibri
Compatible avec les outils d’administration
comme SQL Management Studio (Backup /
Restore)
1
4
2
3
4 Azure SQL Databases
40. AZURE SQL DATABASE (PAAS)
ARCHITECTURE LOGICIELLE
Timothée Marchand
Service SQL PAAS
Couche de stockage
Procédures stockées
Couche logique
Web role
Couche de présentation
Utilisateurs
41. AZURE SQL DATABASE (PAAS)
PRINCIPAUX AVANTAGES
SAUVEGARDE AUTOMATIQUE
HAUTE DISPONIBILITÉ
CONTRÔLE DE COHÉRENCE
MISE A NIVEAU AUTOMATIQUE
42. AZURE SQL DATABASE (PAAS)
PRINCIPALES LIMITATIONS
Pas de contrôle sur les
ressources et leur allocation
Pas d’index stockés en
colonne (columnStore)
Pas de compression de base
de données
Pas de partitionnement de
tables
Pas d’analyseur de profil
43. AZURE SQL DATABASE (PAAS)
BONNES PRATIQUES
Optimisation
• Ecriture manuelle du
code
• Utilisation de procédures
stockées
• Limitation des jointures
Equilibrage
• Déport des traitements
lourds dans la couche
applicative
• Sharding
Contrôle
• Activation des
statistiques
• Consultation des vues de
gestion dynamique
(DMV)
• Audit des plans
d’exécutions,
surveillance des verrous..
44. SQL SERVER EN MODE PAAS :
LA RECHERCHE DU BON COMPROMIS
Performances
du système
Rapidité de
développement
Facilité de
maintenance
45. BILAN EN TANT QUE DEVELOPPEUR
Code unique pour le SaaS ou pour la version « On-Premise » : réversibilité totale
Simple de convertir une application ASP .Net stateless en
application scalable fonctionnant sur le Cloud Windows Azure.
Attention : best practices nécessaires
Performance
Coût
Stateless
Load
balancing
46. BILAN EN TANT QU’ARCHITECTE
Modèle économique impacts sur l’architecture technique
Exemple : stratégies envisagées pour la persistance
• Azure SQL Dabase (PaaS)
• Azure SQL Datase Premium (PaaS)
• VM SQL Server (IaaS)
• Azure Table Storage (NoSQL, PaaS)
S’appuyer sur les services Azure
Exemple : Azure Service Bus, SendGrid
47. BILAN
SURVEILLER LES NOUVEAUTÉS (ex : élasticité)
AVANT : Pas d’élasticité (besoin d’un projet OpenSource CodePlex)
Réactivité de Microsoft par rapport aux besoins, avec les services
Preview, comme "Scale"
48. 10h05 – 10h30
Coulisses techniques Développement Cloud
9h00 – 9h15
10h30 – 11h00
Accueil
(badges, café, livres blancs)
PAUSE
Discussions informelles
et questions
9h15 – 9h25
11h00 – 11h30
Présentation
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
Coulisses
Techniques - Industrialisation
9h25 – 9h45
11h30 – 12h00
Mot de Microsoft,
positionnement du Cloud
Conclusion / Q&A
et/ou Bonus*
(*) « Industrialisez rapidement vos développements »
9h45 – 10h05
Retour d’expériences et
démo Colibri, une application
SaaS sur Windows Azure
50. 10h05 – 10h30
Coulisses techniques Développement Cloud
9h00 – 9h15
10h30 – 11h00
Accueil
(badges, café, livres blancs)
PAUSE
Discussions informelles
et questions
9h15 – 9h25
11h00 – 11h30
Présentation
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
Coulisses
Techniques - Industrialisation
9h25 – 9h45
11h30 – 12h00
Mot de Microsoft,
positionnement du Cloud
Conclusion / Q&A
et/ou Bonus*
(*) « Industrialisez rapidement vos développements »
9h45 – 10h05
Retour d’expériences et
démo Colibri, une application
SaaS sur Windows Azure
51. VERIFICATION DE
L’AUDIENCE
QUI CONNAÎT TEAM
FOUNDATION
SERVER ?
TEAM FOUNDATION
SERVICE ?
L’ALM ?
Sachez-le …
N’hésitez pas à
POSER DES
QUESTIONS !
POST-IT À VOTRE
DISPOSITION !!!
52. CYCLE DE VIE D’UNE APPLICATION WINDOWS AZURE
VUE SIMPLIFIEE
Windows Azure
Simple non ?
Version de test
Windows Azure
Package
livraison
Qualité
Environnement de
livraison
Archivage Code Source
Développeur
Usine logicielle
SIMPLE + QUALITE + DEPLOIEMENT RAPIDE = 100% de nos projets .Net sont sur Windows Azure
(Usine logiciel TFS + Environnements).
BON ROI = Mise en place même pour nos clients « non-Azure » ; « Setup-up cost » = 1 heure
53. CYCLE DE VIE D’UNE APPLICATION WINDOWS AZURE
VUE COMPLÈTE
Windows Azure
Windows
Azure
OK
??
Version Dév
Version de Version de test
test
Environnement de test
Package
livraison Test
Environnement Dév
VS Publish
10 min
Windows Azure
WebPublish
3 sec
Version
Version Client
Client
Environnement Client
Qualité
Package
livraison Client
Développeur
Archivage
Code Source
Version
PROD
Version PROD
Package
livraison Client
Usine logicielle
Environnement PROD
Etc…
54. NOTRE USINE LOGICIELLE FULL VISUAL STUDIO 2013
“TIME TO MARKET” RAPIDE GRACE A L’ALM MICROSOFT
Exploratory
Testing
Storyboarding
Debug in Prod
(Intellitrace)
Feedback
Manager
Code Review
TFS
2013
ALM
Quality
Builds
NDepend v5
(**)
Stylecop,
FXCop,
R#
(*) TFS 2013: Microsoft Visual Studio Team Foundation Server 2013
(**) « Objet Direct, premier partenaire agréé NDepend »
55. GRANDE FLEXIBILITE DU SELF-SERVICE
BESOIN DE GERER TOUS CES ENVIRONNEMENTS ET PARAMETRES
Multi-tenancy = Clients différents et même
environnement?
Nombreux comptes Windows Azure ; isoler les
développeurs de la production !
Nombreux services possibles par environnement
Rigueur et convention de nommage
Tableau EXCEL interminable
Service Azure
Nom de code
Environnement
Souscrip-tion
Login Microsoft Account
Cloud Services
OD-Colibri-Dev01-NE-CloudSrv.CloudApp.net
Dév, Europe N
MSDN1
Xyz-Dev@Live.com
Cloud Services
OD-Colibri-Rec01-WE-CloudSrv.CloudApp.net
Rec, Europe O
MSDN2
Xyz-Rec@Live.com
Service Bus
OD-Colibri-Dev01-SrvBus
Dév
MSDN1
Xyz-Dev@Live.com
SQL Database
Server:
Nom:
Démo Client01,
Europe Nord
MSDN3
+ VISA
Xyz-Demo@Live.com
Storage Account
odcolinedevstoacc
Dév Europe Nord
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
zjlgjtckrk
od.colibri.db.Dev01
56. TFS BUILD ET DÉPLOIEMENT RAPIDE ET CONTINU
SUR LES DIFFÉRENTS ENVIRONNEMENTS. HAUTE TRAÇABILITÉ
Alternative possible à TFS Buid / Deploy : InRelease, qui devient Microsoft. Sinon Nolio, Microsoft System
Center, Service Now, …
58. SOUSCRIPTION A WINDOWS AZURE
RÉPARTITION DE NOS LICENCES ET ABONNEMENTS
« Think big, Act small, Fail fast ; learn rapidly »
59. RETOUR D’EXPERIENCE SUR LE SLA
ARRET DE SERVICE PLANNIFIE (A DEUX REPRISES)
Maintenance « single instance
deployments of
Windows Azure Virtual
Machines »
• REFLEXE: Aucun problèmes
de notre côté, car full PaaS !
• FAIT: … Sauf … une partie en
‘preview’
60. RETOUR D’EXPERIENCE SUR LE SLA
ARRET DE SERVICE PLANNIFIE (A DEUX REPRISES)
BIEN PENSER:
Alertes par email & filtre anti-Spam!
Effet de bords à anticiper
« Single Point of Failure » : Peu de perturbations lors de la 2nd
maintenance
Utilité des 2 instances !
Objet Direct
TFS Build
?
?
Preview
TFS Build
?
61. POUR CONCLURE …
SIMPLE à chaque étapes !
– Ne pas oublier les prochaines marches
– Cela porte un nom: Modèle de maturité du « Cloud Computing »
Prêt
ITIL (**)
ARM (*)
(*) ARM: Application Release Management
(**) ITIL: IT Infrastructure Library
62. 10h05 – 10h30
Coulisses techniques Développement Cloud
9h00 – 9h15
10h30 – 11h00
Accueil
(badges, café, livres blancs)
PAUSE
Discussions informelles
et questions
9h15 – 9h25
11h00 – 11h30
Présentation
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
Coulisses
Techniques - Industrialisation
9h25 – 9h45
11h30 – 12h00
Mot de Microsoft,
positionnement du Cloud
Conclusion / Q&A
et/ou Bonus*
(*) « Industrialisez rapidement vos développements »
9h45 – 10h05
Retour d’expériences et
démo Colibri, une application
SaaS sur Windows Azure
63. CONCLUSION
AVANTAGES ET INCONVENIENTS
+ Haute
disponibilité
+ Immédiatement
opérationnelle
+ Solution à
moindre coût
+
Accompagnement
de Microsoft
+ Plateforme ouverte, et très simple
notre retour d’expérience par rapport à Java et Google
- Selon les usages:
Attention aux
performances
SQL Database
Considérer l’offre
Premium / IaaS /
Big data
- Implémentation
SSO complexe,
facilité par
WAAD, et reste
un domaine très
avancé
- Avantage et
inconvénient du
« Self-Service »:
- Monter
rapidement des
environnement.
Attention $$$
65. ARCHITECTURE TECHNIQUE
COLIBRI
deployment Backend ov erv iew
Presentation Tier
Authentication Tier
authentication
«HTTPS Redirect»
«device»
Android or iOS or Window s 8.1 :Tablet
:Web brow ser
:j Query SignalR
authentication
:Microsoft WAAD
«HTTPS»
JSON
(Ajax
requests)
«HTTPS»
Push (web socket
or long polling)
«HTTPS»
:Web Role
:Microsoft ASP
.NET MVC 4
Colibri RESTful API :
Microsoft ASP.NET
Web API
Android,
iOS or
Windows
8.1 native
push
JSON
Middle Tier
«HTTPS»
Mediator :Window s Azure Serv ice Bus
:SignalR
:Notification
Hubs
Windows Azure plugin to send mails.
SendGrid is Microsoft Windows Azure Partner.
:SendGrid
:Microsoft
EntityFramew ork
Mail :Queue
66. Q&A / BONUS
QESTIONS AVANCEES ??
Problématique de « Map reduce »
Retravailler toutes les formules
mathématiques pour les rendre
parallélisable
Théories mathématiques
pures
Exemples de coûts
150€ / mois full PaaS
2500€ / mois (si Extra Large
instance Pro BI)
69. COLLABORATION
ÉTROITE ENTRE OBJET
DIRECT ET MICROSOFT
16 sociétés à travers le monde
sélectionnées sur ce programme
TAP
Unique société française à avoir
été sélectionnée grâce à son
expérience sur le Cloud Azure sur
un projet de dimension
internationale débuté en octobre
2011
Avril 2013
Expérience
avérée
à travailler sur
des
partenariats
stratégiques
entre
Microsoft
et GE
Healthcare
Convié à travailler(*)
sous NDA avec
Microsoft Corp, à
Redmond / Seattle,
sur un ‘TAP’
Technological
Adoption Program
qui est un
partenariat
prestigieux
71. SECURITE DE VOTRE SYSTÈME D’INFORMATION
OUVERTURE DES PORTS / PROTOCOLES
PROTOCOLS and PORTS to open
TCP:49152 to 65535 (due to MS IaaS of June 2012)
HTTP and HTTPS (443) (for Win Azure Report)
TCP 8172 (Publish using WebDeploy)
TCP 3389 (Remote Desktop Access (RDP))
SQL Management Studio connected to SQL Azure :
. TCP 1433 SQL Server (based on TDS protocol)
. TCP 1434 SQL Admin Connection
. TCP 4022 SQL Service Broker
. TCP 435 SQL Service Broker
. TCP 2383 "Analysis Services«
. TCP 2382 "SQL Browser«
. UDP 1434 "SQL Browser«
. Azure Service Bus
BESOIN DE DECLARER LES IP-RANGE DES DATACENTER
Notes de l'éditeur
With today’s release, Windows Azure is more flexible than ever.Windows Azure helped pioneer the concept of Platform as a Service – and provides a rich set of managed, scalable services. Today, we are making these services even richer.Windows Azure also now supports Infrastructure as a Service – including the ability to host both Windows and Linux Virtual Machines in the cloud. Some of you might be surprised to hear the word Linux at a Microsoft event. Our support of Linux is just one example of how we are embracing openness in a fundamental new way.With today’s release, we are supporting more operating systems, more languages, more open protocols, and releasing all of our SDKs on GitHub under an open source license.The end result is a truly unique offering. You can now use both Platform as a Service and Infrastructure as a Service together.You can now use the best of both the Microsoft ecosystem and open source ecosystem together.And you can now build better and more scalable solutions than ever before.
Windows Azure runs in datacenters around the world, enabling you to deploy and run your applications and infrastructure near your customers.
Sauvegarde automatique des basesHaute disponibilité (99,9%), mais ca fait quand même 42 minutes par mois, non maitriséContrôle de cohérence intégré des données. Garanti de toutes façons par TFSMise à niveau automatique et transparant de la version du système. (plus de montée de version ni de migration)
1) Pas de contrôle sur l’allocation des ressourcesPas d’index stocké en colonnes : ce mode de stockage des données est optimisé pour les entrepots de données (opérations de filtrage, d’agrégations, de regroupement, de jointure en étoile)2) Pas d’index colonne : Seules les colonnes nécessaires doivent être lues. Par conséquent, moins de données sont lues du disque vers la mémoire avant d'être déplacées ensuite de la mémoire vers le cache de processeur. Les colonnes sont fortement compressées. Cela réduit le nombre d'octets qui doivent être lus et déplacés. La plupart des requêtes ne touchent pas à l'ensemble des colonnes de la table. Par conséquent, plusieurs colonnes ne sont jamais chargées en mémoire. Cette caractéristique, combinée à une excellente compression, permet d'améliorer l'utilisation du pool de mémoires tampons, ce qui réduit le nombre total d'E/S. 3) 4) Optimisaiton: pas de mécanisme de compression ni de partitionnement de table5) Pas d’analyseur de profil (profiler) permettant de récupérer les traces de l’activité du serveur et de les analyser
Ecriture manuelle : pas d’utilisation d’entityframeworkProcédures stockées : enregistrement des plans d’executionsLimitation des jointures : par décomposition des traitementsDéport des traitements lourds dans la couche applicative : boucles et traitements alogithmiquesSharding : càd duplication des instances de bases de données selon deux axes : - horizontal répartition des utilisateurs (loadbalancing) - vertical par répartition des fonctionnalitésContrôle : base de données SQL Azure offre le même niveau de fonctions système (hormis le profiler) : statistiques, plan d’executions, vues systèmes…