Architecture/Azure/Cloud
Retour d’expérience Kompass
"J'ai migré mon SI intégralement en Java dansWindows Azure et je me porte bien"
Xavier Roques, Architecte KompassThomas Conté, Architecte Microsoft@tomconte, [email protected]
Architecture/Azure/Cloud#mstechdays
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 !
Donnez votre avis !
Architecture/Azure/Cloud#mstechdays
• 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
Agenda
Architecture/Azure/Cloud#mstechdays
INTRODUCTION
Architecture/Azure/Cloud#mstechdays
KOMPASSConnects 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.
Architecture/Azure/Cloud#mstechdays
Les points forts de KOMPASS
Notoriété1947
Année de création de la marque KOMPASS
8/10Indice 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ées5,2 millions
Nombre d’entreprises dans la base de données France (dont 350 000 dans la
base Internationale à fin 2013)
3,6 millionsNombre de dirigeants dans la base
données France
75%Pourcentage des clients ayant choisis
KOMPASS en raison de la richesse et de la qualité de ses données.
Dimension Internationale
70Nombre de pays membres du réseau
KOMPASS
26Nombre de traduction du site
kompass.com
4,2 millionsNombre d’entreprises dans la base de données internationale de KOMPASS
Nomenclature59 000
Nombre d’activités, de produits et de services recensés dans la nomenclature
KOMPASS
2Nombre d’opérateurs de base de
données sur les entreprises proposant une classification homogène sur les 5
continents : D&B et KOMPASS
Architecture/Azure/Cloud#mstechdays
• 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• Partenaire de choix
Projet de refonte Cloud
Architecture/Azure/Cloud#mstechdays
• Accord avec Oracle– Machine Virtuelles– Oracle JDK– WebLogic
• Partenariats Open Source– OpenJDK / Azul– VM Depot– Cloud Services avec Tomcat– Windows Azure plug-in for Eclipse with Java
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.”Scott Sellers, Azul Systems President and CEO
En production le 12 mars !
Architecture/Azure/Cloud#mstechdays
Java sur Windows Azure
IaaS• 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#mstechdays
ARCHITECTURE ET CHOIX TECHNIQUES
Architecture/Azure/Cloud#mstechdays
Architecture Globale
Architecture/Azure/Cloud#mstechdays
• 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– Tâche de fond qui récupère les IP dans le Blob Storage
Apache + Tomcat / Hybris en mode PaaS
Architecture/Azure/Cloud#mstechdays
• 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
Affinité de sessions Apache
Architecture/Azure/Cloud#mstechdays
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é
Architecture/Azure/Cloud#mstechdays
• 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!
Azure RunMe
Architecture/Azure/Cloud#mstechdays
UTILISATION DES SERVICES AZURE
Architecture/Azure/Cloud#mstechdays
• 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
Orchestration via les Storage Queues
Architecture/Azure/Cloud#mstechdays
Architecture/Azure/Cloud#mstechdays
PROBLÉMATIQUES RENCONTRÉES
Architecture/Azure/Cloud#mstechdays
• 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
Windows Azure SQL Database
Architecture/Azure/Cloud#mstechdays
• 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– Regrouper les disque de chaque machine dans un compte dédié
Performances I/O
Architecture/Azure/Cloud#mstechdays
Questions / Réponses
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Digital is business