Techdays

23 views
Skip to first unread message

Yann Schwartz

unread,
Feb 3, 2012, 12:33:01 PM2/3/12
to paris...@googlegroups.com
Moi jai une question. Y a des speakers aux techdays parmis vous ?

Vincent


Je participe à la session Hadoop sur Azure (mercredi de 16h à 17h)


(toujours aussi amicales les url)

Si j'ai le temps, je ferai une allusion subliminale à Cascalog (langage de requête au dessus d'hadoop, exprimé en clojure)

En gros, MS se lance sur le créneau Elastic Map Reduce et pour ce que j'ai pu tester, c'est pas mal fait du tout (on peut même importer les données de S3...)

 

mathias kluba

unread,
Feb 10, 2012, 6:23:24 PM2/10/12
to paris...@googlegroups.com
En parlant de MapReduce, je suis curieux d'avoir un retour d'expérience sur le NoSQL en général :)

- utilisez-vous du NoSQL sur vos projets professionnel (si oui lesquels)
- quel en est l'usage? (remplacement de SQL, complément, EventSourcing, audit, etc)
Concernant MongoDB:
- utilisez-vous le sharding/replication set ?
- faites-vous du MapReduce, pour quel usage ?
- quels sont les difficultés rencontrées? 

Frédéric Fadel

unread,
Feb 11, 2012, 5:57:24 AM2/11/12
to paris...@googlegroups.com

Hello Mathias, salut tous,


chez Aspectize on utilise on utilise quasi exclusivement le storage d’Azure  pour nos développements sauf si le client décide autrement, ce qui fait qu’on n’a ni base de données relationnelle, ni langage SQL mais on utilise, néanmoins, comme il se doit un modèle relationnel pour structurer les données. Maintenant est-ce bien du NoSql ? Je ne sais pas !


Pour les clients qui pour une raison ou une autre ne veulent pas de Azure, c’est le cas pour un de nos développements en cours, c’est sur Amazon mais avec du SQL Server, néanmoins, puisqu’on utilise notre technologie AaaS, il n’y a aucun manipulation d’SQL en tant que langage non plus ! je sais ça fait encore moins NoSql !


Concernant le « sharding », dans Azure les clés d’accès aux données sont « partitionnées » et on utilise selon le besoin plusieurs stratégies de partitionnement pour gérer soit le « multitenancy », soit les données temporelles…


Une difficulté qu’on rencontre avec le storage Azure c’est l’absence d’index secondaires, qui limite les  « search » sophistiqués… du coup nous somme en train de développer ses index, plus d’info en mars quand ça sera complètement intégré à notre technologie.


Tous ça pour dire que non on ne fait pas de MapReduce, pour moi ça rentre dans la catégorie des détails algorithmique qui est pris en compte d’une façon ou d’une autre par Azure, Amazon, Google… mais on ne fait quasiment jamais de SQL (le langage) et de moins en moins SQL (le serveur) mais ça aussi c'est un détail.  


2012/2/11 mathias kluba <mathia...@gmail.com>

Vincent Bourdon

unread,
Feb 11, 2012, 7:31:51 AM2/11/12
to paris...@googlegroups.com
Je rebondi sur le sujet pour dire que chez vNext on a une équipe qui a mis en place un mongoDB sur Azure pour finalement avoir un SLA de 99,9%. 
Je sais pas si vous êtes intéressé par un retour d'expérience la dessus et si ils sont dispo mais je le dis au cas ou ;)

Vincent b.

Envoyé de mon iPhone

Hassen Boumaraf

unread,
Feb 11, 2012, 4:28:11 PM2/11/12
to paris...@googlegroups.com
Bonjour Frédéric,

J'aimerais savoir qu'est ce qui vous a poussé vers Azure et comment avez-vous calculer le gain / ROI de ce choix face à une architecture "On premise"

Merci

Frédéric Fadel

unread,
Feb 12, 2012, 7:30:51 AM2/12/12
to paris...@googlegroups.com
Bonjour Hassen,

Ce qui nous a poussé vers Azure ? 


Chez Aspectize nous sommes intimement convaincus par le Cloud en général et le PaaS,  en particulier par notre propre AaaS.


Je pense que le Cloud va dans le sens de l’histoire,  comme toute techno, approche ou outil qui permet de huiler le cycle de création de valeur à travers le logiciel. Aujourd’hui  le mouvement IaaS -> PaaS -> SaaS est un des moyens les plus robustes pour éliminer un grand nombre de complications de ce cycle.


Concernant le ROI, il y a deux points de vue qui me semblent pertinents, celui du développement et celui de la production.


Pour le développeur que je suis, la souplesse d’Azure n’a juste pas de prix. 


On a besoin, parfois pendant des semaines de changer, modeler, retoucher la structure des données avant de la stabiliser ; avec le « storage Azure » c’est immédiat, avec une base de données c’est bien plus consommateur de temps. 


