insa - java in ze cloud - 2014

72
Java in Ze Cloud Alexis Hassler décembre 2014

Upload: alexis-hassler

Post on 08-Jul-2015

104 views

Category:

Software


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: INSA - Java in Ze Cloud - 2014

Java in Ze

Cloud

Alexis Hasslerdécembre 2014

Page 2: INSA - Java in Ze Cloud - 2014

2

@AlexisHassler

Développeur, formateur Java

Indépendant

Co-leader du

Page 3: INSA - Java in Ze Cloud - 2014

3

Contenu

Définitions

Typologie

Acteurs

Exemples

(Démos)

Page 4: INSA - Java in Ze Cloud - 2014

Cloud Computing

?

Page 5: INSA - Java in Ze Cloud - 2014

Cloud Grand Public

Stockage

Orange, Dropbox,...

Mail

Gmail,...

...

Page 6: INSA - Java in Ze Cloud - 2014

Cloud Professionnel

Google Apps

Salesforce

Page 7: INSA - Java in Ze Cloud - 2014

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

Page 8: INSA - Java in Ze Cloud - 2014

There's an App For That *

. . .

Page 9: INSA - Java in Ze Cloud - 2014
Page 10: INSA - Java in Ze Cloud - 2014

Cloud Computing

?dev & ops

Page 11: INSA - Java in Ze Cloud - 2014

Candy TODO

Page 12: INSA - Java in Ze Cloud - 2014

Business Plan

Page 13: INSA - Java in Ze Cloud - 2014

Hébergement

1 machine- garage- hébergeur

Plein de machines- garage- hébergeur

Page 14: INSA - Java in Ze Cloud - 2014

Risques

Page 15: INSA - Java in Ze Cloud - 2014

Horizontale

Verticale

Scalabilité

Page 16: INSA - Java in Ze Cloud - 2014

Cloud Computing

En libre-service à la demande

Accessible sur l'ensemble d'un réseau

Mutualisation des ressources

Rapidement élastique

Mesurable

Page 17: INSA - Java in Ze Cloud - 2014

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

Page 18: INSA - Java in Ze Cloud - 2014

IaaS

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

Page 19: INSA - Java in Ze Cloud - 2014

IaaS

Page 20: INSA - Java in Ze Cloud - 2014

IaaS

Standard

Page 21: INSA - Java in Ze Cloud - 2014
Page 22: INSA - Java in Ze Cloud - 2014

Amazon EC2

– Elastic Compute Cloud

– Serveurs virtuels

– Stockage sur Elastic Block Store (EBS)

● disque dur

– Monitoring

● Amazon CloudWatch

Page 23: INSA - Java in Ze Cloud - 2014

cf. http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf

Page 24: INSA - Java in Ze Cloud - 2014

AWS Provisionning

Système

Images (AMI)

Standards : Linux, Windows

Place de marché : OS + …

Communauté : OS + …

Personnalisé

Page 25: INSA - Java in Ze Cloud - 2014

AWS Provisionning

Système

Console AWS

Scripts shell

SDK Java, JavaScript, Ruby, .NET, Python,...

Page 26: INSA - Java in Ze Cloud - 2014

AWS Provisionning

Machine

Images de machine

Stockage (local)

Services annexes

Page 27: INSA - Java in Ze Cloud - 2014

Infrastructure As Code

AWS Provisionning

Page 28: INSA - Java in Ze Cloud - 2014

IaaS Architecture

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

MySQL

Linux

Java / Glassfish

Page 29: INSA - Java in Ze Cloud - 2014

IaaS Architecture

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

SQL Server

Windows

.NET / IIS

Page 30: INSA - Java in Ze Cloud - 2014

IaaS Architecture

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

MongoDB

Linux

Java / Netty

Page 31: INSA - Java in Ze Cloud - 2014

IaaS Provisionning

Serveur d'applications

deb, rpm,...

wget + tar

scp + tar

...

Page 32: INSA - Java in Ze Cloud - 2014

IaaS Déploiement

Applications

A la main

Outil du serveur d'applications

Page 33: INSA - Java in Ze Cloud - 2014
Page 34: INSA - Java in Ze Cloud - 2014

Niveaux de service

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

Page 35: INSA - Java in Ze Cloud - 2014

SaaS

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

Page 36: INSA - Java in Ze Cloud - 2014

IaaS

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

