insa lyon - java in da cloud - 06/2016
TRANSCRIPT
Java
in da Cloud
Alexis Hasslerjuin 2016
2
@AlexisHassler
Développeur, formateur Java
Indépendant
Fondateur du
3
Contenu
Définitions
Typologie
Acteurs
Exemples
(Démos)
Cloud Computing
?
Cloud Grand Public
Stockage
– Dropbox, Hubic, Orange,...
– Gmail,...
...
Cloud Professionnel
Google Apps
Salesforce
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
There's an App For That *
. . .
Dev
Cloud Computing
?dev & ops
ListeoListy
Uberisation de l'achat ménager
Disruption de la liste de course
Business Plan : TLTR
Hébergement
1 machine- garage
Plein de machines- data center
Risques
Horizontale
Verticale
Scalabilité
Cloud Computing
En libre-service à la demande
Accessible sur l'ensemble d'un réseau
Mutualisation des ressources
Rapidement élastique
Mesurable
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
IaaS
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Application
Basede
Données
IaaS
Amazon EC2
– Elastic Compute Cloud
– Serveurs virtuels
– Stockage sur Elastic Block Store (EBS)● disque dur
AWS Provisionning
Système
– Images (AMI)
– Standards : Linux, Windows
– Place de marché : OS + …
– Communauté : OS + …
– Personnalisé
–
AWS Provisionning
Système
– Console AWS
– Scripts shell
– SDK Java, JavaScript, Ruby, .NET, Python,...
AWS Provisionning
Machine
Images de machine Stockage (local)
Services annexes
Infrastructure As Code
AWS Provisionning
IaaS Architecture
MySQL
Linux
Java / Glassfish
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Application
Basede
Données
IaaS Architecture
SQL Server
Windows
.NET / IIS
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Application
Basede
Données
IaaS Architecture
MongoDB
Linux
Java / Netty
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Application
Basede
Données
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
IaaSInfrastructure as a Service
PaaSPlatform as a Service
SaaSSoftware as a Service
SaaS
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Application
Runtime/
Middleware
Basede
Données
IaaS
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Application
Basede
Données
PaaS
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Basede
Données
Application
Google App Engine
Datastore / Cloud SQL
PythonJava + Jetty
Go
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Basede
Données
Application
Google App Engine
Java Standard / Web
– ⚠ Restrictions
Services Google
Adaptation automatique
– Autoscale
– Versions conjointes
PaaS
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Basede
Données
Application
Développement
Architecture modulaire
Prévoir l'échec
Stockage externe
Traitements asynchones
Applications stateless
Freins
Peurs
Coût
Sécurité
Social
Lois
Localisation des
données
Patriot Act
Boites noires
Cloud public / cloud privé
Public
– Externalisation, partage des ressources
Privé
– Ressources internes
Intermédiaire
– Externalisation, ressources dédiées
Cloud privé
Private IaaS Private PaaS
PaaS
Standard
Conteneurs
Synthèse
Cloud
PaaSPlatform as a Service
SaaSSoftware as a Service
User
IaaSInfrastructure as a Service
Operations
Developer Integration
IaaS : contraintes et liberté
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Application
Basede
Données
PaaS : modèles imposés
Réseau
StockageMatériel
Virtualisation
Système d'exploitation
Runtime/
Middleware
Basede
Données
Application
Cloud
PaaSPlatform as a Service
SaaSSoftware as a Service
IaaSInfrastructure as a Service
PaaSPlatform as a Service
SaaSSoftware as a Service
IaaSInfrastructure as a Service
DBaaSDatabase as a Service
MaaSMonitoring as a Service
NaaSNetwork as a Service
CaaSContainer as a Service
XaaS
CaaSContainer as a Service
Cloud
PaaS
SaaSSoftware as a Service
IaaS
@AlexisHassler
http://alexis-hassler.com
http://sewatech.fr
http://www.slideshare.net/sewatech