SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
-
Upload
paolo-dadda -
Category
Internet
-
view
197 -
download
0
description
Transcript of SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
Siti Web ed Applicazioni nel Cloud:
piccoli team e sviluppatori individuali, approcci e casi d’uso
Paolo Dadda
Chi Sono
2
Paolo Dadda
Membro IWA ITALY nr. 0307429 Professionista Web ai sensi della Legge 4/2013
Contatti:Tel.: 393.4298004
Ufficio: Via 4 Novembre, 94
Cislago (VA)
WebSite: www.2dweb.it
Mail: [email protected]
● Prima associazione al mondo che raggruppa chi lavora nel Web
● Obiettivo di IWA: creare rete tra soci, partecipare all'evoluzione del Web, divulgare conoscenza tramite soci con eventi ed iniziative
● A s s o c i a z i o n e p r o f e s s i o n a l e rappresentanza delle professionalità Web
● unica Associazione del settore ICT attualmente censita dal Ministero dello Sviluppo Economico
Cos’è IWA/HWG
3
Cos’è IWA/HWG
4
● Associazione Professionale che raggruppa i soggetti che - ai sensi della legge 4/2013, sono definibili come "professionisti Web"
● Ha rilasciato i primi profili professionali (G3 Web Skill Profiles) in linea con i dettami dell'agenda digitale europea e italiana ed ha avviato accordi di collaborazione con realtà di tutela del lavoro (sindacati) e di domanda/offerta di lavoro: ancora una volta il ruolo di IWA è quello di unire, far collaborare e tutelare chi opera nel Web
Iscrizione IWA - Speciale SMAU Milano 2014
5
● Potrai ottenere uno sconto sulla quota associativa* che pagherai euro 50,00 anziché euro 65,00. Lo sconto vale sia per i nuovi soci che per i rinnovi. http://www.iwa.it/join/
● Per usufruire dello sconto usa in fase di registrazione o rinnovo il seguente codice promozionale:
SMAUMILANO2014
* valido sono nel periodo fieristico
IWA e gli Skill Profiles
6
2006 • Il CEN riconosce IWA/HWG come realtà di standardizzazione in grado di fornire certificazioni sui percorsi formativi relativi al settore del Web 2007 • Iniziano i lavori del Gruppo IWA Italy Web Skills Profiles, coordinati da Pasquale Popolizio • I partecipanti sono oltre 200 ed hanno cultura e competenze trasversali professionisti, aziende, PA, università 2013 • Pubblicazione del documento G3 Web Skills Profiles 1.0 2014 • Pubblicazione del documento G3 Web Skills Profiles 2.0
Il webmaster? Un supereroe!
7
• Chi dice di saper fare tutto… • Forse non sa fare niente bene!
© Roberto Scano :-‐)
Skill Profiles
8
PROFILO WSP-G3-001. WEB COMMUNITY MANAGER PROFILO WSP-G3-002. WEB PROJECT MANAGER PROFILO WSP-G3-003. WEB ACCOUNT MANAGER PROFILO WSP-G3-004. USER EXPERIENCE DESIGNERPROFILO WSP-G3-005. WEB BUSINESS ANALYST PROFILO WSP-G3-006. WEB DB ADMINISTRATORPROFILO WSP-G3-007. SEARCH ENGINE EXPERT PROFILO WSP-G3-008. WEB ADVERTISING MANAGER PROFILO WSP-G3-009. FRONTEND WEB DEVELOPER PROFILO WSP-G3-010. SERVER SIDE WEB DEVELOPER PROFILO WSP-G3-011. WEB CONTENT SPECIALIST PROFILO WSP-G3-012. WEB SERVER ADMINISTRATORPROFILO WSP-G3-013. INFORMATION ARCHITECT PROFILO WSP-G3-014. DIGITAL STRATEGIC PLANNERPROFILO WSP-G3-015. WEB ACCESSIBILITY EXPERT PROFILO WSP-G3-016. WEB SECURITY EXPERTPROFILO WSP-G3-017. MOBILE APPLICATION DEVELOPERPROFILO WSP-G3-018. E-COMMERCE SPECIALISTPROFILO WSP-G3-019. ONLINE STORE MANAGERPROFILO WSP-G3-020. REPUTATION MANAGERPROFILO WSP-G3-021. KNOWLEDGE MANAGER PROFILO WSP-G3-022. AUGMENTED REALITY EXPERT PROFILO WSP-G3-023. E-LEARNING SPECIALIST PROFILO WSP-G3-024. DATA SCIENTIST
Skill Profiles
9
PROFILO WSP-G3-001. WEB COMMUNITY MANAGER PROFILO WSP-G3-002. WEB PROJECT MANAGER PROFILO WSP-G3-003. WEB ACCOUNT MANAGER PROFILO WSP-G3-004. USER EXPERIENCE DESIGNERPROFILO WSP-G3-005. WEB BUSINESS ANALYST PROFILO WSP-G3-006. WEB DB ADMINISTRATORPROFILO WSP-G3-007. SEARCH ENGINE EXPERT PROFILO WSP-G3-008. WEB ADVERTISING MANAGER PROFILO WSP-G3-009. FRONTEND WEB DEVELOPER PROFILO WSP-G3-010. SERVER SIDE WEB DEVELOPER PROFILO WSP-G3-011. WEB CONTENT SPECIALIST PROFILO WSP-G3-012. WEB SERVER ADMINISTRATORPROFILO WSP-G3-013. INFORMATION ARCHITECT PROFILO WSP-G3-014. DIGITAL STRATEGIC PLANNER PROFILO WSP-G3-015. WEB ACCESSIBILITY EXPERT PROFILO WSP-G3-016. WEB SECURITY EXPERTPROFILO WSP-G3-017. MOBILE APPLICATION DEVELOPERPROFILO WSP-G3-018. E-COMMERCE SPECIALISTPROFILO WSP-G3-019. ONLINE STORE MANAGERPROFILO WSP-G3-020. REPUTATION MANAGERPROFILO WSP-G3-021. KNOWLEDGE MANAGER PROFILO WSP-G3-022. AUGMENTED REALITY EXPERT PROFILO WSP-G3-023. E-LEARNING SPECIALIST PROFILO WSP-G3-024. DATA SCIENTIST
Lavorare nel cloud…
10
Un cloud è una struttura hardware formata da più nodi di calcolo e di storage che lavorano in maniera sincronizzata per offrire dei servizi.
I servizi che possono essere offerti attraverso il cloud sono di 3 tipi: IaaS, PaaS e SaaS.
Ma di cosa si tratta in realtà?
Photo: Google/Connie Zhou
11
Ma come applicare tutto questo anche a piccole e micro realtà ?
Google App Engine potrebbe essere
un’alternativa
Bello! Fantastico!
Che cos’è GAE? Google App Engine
12
Photo: Google/Connie Zhou
13
Google Cloud Platform
Google App Engine
14
• Permette di creare siti ed applicazioni senza preoccuparci della loro architettura hardware e sobbarcarsi l’onere di gestire scalabilità e picchi di traffico.
• Bassi costi di ingresso e fatturazione in base al consumo reale.
• Supporta diversi linguaggi di programmazione: Java, Python, GO e PHP.
• Fornisce un’ottima SDK per lo sviluppo e test in locale.
• E’ corredata da un discreto numero di API già operative e documentate.
• Eseguita in Sandbox.
Perché conviene?
15
Perché conviene?
16
Perché conviene?
17
Come funziona?
18
• app.yamlSpecifica le corrispondenze tra URL ed Handler oltre che per l’esposizione di cartelle o file statici.Contiene inoltre informazioni sull’applicazione, come l’id dell’applicazione, la versione…
• cron.yamlConsente di configurare attività regolari che operano in orari definiti o intervalli regolari comunemente noti come cron jobs.
• index.yamlIl datastore App Engine utilizza indici per ogni query che fa l’applicazione, necessari perrestituire rapidamente i dati quando unaquery viene effettuata.
YAML: i file di configurazione
Come funziona?
19
Esempio Route
20
Esempio Handler
21
Esempio Model
22
Database e dati
23
Google App Engine permette diutilizzare differenti basi di dati:
• Google Cloud Datastore:database noSQL, supporta transactions, forte consistenza con ancestor queries, consistenza eventuale con altre queries.
• Google Cloud SQL:database SQL, relazionale forte consistenza
• Google Cloud Storage:permette di salvare oggetti e file anche di grandi dimensioni a costi ridotti nel cloud.
Photo: Google/Connie Zhou
Qualcosa da considerare sul DataStore
24
Photo: Google/Connie Zhou
Considerazioni sul DataStore
25
Il datastore di App Engine non è un database relazionale tradizionale. Gli oggetti si chiamano “entità” e sono caratterizzati da un tipo e da un insieme di proprietà.
Le entità del datastore sono di tipo "non relazionale". Le entità vengono scritte nel codice dell’applicazione, che accede al datastore direttamente.
Google Cloud Datastore è completamente gestito da Google, è un database schemaless per l'archiviazione di dati non relazionali. Il Datastore scala automaticamente e supporta le transazioni.
Considerazioni sul DataStore
26
Il Datastore è un database che offre:
• Transazioni ACID.
• Elevata disponibilità di letture e scritture.
• Forte coerenza con le ancestor query.
• Coerenza Eventuale per tutte le altre query.
Ogni istanza del Datastore è completamente gestita da Google:
• Nessun downtime pianificato.
• Replicato su più datacenter.
• Scala automaticamente all’aumentare del traffico.
• Monitorato costantemente dagli Ingegneri di Google.
27
APPROCCIO PRATICO
Iniziamo!
28
DOPO L’UPLOAD…
… FUNZIONA GIA’ !
Google App Engine: Riassumiamo
29
• App Engine fornisce una piattaforma di sviluppo che consente di creare applicazioni e di usare l’infrastruttura come piattaforma hosting
• App Engine velocizza il ciclo produttivo dallo sviluppo al rilascio • Il rilascio in produzione (deployment) è gestito da Google • App Engine esegue la gestione del traffico con auto-scaling,
pertanto istanzia più risorse hardware quando è necessario, e le rilascia se non servono più
• Supporta i linguaggi Python, Java, PHP e Go
Google App Engine: Riassumiamo
30
Lock-IN Si tratta della situazione in cui sia difficile o impossibile per l’azienda spostare le proprie applicazioni e dati su altre piattaforme • Esistono misure per evitare esplicitamente il lock-in sono varie
• Si può migrare mantenendo la propria applicazione: c’è AppScale
• Modi alternativi di accesso ai propri dati
• SDK open source, ed ambiente “più comodo” nel tempo
• Open standards esistenti, usati e mantenuti
Google App Engine: Riassumiamo
31
SicurezzaGoogle App Engine è compatibile con i più importanti standard mondiali di sicurezza:
• SAS70: uno standard di auditing dell’AICPA (American Institute of Certified Public Accountants).
• SSAE 16, ISAE 3402 che consentono a Google di rispondere alle normative di protezione dei dati dell’Unione Europea
Google App Engine: Considerazioni Finali
32
Pro Contro
• Scala automaticamente • Nessuna manutenzione server • Sviluppo semplice e veloce • Si paga il consumo effettivo • E’ gratis entro certi limiti • SDK e diversi linguaggi per
sviluppare le applicazioni • Ottimo per start-up e
sviluppatori individuali
• Nessun multithread • Nessun accesso al file system • Possibile Lock-in (relativo) • Alcune funzioni non permesse • Costoso per carichi costanti • Necessario ottimizzare per
contenere costi (anche un pro) • Limite Esecuzione 60 secondi
per richiesta (10 min se task)
La rapidità e la semplicità nello sviluppo lo rendono particolarmente adatto a piccole realtà, come Start-up, Piccoli Team e Sviluppatori Individuali, i costi al consumo e la base gratuita, permettono al contempo di ottenere facilmente un prodotto di qualità, con risultati difficilmente raggiungibili negli stessi tempi ed agli stessi costi
Domande?
33
34
GRAZIE A TUTTI!Info e slide verranno pubblicate su Google+ e SlideShare.
Potete scaricare una versione open da me creata per partire subito con una base: https://bitbucket.org/duedweb/base-‐gae-‐python
LE SLIDE !!! -‐ Eccole: disponibili fin da subito! http://www.slideshare.net/ilpaolino
Google Plus Profile: plus.google.com/+2dwebIt
Oppure segui il mio Blog: http://2dwebit.blogspot.com
Twitter: @duedweb