Page 37: INSA - Java in Ze Cloud - 2014

PaaS

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

Page 38: INSA - Java in Ze Cloud - 2014
Page 39: INSA - Java in Ze Cloud - 2014

Google App Engine

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

Datastore / Cloud SQL

PythonJava + Jetty

Go

Page 40: INSA - Java in Ze Cloud - 2014

Google App Engine

Java Standard / Web

⚠ Restrictions

Services Google

Adaptation automatique

Autoscale

Versions conjointes

Page 41: INSA - Java in Ze Cloud - 2014

Google App Engine

JavaSE limité

cf. GAE Sandbox

Web App

JSP, Servlet,...

Services REST

Cloud Storage

BigQuery

Stockages

Datastore

Cloud SQL

Page 42: INSA - Java in Ze Cloud - 2014

GAE Sandbox

Ecrire sur le file system => Datastore

Ouvrir une socket => URL fetch

Démarrer un thread

Faire des appels système

Page 43: INSA - Java in Ze Cloud - 2014

Services GAE

Page 44: INSA - Java in Ze Cloud - 2014

PaaS

Page 45: INSA - Java in Ze Cloud - 2014

PaaS

Standard

Page 46: INSA - Java in Ze Cloud - 2014
Page 47: INSA - Java in Ze Cloud - 2014

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

Java +

Page 48: INSA - Java in Ze Cloud - 2014

Logs & monitoring

Page 49: INSA - Java in Ze Cloud - 2014

Stockage

Page 50: INSA - Java in Ze Cloud - 2014
Page 51: INSA - Java in Ze Cloud - 2014

+

Page 52: INSA - Java in Ze Cloud - 2014
Page 53: INSA - Java in Ze Cloud - 2014
Page 54: INSA - Java in Ze Cloud - 2014
Page 55: INSA - Java in Ze Cloud - 2014

Développement

Architecture modulaire

Prévoir l'échec

Stockage externe

Traitements asynchones

Applications stateless

Page 56: INSA - Java in Ze Cloud - 2014

Freins

Peurs

Coût

Sécurité

Social

Lois

Localisation des

données

Patriot Act

Page 57: INSA - Java in Ze Cloud - 2014
Page 58: INSA - Java in Ze Cloud - 2014

Cloud public / cloud privé

Public

Externalisation, partage des ressources

Privé

Ressources internes

Intermédiaire

Externalisation, ressources dédiées

Page 59: INSA - Java in Ze Cloud - 2014

Cloud privé

Private IaaS Private PaaS

Page 60: INSA - Java in Ze Cloud - 2014

Cloud souverain

Page 61: INSA - Java in Ze Cloud - 2014

Synthèse

Page 62: INSA - Java in Ze Cloud - 2014

Cloud

PaaSPlatform as a Service

SaaSSoftware as a Service

User

IaaSInfrastructure as a Service

Operations

Developer Integration

Page 63: INSA - Java in Ze Cloud - 2014

IaaS : contraintes et liberté

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

Page 64: INSA - Java in Ze Cloud - 2014

PaaS : modèles imposés

Réseau

StockageMatériel

Virtualisation

Système d'exploitation

Base de données

Runtime / middleware

Application

Page 65: INSA - Java in Ze Cloud - 2014

Cloud

PaaSPlatform as a Service

SaaSSoftware as a Service

IaaSInfrastructure as a Service

Page 66: INSA - Java in Ze Cloud - 2014

Cloud

PaaSPlatform as a Service

SaaSSoftware as a Service

IaaSInfrastructure as a Service

Page 67: INSA - Java in Ze Cloud - 2014

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

Page 68: INSA - Java in Ze Cloud - 2014

Quel cloud ?

Page 69: INSA - Java in Ze Cloud - 2014

Quel cloud pour quelles entreprises ?

CAC40

Cloud public

Cloud privé

IaaS / PaaS / SaaS

Startup

SaaS public

PaaS public

PaaS public

PaaS public

PaaS public

IaaS public

Page 70: INSA - Java in Ze Cloud - 2014

Cloud

PaaS

SaaSSoftware as a Service

IaaS

Page 71: INSA - Java in Ze Cloud - 2014

@AlexisHassler

http://alexis-hassler.com [email protected]

http://sewatech.fr

http://www.slideshare.net/sewatech

Page 72: INSA - Java in Ze Cloud - 2014