cloud testing di applicazioni web con python ed amazon ec2, by fabio falcinelli, marco immediato
TRANSCRIPT
Cloud Testing di applicazioni web utilizzando Python ed Amazon EC2
Fabio Falcinelli, Marco Immediato
[email protected] , [email protected] – k-tech
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
2
Di cosa parleremo
Come pianificare il "Load & Performance Test" di una applicazione web in maniera semplice e veloce
Cloud Testingsimulare un carico reale
utilizzare la piattaforma cloud Amazon EC2
Sviluppare rapidamente i casi di test con Python
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
3
Caso reale
Certificazione ambiente di produzioneOltre 1000000 di accessi al giornoTest end to endSimulare accessi da diverse località geografiche
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
4
Combinare assieme le tecnologie
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
5
Schieramento...
4 nodi del cloud Amazon EC2Large Instances
7.5 GB of memory, 4 EC2 Compute Units, 850 GB of local storage, 64-bit platform
OS Ubuntu 10.04 LTS a 64bit
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
6
Strategia di test...
Studiare il nemico prevedendone le mosse (registrazione navigazione con funkload)
Distribuire le strategie alle truppe alleate (distribuzione tramite il master con funkload)
Attacco! (esecuzione dei test funkload)
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
7
...Fuoco!
"Don't worry if it doesn't work right. If everything did, you'd be out of a
job." (Mosher's Law of Software
Engineering)
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
8
Perché Amazon EC2?
Possibilità di scegliere le AMI (Amazon Machine Image) in base alle esigenzeCaratteristiche hardware (Small, Large, Extra Large instances)
Sistema operativo (Possibilità di importare la propria VM)
Scalabilità del numero dei nodi
Possibilità di scegliere le regioni geografiche da cui avviare i test
Monitoring del consumo di risorse (CPU, Network, Storage)
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
9
Perché Python?
Innanzitutto, ci piace :-)Rende rapido lo sviluppo softwareDispone di due librerie che fanno proprio al caso
nostro:FabricFunkload
"Good code is its own best documentation."(Steve McConnell)
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
10
Fabric
Consente di definire ed automatizzare script complessi su un insieme di macchine remote
Richiede solo la possibilità di accedere in SSH sulle macchine
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
11
Funkload (FUNctional & LOAD)
Registrazione dei casi di test da navigazione su browser
Esecuzione automatizzata e distribuita del test e rilevazione delle statistiche
Produzione di un report esaustivo su tutte le risorse visitate dai test
Fabio Falcinelli, Marco [email protected], [email protected] – k-tech
12
CastFabio Falcinelli
Marco Immediato
Executive producerK-Tech
Special guestsAmazon EC2 - http://aws.amazon.com/ec2/
Funkload - http://funkload.nuxeo.org/
Fabric - http://fabfile.org