Kauffmann ec2

26
CNAM 2010-2011 Auteur : Thierry Kauffmann Paris, Décembre 2010 Déploiement d’une application avec EC2 ( Cloud Amazon )

description

 

Transcript of Kauffmann ec2

Page 1: Kauffmann ec2

CNAM 2010-2011

Auteur : Thierry Kauffmann

Paris, Décembre 2010

Déploiement d’une application avec EC2 ( Cloud Amazon )

Page 2: Kauffmann ec2

2Paris | Novembre 2010 Page

Déploiement d’une application dans le cloud.

1. Cloud Computing en 20102. Offre EC2 – AMAZON3. Cas Pratique : Portage d’un Intranet vers EC24. Utilisation EC2 et Conclusion5. Bibliographie

Page 3: Kauffmann ec2

3Paris | Novembre 2010 Page

Cloud Computing 2010 - Définition

Cloud Computing ( Utilisateur ) :

� Commercialiser des ressources informatiques sous forme de service

Cloud Computing ( technique ) :

� Virtualiser les ressources des ressources partagé avec d’autres personnes.

� Obtenir et résilier à la demande les services et pouvoir y accéder simplement.

� Paiement à la commande et consommation sans investissement (Pay as you go ).

Page 4: Kauffmann ec2

4Paris | Novembre 2010 Page

Cloud Computing 2010 – Segmentation

Serveur Physique Réseau

Stockage

Middleware

Systeme d’exploitation

Application

IAAS

Machin

e V

irtu

elle

Serveur Physique Réseau

Stockage

Middleware

Systeme d’exploitation

Application

PAAS

Mod

èle

pro

gra

mm

ation

Serveur Physique Réseau

Stockage

Middleware

Systeme d’exploitation

Application

SAAS

Location logic

ielle

Page 5: Kauffmann ec2

5Paris | Novembre 2010 Page

Cloud Computing 2010 – Les alternatives

SAAS :

� SalesForce.com - gestion commerciale ( SFA )

� OVH ( intégrateur) - Intranets - blogs (Drupal, Joomla, Wordpress).

� Google - suite bureautique ( google documents )

PAAS :

� Microsoft Windows Azzure - Plate forme Windows – SqlServer - .NET

� Google application - Plate forme Linux – BigTable – Java

�OVH (intégrateur) - Plate forme Java – Apache-PHP et Mysql.

IAAS :

� Amazon - Serveurs Linux - Windows + services ( private cloud,

load balancing , Ip adressing, storage )

� GoGrid - Serveurs Linux - Windows + services ( private cloud,

load balancing , Ip adressing, storage )

� OVH ( intégrateur ) - Serveurs Linux + services ( private cloud,

load balancing , Ip adressing, storage )

Page 6: Kauffmann ec2

6Paris | Novembre 2010 Page

Offre EC2 – AMAZON

Critères de choix

� Leadership sur le marché ( choix restreint à Microsoft, Google et Amazon ).

� Support des serveurs applications traditionnels ( J2EE et PHP )

� Support des bases de données relationnelle. ( Clef de toutes les applications

existantes )

� Standards ouverts et non dépendant d’un éditeur.

Choix final

� Microsoft éliminé, car plate forme propriétaire

� Google éliminé , car base de donnée propriétaire et ne supportant pas les standards (

JPA partiel – pas JDBC ou SQL ). Semble en perte de vitesse.

� Par défaut Amazon EC2 semble la plate-forme la plus séduisante.

Page 7: Kauffmann ec2

7Paris | Novembre 2010 Page

Offre EC2 – AMAZON

AP

I’s

–C

on

so

leC

loud

Wa

tch Elastic Cloud

Computing

Elastic Block

Storage

Relational Data Service

Elastic Map reduce( HADOOP)

SimpleDB

Infrastructure

PlateForme

Offre utilisée dans le cadre du projet

Page 8: Kauffmann ec2

8Paris | Novembre 2010 Page

Cas Pratique : Portage d’un Intranet vers EC2 – Résultat sous EC2

Page 9: Kauffmann ec2

9Paris | Novembre 2010 Page

Cas Pratique : Portage d’un Intranet vers EC2 – Architecture initiale.

Système d’exploitation Linux

Base de données MYSQL

Serveur application Apache / PHP

Application Open Source CMS DRUPAL

Les couches logicielles de notre Intranet

Page 10: Kauffmann ec2

10Paris | Novembre 2010 Page

Cas Pratique : Portage d’un Intranet vers EC2 – Implémentation 1

Système d’exploitation Linux

Base de données MYSQL

Serveur application Apache / PHP

Application Open Source CMS DRUPAL

La première implémentation sous EC2 ( Système et données sur AMI )

Instance EC2 : AMI LAMP

Ba

cku

p s

ur p

artitio

n e

xte

rne

( Blo

ck E

BS

)

Page 11: Kauffmann ec2

11Paris | Novembre 2010 Page

Cas Pratique : Implémentation 1 - Console EC2 - Amazon

Page 12: Kauffmann ec2

12Paris | Novembre 2010 Page

Cas Pratique : Implémentation 1 : Accès via des clefs privées

Page 13: Kauffmann ec2

13Paris | Novembre 2010 Page

Cas Pratique : Implémentation 1 - Groupes de sécurité

Page 14: Kauffmann ec2

14Paris | Novembre 2010 Page

Cas Pratique : Implémentation 1 - Sauvegarde des données via EBS

Page 15: Kauffmann ec2

15Paris | Novembre 2010 Page

Cas Pratique : Implémentation 1 - Conclusion

Scalabilité verticale via la création d’un nouveau serveur plus puissant.

Automatisation de la création d’un serveur

