SlideShare a Scribd company logo
1 of 12
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
Di cosa parleremo
Come pianificare il "Load & Performance Test" di una
  applicazione web in maniera semplice e veloce
Cloud Testing
   simulare un carico reale
   utilizzare la piattaforma cloud Amazon EC2
Sviluppare rapidamente i casi di test con Python




                                                         Fabio Falcinelli, Marco Immediato   2
                                    f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
Caso reale
Certificazione ambiente di produzione
Oltre 1000000 di accessi al giorno
Test end to end
Simulare accessi da diverse località geografiche



                                            Fabio Falcinelli, Marco Immediato   3
                       f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
Combinare assieme le tecnologie




                                   Fabio Falcinelli, Marco Immediato   4
              f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
Schieramento...
     4 nodi del cloud Amazon EC2
             Large 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 Immediato   5
f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
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 Immediato   6
                             f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
...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 Immediato   7
f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
Perché Amazon EC2?
Possibilità di scegliere le AMI (Amazon Machine Image) in base
  alle esigenze
   Caratteristiche 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 Immediato   8
                                    f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
Perché Python?
Innanzitutto, ci piace :-)
Rende rapido lo sviluppo software
Dispone di due librerie che fanno proprio al caso
  nostro:
  Fabric
  Funkload
                   "Good code is its own best documentation."
                                           (Steve McConnell)
                                               Fabio Falcinelli, Marco Immediato   9
                          f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
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 Immediato   10
                            f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
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 Immediato   11
                              f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
Cast
              Fabio Falcinelli
             Marco Immediato

      Executive producer
                  K-Tech

          Special guests
Amazon EC2 - http://aws.amazon.com/ec2/
  Funkload - http://funkload.nuxeo.org/
        Fabric - http://fabfile.org




                                         Fabio Falcinelli, Marco Immediato   12
                    f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech

More Related Content

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

Automation Night (Docker)
Automation Night (Docker)Automation Night (Docker)
Automation Night (Docker)Giuliano Latini
 
Node.js – Convincing the boss
Node.js – Convincing the bossNode.js – Convincing the boss
Node.js – Convincing the bossClaudio Cicali
 
Reportage "RAD Studio XE2 World Tour"
Reportage "RAD Studio XE2 World Tour"Reportage "RAD Studio XE2 World Tour"
Reportage "RAD Studio XE2 World Tour"Marco Breveglieri
 
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3marcocasario
 
Italy vmug 2019 PowerCLI pret-a-porter
Italy vmug 2019 PowerCLI pret-a-porterItaly vmug 2019 PowerCLI pret-a-porter
Italy vmug 2019 PowerCLI pret-a-porterMarco Scandaletti
 
Orchard - architettura
Orchard - architetturaOrchard - architettura
Orchard - architetturaMichele Aponte
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Fabio Mora
 
Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...
Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...
Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...Codemotion
 
Docker vs Virtualizzazioni
Docker vs VirtualizzazioniDocker vs Virtualizzazioni
Docker vs VirtualizzazioniGiuliano Latini
 
La Unix Way vista da un DevOps
La Unix Way vista da un DevOpsLa Unix Way vista da un DevOps
La Unix Way vista da un DevOpsFabio Mora
 
Google cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetesGoogle cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetesGiuliano Latini
 
3 domande a paolo gai - co-founder @evidence srl
3 domande a  paolo gai - co-founder @evidence srl3 domande a  paolo gai - co-founder @evidence srl
3 domande a paolo gai - co-founder @evidence srlIonela
 
Sfida CTF: Protostar Format Zero
Sfida CTF: Protostar Format Zero  Sfida CTF: Protostar Format Zero
Sfida CTF: Protostar Format Zero Gianmarco Beato
 
Comunicazione sul Web
Comunicazione sul WebComunicazione sul Web
Comunicazione sul Webvieweb
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Discussione ...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Discussione ...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Discussione ...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Discussione ...Alberto Scotto
 
Web service persino nei sistemi embedeed
Web service persino nei sistemi embedeedWeb service persino nei sistemi embedeed
Web service persino nei sistemi embedeedAntonio Cafiero
 
Lezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaformaLezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaformaRoberto Polillo
 

Similar to Cloud Testing di applicazioni web con Python ed Amazon EC2, by Fabio Falcinelli, Marco Immediato (20)

Automation Night (Docker)
Automation Night (Docker)Automation Night (Docker)
Automation Night (Docker)
 
Node.js – Convincing the boss
Node.js – Convincing the bossNode.js – Convincing the boss
Node.js – Convincing the boss
 
Reportage "RAD Studio XE2 World Tour"
Reportage "RAD Studio XE2 World Tour"Reportage "RAD Studio XE2 World Tour"
Reportage "RAD Studio XE2 World Tour"
 
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3
 
Italy vmug 2019 PowerCLI pret-a-porter
Italy vmug 2019 PowerCLI pret-a-porterItaly vmug 2019 PowerCLI pret-a-porter
Italy vmug 2019 PowerCLI pret-a-porter
 
Orchard - architettura
Orchard - architetturaOrchard - architettura
Orchard - architettura
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2
 
Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...
Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...
Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...
 
Angular and beyond
Angular and beyondAngular and beyond
Angular and beyond
 
Docker vs Virtualizzazioni
Docker vs VirtualizzazioniDocker vs Virtualizzazioni
Docker vs Virtualizzazioni
 
Tesina Grupposis
Tesina GrupposisTesina Grupposis
Tesina Grupposis
 
La Unix Way vista da un DevOps
La Unix Way vista da un DevOpsLa Unix Way vista da un DevOps
La Unix Way vista da un DevOps
 
Google cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetesGoogle cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetes
 
3 domande a paolo gai - co-founder @evidence srl
3 domande a  paolo gai - co-founder @evidence srl3 domande a  paolo gai - co-founder @evidence srl
3 domande a paolo gai - co-founder @evidence srl
 
Sfida CTF: Protostar Format Zero
Sfida CTF: Protostar Format Zero  Sfida CTF: Protostar Format Zero
Sfida CTF: Protostar Format Zero
 
Comunicazione sul Web
Comunicazione sul WebComunicazione sul Web
Comunicazione sul Web
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Discussione ...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Discussione ...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Discussione ...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Discussione ...
 
Web service persino nei sistemi embedeed
Web service persino nei sistemi embedeedWeb service persino nei sistemi embedeed
Web service persino nei sistemi embedeed
 
Wi400 i - framework for as400
Wi400 i - framework for as400 Wi400 i - framework for as400
Wi400 i - framework for as400
 
Lezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaformaLezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaforma
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

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

  • 1. 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
  • 2. Di cosa parleremo Come pianificare il "Load & Performance Test" di una applicazione web in maniera semplice e veloce Cloud Testing simulare un carico reale utilizzare la piattaforma cloud Amazon EC2 Sviluppare rapidamente i casi di test con Python Fabio Falcinelli, Marco Immediato 2 f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
  • 3. Caso reale Certificazione ambiente di produzione Oltre 1000000 di accessi al giorno Test end to end Simulare accessi da diverse località geografiche Fabio Falcinelli, Marco Immediato 3 f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
  • 4. Combinare assieme le tecnologie Fabio Falcinelli, Marco Immediato 4 f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
  • 5. Schieramento... 4 nodi del cloud Amazon EC2 Large 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 Immediato 5 f.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 Immediato 6 f.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 Immediato 7 f.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 esigenze Caratteristiche 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 Immediato 8 f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
  • 9. Perché Python? Innanzitutto, ci piace :-) Rende rapido lo sviluppo software Dispone di due librerie che fanno proprio al caso nostro: Fabric Funkload "Good code is its own best documentation." (Steve McConnell) Fabio Falcinelli, Marco Immediato 9 f.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 Immediato 10 f.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 Immediato 11 f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech
  • 12. Cast Fabio Falcinelli Marco Immediato Executive producer K-Tech Special guests Amazon EC2 - http://aws.amazon.com/ec2/ Funkload - http://funkload.nuxeo.org/ Fabric - http://fabfile.org Fabio Falcinelli, Marco Immediato 12 f.falcinelli@k-tech.it, m.immediato@k-tech.it – k-tech