Spesso si tende a considerare il lavoro di piccoli team e sviluppatori individuali di minor qualità per questioni di competenze.
Un cloud, infatti, necessita spesso di VPS da configurare, far funzionare e mantenere, che seppur virtuali e dedicate, richiedono un minimo di competenza.
Come mantenere alta la qualità per piccoli team e singoli developer?
Come ridurre l’esigenza di “dover” saper far tutto?
Utilizzare servizi che eliminano, lato sviluppatore, gestione e sicurezza del server, può essere determinante, permettendo di specializzarsi di più sui propri “skill” senza trovarsi obbligati a coinvolgere terze figure o diventare factotum del web.
Target:
WSP-G3-002 - Web Project Manager,
WSP-G3-005 - Business Analyst,
WSP-G3-009 - Frontend Web developer,
WSP-G3-010 - Server Side Web Developer,
WSP-G3-014 - Digital Strategic Planner.
1. Siti Web ed Applicazioni
nel Cloud:
piccoli team e sviluppatori individuali,
approcci e casi d’uso
Paolo Dadda
2. Chi Sono
2
Paolo Dadda
Contatti:
Tel.: 393.4298004
Ufficio:
Via 4 Novembre, 94
Cislago (VA)
Membro IWA ITALY nr. 0307429
WebSite: www.2dweb.it
Professionista Web ai sensi della Legge 4/2013
Mail: info@2dweb.it
3. ● 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
4. 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
5. 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
6. 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
8. 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 DESIGNER
PROFILO WSP-G3-005. WEB BUSINESS ANALYST
PROFILO WSP-G3-006. WEB DB ADMINISTRATOR
PROFILO 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 ADMINISTRATOR
PROFILO 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 EXPERT
PROFILO WSP-G3-017. MOBILE APPLICATION DEVELOPER
PROFILO WSP-G3-018. E-COMMERCE SPECIALIST
PROFILO WSP-G3-019. ONLINE STORE MANAGER
PROFILO WSP-G3-020. REPUTATION MANAGER
PROFILO 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
9. 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 DESIGNER
PROFILO WSP-G3-005. WEB BUSINESS ANALYST
PROFILO WSP-G3-006. WEB DB ADMINISTRATOR
PROFILO 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 ADMINISTRATOR
PROFILO 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 EXPERT
PROFILO WSP-G3-017. MOBILE APPLICATION DEVELOPER
PROFILO WSP-G3-018. E-COMMERCE SPECIALIST
PROFILO WSP-G3-019. ONLINE STORE MANAGER
PROFILO WSP-G3-020. REPUTATION MANAGER
PROFILO 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
10. 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. 11
Bello!
Fantastico!
Ma come applicare tutto questo
anche a piccole e micro realtà ?
Google App Engine
potrebbe essere
un’alternativa
12. Che cos’è GAE? Google App Engine
12
Photo: Google/Connie Zhou
14. 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.
18. Come funziona?
18
YAML: i file di configurazione
• app.yaml
Specifica 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.yaml
Consente di configurare attività regolari che operano in orari
definiti o intervalli regolari comunemente noti come cron jobs.
• index.yaml
Il datastore App Engine utilizza indici per ogni
query che fa l’applicazione, necessari per
restituire rapidamente i dati quando una
query viene effettuata.
23. Database e dati
23
Google App Engine permette di
utilizzare 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
25. 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.
26. 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.
29. 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
30. 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
31. Google App Engine: Riassumiamo
31
Sicurezza
Google 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
32. 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
34. 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