- Comprendre ce que sont les instances virtuelles dans Liferay
- Identifier les limites et les risques des instances virtuelles mutiples
- Critères pour décider du recours aux instances virtuelles
- Présentation jouée pendant le meetup du 24 janvier 2018 (https://www.meetup.com/fr-FR/Liferay-France-User-Group/events/245254079/)
Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...Wiiisdom
Les plans de reprise après sinistre (DR) permettent aux organisations de récupérer les données rapidement et en toute sécurité, et de maintenir/reprendre les fonctions critiques après un sinistre. Dans cette session, apprenez à utiliser les fonctionnalités de sauvegarde et de restauration de 360Suite pour : sauvegarder tout ou partie du contenu, restaurer tout ou partie du contenu, utiliser 360Suite pour la reprise après sinistre, automatiser la synchronisation de la production BOBJ sur un site DR et répliquer un environnement BOBJ sur un autre.
Java virtual machine - Notions de base :
Le langage Java,
Java Virtual Machine (JVM),
Introduction à la gestion de la mémoire Java,
Introduction au Garbage Collector,
Retour sur certains sujets présentés aux Techdays 2014 orientés autour de ferme SharePoint et Azure. - 2ème partie -
- Mise en œuvre d'une plateforme de production SharePoint dans Azure
- Monitoring de la plateforme.
Comment mettre en place un plan de sauvegarde et de reprise après sinistre qu...Wiiisdom
Les plans de reprise après sinistre (DR) permettent aux organisations de récupérer les données rapidement et en toute sécurité, et de maintenir/reprendre les fonctions critiques après un sinistre. Dans cette session, apprenez à utiliser les fonctionnalités de sauvegarde et de restauration de 360Suite pour : sauvegarder tout ou partie du contenu, restaurer tout ou partie du contenu, utiliser 360Suite pour la reprise après sinistre, automatiser la synchronisation de la production BOBJ sur un site DR et répliquer un environnement BOBJ sur un autre.
Java virtual machine - Notions de base :
Le langage Java,
Java Virtual Machine (JVM),
Introduction à la gestion de la mémoire Java,
Introduction au Garbage Collector,
Retour sur certains sujets présentés aux Techdays 2014 orientés autour de ferme SharePoint et Azure. - 2ème partie -
- Mise en œuvre d'une plateforme de production SharePoint dans Azure
- Monitoring de la plateforme.
Les Containers promettent de renvoyer la problématique du déploiement aux oubliettes. S'ils apportent effectivement un certain nombre de réponses concrètes dans ce domaine, résolvent-ils pour autant tous les problèmes ? Quels sont les nouveau défis ?
Est-il enfin devenu facile d¹amener efficacement des applications jusqu'en production ?
Toutes les réponses avec XebiaLabs en 45 minutes !
Par Benoît Moussaud (Technical Director @XebiaLabs)
Toutes les vidéos des conférences seront disponibles sur Xebia.tv
Codedarmor 2012 - 03/04 - Android, What else?codedarmor
Au début, il n'y avait rien. Enfin, ni plus ni moins de rien qu'ailleurs. Dieu créa l'iPhone. Dieu vit que l'iPhone était bon, et Dieu sépara le smartphone des téléphones portables. Puis Dieu créa Android et dit : soyez féconds, multipliez, remplissez et fragmentez le parc des smartphones. Venez découvrir comment développer et maintenir des applications pour Android! Nous aborderons le développement d'interfaces graphiques riches multi-terminaux, les interactions entre applications, l'accès aux ressources locales, les applications sans interfaces, les widgets, la gestion de la fragmentation du parc...
Présenté par Marc Poppleton
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016Sébastien Le Marchand
La communauté Liferay est très active et alimente sans cesse la Marketplace avec des plugins de qualité, mais la plupart de ces pépites sont trop souvent méconnues. Cette session sera l’occasion de présenter une sélection de 7 plugins qui sont d’une aide précieuse dans la plupart des contextes projets !
Liferay france symposium 2012 - montée de version d’une instance liferaySébastien Le Marchand
Les montées de version du produit sont des étapes critiques dans la vie d'une application basée sur Liferay. Le portail Liferay fournit nativement des mécanismes efficaces pour mettre à jour sans difficultés la structure et les données de la base de données Liferay standard, mais une attention importante doit être portée à la migration des données et développements spécifiques, tout particulièrement pour les plugins de type « hook » et les plugins de type « ext ». Pendant cette session, les auditeurs ont bénéficié de retours d'expérience terrain et ont prise connaissance de patterns et d'astuces utiles pour assurer une montée de version en évitant les régressions et en maîtrisant la charge engagée.
Les microservices sont les dernières architectures à la mode, certains disent que c’est la suite logique des architectures SOA dans un environnement agile. Microsoft au travers de sa plateforme Cloud Azure, propose toute une série d’outils, de services managés pour construire et déployer vos architectures microservices. Découvrons ensemble les différentes solutions d’Azure : Azure Container Service, Docker, Service Fabric, App Service, ainsi que leurs avantages et leurs inconvénients.
Atelier RIA : “Développement d’applications RIA avec le Google Web Toolkit”
du mercredi 27 Juin 2012 CCI Entreprises de Montpellier
Intervenant :
- Emmanuel Pavaux – Oxiane Méditérranée, cabinet d’ingénierie, de conseil et formation NTIC
GWT (Google Web Toolkit)
Le développement d’applications internet riches (RIA) est une tendance de fond. L’utilisation intensive de JavaScript, de DHTML et des échanges asynchrones (AJAX) est une réalité technique devenue courante pour les nouvelles applications intranet et internet.
La librairie GWT est la solution s’appuyant sur la plateforme java proposée par Google pour masquer la complexité de ces technologies et offrir un modèle de développement web original, simple et robuste aux développeurs.
Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...Sébastien Le Marchand
Retrouvez toute la communauté Liferay francophone pour un meetup virtuel (100% remote) pendant la pause déjeuner le mardi 30 avril.
Ce meetup sera consacré à une exploration approfondie du type de Client Extension Custom Element.
Custom Element, c'est le type de Client Extension qui va entre autre vous permettre de développer autour de Liferay en React, Angular, Vue, Svelte ou n'importe quel autre framework JS, et surtout avec un minimum de restrictions : codez-comme vous aimez !
Au delà des aspects théoriques, ce sera également l'occasion d'aborder des problématiques concrètes de mise en oeuvre d'un Custom Element et aussi de discuter des différents cas d'usage.
Et bien sur la traditionnelle session ouverte de questions-réponses ne sera pas oubliée !
Since its launch more ten years ago, Liferay Marketplace seems to have lost some attention, both from the community and from Liferay Inc. In this session I will discuss 10 propositions to reawaken the “hype” and interese around the Liferay Marketplace, and make it more impactful on the Liferay ecosystem.
These 10 propositions aims to be simple, quick to deploy, pragmatic and above all inexpensive. There is 5 propositions addressed to the whole Liferay community, as users or potential users of the Liferay Marketplace, and 5 concrete, well-defined and affordable requests to Liferay Inc.
The last but not the least, you will be able to give your feedback about these propositions.
Beyond these 10 particular propositions, this session is the opportunity to start a more global discussion all together about the future of Liferay Marketplace, about the expectation of the community and about the intentions of Liferay Inc.
Contenu connexe
Similaire à Instances multiples : les pièges à éviter (Liferay User Group France)
Les Containers promettent de renvoyer la problématique du déploiement aux oubliettes. S'ils apportent effectivement un certain nombre de réponses concrètes dans ce domaine, résolvent-ils pour autant tous les problèmes ? Quels sont les nouveau défis ?
Est-il enfin devenu facile d¹amener efficacement des applications jusqu'en production ?
Toutes les réponses avec XebiaLabs en 45 minutes !
Par Benoît Moussaud (Technical Director @XebiaLabs)
Toutes les vidéos des conférences seront disponibles sur Xebia.tv
Codedarmor 2012 - 03/04 - Android, What else?codedarmor
Au début, il n'y avait rien. Enfin, ni plus ni moins de rien qu'ailleurs. Dieu créa l'iPhone. Dieu vit que l'iPhone était bon, et Dieu sépara le smartphone des téléphones portables. Puis Dieu créa Android et dit : soyez féconds, multipliez, remplissez et fragmentez le parc des smartphones. Venez découvrir comment développer et maintenir des applications pour Android! Nous aborderons le développement d'interfaces graphiques riches multi-terminaux, les interactions entre applications, l'accès aux ressources locales, les applications sans interfaces, les widgets, la gestion de la fragmentation du parc...
Présenté par Marc Poppleton
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016Sébastien Le Marchand
La communauté Liferay est très active et alimente sans cesse la Marketplace avec des plugins de qualité, mais la plupart de ces pépites sont trop souvent méconnues. Cette session sera l’occasion de présenter une sélection de 7 plugins qui sont d’une aide précieuse dans la plupart des contextes projets !
Liferay france symposium 2012 - montée de version d’une instance liferaySébastien Le Marchand
Les montées de version du produit sont des étapes critiques dans la vie d'une application basée sur Liferay. Le portail Liferay fournit nativement des mécanismes efficaces pour mettre à jour sans difficultés la structure et les données de la base de données Liferay standard, mais une attention importante doit être portée à la migration des données et développements spécifiques, tout particulièrement pour les plugins de type « hook » et les plugins de type « ext ». Pendant cette session, les auditeurs ont bénéficié de retours d'expérience terrain et ont prise connaissance de patterns et d'astuces utiles pour assurer une montée de version en évitant les régressions et en maîtrisant la charge engagée.
Les microservices sont les dernières architectures à la mode, certains disent que c’est la suite logique des architectures SOA dans un environnement agile. Microsoft au travers de sa plateforme Cloud Azure, propose toute une série d’outils, de services managés pour construire et déployer vos architectures microservices. Découvrons ensemble les différentes solutions d’Azure : Azure Container Service, Docker, Service Fabric, App Service, ainsi que leurs avantages et leurs inconvénients.
Atelier RIA : “Développement d’applications RIA avec le Google Web Toolkit”
du mercredi 27 Juin 2012 CCI Entreprises de Montpellier
Intervenant :
- Emmanuel Pavaux – Oxiane Méditérranée, cabinet d’ingénierie, de conseil et formation NTIC
GWT (Google Web Toolkit)
Le développement d’applications internet riches (RIA) est une tendance de fond. L’utilisation intensive de JavaScript, de DHTML et des échanges asynchrones (AJAX) est une réalité technique devenue courante pour les nouvelles applications intranet et internet.
La librairie GWT est la solution s’appuyant sur la plateforme java proposée par Google pour masquer la complexité de ces technologies et offrir un modèle de développement web original, simple et robuste aux développeurs.
Client Extensions - Episode 2 : Custom Element - 2024-04-30 - Liferay France ...Sébastien Le Marchand
Retrouvez toute la communauté Liferay francophone pour un meetup virtuel (100% remote) pendant la pause déjeuner le mardi 30 avril.
Ce meetup sera consacré à une exploration approfondie du type de Client Extension Custom Element.
Custom Element, c'est le type de Client Extension qui va entre autre vous permettre de développer autour de Liferay en React, Angular, Vue, Svelte ou n'importe quel autre framework JS, et surtout avec un minimum de restrictions : codez-comme vous aimez !
Au delà des aspects théoriques, ce sera également l'occasion d'aborder des problématiques concrètes de mise en oeuvre d'un Custom Element et aussi de discuter des différents cas d'usage.
Et bien sur la traditionnelle session ouverte de questions-réponses ne sera pas oubliée !
Since its launch more ten years ago, Liferay Marketplace seems to have lost some attention, both from the community and from Liferay Inc. In this session I will discuss 10 propositions to reawaken the “hype” and interese around the Liferay Marketplace, and make it more impactful on the Liferay ecosystem.
These 10 propositions aims to be simple, quick to deploy, pragmatic and above all inexpensive. There is 5 propositions addressed to the whole Liferay community, as users or potential users of the Liferay Marketplace, and 5 concrete, well-defined and affordable requests to Liferay Inc.
The last but not the least, you will be able to give your feedback about these propositions.
Beyond these 10 particular propositions, this session is the opportunity to start a more global discussion all together about the future of Liferay Marketplace, about the expectation of the community and about the intentions of Liferay Inc.
Learn how the new Content Dashboard provided by Liferay 7.3 can be a precious tool for content administrators, contributors and developers. Beyond the out-of-the-box features, discover “filter favorites“ and “CSV export” custom extensions (open sourced for the /dev/24) and deep-dive into implementation as an example of advanced portlet customization.
Relever les défis techniques d'un site internet multi-pays et multilingue - L...Sébastien Le Marchand
Tout au long du cycle de vie d'un projet de site internet multi-pays et multilingue, les équipes de développements rencontrent une multitude d'épreuves. Basée sur les retours d'expérience d'un projet réel sous Liferay, cette session aborde ces problématiques et les solutions ad hoc mises en oeuvre.
Développement : mettez le turbo ! - Liferay France Symposium 2017Sébastien Le Marchand
Pendant les phases de développement, les temps d’attente et les tâches répétitives ont trop souvent tendance à s’inviter de manière récurrente. Cette session sera l’occasion de découvrir ou redécouvrir des pratiques et des outils pour ne plus perdre de temps et renouer avec la productivité, dans le contexte d’un projet Liferay.
2. Le programme
• Qui suis-je ?
• Instances virtuelles : quésaco ?
• Séquence déminage !
• Que retenir?
3. Sébastien Le Marchand
• 10 ans d’expérience sur la technologie Liferay
o depuis Liferay version 4.3 (2007)
• Dont 6 ans au sein d’un intégrateur “Gold Service Partner”
Consultant Technique indépendant
@slemarchand linkedin.com/in/slemarchand
4. Instances virtuelles : quésaco ?
Petits rappels sur la notion d’instance virtuelle dans Liferay
5. Instance virtuelle Liferay a.k.a…
versions antérieures à Liferay 7
modèle de données Liferay
hors du monde Liferay (notion de « multi-tenancy »)
= Portal Instance
= Company
= Tenant
9. Use case « clones »
• La plupart des modules custom déployés sont utilisés
par chacune des instances virtuelles
• Pilotage projet unique
10. Use case « fourre-tout »
• La plupart des modules custom déployés ne sont utilisés
que par 1 seule des instances virtuelles
• Une équipe projet par instance virtuelle
11. Motivations : coût et délais !
• Réduction du délais de mise en place d’une nouvelle
company
• Réduction du coût d’infrastructure
o Mise en place
o Exploitation pendant le RUN
• Réduction du coût de licences
13. Accès depuis un seul domaine
• Utile temporairement dans des cas très particuliers
• Dispositif à mettre en place sur le poste client
o Soit modifier son fichier local /etc/hosts
o Soit utiliser un proxy local comme Charles Proxy ou Fiddler
15. Isolation des customisations via le
code
if(company.getWebId().equals("DeliciousTapas")) {
// Code de la customisation
...
}
16. Upgrade et maintenance
• Un upgrade de Liferay impactera toutes les instances
o Nécessité de synchroniser la mise à niveau des développements spécifiques
de l’ensemble des projets
• Un redémarrage sur du serveur d’application impactera toutes les
instances…
• Etc.
17. Portal properties
• Les propriétés sont surchargées dans le portal-ext.properties et
partagées entre toutes les instances…
• ... Sauf quelques propriétés dans d’ éventuels fichiers de la forme
portal-<companyId>.properties
• Présent pour des raisons de comptabilité legacy mais déconseillé par
Liferay
• Limités à très peu de propriétés
20. Identification des entrées de log
• Pour des composants custom spécifiques à une instance virtuelle, le
logger name fournit l’information
• Plus compliqué pour des composants partagés custom ou natifs
• Utilisation d’un filtre de servlet et du MDC* de Log4j pour injecter le virtual host
dans les informations de log
* : Mapped Diagnostic Context
21. Rollback des données
• En cas de nécessité de rollback data sur une instance…
• … le rollback impactera l’ensemble des instances
virtuelles !
22. Isolation des problèmes de perf
• Sur-consommation CPU ou fuite mémoire
o Même lorsque lorsque le composant fautif est dédié à une instance virtuelle
particulière, la dégradation de service touche toutes les instances
• Diagnostiquer l’instance virtuelle à l’origine du problème peut être
difficile
• L’emploi d’un APM bien paramétré facilitera les diagnostics
o New Relic, Dynatrace, AppDynamics etc
24. Eviter les instances virtuelles Liferay ?
Multiples facteurs à prendre en compte :
• Combien d’instances mutualisées sur la même plateforme ?
• Combien d’équipes d’équipe projet différentes ?
• Similitude des applications déployées ?
• Criticité des applications déployées ?
• Capacité à la mise en place des alternatives ?
• …
25. Nécessite une
licence pour
chaque container
Alternative « isolation totale »
www.super-site.paris
web.hello-liferay.fr
delicious-tapas.es
Tomcat
JVM
Liferay
Tomcat
JVM
Liferay
Tomcat
JVM
Liferay
26. Infrastructure
matérielle partagée
Processus séparés
Schémas de
données séparés
Nécessite une
licence pour
chaque Tomcat
Alternative « isolation intermédiaire »
www.super-site.paris
web.hello-liferay.fr
delicious-tapas.es
Tomcat
JVM process
Liferay
Tomcat
JVM process
Liferay
Tomcat
JVM process
Liferay
27. Mes recommandations *
En amont du projet
Tenter systématiquement de pousser une alternative aux instances
virtuelles
Au démarrage du projet
Informer tous les intervenants des limites induites par le multi-instances
Pendant le projet
Traiter au plus tôt les limites du multi-instances
* : subjectif
Je vais commencer me présenter très brièvement
On va faire un rappel sur la notion même d’instances virtuelles dans Liferay
Puis, dans la partie « séquence déminage » on enchaînera sur la revue de différentes pièges liés aux instances virtuelles et on verra aussi bien sur comment les éviter ou au moins les atténuer !
- 10 ans de Liferay au compteur
- Freelance
Petit point terminologie
Exemple
Rajouter derrière un slide avec un diagramme représentant le use-case « fourre-tout »