Sinon on peut en quelques clics  mettre en place des environnements de prod, preprod et test… à tel point que même pour les dev classiques (on premise ou avec une base de données) nous démarrons toujours les devs en Azure avec du storage et on bascule vers l’environnement final relativement tardivement, et tout cela pour quelques dizaines de dollars par mois.


Concernant le point de vue de production, la situation est plus complexe. Pour un SI ça peut être difficile de tracer une frontière entre le Cloud et la SI interne et le ROI peut ne pas être au rendez-vous aujourd’hui ; mais typiquement pour un éditeur de logiciel qui développe un produit en SaaS (c’est le cas de plusieurs de nos clients pour qui nous développons le logiciel en question) ne pas avoir d’administrateur system, de machines à mettre à jour, de base de données à backuper… et bénéficier d’un système de stockage pas cher et potentiellement infini, le calcul du TCO est vite fait.


J'espère que ça répond à la question et à+.


2012/2/11 Hassen Boumaraf <bha...@gmail.com>

Mathias Kluba

unread,
Feb 13, 2012, 3:35:29 PM2/13/12
to paris...@googlegroups.com, paris...@googlegroups.com
Salut,

Merci pour ton retour très instructif!

Pour rebondir sur ce que tu dis, je pense aussi que le "no schema" des solutions NoSql, comme AzureStorage, est une des grosses raisons d'adoption de la techno.

Par contre, si c'est une base "clé-valeur", cela devient plus complexe pour faire des requêtes: ça oblige de choisir judicieusement la clé ou de faire des indexes.
Est-ce qu'une base document type mongodb n'aurait été pas plus adapté?

D'un autre coté, Microsoft ne propose pas de base document sur Azure, mongodb pour Azure est une preview (http://www.mongodb.org/display/DOCS/MongoDB+on+Azure) mais il existe du mongodb PaaS comme MongoHQ.
Est-ce que vous l'aviez envisagé?
Je suppose qu'il y a diverses raisons de ne pas choisir cette solution (mauvaises perfs car datacenter différents? prix en plus de celui de Azure?)

(et comme il n'y a pas que mongodb dans la vie, il y a couchdb sur https://cloudant.com/ mais je ne vois pas de ravendb :( )

(ps: concernant le IaaS, et les réductions de coût des serveurs et de leur administration, je suis 100% avec toi!
Est-ce que le Aspectize aaS est donc une version web? :) )

Yann Schwartz

unread,
Feb 13, 2012, 5:24:05 PM2/13/12
to paris...@googlegroups.com


2012/2/11 Vincent Bourdon <evil...@gmail.com>

Je rebondi sur le sujet pour dire que chez vNext on a une équipe qui a mis en place un mongoDB sur Azure pour finalement avoir un SLA de 99,9%. 
Je sais pas si vous êtes intéressé par un retour d'expérience la dessus et si ils sont dispo mais je le dis au cas ou ;)

Vincent b.

D'ailleurs là où je suis on utilise MongoDB et cette solution shardée sur Azure. L'histoire est un peu plus mouvementée que ça...

Sur l'utilisation de NoSQL et Map Reduce

- utilisez-vous du NoSQL sur vos projets professionnel (si oui lesquels)

MongoDB et Redis.
 
- quel en est l'usage? (remplacement de SQL, complément, EventSourcing, audit, etc)

Clé/valeur en mieux, remplacement de SGBD pour les données à forte mise à jour, cache, etc.
 
Concernant MongoDB:
- utilisez-vous le sharding/replication set ?

Oui pour le sharding et replicaset. Faire très attention aux réglages...
 
- faites-vous du MapReduce, pour quel usage ?

Dans hadoop. Analyse de données / reports. Pas de map reduce dans MongoDB (le map reduce mongodb marche pas bien sur les shards, n'est pas très gentil avec ses petits camarades en modèle concurrent, c'est d'ailleurs pour ça qu'à partir de la 2.2 MongoDB propose un modèle d'agrégation distinct de MR, pour ceux qui veulent juste faire un GroupBy (99% des usages de MR sous mongo ?)
 
- quels sont les difficultés rencontrées? 
           Pour mongodb, savoir quelles métriques surveiller. Bien avoir en tête que mongo marche bien si tous les index sont en mémoire et dimensionner en conséquence, bien avoir en tête qu'il y a un lock global sur les écritures, trouver le mode de backup adapté à son cas d'usage (mongodump ou fsync / snapshot), surveiller l'oplog de son replica set si on ne veut pas qu'un des replica lâche l'affaire parce qu'il n'a pas le temps de se tenir à jour, se souvenir que si Mongo marche bien sur un serveur windows, l'extrême majorité (la quasi-unanimité ?) des déploiements dans la nature sont sous des unix, donc les corner cases ont moins souvent été rencontrés.

Cela dit 10Gen est extrêmement réactif.

Yann Schwartz

unread,
Feb 13, 2012, 5:28:33 PM2/13/12
to paris...@googlegroups.com


2012/2/13 Mathias Kluba <mathia...@gmail.com>

Salut,

Merci pour ton retour très instructif!

Pour rebondir sur ce que tu dis, je pense aussi que le "no schema" des solutions NoSql, comme AzureStorage, est une des grosses raisons d'adoption de la techno.

Par contre, si c'est une base "clé-valeur", cela devient plus complexe pour faire des requêtes: ça oblige de choisir judicieusement la clé ou de faire des indexes.
Est-ce qu'une base document type mongodb n'aurait été pas plus adapté?

On a fait un chemin bizarre. Tout en clé valeur porté sur Azure avec Mongo. Du coup on utilisait mongo en clé/valeur et on est en train de réécrire la couche d'accès pour agréger en documents (sans toucher au code de l'applicatif, longue et triste histoire).



 

