Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

INSA - Java in ze Cloud (2013)

657 views

Published on

Introduction au cloud, pour développeurs Java
Présenté à l'INSA Lyon en novembre 2013

Published in: Technology
  • Be the first to comment

  • Be the first to like this

INSA - Java in ze Cloud (2013)

  1. 1. Java in Ze Cloud novembre 2013 Alexis Hassler
  2. 2. @AlexisHassler Développeur, formateur Java Indépendant Co-leader du 2
  3. 3. Contenu Définitions Typologie Acteurs Exemples (Démos) 3
  4. 4. Cloud Computing ?
  5. 5. Cloud Grand Public Stockage Orange, Dropbox,... Mail Gmail,... ...
  6. 6. Cloud Professionnel Google Apps Salesforce
  7. 7. SaaS Vision utilisateur – Fonctionnalités d'un logiciel (Mail, CRM, ERP,...) – Pas d'installation, pas d'investissement – Montée en charge simple – Software as a Service
  8. 8. There's an App For That * ...
  9. 9. Cloud Computing ? dev & ops
  10. 10. Quenelle Crush
  11. 11. Business Plan
  12. 12. Hébergement Plein de machines - garage - hébergeur 1 machine - garage - hébergeur
  13. 13. Risques
  14. 14. Scalabilité Verticale Horizontale
  15. 15. Cloud Computing En libre-service à la demande Accessible sur l'ensemble d'un réseau Mutualisation des ressources Rapidement élastique Mesurable
  16. 16. IaaS Vision sysadmin – Ressources système (processeur, mémoire, bande passante) – Pas d'achat de machine – Montée en charge simple – Infrastructure as a Service
  17. 17. IaaS Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau
  18. 18. IaaS
  19. 19. IaaS Standard
  20. 20. Amazon EC2 – Elastic Compute Cloud – Serveurs virtuels – Stockage sur Elastic Block Store (EBS) ● – disque dur Monitoring ● Amazon CloudWatch
  21. 21. cf. http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf
  22. 22. AWS Provisionning Système Images (AMI) Standards : Linux, Windows Place de marché : OS + … Communauté : OS + … Personnalisé
  23. 23. AWS Provisionning Système Console AWS Scripts shell SDK Java, JavaScript, Ruby, .NET, Python,...
  24. 24. AWS Provisionning Machine Images de machine Stockage (local) Services annexes
  25. 25. AWS Provisionning Infrastructure As Code
  26. 26. IaaS Architecture Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau Java / Glassfish MySQL Linux
  27. 27. IaaS Architecture Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau .NET / IIS SQL Server Windows
  28. 28. IaaS Architecture Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau Java / Netty MongoDB Linux
  29. 29. IaaS Provisionning Serveur d'applications deb, rpm,... wget + tar scp + tar ...
  30. 30. IaaS Déploiement Applications A la main Outil du serveur d'applications
  31. 31. Niveaux de service SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service
  32. 32. SaaS Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau
  33. 33. IaaS Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau
  34. 34. PaaS Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau
  35. 35. Google App Engine Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau Python Java + Jetty Go Datastore / Cloud SQL
  36. 36. Google App Engine Java Standard / Web ⚠ Restrictions Services Google Adaptation automatique Autoscale Versions conjointes
  37. 37. Google App Engine JavaSE limité cf. GAE Sandbox Web App JSP, Servlet,... Services REST Stockages Datastore Cloud Storage Cloud SQL BigQuery
  38. 38. GAE Sandbox Ecrire sur le file system => Datastore Ouvrir une socket => URL fetch Démarrer un thread Faire des appels système
  39. 39. Services GAE
  40. 40. Références GAE
  41. 41. PaaS
  42. 42. PaaS Standard
  43. 43. Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau Java +
  44. 44. RUN@Cloud
  45. 45. Déploiement CloudBees
  46. 46. Déploiement CloudBees $ bees app:deploy --appid=sewatech/swmsg-web --type=jboss message-web/target/swmsg-web.war
  47. 47. Déploiement CloudBees String 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);
  48. 48. Logs & monitoring
  49. 49. Stockage
  50. 50. ClickStack Managed
  51. 51. ClickStack Community
  52. 52. DEV@Cloud
  53. 53. DEV@Cloud
  54. 54. DEV@Cloud
  55. 55. DEV@Cloud
  56. 56. DEV@Cloud
  57. 57. Freins Peurs Lois Coût Localisation des Sécurité données Social Patriot Act
  58. 58. Cloud public / cloud privé Public Externalisation, partage des ressources Privé Ressources internes Intermédiaire Externalisation, ressources dédiées
  59. 59. Cloud privé Private IaaS Private PaaS
  60. 60. Cloud souverain
  61. 61. Cloud SaaS Software as a Service User PaaS Platform as a Service Developer Integration IaaS Infrastructure as a Service Operations
  62. 62. IaaS : contraintes et liberté Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau
  63. 63. PaaS : modèles imposés Application Runtime / middleware Base de données Système d'exploitation Virtualisation Matériel Stockage Réseau
  64. 64. Cloud SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service
  65. 65. Cloud SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service
  66. 66. XaaS SaaS Software as a Service DBaaS MaaS Database as a Service Monitoring as a Service PaaS Platform as a Service CaaS NaaS Communication as a Service Network as a Service IaaS Infrastructure as a Service
  67. 67. KaaS
  68. 68. Quel cloud ?
  69. 69. 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
  70. 70. Démarrer Amazon EC2 ............................ 0 € Google App Engine ...................0 € CloudBees ................................ 0 € Heroku ...................................... 0 € OpenShift ..................................0 € Jelastic ......................................0 € CloudFoundry ........................... 0 € ...
  71. 71. Cloud SaaS Software as a Service PaaS IaaS
  72. 72. @AlexisHassler http://alexis-hassler.com alexis.hassler@sewatech.fr http://sewatech.fr http://www.slideshare.net/sewatech

×