Windows Azure est la solution de Cloud Public de Microsoft, ouverte à tous les systèmes d'exploitation Windows ou Linux et à tous les langages: Java, PHP, Python, .Net etc. L'objectif de cette session est de montrer au travers d'un cas concret l'ouverture de Windows Azure à des solutions non Microsoft. Venez découvrir comment Kompass International, leader de l'information marketing B2B, a migré l'ensemble de ses applications business, codées en Java sur Windows Azure.
Speakers : Pierrick PETAIN (Kompass), Thomas Conté (Microsoft)
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bien" retour d'expérience de Kompass
1.
2. Retour d’expérience
Kompass
"J'ai migré mon SI intégralement en Java dans
Windows Azure et je me porte bien"
Xavier Roques, Architecte Kompass
Thomas Conté, Architecte Microsoft
@tomconte, tconte@microsoft.com
Architecture/Azure/Cloud
3. Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !
#mstechdays
Architecture/Azure/Cloud
4. Agenda
• Introduction
– Présentation de la société Kompass
– Présentation du projet
– Java sur Windows Azure
•
•
•
•
Architecture, choix techniques
Utilisation des services Windows Azure
Problématiques rencontrées
Conclusion
#mstechdays
Architecture/Azure/Cloud
6. KOMPASS
Connects business to business
Notre métier.
Collecter des informations sur les entreprises.
Enrichir et structurer ces informations.
Mettre ces informations à la disposition du public,
sous la forme de données brutes ou de services.
Notre mission.
Développer la connaissance sur les entreprise
mondiales.
Faciliter leurs mises en relation.
Notre ambition.
Etre l’encyclopédie des entreprises mondiales de
référence.
#mstechdays
Architecture/Azure/Cloud
7. Les points forts de KOMPASS
Notoriété
1947
Année de création de la marque KOMPASS
8/10
Indice de notoriété de la marque auprès des
journalistes économiques.
75%
Pourcentage des clients ayant choisis
KOMPASS en raison de sa notoriété
Base de données
5,2 millions
Nombre d’entreprises dans la base de
données France (dont 350 000 dans la base
Internationale à fin 2013)
3,6 millions
Nombre de dirigeants dans la base données
France
75%
Dimension
Internationale
70
Nombre de pays membres du réseau
KOMPASS
26
4,2 millions
Nombre de traduction du site kompass.com
Nombre d’entreprises dans la base de données
internationale de KOMPASS
Nomenclature
59 000
Nombre d’activités, de produits et de services
recensés dans la nomenclature KOMPASS
2
Nombre d’opérateurs de base de données sur
les entreprises proposant une classification
homogène sur les 5 continents : D&B et
KOMPASS
Pourcentage des clients ayant choisis
KOMPASS en raison de la richesse et de la
qualité de ses données.
#mstechdays
Architecture/Azure/Cloud
8.
9. Projet de refonte Cloud
• Applications hébergées dans les datacenters
de son ancienne maison mère (Linux / Oracle
/ WebLogic).
• Gestion centralisée et automatisée des
machines
• Déploiement plus rapide et maîtrisé
• Adaptabilité
• Grille tarifaire plus lisible
#mstechdays
• Partenaire de choix
Architecture/Azure/Cloud
10. Microsoft + Java
“This initiative is all about bringing
Java to the masses in the cloud.
We will be providing a fully open
and unconstrained Java
environment – with open choice
of third-party stacks – for
developers and essential
applications deployed on Windows
Azure.”
En production
le 12 mars !
Scott Sellers, Azul Systems President and
CEO
•
Accord avec Oracle
–
–
–
#mstechdays
Machine Virtuelles
Oracle JDK
WebLogic
•
Partenariats Open Source
–
–
–
–
OpenJDK / Azul
VM Depot
Cloud Services avec Tomcat
Windows Azure plug-in for Eclipse with Java
Architecture/Azure/Cloud
11. Java sur Windows Azure
IaaS
•
•
•
•
#mstechdays
VMs Windows ou Linux
Oracle JDK v6 & v7
VMs préconfigurées
Oracle WebLogic, VM
Depot Java Image, ou
votre propre JVM
PaaS
• OpenJDK 64bit fourni
par Azul (Zulu)
• Ou partez d’une VM
standard
• Plugin Eclipse pour le
déploiement
Services
• SDK Windows Azure
pour Java: Blob,
Table, Queue,
Service Bus, SQL, etc.
• Outils en ligne de
command azure-cli
Architecture/Azure/Cloud
14. Apache + Tomcat / Hybris en mode PaaS
• La solution finalisée comporte deux Worker
Roles
– Un frontal Apache
– Un serveur e-commerce Hybris (à base de Tomcat)
• Packagés via AzureRunMe
– Un simple zip téléchargé et extrait au démarrage
• Mise à jour automatique de la configuration
Apache
– Ajouter/retirer les serveurs Tomcat dans le pool AJP
–
les IP dans
#mstechdays Tâche de fond qui récupère Architecture/Azure/Cloudle Blob Storage
15. Affinité de sessions Apache
• Apache est choisi pour des raisons de rapidité de mise
œuvre
– Nombreuses règles de réécritures « historiques » nécessaires pour
le référencement / SEO
– Compétences des équipes techniques
• A nécessité un peu de tuning pour bien fonctionner sur
Windows
– TIME_WAIT au minimum; nombre de ports
– Réglé dans un startup scripts
• Étude en cours de migration vers IIS / ARR (Application
Request Routing)
– Utilisation de l’utilitaire de conversion de règles mod_rewrite
#mstechdays
Architecture/Azure/Cloud
16. Plugin Windows Azure pour Eclipse
• Utilisé lors des premiers tests
pour packager rapidement un
Tomcat et tester Windows Azure
• Au moment du démarrage, le
plugin avait plusieurs limitations
– Obligation de packager tout le JRE dans le
package
– Pas de frontaux Web (Apache/IIS) séparés
• L’on décide rapidement de passer
sur la solution AzureRunMe pour
avoir plus de flexibilité
#mstechdays
Architecture/Azure/Cloud
17. Azure RunMe
• Solution Open Source maintenue par
two10degrees
– https://github.com/WindowsAzure-Contrib/AzureRunMe
• Boîte à outils de déploiement multifonction
– Scripts de démarrage
– Téléchargement et extraction automatique de packages depuis le
Blob Storage
– Mise à jour régulière de fichiers
– Configuration des diagnostics, des traces
• Solution .NET il faut utiliser Visual Studio pour la
compiler et la déployer!
#mstechdays
Architecture/Azure/Cloud
19. Orchestration via les Storage Queues
•
Orchestrer la mise à jour des
index Intuition et de la BDD
Hybris lorsque les données
sources sont mises à jour
•
S’appuie sur les Blobs et
Queues
– Blobs pour stocker les
fichiers intermédiaires
– Queues pour
communiquer entre les
différents composants
•
Plusieurs API sont utilisées
pour y accéder
– PowerShell
– Java
•
Utilisation des Tables pour
centraliser les logs
#mstechdays
Architecture/Azure/Cloud
22. Windows Azure SQL Database
• Performances de Windows Azure SQL
Database
– Tuning de la couche TCP (Keep-Alive)
– Suffisant pour interactif Web avec peu d’opérations batch
• Problématiques de Throttling
– A prendre en compte dès le départ de l’application
– Difficile lorsque la solution (Hybris) n’a pas été conçue pour
– Se déclenchent surtout sur les gros batchs d’import
• Windows Azure SQL Database Premium
– Amélioration nette des performances sur une instance P2
• Au final, migration sur VM SQL Server
#mstechdays
Architecture/Azure/Cloud
23. Performances I/O
• Les performances des disques attachés ont un
impact sur les composants gourmands en I/O (e.g.
Intuition)
– Maximum de 500 IOPS/disque
• Répartir les I/O sur plusieurs disques afin
d’améliorer les performances
– Utilisation de disques RAID « stripés »
– Jusqu’à 16 disques attachés sur les plus grosses instances
• Séparation des I/O sur plusieurs comptes de
stockages
– Pour de fortes charges d’I/O, l’on peut saturer les capacités du
compte de stockage
#mstechdays
Architecture/Azure/Cloud
– Regrouper les disque de chaque machine dans un compte dédié