Cloud Testing di applicazioni web con Python ed Amazon EC2, by Fabio Falcinelli, Marco Immediato

Post on 14-Jul-2015

867 views 1 download

Tags:

Transcript of Cloud Testing di applicazioni web con Python ed Amazon EC2, by Fabio Falcinelli, Marco Immediato

Cloud Testing di applicazioni web utilizzando Python ed Amazon EC2

Fabio Falcinelli, Marco Immediato

f.falcinelli@k-tech.it , m.immediato@k-tech.it – k-tech

Fabio Falcinelli, Marco Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech

4

Combinare assieme le tecnologie

Fabio Falcinelli, Marco Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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 Immediatof.falcinelli@k-tech.it, m.immediato@k-tech.it – 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