D'un autre coté, Microsoft ne propose pas de base document sur Azure, mongodb pour Azure est une preview (http://www.mongodb.org/display/DOCS/MongoDB+on+Azure) mais il existe du mongodb PaaS comme MongoHQ.
Est-ce que vous l'aviez envisagé?
Je suppose qu'il y a diverses raisons de ne pas choisir cette solution (mauvaises perfs car datacenter différents? prix en plus de celui de Azure?)


Les IO sur Azure sont stellaires en comparaison d'amazon. MongoDB sur Amazon est possible mais demande de sacrées contorsions (pour tenir compte de la tragédie des perfs IO). Les contorsions pour faire tenir mongo sur Azure viennent plutôt des reboots de la plate-forme et du NLB (le load balancer). 


 
(et comme il n'y a pas que mongodb dans la vie, il y a couchdb sur https://cloudant.com/ mais je ne vois pas de ravendb :( )

Mouais. Couchdb a été abandonné par son créateur pour partir sur couchbase (en réécrivant une partie du code d'Erlang vers C++)

Rui Carvalho

unread,
Feb 11, 2012, 1:29:24 PM2/11/12
to paris...@googlegroups.com
si si le retour d'exp mongo (en général) + azure je pense que ce serait pas mal, 
on en re-cause asap ;-)

Rui.




2012/2/11 Vincent Bourdon <evil...@gmail.com>

Frédéric Fadel

unread,
Feb 14, 2012, 2:24:42 PM2/14/12
to paris...@googlegroups.com
Hello Mathias, hello tous,

étant donnée que le principe PaaS était (au moins au début de Azure) (et je pense que c'était bien) de faire abstraction total des "vrai" machines... on n'a pas opté pour utiliser autre chose que ce qui existait nativement sur Azure... d'un autre côté personnellement, je suis « early adopter » que sur un nombre très limité de techno et j’ai déjà du mal à suivre ma sélection de techno de chez Microsoft, donc je ne pourrais répondre pertinemment à tes questions mais Yann comble bien mes défaillances…


Sinon petite précision notre techno AaaS c’est du « Architecture as a Service » qui permet de combiner le triple A : Azure, Ajax et Aspectize pour développer des appli full Ajax (production de HTML uniquement dans le browser, là ou il doit être) sans écrire beaucoup de code.


Typiquement pour une application SaaS, multitenant, dans Azure, avec un Modèle d’une trentaine d’entités, une quarantaine de relations, plus de 300 Vues une vingtaine de services serveur et une dizaine de services client on dépense moins de 3000 lignes de code (2100 C# et 800 Javascript).


Avec si peu de code, l’essentiel du temps ingénieur est consacré à concevoir les données et imaginer l’expérience utilisateur et écrire le strict minimum de code, avec le strict minimum de bugs dans un temps maitrisé…donc oui les appli AaaS peuvent être des applications Web mais pas seulement. 

Désolé pour "le pub" mais au TechDays il était question de fierté d'être developpeur, et bien je le suis et je suis aussi désolé que notre métier soit si chargé de stresse, retards, incompréhensions uniquement parce que "le code" est fragile et les techniques et approches courantes en informatique n'invitent pas à le minimiser... c'est ce que nous faisons chez Aspectize avec notre AaaS plus de logiciels moins de code.

à+,

Fredy

2012/2/13 Mathias Kluba <mathia...@gmail.com>

Mathias Kluba

unread,
Feb 18, 2012, 5:07:53 AM2/18/12
to paris...@googlegroups.com, paris...@googlegroups.com
en parlant de NoSql sur le cloud, RavenDB est maintenant disponible sur AppHarbor!

http://ayende.com/blog/154785/ravenhq-goes-betandash-ravendb-reaches-the-cloud?key=931c442f-ab5e-4eed-86ba-0d9f1b7c21d8

Reply all
Reply to author
Forward
0 new messages