Post on 04-Jun-2015
description
19 gennaio 2012
Opportunità e vincoli di network nella progettazione di applicazioni
www.alteanet.it | altea@alteanet.it
Cosa sta accadendo intorno a noi
2
Sono «in corso» (almeno) cinque grandi cambiamenti "generazionali" nel panorama informatico. Cambiamenti che stanno avvenendo contemporaneamente:
• Le nuove UX assicurate dai nuovi device richiedono di ripensare le «interfacce utente» (Touch, MobileDev)
• Le piattaforme di delivery dei sistemi IT si stanno spostando (Mobility, Cloud, Social)
• I canali di collaborazione e di comunicazione sono stati «reinventati» dal marketing (web, mobile, social)
• L'innovazione tecnologica è guidata dal mondo dei consumatori (Apps & Apps Store)
• I dati «esplodono» non solo grazie al proliferare delle applicazioni ma anche di device e sensori (BIG Data). I lavoratori chiedono molte di queste innovazioni e si aspettano che le loro organizzazioni offrano qualcosa di simile, nella capacità, a ciò che possono ottenere quasi gratis (o addirittura gratis) sui propri dispositivi personali.
Cosa ci dice il marketing
Ci dicono anche il modo con cui procedere: “Touch UX”, “Rich UI”, “Always on”. A noi tecnici stanno dicendo soprattutto di prestare attenzione al fattore umano (Ux e UI) e alla rete.
Oggi il marketing dice: Mobile, Social, Consumer, e, innovando, riveste di nuovi contenuti tecnici temi preesistenti Mobile workers support (mobile workforce automation, working cycle control, CRM) Mobile entertainment (personal communication, still image, video, interaction) Info-mobility (geolocation, physical interaction, drive support)
3
Cosa ci chiedono gli utenti
4
Nelle organizzazioni si assiste ad un fenomeno allargato di “post- consumerizzazione” con conseguenze sulle applicazioni enterprise: gli utenti richiedono sempre più alla propria azienda di utilizzare le stesse device che utilizzano frequentemente nella vita personale, con le medesime funzionalità.
Questo significa impatto sulle reti in termini di apertura di nuovi e significativi temi di performance, controllo e sicurezza: tentare di affrontare le questioni solo con strumenti tecnologici è un po come tentare di rimettere “il dentrifricio nel tubetto”, le applicazioni stesse dovrebbero architetturalmente tenere conto del contesto in cui operano
Ulteriori problemi, ed opportunità, al contorno
5
Fonti: «Bring Your Own Mobility», M. Basso, Gartner.
Un po’ di storia
6
Applicazione 1970 - mid ‘90
Mid ‘90 2005 2010
Aggiungiamo il networking
Rif. A La “parabola” di Novell L’evoluzione di Cisco L’impostazione SUN nei primi ’90 Rif. B L’impatto del tema networking sulle architetture delle applicazioni
Lan/Wan
2000
Lan Wan Internet Mobile Internet
Influenze e vincoli tra rete e applicazioni
7
nowaday Apps
Impatto “delle caratteristiche”
di rete
Impatto “sulle caratteristiche”
di rete • Throughput • Reliability • Availability • Coverage
• Throttle & Load • Ubiquity • Services • Security
Prendendo come dato di fatto che, molto spesso, non è nemmeno possibile scegliere con quale tipo di rete andremo ad interagire, uno schema utile di preparazione al lavoro di progetto, o di verifica, della architettura di una applicazione può essere:
Devo fare storage locale? I dati sono “riservati”?
Come gestire il syncing?
(cifratura locale, cifratura in comunicazione)
(gestire il TTL dei dati, per differenza o totale, in ‘operativo’, anche in background?)
( local, remote, master-slave, multi master)
off track
8
Implicitamente, dal punto di vista applicativo, stiamo comunque sempre parlando di comunicazioni TCP/IP per cui è possibile, almeno in termini di comparazione ed in prima istanza, valutare parametri omogenei anche se il trasporto può essere significativamente differente da mezzo a mezzo.
WiFi LTE 3,5G 3G Edge GPRS
Prevalentemente firewalled e natted
Mai né firewalled né natted
Multibanda GSM o CDMA
server
Event. MPLS
Throttling da parte delle infrastrutture locali o degli operatori
off track
9
Se parliamo di networking dal punto di vista applicativo ci interessa quello che vediamo end to end e, in generale, un po’ tutti si pensa a modelli c/s, anche se le topologie che spesso si usano dipendono fortemente dalle caratteristiche funzionali delle applicazioni (p.es. cs vs p2p).
WiFi LTE 3,5G 3G Edge GPRS
Prevalentemente firewalled e natted
Mai né firewalled né natted
Multibanda GSM o CDMA
server
end to end
Event. MPLS
off track
10
...esistono però anche altri modelli applicativi che pongono diverse domande alla “rete”, in cui gli endpoint da considerare sono del tutto diversi anche in applicazioni estremamente banali come, un esempio su tutte, la telesorveglianza per cui la scelta/disponibilità di “rete” abilita o meno la realizzazione stessa di alcune funzioni.
WiFi LTE 3,5G 3G Edge GPRS
Prevalentemente firewalled e natted
Multibanda GSM o CDMA
server
Event. MPLS
Mai né firewalled né natted
off track
11
Morale:
•Facciamo bene i conti dei dati che verranno trattati
•Valutiamo i volumi e i momenti di comunicazione nel tempo
•Valutiamo i canali che abbiamo a disposizione e verifichiamo che i picchi, da entrambi i
lati della comunicazione, siano compatibili con i canali disponibili
•Valutiamo se possiamo definire dei vincoli sui canali (solo wifi?)
•Valutiamo se possiamo definire dei vincoli sulle politiche di comunicazione (prescrizione
per gli utenti?)
•Valutiamo se possiamo modificare applicativamente le politiche di comunicazione
(store and forward?)
•Valutiamo se dobbiamo modificare il modo con cui comunichiamo e se dobbiamo,
applicativamente parlando, essere consapevoli del trasporto disponibile e se adattarci
Alcune domande a cui trovare risposta
12
Quanto ampi sono i dati che dobbiamo manipolare? Devo garantire l’utilizzo immediato dei dati nella applicazione? Quale TTL hanno i dati centrali? Vengono prodotti dei dati localmente? Quale TTL hanno i dati prodotti localmente? I dati sono riservati? Che possibilità abbiamo di intervenire sui dati centrali? Che reti abbiamo a disposizione e quali posso pensare di usare? Che disponibilità hanno rispetto all’ambiente previsto di utilizzo? Posso porre dei vincoli di copertura, disponibilità o capacità dal lato client? Posso porre dei vincoli di disponibilità o capacità dal lato dei sistemi centrali? Ho vincoli tecnici all’utilizzo delle reti disponibili? Ho vincoli economici all’utilizzo delle reti disponibili? Devo considerare i vincoli come ‘stringenti’? La fruizione deve essere identica anche in assenza di rete? E in presenza di rete degradata?
I due estremi di una architettura applicativa
13
1990 • gestire una socket, • scambiare stringhe ascii
Oggi
• gestire aggiornamenti in background con notifiche push da server remoti
• scambiare blob di dimensioni arbitrarie • gestire i dati scegliendo tra local only, remote only, master-
slave, two master
Un interessante ricorso storico...
14
1990 • gestire una socket, • scambiare stringhe ascii
1995
• gestire aggiornamenti • scambiare dati di ampie dimensioni • gestire i dati scegliendo tra local only, remote only, (master-
slave, two master)
Oggi
• gestire aggiornamenti in background con notifiche push da server remoti • scambiare blob di dimensioni arbitrarie • gestire i dati scegliendo tra local only, remote only, master-slave, two master
Un esercizio 1
15
Dato un campo applicativo realizzare una applicazione per operatori in filiali fisse per la gestione operativa delle attività aziendali
degli obiettivi applicazione business che “scambia” dati con i sistemi centrali di Azienda spa e dei vincoli ambientali in un territorio geograficamente esteso in Europa occidentale (Italia) Quali domande ci dobbiamo porre? Quali possibili scelte abbiamo e come le decliniamo?
nowaday Apps
• Throughput • Reliability • Availability • Coverage
• Throttle & Load • Ubiquity • Services • Security
Devo fare storage locale? I dati sono “riservati”?
Come gestire il syncing?
end to end
off track
16
WiFi LTE 3,5G 3G Edge GPRS
Prevalentemente firewalled e natted
Da valutare complessivamente, partendo dalla numerosità e dalle caratteristiche funzionali puntuali (p.es. hp)
Multibanda GSM o CDMA
server
Event. MPLS
1Mb/s ?Mb/s
Mai ne firewalled ne natted
Da valutare comparativamente rispetto al tipo di dati ed al costo di protezione “applicativa”
Un esercizio 2
17
Dato un campo applicativo realizzare una applicazione per con operatori sul campo per la distribuzione degli ordini di servizio e la raccolta del lavorato
degli obiettivi applicazione business che “scambia” dati con i sistemi centrali di Azienda spa e dei vincoli ambientali in un territorio geograficamente esteso in Europa occidentale (Italia) Quali domande ci dobbiamo porre? Quali possibili scelte abbiamo e come le decliniamo?
nowaday Apps
• Throughput • Reliability • Availability • Coverage
• Throttle & Load • Ubiquity • Services • Security
Devo fare storage locale? I dati sono “riservati”?
Come gestire il syncing?
end to end
off track
18
WiFi LTE 3,5G 3G Edge GPRS
Prevalentemente firewalled e natted
Da valutare complessivamente, partendo dalla numerosità, dalle caratteristiche e dalle scelte di ‘packing’ dei dati definite per supportare lo scenario di comunicazione operativo peggiore
Multibanda GSM o CDMA
server
Event. MPLS
1Mb/s ?Mb/s
Mai ne firewalled ne natted
può essere entrambe le situazioni, il progetto applicativo dovrebbe tenere conto della situazione peggiore e valutare il costo di sviluppo rispetto al costo operativo riguardo all’opportunità o meno di porre vincoli
Un esercizio 3
19
Dato un campo applicativo realizzare una applicazione per operatori sul campo per la distribuzione degli ordini di servizio e la raccolta del lavorato
degli obiettivi applicazione business che “scambia” dati con i sistemi centrali di Azienda spa e dei vincoli ambientali in un territorio geograficamente esteso in Asia centrale (poniamo Kazakistan) Quali domande ci dobbiamo porre? Quali possibili scelte abbiamo e come le decliniamo?
nowaday Apps
• Throughput • Reliability • Availability • Coverage
• Throttle & Load • Ubiquity • Services • Security
Devo fare storage locale? I dati sono “riservati”?
Come gestire il syncing?
end to end
off track
20
WiFi LTE 3,5G 3G Edge GPRS
Prevalentemente firewalled e natted
Multibanda GSM o CDMA
server
Event. MPLS
1Mb/s ?Mb/s
Mai ne firewalled ne natted
Da valutare complessivamente, partendo dalla numerosità e dalle caratteristiche e dalle scelte di ‘packing’ dei dati definite per supportare lo scenario di comunicazione operativo peggiore
<
PAG 21 Questo documento non deve essere riprodotto, né reso disponibile a terzi o alterato in ogni modo This document must not be reproduced, made available to third persons, or misused in any other way
Credits
Stefano Lambertini Altea S.p.A.
Villa Erica - Feriolo di Baveno (VB) Sedi: Torino – Milano – Bologna - Ancona
www.alteanet.it slambertini@alteanet.it
Layout grafico, pittogrammi e iconografie sono una produzione Altea S.p.A
Tutti i marchi riprodotti sono proprietà delle rispettive società