SlideShare a Scribd company logo
ESPLORANDO IL CLOUD CON
AZURE
UN VIAGGIO TRA IAAS, PAAS E SAAS E UN COMPILATORE C++
ONLINE
CRAMAROSSA GIUSEPPE
MICROSOFT STUDENT PARTNER
BACK2SCHOOL @ I.I.S.S. «G. MARCONI» BARI
8 MARZO 2016
CHE COSA FAREMO
• Spiegare che cos’è il Cloud
• Tipi di cloud
• Servizi
• Vantaggi
• Azure
• Azure for dreamspark
• Putting it all together
• Webapp
• Database
• Macchina virtuale
CHE COS’È IL CLOUD?
• Applicazioni e servizi dell’utente girano su una struttura preesistente
• Il fornitore del servizio gestisce le strutture di base
• Datacenter
• Rete
• Macchina fisica
• L’utente gestisce le strutture superiori
• Sistema operativo
• Macchina virtuale
• Applicazioni
• Locali
• remote
ARCHITTETTURA ON PREMISES
• Architettura usata prima del 2000
• L’utente doveva procurarsi tutto il necessario per far girare la sua
applicazione
• Macchine fisiche
• Apparecchiatura di rete
• Un posto dove collocare le macchine
• Applicazioni
• Vantaggi
• Pieno controllo di tutti i livelli
SVANTAGGI DELL’ARCHITETTURA ON
PREMISES (1/2)
• Personale specializzato
• Sicurezza
• Interna
• Esterna
• Progettazione della rete
• Rindondanza
• Problemi
• Routing
• Troubleshooting
SVANTAGGI DELL’ARCHITETTURA ON
PREMISES (2/2)
• Costi elevati
• Personale
• Attrezzature
• Macchine
• Manutenzione
USI E VANTAGGI DEL CLOUD
• Costi ridotti
• Meno personale necessario
• L’utente può scegliere Il cloud in base a
• Necessità
• Competenza
• Vari tipi di servizi
• IaaS
• PasS
• SaaS
INFRASTRUCTURE AS A SERVICE
• Il provider gestisce
• La rete
• La macchina fisica
• L’utente gestisce
• Macchine virtuali
• Sistema operativo
• Dati
• Applicazioni
• Usi
• Applicazioni particolari
• Calcolo
PLATFORM AS A SERVICE
• Il provider gestisce
• La rete
• La macchina fisica
• Macchine virtuali
• Sistema operativo
• L’utente gestisce
• Dati
• Applicazioni
• Usi
• Database
• Webapp
SOFTWARE AS A SERVICE
• Il provider gestisce tutti i livelli
• L’utente utilizza solo l’applicazione
• Utente consumatore
• Nessuna competenza informatica
• Esempi di SaaS
• Motori di ricerca
• Forum
• Blog
• CMS
• Joomla
• Wordpress
UN’ANALOGIA GUSTOSA: PIZZA AS A
SERVICE
• On premises
• La pizza doveva essere fatta a mano
• Infrastructure
• Si compra la base
• L’utente sceglie il condimento, il tipo di cottura e dove consumarla
• Platform
• Si compra la base già condita
• L’utente sceglie il tipo di cottura e dove consumarla
• Software
• Mangiare la pizza in pizzeria
AZURE E AZURE FOR DREAMSPARK (1/2)
• Piattaforma di cloud computing
• Aperta
• Flessibile
• Scalabile
• Viene fornito attraverso dreamspark.com
• Gratuito per gli studenti
• Uso dei software esclusivamente a scopo didattico
• È necessario un codice di verifica che dimostra il vostro status di studente
• Alcuni software e servizi offerti oltre ad Azure
• Visual Studio
• Varie licenze per sviluppatori (Xamarin e per Windows Store)
• E molto altro
AZURE E AZURE FOR DREAMSPARK (2/2)
• Servizi offerti su Azure per gli studenti
• App Web
• Database MySQL
• Mobile App
• Registrarsi su dreamspark.com
• È necessario un account Microsoft per potersi registrare
• Link diretto: aka.ms/joinds
• Registrarsi su Azure
• Link diretto: aka.ms/a4d
• È necessario il numero di telefono per verifica
• Attendere fino a quando non è pronta la sottoscrizione
APP WEB
• Ogni app web viene replicata per tre volte
• Due tipi di app web
• App web
• Mobile App
• Possibilità di usare il CMS Joomla
• Vari metodi per caricare la webapp su azure
• FTP
• Distribuzione continua
• Tramite repository (Github, Bitbucket) oppure tramite spazi di archiviazione (OneDrive)
DATABASE
• Due database a disposizione
• MySQL
• Utilizzo della piattaforma esterna ClearDB
• SQL Database
• Utile per le mobile services
DEMO : UN COMPILATORE C++ ONLINE
• Un compilatore C++ online che permette di effettuare una scansione antivirus prima di
farlo scaricare all’utente
• Componenti
• Middleware
• Antivirus
• ClamAV
• Compilatore
• MinGW
• Sito Web
• PHP
• Link al progetto completo: https://github.com/gcramarossa/CPPOnlineCompilerDemo
MINGW
• Permette di scaricare gli strumenti necessari per creare
applicazioni windows native
• Interfaccia CLI
• Compilatore/linker : g++
• Compilazione : g++ -Wall –fexceptions <source>.cpp –o <source>.o
• Linking : g++ -o <source>.exe <source>.o
CLAMAV
• Antivirus Open source
• Sviluppato da Cisco
• Sito http://www.clamav.net/
• Macchinoso da configurare e usare
• Interfaccia a riga di comando
• Impostazioni contenute in un file di testo
• Multipiattaforma
• Versione per Windows con interfaccia grafica
• ClamWin
IL VIRUS DI TEST: EICAR
• Non è un virus reale
• Utile per testare il comportamento degli antivirus
• Composizione
• Una stringa fissa (68 caratteri)
• X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
• Caratteri facoltativi (max 60 caratteri)
• Il programma scrive su schermo «EICAR-STANDARD-ANTIVIRUS-
TEST-FILE!»
• Sito http://www.eicar.org/
CONCLUSIONE
• Demo
• Configurazione della macchina virtuale
• Compilazione senza errori
• Compilazione con errori
• In fase di compilazione
• In fase di linkaggio
• Compilazione con virus di test EICAR