• Création d’un script de démarrage ( via EC2 API Tool ).

• Création d’une AMI privée

• Utilisation de l’API programmable ( Web Services )

Mais les instances EC2 sont des ressources temporaires non garanties par Amazon.

La garantie n’est effective que sur les systèmes de stockages ( EBS, RDS ou S3 ) qui sont

répliqués de façon régulière.

Dans le cas présent, cela veut dire repartir de la sauvegarde à chaque perte d’instance.

Donc ce serait préférable de mettre les données sur un autre support que l’instance EC2.

Page 16: Kauffmann ec2

16Paris | Novembre 2010 Page

Cas Pratique : Portage d’un Intranet vers EC2 – Implémentation 2

Système d’exploitation Linux

Base de données MYSQL

Serveur application Apache / PHP

Application Open Source CMS DRUPAL

La seconde implémentation sous EC2 ( Séparation du système et des données ).

Instance EC2 : AMI LAMP

Ba

cku

p s

ur p

artitio

n e

xte

rne

( Blo

ck E

BS

)

Fichiers Apache et

Données Mysql

Stockage des données EBS

Page 17: Kauffmann ec2

17Paris | Novembre 2010 Page

Cas Pratique : Portage d’un Intranet vers EC2 – Implémentation 2

Quelles sont les données à sauvegarder ? • Configuration Apache : /var/www et /etc/httpd• Configuration Mysql : répertoire de données et fichier log.

Comment procéder pour les modifications. Mettre les répertoires sur le disque EBS.

mv /var/www /drupal/www

sudo ln -s /drupal/www /var/

Modifier le fichier configuration système.Fichier de configuration : /etc/my.cnf

Modification du datadir et log-error.

Page 18: Kauffmann ec2

18Paris | Novembre 2010 Page

Cas Pratique : Portage d’un Intranet vers EC2 – Implémentation 2

Architecture un peu plus complexe à mettre en œuvre, car elle nécessite une

connaissance interne du fonctionnement des applications. ( On sauvegarde quoi ?)

La restauration et la fiabilité du stockage des données est simplifiée. Nous pouvons

rapidement recréer une instance avec la capacité de calcul voulue et surtout en cas

d’arrêt de l’instance, les données sont préservées.

Mais nous sommes limités à la puissance des instances EC2. De plus, nous aurons en

cas de forte charge concurrence entre les services de base de donnée et les services

Apache.

Donc, ce serait mieux d’avoir un service qui s’occupe de la gestion des pages web et

un autre qui s’occupe des bases de données.

Page 19: Kauffmann ec2

19Paris | Novembre 2010 Page

Cas Pratique : Portage d’un Intranet vers EC2 – Implémentation 3

Système d’exploitation Linux

Serveur application Apache / PHP

Application Open Source CMS DRUPAL

La troisième implémentation sous EC2

Instance EC2 : Serveur Apache/PHP

Ba

cku

p s

ur

pa

rtition

exte

rne

( Blo

ck E

BS

)

Sn

ap

sh

ots

RD

S

Stockage des données EBS

Fichiers Apache

Instance RDS

Base de données MYSQL

Données MYSQL

Client Mysql

Page 20: Kauffmann ec2

20Paris | Novembre 2010 Page

Cas Pratique : Implémentation 3 – allocation d’une instance RDS

Page 21: Kauffmann ec2

21Paris | Novembre 2010 Page

Cas Pratique : Implémentation 3 – RDS configuration sauvegardes.

Page 22: Kauffmann ec2

22Paris | Novembre 2010 Page

Cas Pratique : Implémentation 3 – RDS groupe de sécurité.

Page 23: Kauffmann ec2

23Paris | Novembre 2010 Page

Cas Pratique : Implémentation 3 – Conclusion.

RDS versus une solution classique EC2 –Mysql

Avantages Simplification des opérations de sauvegarde/restauration.

Simplification de la scalabilité.

Multi A-Z déployment.

InconvénientsAucun accès direct à l’instance RDS.

Pas de possibilité de piloter depuis son poste personnel. ( Initial setup un

peu compliqué à faire ).

Une base par instance RDS. ( Attention aux coûts ).

En conclusion :

Architecture de production. Bonne architecture en cas de grosse base de production et

équipes administration réduite.

Page 24: Kauffmann ec2

24Paris | Novembre 2010 Page

Cas Pratique : Implémentation 3 – Conclusion.

Pour aller plus loin.

• Services Apaches, mettre en parallèle plusieurs serveurs ‘ ( load balancing ).

- Persistance des sessions ( equiv à - mod_jk – mod_proxy ? )

- Unicité du stockage des données ou réplication.

• Mysql avec RDS, mettre en place les réplicas en mode lecture des bases RDS.

• Mysql, mettre en place le clustering dans une solution classique EC2-Mysql.

Page 25: Kauffmann ec2

25Paris | Novembre 2010 Page

Utilisation EC2 et Conclusion

Un nouveau moyen flexible et programmable d’allocation de ressources

� Pour expérimenter de nouvelles solutions logicielles en payant une location à l’heure,

� Pour avoir une flexibilité maximale pour les start-up dans le domaine du WEB,

� Pour créer un écosystème favorable à l’open source,

� Pour permettre à des éditeurs ( open-source ou propriétaire ) de proposer une plate

forme SAAS et d’être rétribué via Amazon.

� Un système de repli en cas d’attaque externe ( Wikileaks ).

Et tout ceci sans ingénieur système, ni administrateur de base de données ???

Page 26: Kauffmann ec2

26Paris | Novembre 2010 Page

Bibliographie

Site Amazon : http://aws.amazon.com/ec2/

Livre de référence : Host your Web Site in the Cloud