Post on 05-Dec-2014
description
CNAM 2010-2011
Auteur : Thierry Kauffmann
Paris, Décembre 2010
Déploiement d’une application avec EC2 ( Cloud Amazon )
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
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 ).
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
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 )
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.
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
8Paris | Novembre 2010 Page
Cas Pratique : Portage d’un Intranet vers EC2 – Résultat sous 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
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
)
11Paris | Novembre 2010 Page
Cas Pratique : Implémentation 1 - Console EC2 - Amazon
12Paris | Novembre 2010 Page
Cas Pratique : Implémentation 1 : Accès via des clefs privées
13Paris | Novembre 2010 Page
Cas Pratique : Implémentation 1 - Groupes de sécurité
14Paris | Novembre 2010 Page
Cas Pratique : Implémentation 1 - Sauvegarde des données via EBS
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.
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
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.
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.
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
20Paris | Novembre 2010 Page
Cas Pratique : Implémentation 3 – allocation d’une instance RDS
21Paris | Novembre 2010 Page
Cas Pratique : Implémentation 3 – RDS configuration sauvegardes.
22Paris | Novembre 2010 Page
Cas Pratique : Implémentation 3 – RDS groupe de sécurité.
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.
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.
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 ???
26Paris | Novembre 2010 Page
Bibliographie
Site Amazon : http://aws.amazon.com/ec2/
Livre de référence : Host your Web Site in the Cloud