More Related Content

Similar to Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compilatore c++ online

.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
Pietro Libro
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
Codemotion
 
Cuckoo Sandbox: Automated malware analysis
Cuckoo Sandbox: Automated malware analysisCuckoo Sandbox: Automated malware analysis
Cuckoo Sandbox: Automated malware analysis
jekil
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
Andrea Dottor
 
Antica presentazione AJAX
Antica presentazione AJAXAntica presentazione AJAX
Antica presentazione AJAXTommaso Torti
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
Riccardo Zamana
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net Leonardo Alario
 
Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net oriented
Alessandro Morvillo
 
Il PaaS di Google
Il PaaS di GoogleIl PaaS di Google
Il PaaS di Google
MssiStf
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
Stefano Sanna
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20
Romualdo Gobbo
 
Introduzione a DotNetNuke
Introduzione a DotNetNukeIntroduzione a DotNetNuke
Introduzione a DotNetNuke
Massimo Bonanni
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
Andrea Dottor
 
Anatomia di un progetto open-source
Anatomia di un progetto open-sourceAnatomia di un progetto open-source
Anatomia di un progetto open-source
Bergamo Linux Users Group
 
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Luca Zulian
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
dotnetcode
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloud
Davide Benvegnù
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
dotnetcode
 
iOS_Course_1
iOS_Course_1iOS_Course_1
iOS_Course_1
Dario Pizzuto
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
Morlini Gabriele
 

Similar to Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compilatore c++ online (20)

.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
 
