24

TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

Embed Size (px)

Citation preview

Page 1: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
Page 2: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 3: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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 !

Page 4: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 5: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

Architecture/Azure/Cloud#mstechdays

INTRODUCTION

Page 6: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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.

Page 7: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 8: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

Architecture/Azure/Cloud#mstechdays

Capture d’écran

Page 9: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 10: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 11: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 12: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

Architecture/Azure/Cloud#mstechdays

ARCHITECTURE ET CHOIX TECHNIQUES

Page 13: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

Architecture/Azure/Cloud#mstechdays

Architecture Globale

Page 14: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 15: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 16: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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é

Page 17: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 18: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

Architecture/Azure/Cloud#mstechdays

UTILISATION DES SERVICES AZURE

Page 19: TechDays 2014 : retour d'expérience Kompass migration Java dans 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

Page 20: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

Architecture/Azure/Cloud#mstechdays

PROBLÉMATIQUES RENCONTRÉES

Page 21: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 22: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

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

Page 23: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

Architecture/Azure/Cloud#mstechdays

Questions / Réponses

Page 24: TechDays 2014 : retour d'expérience Kompass migration Java dans Azure

© 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