CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de...

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

Transcript of CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de...

Page 1: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

CNAM 2010-2011

Auteur : Thierry Kauffmann

Paris, Décembre 2010

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

Page 2: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

8Paris | Novembre 2010 Page

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

Page 9: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

11Paris | Novembre 2010 Page

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

Page 12: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

12Paris | Novembre 2010 Page

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

Page 13: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

13Paris | Novembre 2010 Page

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

Page 14: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

14Paris | Novembre 2010 Page

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

Page 15: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

20Paris | Novembre 2010 Page

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

Page 21: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

21Paris | Novembre 2010 Page

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

Page 22: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

22Paris | Novembre 2010 Page

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

Page 23: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

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: CNAM 2010 - Cédriccedric.cnam.fr › ~rigaux › docs › kauffmann_ec2.pdf · • Utilisation de l’API programmable ( Web Services ) Mais les instances EC2 sont des ressources

26Paris | Novembre 2010 Page

Bibliographie

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

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