Cuckoo Sandbox: Automated malware analysis
Cuckoo Sandbox: Automated malware analysisCuckoo Sandbox: Automated malware analysis
Cuckoo Sandbox: Automated malware analysis
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Antica presentazione AJAX
Antica presentazione AJAXAntica presentazione AJAX
Antica presentazione AJAX
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 
Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net oriented
 
Il PaaS di Google
Il PaaS di GoogleIl PaaS di Google
Il PaaS di Google
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20
 
Introduzione a DotNetNuke
Introduzione a DotNetNukeIntroduzione a DotNetNuke
Introduzione a DotNetNuke
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
 
Anatomia di un progetto open-source
Anatomia di un progetto open-sourceAnatomia di un progetto open-source
Anatomia di un progetto open-source
 
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloud
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
iOS_Course_1
iOS_Course_1iOS_Course_1
iOS_Course_1
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 

More from Giuseppe Cramarossa

Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpCorso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Giuseppe Cramarossa
 
Lezione 11 - Javascript
Lezione 11 - JavascriptLezione 11 - Javascript
Lezione 11 - Javascript
Giuseppe Cramarossa
 
Lezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggettiLezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggetti
Giuseppe Cramarossa
 
Lezione 9 - Il linguaggio SQL
Lezione 9 - Il linguaggio SQLLezione 9 - Il linguaggio SQL
Lezione 9 - Il linguaggio SQL
Giuseppe Cramarossa
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
Giuseppe Cramarossa
 
Lezione 8 - Teoria - Progettare una base di dati
Lezione 8 - Teoria - Progettare una base di datiLezione 8 - Teoria - Progettare una base di dati
Lezione 8 - Teoria - Progettare una base di dati
Giuseppe Cramarossa
 
Lezione 7 - CSS
Lezione 7 - CSSLezione 7 - CSS
Lezione 7 - CSS
Giuseppe Cramarossa
 
Lezione 6 - Accenni sull’ingegneria del software
Lezione 6 - Accenni sull’ingegneria del softwareLezione 6 - Accenni sull’ingegneria del software
Lezione 6 - Accenni sull’ingegneria del software
Giuseppe Cramarossa
 
Lezione 5 - L'HTML
Lezione 5 - L'HTMLLezione 5 - L'HTML
Lezione 5 - L'HTML
Giuseppe Cramarossa
 
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
Lezione 4 - Pratica - Lavorare in azienda: il teamworkLezione 4 - Pratica - Lavorare in azienda: il teamwork
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
Giuseppe Cramarossa
 
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumentiLezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Giuseppe Cramarossa
 
Lezione 3 - Il CMS Joomla
Lezione 3 - Il CMS JoomlaLezione 3 - Il CMS Joomla
Lezione 3 - Il CMS Joomla
Giuseppe Cramarossa
 
Lezione 2 - Il World Wide Web
Lezione 2  - Il World Wide WebLezione 2  - Il World Wide Web
Lezione 2 - Il World Wide Web
Giuseppe Cramarossa
 
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internetLezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Giuseppe Cramarossa
 
Cortana, non solo un' assistente vocale
Cortana, non solo un' assistente vocaleCortana, non solo un' assistente vocale
Cortana, non solo un' assistente vocale
Giuseppe Cramarossa
 
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Giuseppe Cramarossa
 
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagramIl linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Giuseppe Cramarossa
 
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Giuseppe Cramarossa
 
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Giuseppe Cramarossa
 

More from Giuseppe Cramarossa (19)

Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpCorso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
 
Lezione 11 - Javascript
Lezione 11 - JavascriptLezione 11 - Javascript
Lezione 11 - Javascript
 
Lezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggettiLezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggetti
 
Lezione 9 - Il linguaggio SQL
Lezione 9 - Il linguaggio SQLLezione 9 - Il linguaggio SQL
Lezione 9 - Il linguaggio SQL
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
 
Lezione 8 - Teoria - Progettare una base di dati
Lezione 8 - Teoria - Progettare una base di datiLezione 8 - Teoria - Progettare una base di dati
Lezione 8 - Teoria - Progettare una base di dati
 
