cloud testing di applicazioni web con python ed amazon ec2, by fabio falcinelli, marco immediato

12
Cloud Testing di applicazioni web utilizzando Python ed Amazon EC2 Fabio Falcinelli, Marco Immediato [email protected] , [email protected] – k-tech

Upload: codemotion

Post on 14-Jul-2015

867 views

Category:

Technology


1 download

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