Joffrey Fuhrer – MTI2012 – du 15/02/2012 au 15/08/2012                                                         1
   Présentation de l’entreprise   La team labs   Travaux réalisés   Conclusion                                   2
•Historique•Organisation                3
   Fondée en France – 2008   Y-Combinator – été 2010   Financement:     800 000$ - décembre 2010     10 000 000$ - ma...
   ~20 employés   Principales divisions :       Platform       SRE (Site Reliability Engineers)       Labs (discontin...
•Objectifs•Composition•Méthodologie                6
 Produit focalisé Développeurs « full-stack » Participation à la construction  communautaire… … En fonction de ses bes...
   Supervision :     Technique : Samuel Alba, engineering manager     Produit : Solomon Hykes, CEO   Autres membres : ...
   Scheduling :     Product meeting 1/semaine     Idem sprint planning     Stand-up meeting 1/jour   Travail :     E...
•stack.io 0.1•Ember.js + Racer•Stack composer•dotcloud.js    •Module db    •Synchronisation    •Considérations architectur...
   Pré-existant :       Node.js       Communication client-serveur et serveur-serveur       Transport : redis + websoc...
   Ember.js     SproutCore pour apps web modernes (Javascript)     Tom Dale & Yehuda Katz     Projet open-source   Ra...
   Objectif : librairie d’interfaçage des deux    systèmes     Flexible     Naturelle   Résultat : projet open-source ...
   Objectif :     Réalisation d’un outil de composition de stack      technologique     Intégration de services « proce...
   Réalisations :     Modèle de base de données     Implémentation du modèle sur MongoDB     Création d’une API REST (...
   Objectif :     Publication d’un produit réalisable en un temps court     Proof of concept d’un produit ciblé sur les...
 Sauvegarde des données dans une base de  données MongoDB API simpliste, contraintes minimales    dotcloud.db.insert(‘pe...
   Objectifs :                            var people =     Synchronisation des données en         dotcloud.sync.      te...
SatellitaireMono-processus                                19
   Communication avec l’API Twitter   Abstraction du serveur   Proof of Concept de l’intégration third party   Support...
   Ajout d’une notion de middleware dans stack.io 0.1   … Puis portage dans version 0.2   Création de collections privé...
http://js.dotcloud.com                         22
 Basé sur ZeroRPC Node.js + Client en Python Dépendance sur Redis retirée Couche évènementielle disparaît (peut être  ...
24
   Très bonne expérience     Start-up dynamique     Exigence     Responsabilisation   Découvertes culturelles (USA/Ca...
Prochain SlideShare
Chargement dans…5
×

Stage de fin d’études – dotcloud

266 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
266
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
5
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Stage de fin d’études – dotcloud

  1. 1. Joffrey Fuhrer – MTI2012 – du 15/02/2012 au 15/08/2012 1
  2. 2.  Présentation de l’entreprise La team labs Travaux réalisés Conclusion 2
  3. 3. •Historique•Organisation 3
  4. 4.  Fondée en France – 2008 Y-Combinator – été 2010 Financement:  800 000$ - décembre 2010  10 000 000$ - mars 2011 Beta – premier PaaS multi-langage – janvier 2011 GigaOM Structure People & Judge awards – juin 2011 Support websockets et vertical scaling – mars 2012 4
  5. 5.  ~20 employés Principales divisions :  Platform  SRE (Site Reliability Engineers)  Labs (discontinuée)  Support  Finances, Marketing… 5
  6. 6. •Objectifs•Composition•Méthodologie 6
  7. 7.  Produit focalisé Développeurs « full-stack » Participation à la construction communautaire… … En fonction de ses besoins 7
  8. 8.  Supervision :  Technique : Samuel Alba, engineering manager  Produit : Solomon Hykes, CEO Autres membres :  Yusuf Simonson, UNC graduate  J.-R. Prévost, étudiant MTI-2012 8
  9. 9.  Scheduling :  Product meeting 1/semaine  Idem sprint planning  Stand-up meeting 1/jour Travail :  Expérimentations  Interaction avec les utilisateurs  Prise en compte des compétiteurs 9
  10. 10. •stack.io 0.1•Ember.js + Racer•Stack composer•dotcloud.js •Module db •Synchronisation •Considérations architecturales •Module Twitter •Authentification•stack.io 0.2 10
  11. 11.  Pré-existant :  Node.js  Communication client-serveur et serveur-serveur  Transport : redis + websockets  Couche évènements, couche RPC + streaming Réalisations :  Interface EventEmitter  Performance tweaks  Bugfixing 11
  12. 12.  Ember.js  SproutCore pour apps web modernes (Javascript)  Tom Dale & Yehuda Katz  Projet open-source Racer  node.js  Synchronisation de modèle client/serveur  Utilisé par le framework derby 12
  13. 13.  Objectif : librairie d’interfaçage des deux systèmes  Flexible  Naturelle Résultat : projet open-source  Présenté lors d’un meet-up Ember.js devant une audience de développeurs  Publié sur github 13
  14. 14.  Objectif :  Réalisation d’un outil de composition de stack technologique  Intégration de services « processus », « database » et « services tiers »  Déploiement automatique sur dotCloud 14
  15. 15.  Réalisations :  Modèle de base de données  Implémentation du modèle sur MongoDB  Création d’une API REST (node.js/express/mongoose) Projet mis en hiatus :  Cible mouvante  Milestone imminente 15
  16. 16.  Objectif :  Publication d’un produit réalisable en un temps court  Proof of concept d’un produit ciblé sur les développeurs « full-stack »  A l’origine, amélioration de la plateforme jsFiddle avec services « cloud ». ▪ Développement d’une extension Chrome ▪ Déploiement automatisé  Open-source 16
  17. 17.  Sauvegarde des données dans une base de données MongoDB API simpliste, contraintes minimales dotcloud.db.insert(‘people’, { firstname : ‘John’, lastname : ‘Doe’, age : 22 }, function(err, result) { if (!err) console.log(‘success !’); }); 17
  18. 18.  Objectifs : var people =  Synchronisation des données en dotcloud.sync. temps réel entre clients – serveur synchronize(‘people’);  Interface doit sembler naturelle people.push({ pour le développeur firstname: ‘John’, lastname: ‘Doe’, Réalisation : age: 22  Module « sync » });  Utilisation de stack.io + MongoDB people.observe(function(type) {  Interface « array-like » if (type == ‘insert’) console.log(‘success!’) }); 18
  19. 19. SatellitaireMono-processus 19
  20. 20.  Communication avec l’API Twitter Abstraction du serveur Proof of Concept de l’intégration third party Support OAuth dotcloud.twitter.timeline(function(err, res) { if (err) return console.log(Error: , err); res.forEach(function(x) { console.log(x.user.name, : , x.text); }); }); 20
  21. 21.  Ajout d’une notion de middleware dans stack.io 0.1 … Puis portage dans version 0.2 Création de collections privées dans sync et db dotcloud.db.private.insert(‘people’, { firstname : ‘John’, lastname : ‘Doe’, age : 22 }, function(err, result) { if (!err) console.log(‘success !’); }); 21
  22. 22. http://js.dotcloud.com 22
  23. 23.  Basé sur ZeroRPC Node.js + Client en Python Dépendance sur Redis retirée Couche évènementielle disparaît (peut être émulée grâce au streaming RPC) Middlewares Module d’authentification/autorisation + OAuth Meilleure stabilité mais plus complexe 23
  24. 24. 24
  25. 25.  Très bonne expérience  Start-up dynamique  Exigence  Responsabilisation Découvertes culturelles (USA/Californie/SF) Tremplin vers une position de platform engineer 25

×