Lezione 7 - CSS
Lezione 7 - CSSLezione 7 - CSS
Lezione 7 - CSS
 
Lezione 6 - Accenni sull’ingegneria del software
Lezione 6 - Accenni sull’ingegneria del softwareLezione 6 - Accenni sull’ingegneria del software
Lezione 6 - Accenni sull’ingegneria del software
 
Lezione 5 - L'HTML
Lezione 5 - L'HTMLLezione 5 - L'HTML
Lezione 5 - L'HTML
 
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
Lezione 4 - Pratica - Lavorare in azienda: il teamworkLezione 4 - Pratica - Lavorare in azienda: il teamwork
Lezione 4 - Pratica - Lavorare in azienda: il teamwork
 
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumentiLezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
Lezione 4 - Teoria - Lavorare in azienda: organizzazione aziendale e strumenti
 
Lezione 3 - Il CMS Joomla
Lezione 3 - Il CMS JoomlaLezione 3 - Il CMS Joomla
Lezione 3 - Il CMS Joomla
 
Lezione 2 - Il World Wide Web
Lezione 2  - Il World Wide WebLezione 2  - Il World Wide Web
Lezione 2 - Il World Wide Web
 
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internetLezione 1 - Teoria - Accenni sulle reti e sui servizi internet
Lezione 1 - Teoria - Accenni sulle reti e sui servizi internet
 
