Java in Ze

Cloud

novembre 2013

Alexis Hassler
@AlexisHassler
Développeur, formateur Java
Indépendant
Co-leader du
2
Contenu
Définitions
Typologie
Acteurs
Exemples
(Démos)
3
Cloud Computing

?
Cloud Grand Public
Stockage
Orange, Dropbox,...

Mail
Gmail,...

...
Cloud Professionnel
Google Apps

Salesforce
SaaS
Vision utilisateur
–

Fonctionnalités d'un logiciel (Mail, CRM, ERP,...)

–

Pas d'installation, pas d'investissement...
There's an App For That

*

...
Cloud Computing

?
dev & ops
Quenelle Crush
Business Plan
Hébergement

Plein de machines
- garage
- hébergeur
1 machine
- garage
- hébergeur
Risques
Scalabilité

Verticale

Horizontale
Cloud Computing

En libre-service à la demande
Accessible sur l'ensemble d'un réseau
Mutualisation des ressources
Rapideme...
IaaS
Vision sysadmin
–

Ressources système
(processeur, mémoire, bande passante)

–

Pas d'achat de machine

–

Montée en ...
IaaS
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation
Matériel

Stockage
Réseau
IaaS
IaaS

Standard
Amazon EC2
–

Elastic Compute Cloud

–

Serveurs virtuels

–

Stockage sur Elastic Block Store (EBS)
●

–

disque dur

Mon...
cf. http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf
AWS Provisionning
Système
Images (AMI)
Standards :

Linux, Windows

Place de marché :

OS + …

Communauté :

OS + …

Perso...
AWS Provisionning
Système
Console AWS
Scripts shell
SDK Java, JavaScript, Ruby, .NET, Python,...
AWS Provisionning

Machine
Images de machine
Stockage
(local)
Services annexes
AWS Provisionning

Infrastructure
As Code
IaaS Architecture
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation

Matériel

Stocka...
IaaS Architecture
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation

Matériel

Stocka...
IaaS Architecture
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation

Matériel

Stocka...
IaaS Provisionning
Serveur d'applications
deb, rpm,...
wget + tar
scp + tar
...
IaaS Déploiement
Applications
A la main
Outil du serveur d'applications
Niveaux de service

SaaS
Software as a Service

PaaS
Platform as a Service

IaaS
Infrastructure as a Service
SaaS
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation
Matériel

Stockage
Réseau
IaaS
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation
Matériel

Stockage
Réseau
PaaS
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation
Matériel

Stockage
Réseau
Google App Engine
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation

Matériel

Stocka...
Google App Engine
Java Standard / Web
⚠ Restrictions

Services Google
Adaptation automatique
Autoscale
Versions conjointes
Google App Engine
JavaSE limité
cf. GAE Sandbox

Web App
JSP, Servlet,...
Services REST

Stockages
Datastore

Cloud Storag...
GAE Sandbox
Ecrire sur le file system => Datastore
Ouvrir une socket

=> URL fetch

Démarrer un thread
Faire des appels sy...
Services GAE
Références GAE
PaaS
PaaS

Standard
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation

Matériel

Stockage

Réseau

Java +
RUN@Cloud
Déploiement CloudBees
Déploiement CloudBees

$ bees app:deploy
--appid=sewatech/swmsg-web
--type=jboss
message-web/target/swmsg-web.war
Déploiement CloudBees

String appId = "sewatech/swmsg";
String description = "Application Démo";
String archivePath = "wsm...
Logs & monitoring
Stockage
ClickStack
Managed
ClickStack
Community
DEV@Cloud
DEV@Cloud
DEV@Cloud
DEV@Cloud
DEV@Cloud
Freins
Peurs

Lois

Coût

Localisation des

Sécurité

données

Social

Patriot Act
Cloud public / cloud privé
Public
Externalisation, partage des ressources

Privé
Ressources internes

Intermédiaire
Extern...
Cloud privé
Private IaaS

Private PaaS
Cloud souverain
Cloud
SaaS
Software as a Service

User

PaaS
Platform as a Service

Developer

Integration

IaaS
Infrastructure as a Servi...
IaaS : contraintes et liberté
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation
Matér...
PaaS : modèles imposés
Application
Runtime / middleware
Base de données
Système d'exploitation
Virtualisation
Matériel

St...
Cloud
SaaS
Software as a Service

PaaS
Platform as a Service

IaaS
Infrastructure as a Service
Cloud
SaaS
Software as a Service

PaaS
Platform as a Service

IaaS
Infrastructure as a Service
XaaS
SaaS
Software as a Service

DBaaS

MaaS

Database as a Service

Monitoring as a Service

PaaS
Platform as a Service

...
KaaS
Quel cloud ?
Quel cloud pour quelles entreprises ?
CAC40

Startup

Cloud public

SaaS public

Cloud privé

PaaS public

IaaS / PaaS / S...
Démarrer
Amazon EC2 ............................ 0 €
Google App Engine ...................0 €
CloudBees .....................
Cloud

SaaS
Software as a Service

PaaS
IaaS
@AlexisHassler

http://alexis-hassler.com
alexis.hassler@sewatech.fr
http://sewatech.fr
http://www.slideshare.net/sewatech
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
Upcoming SlideShare
Loading in …5
×

INSA - Java in ze Cloud (2013)

458 views
346 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
458
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×