Java in ze Cloud - INSA - nov. 2012

719 vues

Publié le

Introduction au cloud et à son utilisation par les développeurs Java.
Cours donné à l'INSA Lyon, le 30/11/2012

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
719
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
15
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Java in ze Cloud - INSA - nov. 2012

  1. 1. Java in Ze Cloud30 novembre 2012 Alexis Hassler
  2. 2. @AlexisHasslerDéveloppeur, formateur JavaIndépendant
  3. 3. @AlexisHasslerCo-leader duParticipant à cast-it.frPorteur deau à
  4. 4. Cloud Computing ?
  5. 5. Jai besoin dunnouveau serveur
  6. 6. Veuillez remplir le formulaire A38en trois exemplaire
  7. 7. Commande du matérielBranchement dans la salle serveurInstallation de lOSInstallation des logicielsConfiguration de lenvironnement (firewalls,...)
  8. 8. Virtualisation !Accessible sur lensemble dun réseauMutualisation des ressources
  9. 9. ExternalisationEn libre-service à la demandeAccessible sur lensemble dun réseau
  10. 10. Cloud ComputingEn libre-service à la demandeAccessible sur lensemble dun réseauMutualisation des ressourcesRapidement élastiqueMesurable
  11. 11. Niveaux de service SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service
  12. 12. SaaSVision utilisateur– Fonctionnalités dun logiciel (Mail, CRM, ERP,...)– Pas dinstallation, pas dinvestissement– Montée en charge simple– Software as a Service
  13. 13. SaaS Application Runtime / middleware Base de données Système dexploitation VirtualisationMatériel Stockage Réseau
  14. 14. IaaSVision sysadmin– Ressources système (processeur, mémoire, bande passante)– Pas dachat de machine– Montée en charge simple– Infrastructure as a Service
  15. 15. IaaS Application Runtime / middleware Base de données Système dexploitation VirtualisationMatériel Stockage Réseau
  16. 16. Amazon AWSAmazon EC2– Elastic Compute Cloud– Serveur virtuel– Stockage sur Elastic Block Store (EBS) ● disque dur– Monitoring ● Amazon CloudWatch => Cœur d’AWS
  17. 17. Amazon AWScf. http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf
  18. 18. PaaS Application Runtime / middleware Base de données Système dexploitation VirtualisationMatériel Stockage Réseau
  19. 19. PaaS
  20. 20. Cloubees DEV@cloud RUN@cloud Elastic AppSource Elastic App Jenkins Elastic AppControl Build/Test Deploy Push App Project
  21. 21. Cloud SaaS Software as a Service User PaaS Platform as a Service Developer Integration IaaSInfrastructure as a Service Operations
  22. 22. Développer pour le cloud
  23. 23. IaaS : contraintes et liberté Application Runtime / middleware Base de données Système dexploitation Virtualisation Matériel Stockage Réseau
  24. 24. Exemple darchitecture Application Runtime / middleware Java / Glassfish Base de données MySQL Système dexploitation Linux VirtualisationMatériel Stockage Réseau
  25. 25. Exemple darchitecture Application Runtime / middleware .NET Base de données SQL Server Système dexploitation Windows VirtualisationMatériel Stockage Réseau
  26. 26. Exemple darchitecture Application Runtime / middleware Java / Netty Base de données MongoDB Système dexploitation Linux VirtualisationMatériel Stockage Réseau
  27. 27. PaaS : modèles imposés Application Runtime / middleware Base de données Système dexploitation Virtualisation Matériel Stockage Réseau
  28. 28. Google App EngineJavaSE limité cf. GAE SandboxWeb App (JSP, Servlet)Datastore / Cloud SQL
  29. 29. GAE SandboxEcrire sur le file system => DatastoreOuvrir une socket ou accéder directement à un autre=> URL fetchDémarrer un sous-process ou un threadFaire des appels système
  30. 30. CloudBeesRun@Cloud PaaS tools Applications Server JVM
  31. 31. CloudBeesJava Web Java EE Apache Tomcat Web Profile JBoss AS 7
  32. 32. RedHat OpenShiftJava … JavaEE (Full Profile) Node.js JBoss AS 7 / EAP 6 Ruby Maven Python PHP Perl
  33. 33. PaaS extensiblesOpenShift DIYCloudbees ClickStarts...
  34. 34. Outils du développeur
  35. 35. Outils du développeur
  36. 36. Outils du développeur
  37. 37. Outils du développeur
  38. 38. Outils du développeur
  39. 39. Outils du développeur
  40. 40. Déployer dans le cloud
  41. 41. Provisioning IaaSInstallerDémarrerConnecterDéployer
  42. 42. Provisioning IaaSInstaller Console WebDémarrer Ligne deConnecter commande (SDK)Déployer API Java, .NET, Ruby,...
  43. 43. Provisioning IaaSMachine Images de machineStockage (local) Services annexes
  44. 44. Déploiement IaaSTransfert sshImplantation scp, ftp,...Configuration Outils du serveur dapplications
  45. 45. Provisioning PaaSInstallerDémarrerConnecterDéployer
  46. 46. Provisioning PaaSInstaller Console WebDémarrer Ligne deConnecter commande (SDK)Déployer API Java, .NET, Ruby,...
  47. 47. Déploiement PaaSTransfert Console WebImplantation Ligne deConfiguration commande (SDK) API
  48. 48. Déploiement CloudBees$ bees app:deploy ^ --appid=sewatech/swmsg-web ^ --type=jboss ^ message-web/target/swmsg-web.war
  49. 49. Déploiement CloudBees
  50. 50. Déploiement CloudBeesString appId = "sewatech/swmsg";String description = "Application Démo";String archivePath = "wsmvn/message-web/target/swmsg-web.war";String archiveType = "war";boolean deltaUpload = true;Map<String, String> parameters = new HashMap<>();parameters.put("containerType", "jboss");client.applicationDeployArchive(appId, null, description, archivePath, null, archiveType, deltaUpload, parameters, null);
  51. 51. Déploiement Heroku$ heroku createCreating ...Git remote heroku added$ git push heroku master
  52. 52. Synthèse
  53. 53. GainsSouplesseScalabilitéCoût
  54. 54. FreinsPeurs Lois Coût Localisation des Sécurité données Social Patriot Act
  55. 55. Cloud public / cloud privéPublic Externalisation, partage des ressourcesPrivé Ressources internesIntermédiaire Externalisation, ressources dédiées
  56. 56. Quel cloud pour quelles entreprises ? CAC40 Startup Cloud public SaaS public Cloud privé PaaS public IaaS / PaaS / SaaS PaaS public PaaS public PaaS public IaaS public
  57. 57. DémarrerAmazon EC2 ............................ 0 €Google App Engine ...................0 €CloudBees ................................ 0 €Heroku ...................................... 0 €OpenShift ..................................0 €Jelastic ......................................0 €CloudFoundry ........................... 0 €...
  58. 58. Cloud SaaS Software as a Service PaaS IaaS
  59. 59. @AlexisHasslerhttp://alexis-hassler.comalexis.hassler@sewatech.frhttp://sewatech.frhttp://www.slideshare.net/sewatech

×