Cortana, non solo un' assistente vocale
Cortana, non solo un' assistente vocaleCortana, non solo un' assistente vocale
Cortana, non solo un' assistente vocale
 
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
 
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagramIl linguaggio UML - Teoria ed esempi pratici sugli use case diagram
Il linguaggio UML - Teoria ed esempi pratici sugli use case diagram
 
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
Arduino + Azure: Realizzazione pratica di circuiti usando vari sensori e app ...
 
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
 

Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compilatore c++ online

  • 1. ESPLORANDO IL CLOUD CON AZURE UN VIAGGIO TRA IAAS, PAAS E SAAS E UN COMPILATORE C++ ONLINE CRAMAROSSA GIUSEPPE MICROSOFT STUDENT PARTNER BACK2SCHOOL @ I.I.S.S. «G. MARCONI» BARI 8 MARZO 2016
  • 2. CHE COSA FAREMO • Spiegare che cos’è il Cloud • Tipi di cloud • Servizi • Vantaggi • Azure • Azure for dreamspark • Putting it all together • Webapp • Database • Macchina virtuale
  • 3. CHE COS’È IL CLOUD? • Applicazioni e servizi dell’utente girano su una struttura preesistente • Il fornitore del servizio gestisce le strutture di base • Datacenter • Rete • Macchina fisica • L’utente gestisce le strutture superiori • Sistema operativo • Macchina virtuale • Applicazioni • Locali • remote
  • 4. ARCHITTETTURA ON PREMISES • Architettura usata prima del 2000 • L’utente doveva procurarsi tutto il necessario per far girare la sua applicazione • Macchine fisiche • Apparecchiatura di rete • Un posto dove collocare le macchine • Applicazioni • Vantaggi • Pieno controllo di tutti i livelli
  • 5. SVANTAGGI DELL’ARCHITETTURA ON PREMISES (1/2) • Personale specializzato • Sicurezza • Interna • Esterna • Progettazione della rete • Rindondanza • Problemi • Routing • Troubleshooting
  • 6. SVANTAGGI DELL’ARCHITETTURA ON PREMISES (2/2) • Costi elevati • Personale • Attrezzature • Macchine • Manutenzione
  • 7. USI E VANTAGGI DEL CLOUD • Costi ridotti • Meno personale necessario • L’utente può scegliere Il cloud in base a • Necessità • Competenza • Vari tipi di servizi • IaaS • PasS • SaaS
  • 8. INFRASTRUCTURE AS A SERVICE • Il provider gestisce • La rete • La macchina fisica • L’utente gestisce • Macchine virtuali • Sistema operativo • Dati • Applicazioni • Usi • Applicazioni particolari • Calcolo
  • 9. PLATFORM AS A SERVICE • Il provider gestisce • La rete • La macchina fisica • Macchine virtuali • Sistema operativo • L’utente gestisce • Dati • Applicazioni • Usi • Database • Webapp
  • 10. SOFTWARE AS A SERVICE • Il provider gestisce tutti i livelli • L’utente utilizza solo l’applicazione • Utente consumatore • Nessuna competenza informatica • Esempi di SaaS • Motori di ricerca • Forum • Blog • CMS • Joomla • Wordpress
  • 11. UN’ANALOGIA GUSTOSA: PIZZA AS A SERVICE • On premises • La pizza doveva essere fatta a mano • Infrastructure • Si compra la base • L’utente sceglie il condimento, il tipo di cottura e dove consumarla • Platform • Si compra la base già condita • L’utente sceglie il tipo di cottura e dove consumarla • Software • Mangiare la pizza in pizzeria
  • 12. AZURE E AZURE FOR DREAMSPARK (1/2) • Piattaforma di cloud computing • Aperta • Flessibile • Scalabile • Viene fornito attraverso dreamspark.com • Gratuito per gli studenti • Uso dei software esclusivamente a scopo didattico • È necessario un codice di verifica che dimostra il vostro status di studente • Alcuni software e servizi offerti oltre ad Azure • Visual Studio • Varie licenze per sviluppatori (Xamarin e per Windows Store) • E molto altro
  • 13. AZURE E AZURE FOR DREAMSPARK (2/2) • Servizi offerti su Azure per gli studenti • App Web • Database MySQL • Mobile App • Registrarsi su dreamspark.com • È necessario un account Microsoft per potersi registrare • Link diretto: aka.ms/joinds • Registrarsi su Azure • Link diretto: aka.ms/a4d • È necessario il numero di telefono per verifica • Attendere fino a quando non è pronta la sottoscrizione
  • 14. APP WEB • Ogni app web viene replicata per tre volte • Due tipi di app web • App web • Mobile App • Possibilità di usare il CMS Joomla • Vari metodi per caricare la webapp su azure • FTP • Distribuzione continua • Tramite repository (Github, Bitbucket) oppure tramite spazi di archiviazione (OneDrive)
  • 15. DATABASE • Due database a disposizione • MySQL • Utilizzo della piattaforma esterna ClearDB • SQL Database • Utile per le mobile services
  • 16. DEMO : UN COMPILATORE C++ ONLINE • Un compilatore C++ online che permette di effettuare una scansione antivirus prima di farlo scaricare all’utente • Componenti • Middleware • Antivirus • ClamAV • Compilatore • MinGW • Sito Web • PHP • Link al progetto completo: https://github.com/gcramarossa/CPPOnlineCompilerDemo
  • 17. MINGW • Permette di scaricare gli strumenti necessari per creare applicazioni windows native • Interfaccia CLI • Compilatore/linker : g++ • Compilazione : g++ -Wall –fexceptions <source>.cpp –o <source>.o • Linking : g++ -o <source>.exe <source>.o
  • 18. CLAMAV • Antivirus Open source • Sviluppato da Cisco • Sito http://www.clamav.net/ • Macchinoso da configurare e usare • Interfaccia a riga di comando • Impostazioni contenute in un file di testo • Multipiattaforma • Versione per Windows con interfaccia grafica • ClamWin
  • 19. IL VIRUS DI TEST: EICAR • Non è un virus reale • Utile per testare il comportamento degli antivirus • Composizione • Una stringa fissa (68 caratteri) • X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* • Caratteri facoltativi (max 60 caratteri) • Il programma scrive su schermo «EICAR-STANDARD-ANTIVIRUS- TEST-FILE!» • Sito http://www.eicar.org/
  • 20. CONCLUSIONE • Demo • Configurazione della macchina virtuale • Compilazione senza errori • Compilazione con errori • In fase di compilazione • In fase di linkaggio • Compilazione con virus di test EICAR