Java in Ze               Cloud30 novembre 2012           Alexis Hassler
@AlexisHasslerDéveloppeur, formateur JavaIndépendant
@AlexisHasslerCo-leader duParticipant à cast-it.frPorteur deau à
Cloud Computing     ?
Jai besoin dunnouveau serveur
Veuillez remplir le  formulaire A38en trois exemplaire
Commande du matérielBranchement dans la salle serveurInstallation de lOSInstallation des logicielsConfiguration de lenviro...
Virtualisation !Accessible sur lensemble dun réseauMutualisation des ressources
ExternalisationEn libre-service à la demandeAccessible sur lensemble dun réseau
Cloud ComputingEn libre-service à la demandeAccessible sur lensemble dun réseauMutualisation des ressourcesRapidement élas...
Niveaux de service             SaaS     Software as a Service             PaaS     Platform as a Service             IaaS ...
SaaSVision utilisateur–   Fonctionnalités dun logiciel (Mail, CRM, ERP,...)–   Pas dinstallation, pas dinvestissement–   M...
SaaS           Application   Runtime / middleware     Base de données   Système dexploitation       VirtualisationMatériel...
IaaSVision sysadmin–   Ressources système    (processeur, mémoire, bande passante)–   Pas dachat de machine–   Montée en c...
IaaS           Application   Runtime / middleware     Base de données   Système dexploitation       VirtualisationMatériel...
Amazon                         AWSAmazon EC2–   Elastic Compute Cloud–   Serveur virtuel–   Stockage sur Elastic Block Sto...
Amazon                      AWScf. http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf
PaaS           Application   Runtime / middleware     Base de données   Système dexploitation       VirtualisationMatériel...
PaaS
Cloubees          DEV@cloud                         RUN@cloud                                            Elastic AppSource...
Cloud          SaaS  Software as a Service                                     User          PaaS  Platform as a Service  ...
Développer  pour le   cloud
IaaS : contraintes et liberté                Application        Runtime / middleware          Base de données        Systè...
Exemple darchitecture       Application  Runtime / middleware         Java / Glassfish    Base de données            MySQL...
Exemple darchitecture       Application  Runtime / middleware         .NET    Base de données            SQL Server Systèm...
Exemple darchitecture       Application  Runtime / middleware         Java / Netty    Base de données            MongoDB S...
PaaS : modèles imposés              Application      Runtime / middleware        Base de données      Système dexploitatio...
Google App EngineJavaSE limité cf. GAE SandboxWeb App (JSP, Servlet)Datastore / Cloud SQL
GAE SandboxEcrire sur le file system => DatastoreOuvrir une socket ou accéder directement à un autre=> URL fetchDémarrer u...
CloudBeesRun@Cloud            PaaS tools        Applications Server               JVM
CloudBeesJava Web               Java EE Apache Tomcat          Web Profile                        JBoss AS 7
RedHat OpenShiftJava                     … JavaEE (Full Profile)       Node.js JBoss AS 7 / EAP 6          Ruby Maven     ...
PaaS extensiblesOpenShift DIYCloudbees ClickStarts...
Outils du développeur
Outils du développeur
Outils du développeur
Outils du développeur
Outils du développeur
Outils du développeur
Déployer dans le  cloud
Provisioning IaaSInstallerDémarrerConnecterDéployer
Provisioning IaaSInstaller             Console WebDémarrer              Ligne deConnecter             commande (SDK)Déploy...
Provisioning IaaSMachine                         Images de machineStockage (local)                         Services annexes
Déploiement IaaSTransfert        sshImplantation     scp, ftp,...Configuration    Outils du serveur                 dappli...
Provisioning PaaSInstallerDémarrerConnecterDéployer
Provisioning PaaSInstaller         Console WebDémarrer          Ligne deConnecter         commande (SDK)Déployer          ...
Déploiement PaaSTransfert       Console WebImplantation    Ligne deConfiguration   commande (SDK)                API
Déploiement CloudBees$ bees app:deploy                         ^       --appid=sewatech/swmsg-web         ^       --type=j...
Déploiement CloudBees
Déploiement CloudBeesString appId = "sewatech/swmsg";String description = "Application Démo";String archivePath = "wsmvn/m...
Déploiement Heroku$ heroku createCreating ...Git remote heroku added$ git push heroku master
Synthèse
GainsSouplesseScalabilitéCoût
FreinsPeurs            Lois Coût                Localisation des Sécurité            données Social              Patriot Act
Cloud public / cloud privéPublic Externalisation, partage des ressourcesPrivé Ressources internesIntermédiaire Externalisa...
Quel cloud pour quelles entreprises ? CAC40                  Startup   Cloud public          SaaS public   Cloud privé    ...
DémarrerAmazon EC2 ............................ 0 €Google App Engine ...................0 €CloudBees ........................
Cloud           SaaS    Software as a Service           PaaS           IaaS
@AlexisHasslerhttp://alexis-hassler.comalexis.hassler@sewatech.frhttp://sewatech.frhttp://www.slideshare.net/sewatech
Java in ze Cloud - INSA - nov. 2012
Prochain SlideShare
Chargement dans…5
×

Java in ze Cloud - INSA - nov. 2012

720 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
720
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
16
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

×