Paper presentazione social media

27
UNIVERSITÀ CÀ FOSCARI VENEZIA - INFORMATICA AWS (Amazon Web Services) Project work di Social Media Web e Smart Apps Alessio Emireni 840126 06/06/2014 AWS (Amazon Web Services)

Transcript of Paper presentazione social media

Page 1: Paper presentazione social media

Università cà foscari venezia - informatica

AWS (Amazon Web Services)

Project work di Social Media Web e Smart Apps

Alessio Emireni 840126

06/06/2014

AWS (Amazon Web Services)

Page 2: Paper presentazione social media

Indice1. Glossario.......................................................................................................................................................3

2. Che cos'è il cloud computing........................................................................................................................4

2.1 Il modello IAAS........................................................................................................................................6

2.2 Il modello PAAS......................................................................................................................................7

3. Che cos'è AWS..............................................................................................................................................7

4. L’infrastruttura.............................................................................................................................................7

5. Servizi offerti.................................................................................................................................................8

5.1 Compute & Networking..........................................................................................................................9

5.2 Storage & Content Delivery..................................................................................................................10

5.3 Database...............................................................................................................................................10

5.4 Sviluppo and Managment.....................................................................................................................11

5.5 Analytics...............................................................................................................................................12

5.6 App Services.........................................................................................................................................12

6. Esperienza diretta.......................................................................................................................................13

6.1 Creazione di un'istanza EC2..................................................................................................................14

6.2 Considerazioni sull'esperienza..............................................................................................................14

7. Quanto costa..............................................................................................................................................15

7.1 I costi in generale..................................................................................................................................15

7.2 Le unità di misura dei costi...................................................................................................................15

8. Cosa offre la concorrenza...........................................................................................................................16

9. Vantaggi......................................................................................................................................................16

10. Conclusioni...............................................................................................................................................17

11. Riferimenti................................................................................................................................................18

AWS Pagina 2

Page 3: Paper presentazione social media

1. Glossario CDN Content Delivery Network: rete per la consegna dei contenuti è un termine coniato

negli anni 90’ per descrivere un sistema di computer collegati in rete attraverso Internet, che collaborano in maniera trasparente, sotto forma di sistema distribuito, per distribuire contenuti agli utenti finali ed erogare servizi di streaming audio e video.

Clustering: consiste di computer connessi tra loro che lavorano insieme, in modo tale che siano visti come un singolo sistema.

Data model: modello di riferimento utilizzato in un database, come per esempio il modello relazionale per definire degli oggetti, attributi e delle classi.

Data warehouse: è un archivio informatico contenente i dati di un’organizzazione, progettati per consentire di riprodurre facilmente analisi e relazioni utili a fini decisionali-aziendali.

DevOps: è una metodologia di sviluppo del software che punta alla comunicazione, collaborazione e interpretazione tra sviluppatori e operatori dell’IT. Punta ad aiutare un’organizzazione a sviluppare in modo più rapido ed efficiente prodotti e servizi software.

Digital divide: è il divario esistente tra chi ha accesso effettivo alle tecnologie dell’informazione e chi ne è escluso, in modo parziale o totale. I fattori possono essere le condizioni economiche, livello d’istruzione e appartenenza a diversi gruppi etnici.

Disaster recovery: in informatica e in particolare nell’ambito della sicurezza informatica, si intende l’insieme delle misure tecnologiche e logistiche/organizzative atte a ripristinare sistemi, dati e infrastrutture necessarie all’erogazione di servizi di business per imprese a fronte di gravi emergenze che ne intacchino la regolare attività.

Elasticity: riferito ad un datastore, indica la flessibilità dei suoi data model e la capacità nel clustering.

Grid computing: infrastruttura di calcolo distribuito, utilizzati per l’elaborazione di grandi quantità di dati, mediante l’uso di una vasta quantità di risorse. In particolare permettono la condivisione coordinata di risorse all’interno di un’organizzazione virtuale.

Hyper-V: è il componente centrale, utilizzato nei sistemi Microsoft, di un sistema basato sulle macchine virtuali.

Istanza: nell’ambito della programmazione, si intende nella maniera più generica una regione di memoria allocata.

LDAP: è un protocollo standard per l’interrogazione e la modifica dei servizi di directory come un elenco aziendale di email o una rubrica telefonica o più in generale qualsiasi raggruppamento di informazioni che può essere espresso come record di dati ed organizzato in modo gerarchico.

Multitenancy: si riferisce ad una architettura software in cui una singola istanza del suddetto gira su un server ed è utilizzato da più di una clinet organization (tenant). E’ l’opposto di multi-istanza.

Provisioning: processo per preparare ed equipaggiare una rete nel caso in cui sopraggiungano nuovi servizi fruibili agli utenti.

AWS Pagina 3

Page 4: Paper presentazione social media

Sistema distribuito: indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui le comunicazioni avvengono esclusivamente tramite lo scambio di opportuni messaggi.

SSH: è un protocollo di rete che permette di stabilire una sessione remota cifrata tramite interfaccia a riga di comando con un altro host di una rete informatica.

*NIX: è l’abbreviazione di unix-like e indica tutti quei sistemi operativi che sono progettati seguendo direttive dei sistemi Unix descritte nella Single UNIX Specification ma che, per questioni legali, non possono usare il marchio UNIX.

2. Che cos'è il cloud computingPrima di addentrarci nello specifico del tema, è bene riassumere in poche battute il contesto nel quale si colloca AWS.Con cloud computing si è soliti designare un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio offerto da un provider al cliente, di memorizzare/archiviare e/o elaborare dati (tramite CPU o software) grazie all'utilizzo di risorse hardware/software distribuite e virtualizzate in Rete in un'architettura tipica client-server.L’architettura informatica del cloud computing prevede uno o più server reali, generalmente in architettura ad alta affidabilità e fisicamente collocati presso il data center del fornitore del servizio. Il fornitore del servizio espone delle interfacce per elencare e gestire i propri servizi. Il cliente amministratore utilizza tali interfacce per selezionare il servizio richiesto (ad esempio un server virtuale completo oppure solo storage) e per amministrarlo (configurazione, attivazione, disattivazione). Il cliente finale utilizza il servizio configurato dal cliente amministratore. Le caratteristiche fisiche dell’implementazione (server reale, localizzazione del data center) sono irrilevanti.Il cloud computing mostra le seguenti caratteristiche principali:

API (Application Programming Interface): accessibilità al software che permette alle macchine di interagire con i software di cloud nello stesso modo in cui si interagisce con le normali interfacce desktop, facilitandone l’utilizzo da parte di un utente

Costo: i costi con il cloud si riducono sensibilmente e nel caso di un cloud pubblico converte il capital expenditure (CAPEX) in operational expenditure(OPEX), cioè nei suoi costi di gestione.

Indipendenza dalla locazione e dal dispositivo utilizzato: permette all’utente di collegarsi da qualsiasi luogo, semplicemente utilizzando un browser, collegandosi con un qualsiasi supporto sia che esso sia un Pc desktop o un dispositivo mobile.

Virtualizzazione: le applicazioni possono essere tranquillamente trasferite da un server ad un altro.

Multitenancy: permette la condivisione di risorse e di costi a fronte di centralità per diminuire i costi, incremento delle prestazioni, utilizzo e efficienza in sistemi che utilizzano poche risorse.

Affidabilità: realizzata tramite sistemi ridondanti in modo da evitare il verificarsi di disastri e permettere la continuazione del proprio lavoro (disaster recovery).

Scalabilità ed elasticità: prepara la rete ad un possibile aggiornamento senza che l’utente debba considerare i picchi di lavoro del proprio server.

Performance: sono monitorate e consistono di interfacce presenti su servizi web messi a disposizione dal provider.

Sicurezza: è un fattore molto importante perché coinvolge molti utenti e i loro dati.

AWS Pagina 4

Page 5: Paper presentazione social media

Manutenzione: è molto semplice perché non bisogna installare nulla sui computer degli utenti.

La definizione della National Institute of Standards and Technology sul cloud computing identifica “five essential characteristics”:

1. On-demand self-service2. Broad network access3. Resources pooling4. Rapid elasticity5. Measured service

Nell'ambito del cloud computing si è arrivati a definire diversi modelli di erogazione dei servizi attraverso principi di cloud computing. Si possono distinguere tre tipologie fondamentali di servizi cloud computing:

SaaS (Software as a Service): consiste nell’utilizzo di programmi installati su un server remoto, cioè fuori dal computer fisico o dalla LAN locale, spesso attraverso un server web. Questo acronimo condivide in parte la filosofia di un termine oggi in disuso, ASP (Application service provider).

Daas (Data as a Service): con questo servizio vengono messi a disposizione via web solamente i dati ai quali gli utenti possono accedere tramite qualsiasi applicazione come se fossero residenti su un disco locale.

Haas (Hardware as a Service): con questo servizio l’utente invia dati a un computer che vengono elaborati da computer messi a disposizione e restituiti all’utente finale.

A questi tre principali service possono essere integrati altri: PaaS (Platform as a Service): invece che uno o più programmi singoli, viene eseguita in

remoto una piattaforma software che può essere costituita da diversi servizi, programmi, librerie, etc. (ad esempio Google App Engine).

IaaS (Infrastructure as a Service): utilizzo di risorse hardware in remoto. Questo tipo di cloud è quasi un sinonimo di Grid Computing, ma con una caratteristica imprescindibile: le risorse vengono utilizzate su richiesta o domanda al momento in cui una piattaforma ne ha bisogno, o vengono assegnate a prescindere dal loro utilizzo effettivo (ad esempio Google Compute Engine).

I principali modelli di sviluppo del Cloud Computing sono i seguenti: Private Cloud: i servizi di cloud computing sono erogati dalle aziende, o da un provider

esterno, unicamente all’azienda stessa e alle sue diverse unità (on-premise). Quello che conta è la fruizione dei servizi: l’infrastruttura può essere gestita o operata dall’azienda stessa o da un provider esterno, la proprietà può essere interna o esterna, ma i servizi devono essere appannaggio di un’unica organizzazione.

Public Cloud: i servizi di Cloud computing erogati attraverso la rete Internet da un service provider a diversi clienti. L’infrastruttura, la piattaforma, le applicazioni, sono di proprietà del service provider, sono gestite dal service provider e sono condivise con più clienti.

Community Cloud: i servizi di Cloud computing sono erogati da un’azienda o un service provider ad un gruppo ristretto di organizzazioni che condividono alcune caratteristiche come, ad esempio, livelli di sicurezza, norme legali, obbiettivi e così via. Anche in questo caso l’infrastruttura può essere gestita o operata da una delle aziende del gruppo o da un provider esterno.

Hybrid Cloud: i servizi sono costruiti su infrastrutture ibride che utilizzano la modalità privata per alcuni aspetti (conservazione dei dati) e la modalità pubblica per altri (interfacce di accesso).

AWS Pagina 5

Page 6: Paper presentazione social media

Distributed Cloud: il cloud computing può essere anche fornito da un set di macchine che stanno lavorando in differenti luoghi e sono connesse ad un singola rete o hub service.

Sorgono però alcune problematiche legate all’esposizione degli utenti a rischi legati a:1. Sicurezza informatica e privacy: memorizzare dati personali o sensibili, espone l’utente a

potenziali violazioni della privacy (ci si affida ad un provider estero); per i collegamenti wireless, il rischio sicurezza aumenta e si è maggiormente esposti a casi di pirateria informatica; e per ultimo tutti i dati memorizzati nelle memorie esterne sono esposti a eventuali casi di spionaggio industriale.

2. Problemi internazionali di tipo economico e politico: possono verificarsi quando dati pubblici sono conservati in archivi privati e ne è difficile l’accesso; alcuni archivi possono essere memorizzati in alcuni paesi ricchi è ciò comporta un aumento del digital divide tra paesi ricchi e poveri, e favorire principalmente grandi corporation con organismi policentrici e menti monocentriche.

3. Continuità del servizio: delegando un servizio esterno per la gestione dei dati e la loro elaborazione l’utente si trova fortemente limitato nel caso in cui i suddetti servizi non siano operativi (out of service) e colpirebbe un alto numero di utenti contemporaneamente dato che questi sono servizi condivisi. Anche se i migliori servizi di cloud computing utilizzano architetture ridondante utilizzando architetture ridondante e personale pronto e qualificato non si elimina del tutto il problema.

4. Difficoltà di migrazione dei dati: nel caso di una eventuale migrazione dei dati da un service provider all’altro non esiste uno standard definito tra i gestori dei servizi, e tutto ciò risulterebbe estremamente dannoso in caso di fallimento del gestore dei servizi cui ci si è affidati.

2.1 Il modello IAASCon IAAS (Infrastructure as a Service) si intendono tutti quei gestori che, utilizzando sistemi di virtualizzazione, mettono a disposizione servizi personalizzati per creare stack applicativi (web server, database ecc.) totalmente personalizzati, a partire dal sistema operativo in su. In poche parole, il gestore mette a disposizione un ambiente, più o meno amichevole, all'interno del quale è possibile la creazione assistita di istanze di macchine virtuali, o meglio appliances, come vengono chiamate da alcuni. L'approccio IAAS rende possibile un elevato livello di personalizzazione dell'ambiente. Per contro rimangono totalmente in carico all'utilizzatore gli aggiornamenti dei componenti applicativi (web server, database ecc.), la configurazione post-installazione del sistema operativo e ogni installazione di componenti aggiuntivi.L'utilizzatore di un servizio IAAS è particolarmente adatto a soggetti commerciali di medie dimensioni che, in caso di necessità, possono contare su di uno staff tecnico per la creazione di istanze totalmente on demand. Questo consente, di fatto, un notevole risparmio in termini in risorse hardware, poiché evita l'adozione di dispendiose infrastrutture hardware proprietarie che, tra l'altro, rimarrebbe, per il 90% del tempo sottoutilizzate. Adottare una soluzione di tipo IAAS permette di spendere solo per risorse effettivamente utilizzate, consentendo al contempo di gestire in maniera soddisfacente i picchi di utilizzo.

2.2 Il modello PAASIl modello PAAS (Platform as a Service) è caratterizzato da un assunto di partenza quasi opposto rispetto al modello IAAS. Se, da una parte, l'utente IAAS può essere immaginato come un system

AWS Pagina 6

Page 7: Paper presentazione social media

administrator l'utente di un servizio PAAS è di solito uno sviluppatore: qualcuno che vuole concentrarsi sul dettaglio implementativo.L'utente di un servizio PAAS si concentra su una particolare piattaforma di riferimento, a partire dalla quale costruire i propri servizi. Ciò permette di minimizzare i costi relativi al setup iniziale e alla distribuzione della propria applicazione.Utilizzando una piattaforma PAAS si riduce il costo della distribuzione delle applicazioni al minimo indispensabile. La progettazione e l'erogazione di un'applicazione di alto livello può comportare la risoluzione di problematiche di amministrazione di sistema molto complesse, il che si traduce nella necessità di avere a disposizione uno staff di sistemi qualificati che seguano, oltre alla messa in esercizio del prodotto, anche una manutenzione periodica, un monitoraggio costante dell'applicativo.L'utilizzatore di un servizio PAAS vuole risparmiare su questi costi di configurazione e manutenzione. Il know how necessario alla corretta gestione è attinto in massima parte dalla gestione dell'infrastruttura PAAS. Esempi di servizi PAAS sono: Windows Azure e Google App Engine.

3. Che cos'è AWSAWS non è un servizio, bensì una intera classe di servizi offerti ed amministrativi tramite una interfaccia comune. L'offerta di AWS comprende sia soluzioni IAAS, sia stack applicativi di tipo PAAS. L'interfaccia comune tramite la quale i servizi sono offerti è la console web di AWS, raggiungibile puntando il browser nell'indirizzo: https://console.aws.amazon.com/Il servizio IAAS per eccellenza di AWS è rappresentato dal servizio AWS EC2. EC2 sta per Elastic Computing Cloud, dove C2 è un gioco di parole: dall'acronimo ECC si passa ad EC2; così come dall'acronimo Simple Storage Service si passa a S3.EC2 è un servizio di AWS che fornisce un'infrastruttura web per disporre di macchine virtuali completamente on demand. Tramite EC2 è possibile configurare, avviare, spegnere e clonare istanze di macchine virtuali costruire totalmente secondo le proprie necessità. E' inoltre possibile avviare immagini già pronte messe a disposizione dalla comunità con le applicazioni più diffuse.Nei prossimi capitoli sarà approfondito in dettaglio il servizio EC2. Per il momento è meglio limitarci solo ad una panoramica generale dei servizi offerti ed alle utenze di riferimento.

4. L’infrastrutturaLa sezione dell’infrastruttura globale AWS è importante da citare, in quanto spesso viene dimenticata da chi effettua una catalogazione dei servizi. In realtà, l’infrastruttura AWS è essa stessa un servizio e non è un caso che per comprendere tutto ciò che verrà dopo, un benginner debba inizialmente comprendere come si struttura il network di AWS. Entrando più nel dettaglio, l’infrastruttura di Amazon AWS si suddivide in regions, availability zones ed edge locations. Imparando a comprenderne le differenze si intuisce, fin da subito, come Amazon AWS possa aiutare i clienti a supportare applicazioni tolleranti ai failure e agli avventi avversi, senza interrompere i servizi offerti.Le Regions sono indicate con i quadrati in azzurro trasparente. In pratica, ogni Region è un insieme indipendente di risorse AWS, geograficamente isolate l’una dall’altra e sparse in alcuni dei territori chiave del mondo. Ogni Region nasce con lo specifico intento di garantire le giuste condizioni di privacy e compliance. Fin da subito si avrà a che fare con esse, in quanto non tutti i servizi sono sempre disponibili nelle differenti Region in cui AWS è suddivisa. Attualmente, le Region sono 8, a cui si aggiunge una Region GovCloud che però è riservata alle sole agenzie governative. Per

AWS Pagina 7

Page 8: Paper presentazione social media

scegliere una Region, di solito si individua quella che risulta più vicina agli utenti finali, ossia coloro che utilizzeranno l’applicazione implementata sui servizi AWS. Quindi, se si ha l’intenzione di sviluppare un’app per i soli utenti italiani o europei, il consiglio è quello di affidarsi alla Region posizionata in Irlanda. Inoltre, può accadere che il prezzo di utilizzo di un servizio vari in base alla Region prescelta.All’interno di ogni Region, esistono le così dette Availability Zones. Si tratta di zone indipendenti che non condividono fra loro alcun punto di failure e tutte sono connesse fra loro attraverso una rete a bassa latenza. Le zone sono pensate come dei veri e propri sistemi di backup, poiché, per quanto inusuale, i guasti possono sempre avvenire. I clienti, quindi, hanno l’opportunità di sviluppare la propria app su differenti Zones nella Region prescelta e qualora si verifichi un guasto in una determinata Zones, l’applicazione rimarrebbe comunque online grazie alla presenza delle altre zone su cui è implementata. Nella mappa iniziale, le differenti Zones sono mostrate come quadratini blu appartenenti alle Regions.Infine, per quanto non ce ne si debba occupare direttamente, è bene introdurre anche la terza struttura del network, ossia le Edge Locations. Pensate a supporto dei servizi DNS, offerti attraverso il Web Services Route 53 e della CDN (Content Delivery Network) di CloudFront, le Edge Locations permettono di distribuire i contenuti e le app agli utenti nazionali con una latenza ridotta. Nel BelPaese, l’Edge Location nazionale è posizionato a Milano.Al di sopra dell’infrastruttura, vi sono i servizi di networking. A questi afferiscono tre services principali: Amazon Route 53, Amazon Virtual Private Cloud (VPC) e Amazon Direct Connect.

5. Servizi offertiI servizi offerti, com'è possibile vedere anche dalla Console AWS, sono suddivisi in cinque principali aree di riferimento:

Compute & Networking: in questo gruppo troviamo tutti i servizi per le risorse di computazione, quindi server virtuali in cloud (EC2), gestione di un DNS (Route53), risorse private e server virtuali non pubblici (VPC Virtual Private), connessioni dedicate con AWS (Direct Connect) e servizi di Desktop in Cloud (WorkSpaces).

Storage & distribuzione contenuti: qui troviamo tutti i servizi che riguardano la memorizzazione di dati online anche di grandi dimensioni. Servizio di storage (S3), storage studiato per i backup (Glacier), collegamento server aziendali con il cloud (Storage Gateway), distribuzione contenuti statici e multimediali (CloudFront).

Database: tramite questi servizi possiamo gestire dei database senza dover installare i software specifici sui nostri server virtuali e usufruire della scalabilità automatica di Amazon. Possiamo scegliere un database NoSQL fortemente scalabile (DynamoDB), un database relazione come MySQL e Microsoft SQL Server (RDS), sistema di caching RAM (ElastiCache) e un sistema di data warehouse ad altissima velocità (Redshift).

Sviluppo & Management: in questo gruppo troviamo i servizi che ci permettono di eseguire applicazioni, controllare alcuni aspetti dei servizi acquistati e gestire le autorizzazioni. Possiamo creare delle template di configurazione per la creazione di un’ambiente e le risorse necessarie (CloudFormation), controllare gli indicatori di performance e attivare delle azioni automatiche (CloudWatch), eseguire delle applicazioni scritte in vari linguaggi (Elastic Beanstalk), controllare e gestire tutte le autorizzazioni sia di identificazione che di accesso con (IAM), utilizzare lo sviluppo DevOps con (OpsWorks) e controllare tutte le chiamate API con (Cloud Trail).

Analytics: qui troviamo i servizi che effettuano delle analisi basandosi su delle grosse strutture dati e sulla suddivisione del carico di lavoro. Il primo servizio rilasciato per questo

AWS Pagina 8

Page 9: Paper presentazione social media

gruppo è (Elastic MapReduce) basato su un framework opensource chiamato Hadoops, ideale per data warehousing e financial analysis. Gli altri servizi che troviamo in questa sezione sono (Data Pipeline) e l’ultimo arrivato (Kinesis).

App Services: qui troviamo quei servizi che possiamo utilizzare chiamando direttamente delle applicazioni specifiche che girano nel cloud di amazon senza dover acquistare server virtuali o storage online. Servizio di spedizione posta elettronica anche per grandi volumi (SES), Servizio di notifiche tra diversi supporti e diversi servizi (SNS), motore di ricerca personalizzato per i propri dati (CloudSearch), distribuzione del carico di lavoro tramite code messaggi (SQS), conversioni video in differenti formati con (Elastic Transcoder) e pianificazione lavori con (SWF).

Ciascuna di queste aree novera un gran numero di servizi a disposizione, soprattutto se si considera il fatto che continuano a nascere servizi nuovi. Nei capitoli che seguono le analizzeremo in dettaglio.

5.1 Compute & NetworkingPer quanto riguarda l'area "Networking" l'offerta novera i seguenti servizi:

EC2: "Virtual Server in the Cloud", un servizio web che fornisce capacità di elaborazione dati in the cloud. Amazon EC2 fornisce tramite la virtualizzazione la possibilità di scegliere tra moltissimi sistemi operativi, servizi e banche dati già pronte per la propria applicazione. Il servizio EC2 può essere gestito tramite una console web o tramite la gestione delle API messe a disposizione da Amazon per essere usate in ambienti di programmazione. Amazon EC2 mette a disposizione anche una serie di sotto servizi per la gestione avanzata della nostra istanza virtuale, come ad esempio il bilanciamento del traffico, il disaster recovery, le copie di backup, la funzione di Auto Scaling ed altro ancora.

Route 53 "Scalable Domain Name System": una volta che avrete iniziato ad usare EC2, quando dovrete rendere accessibile la vostra istanza ad un pubblico di utenti, vi renderete conto che l'IP che Amazon vi assegnerà è un IP temporaneo. Sarete allora caldamente incoraggiati ad usare Route 53, che di fatto è il sistema di naming da usare con EC2.

VPC Virtual Private: un collegamento sicuro tra l’infrastruttura interna IT esistente di un’impresa e la nube AWS. Amazon VPC permette alle aziende di connettere la propria infrastruttura esistente con una serie di risorse Amazon Web Services attraverso la VPN (virtual private network), così da poter espandere molte funzioni tramite la tecnologia cloud. Ad esempio potremmo demandare alcune funzioni di elaborazione molto pesanti a dei server virtuali avviati nel cloud di Amazon, che comunque saranno raggiungibili solo dalla nostra rete interna e accessibili solamente dagli account della azienda.

Direct connect: sappiamo benissimo che uno dei punti deboli per il cloud computing in azienda, specialmente in Italia, è il collegamento e la banda internet, infatti i servizi di Amazon vengono molto apprezzati quando si tratta di risorse che devo essere pubbliche e vengono visti problematici quando bisogna implementare un’infrastruttura privata con collegamenti VPN in cloud. Per le aziende che necessitano di un collegamento sicuro è possibile tramite questo servizio creare una linea diretta tra l’azienda e il data center di Amazon più vicino, senza passare per la linea internet.

WorkSpaces: questo servizio è una valida alternativa alle strutture basate su VDI (Virtual Desktop Infrastructure), infatti mette a disposizione un completo ambiente desktop in cloud per i le risorse aziendali, le quali possono scegliere tra differenti tipi di configurazione. Amazon WorkSpaces supporta anche Active Directory per l’autenticazione degli utenti e, ovviamente, l’integrazione con le risorse aziendali mediante la rete Intranet. Sarà messo a disposizione anche un client per effettuar e un backup sicuro e veloce su S3.

AWS Pagina 9

Page 10: Paper presentazione social media

5.2 Storage & Content DeliveryPer quanto riguarda la parte relativa allo "Storage e distribuzione contenuti" l'offerta novera i seguenti servizi:

CloudFront: è un servizio web per il “content delivery” cioè la distribuzione di contenuto statico o in streaming ad alta velocità e con bassa latenza. La configurazione è molto semplice dato che è collegato automaticamente al servizio di Amazon S3 basta associare la risorsa che abbiamo memorizzato in un nostro buckets S3 al servizio CloudFront e automaticamente la risorsa sarà replicata nei “edge point” sparsi nel mondo, i quali verranno utilizzati per far fronte alle richieste che si troveranno geograficamente più vicine, quindi abbassando drasticamente la latenza generale.

S3 (Simple Storage Service): con questo servizio di “storage online” è possibile archiviare e recuperare grandi quantità di dati, in qualsiasi momento e da qualsiasi punto del web. Fornisce agli utilizzatori la possibilità di accedere alla stessa infrastruttura di storage dei dati, altamente scalabile, affidabile e veloce che Amazon utilizza per mantenere in funzione la propria rete internazionale di siti web. Questo servizio può essere utilizzato anche come forma sicura di backup, sia per gli altri servizi AWS come ad esempio EC2, ma anche come backup per server aziendali o postazioni personali.

Glacier (backup a basso costo): A differenza del servizio già esistente di Amazon S3 rappresenta una soluzione low-cost adatta alla memorizzazione di informazioni che riguardano le funzioni di backup. Sicuramente è un servizio ottimo per gli ambienti di rete aziendale, ma può essere usato anche per uso personale al posto di altri servizi come ad esempio Dropbox, l’importante è capirne bene le differenze e controllare la tabella dei costi. Questo servizio è stato studiato per la memorizzazione di informazioni che normalmente non devono essere riscaricate, se non per problemi di recupero informazioni. Se usato in questa maniera, i prezzi sono molto vantaggiosi e il costo è molto più basso rispetto ad S3, il quale è ottimizzato per la pubblicazione dei contenuti e non solo per la memorizzazione.

Storage Gateway: questo servizio è dedicato alle grandi aziende, permette di installare nella propria rete locale un software che si occupa della copia fisica dei dischi collegati ai server locali nell’ambiente storage di S3. Se si dovesse rompere qualche disco locale, possiamo ripristinarlo velocemente da Amazon S3 ed riavviare il sistema al suo funzionamento normale. Se invece dovessimo avere un guasto generale, possiamo avviare delle istanze su Amazon EC2 e ripristinare gli snapshot su volumi EBS.

5.3 DatabasePer quanto riguarda la parte relativa al "Database" l'offerta novera i seguenti servizi:

DynamoDB: questo servizio permette la gestione completa di un database NoSQL in un’ambiente di cloud computing. Un binomio eccezionale per la scalabilità e l’eliminazione di alcuni limiti presenti nei database relazionali. Questo servizio nasce dopo 15 anni di esperienza con SimpleDB e Dynamo usati nel sito di Amazon.com, i quali avevano comunque dei limiti sulla dimensione del dataset. Il servizio di DynamoDB non avrà limiti di dimensione e replicherà automaticamente i dati su tre data center differenti. Il servizio ci svincola anche dalle problematiche di backup e recovery.

RDS: Un servizio web che offre a costi accessibili la gestione di un database MySQL direttamente nel cloud da integrare con gli altri servizi AWS, oltre alla semplificazione delle attività di backup, ridimensionamento e patching. Con questa tecnica non saremo costretti ad installare un software di database server sulle nostre istanze virtuali, non dovremmo

AWS Pagina 10

Page 11: Paper presentazione social media

preoccuparci dell’allineamento automatico dei dati, e tanto meno della scalabilità in base al numero delle richieste effettuate. Tutti questi aspetti verranno gestiti automaticamente dal servizio di Amazon RDS.

ElasticCache: con questo servizio possiamo gestire in maniera molto semplice una funzionalità complessa come un cluster di caching RAM. Questo servizio è completamente compatibile con il cluster memcached. Infatti su un cluster memcached bisogna affrontare dei passaggi sistemistici abbastanza complessi, oltre al fatto che viene richiesta molta manutenzione di controllo e verifica in generale. Con il servizio di Amazon tutta questa gestione diventa molto semplice e incredibilmente scalabile. Si possono generare con pochi click server di cache con oltre 200Gb di RAM disponibile.

Redshift: con questo servizio possiamo crearci in pochissimi minuti un sistema di data warehouse ed eseguire tutte le query SQL di database che necessitiamo. Con questa soluzione si possono abbattere tutti i costi iniziali di un sistema data warehouse ed evitare tutte le complessità legate a questa tipologia di soluzione. Infatti utilizzando il servizio di Redshift possiamo pensare solo alla memorizzazione dei nostri dati sul cloud di AWS e non preoccuparci della complessità legata alla struttura hardware e alle problematiche di scalabilità e mantenimento di una infrastruttura costosissima.

5.4 Sviluppo and ManagmentPer quanto riguarda la parte relativa al "Deployment and Managment" l'offerta novera i seguenti servizi:

CloudFormation: con questo servizio è possibile creare delle template con un semplice linguaggio di scripting che permettono la creazione di configurazioni predefinite che possono essere usate per utilizzare delle istanze EC2 senza dover affrontare i vari passaggi di configurazione. Ad esempio potremmo preparare una template che configuri la partenza di una nuova istanza con uno specifico sistema operativo, elenco di software da installare e avvio dei servizi richiesti. Ad oggi sono presenti già diversi template pronti, tra i quali ad esempio anche WordPress e Drupal.

CloudWatch: uno degli aspetti fondamentali da tenere sotto controllo dopo aver sviluppato un’applicazione o un servizio web è quella di controllare le performance tramite un monitoring, non solo per quello che riguarda l’utilizzo dei dischi o della CPU, ma per molti altri parametri. Amazon CloudWatch è la soluzione di monitoring e allarmistica di Amazon Web Services. L’utilizzo di Simple Notification Service (SNS) permette l’invio degli allarmi tramite diversi supporti che possono essere attivati al raggiungimento di una soglia prestabilita, quindi essere avvisati immediatamente.

Elastic Beanstalk: il servizio di Amazon EC2 mette a disposizione solo potenza computazionale, la quale una volta configurata dal punto di vista sistemistico e con l’aggiunta di software specifico, può far girare qualsiasi applicazione. Per molte persone questo si traduce in un’inconveniente, perché bisogna farsi carico di tutte le problematiche legate alla configurazione e all’avvio dell’istanza virtuale prima ancora di preoccuparsi dell’applicazione. Proprio per questo Amazon ha sviluppato Elastic Beanstalk, che permette di caricare su AWS direttamente l’applicazione senza preoccuparsi di altri aspetti. In questo momento i linguaggi di supportati sono .NET, JAVA e PHP.

IAM (Identity and Access Managment): tramite questo servizio è possibile controllare e gestire in maniera sicura l’accesso ai servizi e alle risorse AWS da parte dei propri utenti. Usando IAM è possibile creare e gestire utenti e gruppi in AWS e utilizzare le autorizzazioni per consentire e/o negare gli accessi alle risorse AWS. Il servizio IAM permette anche l’integrazione con gli utenti esistenti nella propria rete aziendale, inoltre mette a

AWS Pagina 11

Page 12: Paper presentazione social media

disposizione una serie di API per la personalizzazione e la gestione delle autorizzazioni tramite dei programmi procedurali, sarà possibile gestire utenti, ruoli, permessi e credenziali.

OpsWork: OpsWorks è un servizio di gestione delle applicazioni creato per agevolare chi utilizza un modello di sviluppo DevOps. OpsWorks può scalare in maniera automatica l’applicazione e mantenere in salute l’infrastruttura sostituendo le istanze che si bloccano. OpsWorks a differenza di Beanstalk offre maggiore flessibilità e controllo, consentendo di personalizzare i tipi di server e servizi impiegati.

Cloud Trail: è un servizio web che registra tutte le chiamate API degli AWS generate da qualsiasi sorgente come console o applicazioni e scrive dei file di log. Vengono registrate la tipologia delle chiamante, l’ora delle chiamate, l’indirizzo IP di origine, i parametri di richiesta e gli elementi di risposta restituiti dal servizio AWS.Lo storico delle chiamata AWS API prodotto da CloudTrail consente un’analisi completa riguardo la sicurezza e di tracciare il cambiamento delle risorse AWS.

5.5 AnalyticsPer quanto riguarda la parte relativa all’ "Analytics" l'offerta novera i seguenti servizi:

Data Pipeline: questo è un servizio web che consente di elaborare e movimentare dati tra i diversi servizi AWS e da fonti di dati on-premise a intervalli specifici. Con AWS Data Pipeline è possibile accedere ai propri dati, trasformarli, elaborarli e trasferire poi il risultato ai vari servizi: S3, RDS, DynamoDB o MapReduce (EMR). Con AWS Data Pipeline, è possibile definire flussi di lavoro basati sui dati di modo che le attività correnti dipendano dal completamento e dallo stato delle attività precedenti.

Elastic MapReduce: è un framework software introdotto da Google per la computazione distribuita su grandi quantità di dati in cluster di computer. Il nodo Map prende la richiesta del problema e l’algoritmo di risoluzione, lo suddivide in tanti sotto-problemi differenti e li distribuisce a nodi diversi. Il nodo Reduce prende le risposte di tutti i sotto-problemi e prepara la risposta definitiva. In Amazon è possibile sperimentare questa tecnica prendendo a disposizione tutti i nodi di cui abbiamo bisogno e testare l’efficacia e la velocità di un nostro algoritmo di risoluzione.

Kinesis

5.6 App ServicesPer quanto riguarda la parte relativa all' "App Services" l'offerta novera i seguenti servizi:

CloudSearch: questo servizio permette agli utenti di ricercare contenuti all’interno di applicazioni o siti web in modo rapido ed efficace. La tecnologia CloudSearch è la stessa utilizzata da Amazon.com per le ricerche legate ai suoi prodotti, cerca di rendere gli sviluppatori, che desiderano integrare la ricerca nei loro siti, più liberi e svincolati dalle logiche dei motori di ricerca pubblici. Utilizzando questo servizio, gli sviluppatori potranno creare un dominio di ricerca e memorizzare tutte le informazioni in un database personale, per poi personalizzare tutte le fasi di ricerca.

Elastic Transcoder: è un servizio di Amazon Web Services che permette la conversione video direttamente nell’ambiente cloud, ovviamente non è un servizio adatto alla conversione dei filmati personali, che possiamo fare con un qualsiasi software installato direttamente sul nostro PC, qui parliamo di sviluppare un’applicazione web o aziendale capace di convertire in diversi formati un video immesso come file di input. Questa

AWS Pagina 12

Page 13: Paper presentazione social media

particolarità renderebbe più semplice la visualizzazione di un video memorizzato nel nostro cloud tra differenti device come ad esempio smartphones, tablets e PCs.

SES (Simple Email Service): permette l’invio di email tramite l’infrastruttura AWS, senza la necessità di server o postazioni dedicate. Questo è sicuramente un servizio dedicato alle aziende che devono fare azioni di Marketing tramite posta elettronica o devono gestire grandi mailing list. Chi utilizza il servizio EC2 può usufruire di 2000 email gratuite al giorno.

SNS (Simple Notification Service): è un componente molto importante dei servizi AWS e permette la notifica dei messaggi tramite diversi supporti. E’ stato aggiunto il supporto SMS mentre sono attivi da tempo Email, code dati e messaggistica HTTP/HTTPS. Ad esempio, la notifica è molto utile quando si strutturano sistemi in cluster, infatti è possibile, tramite questo componente, ricevere informazioni sullo stato di servizio da parte degli altri componenti e reagire di conseguenza.

SQS (Simple Queue Service): è uno dei primissimi servizi rilasciati da Amazon che permette tramite delle code messaggi presenti su uno o più server la distribuzione delle operazioni e quindi del carico di lavoro. Ad esempio potremmo avere un server che analizza una pagina web ed inserisce in una coda dati i riferimenti a tutte le immagini presenti in questa pagina, la coda viene analizzate da una serie di altri server che possono dividersi il lavoro e marcare il messaggio come elaborato.

SWF (Simple Workflow Service): è possibile creare un controllore di flusso per coordinare l’esecuzione di vari task secondo una logica predefinita in ambiente cloud. Questa particolarità permette il risparmio sulla scrittura di codice complesso che dovrebbe tenere sotto controllo tutte le fasi di elaborazione di un workflow che però è gestito da diverse macchine e diversi ambienti di elaborazione. Il servizio di Simple Workflow si prende carico di questa complessità e deciderà automaticamente i task da elaborare in base alle singole risposte di ogni singola unità di elaborazione.

Una panoramica sui servizi Amazon AWS e che risulta essere una guida video, molto utile la troviamo ai seguenti indirizzi URL:

Parte 1 https://www.youtube.com/watch?v=LjCao_SQWfE#t=2476 Parte 2 https://www.youtube.com/watch?v=8CkMhNPKA6c#t=136

6. Esperienza direttaIn merito ad un progetto per l’esame, visibile all’URL http://www.dsi.unive.it/~ammsis/2012-13/esami.html, svolto nell’anno accademico 2012/2013 con il professore del corso di amministratore di sistema, il professor Alessandro Memo, con il titolo di “Installazione e configurazione di SSH e LDAP utilizzando il servizio Amazon EC2”, è stato installato un server Linux su una istanza virtuale ospitata dal servizio Amazon EC2.

6.1 Creazione di un'istanza EC2Accedendo al sito www.aws.amazon.com basterà creare un account se non ne siamo ancora in possesso oppure ci si può autentificare con un account creato su www.amazon.it. Il costo del servizio è a consumo e viene tariffato ogni mese. Nel nostro caso, in un evento di H-Farm ci è stato offerto un buono di 100$, valido per un anno. Si parlerà del costo di questo servizio nel paragrafo successivo.Dopo aver acconsentito alla fatturazione dei propri servizi si accede alla console (AWS Managment Console) o se la sessione è già aperta basterà digitare sull’URL console.aws.amazon.com. A questo

AWS Pagina 13

Page 14: Paper presentazione social media

punto si aprirà una schermata con tutti i servizi offerti dall’azienda. Nel nostro caso specifico selezioniamo il servizio EC2 e potremmo accedere alla dashboard EC2, dove risiedono le statistiche che riguardano le risorse e i servizi attivi. Entrando nella sezione delle istanze sarà possibile lanciarne una. L’operazione di creazione di una istanza è molto semplice e semplificata da un Wizard che guida l’utente a selezionare quale versione di Linux si vuole installare, su quale architettura server, la zona dove voler installare il server (l’ubicazione fisica di tutti i server è in America), dettagli sui Kernel ID, la possibilità di aggiungere volumi EBS, creare le chiavi crittografate per poter accedere al server e infine nella schermata firewall si configura un gruppo di sicurezza nel quale si decidono le regole dei protocolli per permettere l’accesso alla macchina virtuale. Basterà attendere qualche minuto e l’istanza sarà pronta per essere subito utilizzabile dall’utente.Le operazioni successive sono molto tecniche e operate direttamente sul server e non c’è bisogno di addentrarsi nello specifico, perché andrebbero fuori dallo scopo del project work. A titolo solo informativo sulla macchina, dopo aver creato un sottodominio per facilitare l’accesso la server, sono stati installati i servizi SSH e LDAP (vedere il glossario per comprendere il significato del servizio).

6.2 Considerazioni sull'esperienzaLa guida permette l'accesso ad un database LDAP anche da remoto con SSH o LDAP installato su un client. Come le ben poche guide disponibili in internet, ci siamo prefissati l’obbiettivo, tramite immagini e spiegazioni dettagliate, di poter dare la possibilità di rendere immediati alcuni concetti anche ai neofiti del settore e di poter anche personalizzare ogni passaggio a proprio piacimento. I comandi così non dovranno essere semplicemente copiati ed incollati come si fa solitamente ma eventualmente riscritti e capiti per poter così affrontare problematiche future. LDAP risulterà essere talmente versatile e comodo che potrà essere utilizzato per memorizzare e gestire qualsiasi realtà aziendale anche via rete. In questo modo possiamo centralizzare la gestione dei dati con l'accoppiata utente/password per ogni servizio, sia esso unfile server, mail server, istant messagging, ecc…. Cosa ancor più potente è che la password sarà la stessa per ogni servizio. Per rendere il tutto orientato ad un ambito business, la macchina virtuale è ospitata nella piattaforma di hosting più potente al mondo, Amazon, che grazie all’orientamento cloud permette versatilità ed espansione con costi contenuti e direttamente proporzionali alla crescita della nostra azienda. Non dimentichiamo che per quanto riguarda la trasparenza economica ed assistenza tecnica ci troviamo forse di fronte ad una delle migliori aziende. Per quanta esperienza possa avere un sysadmin non potrà mai andare tutto liscio al primo comando. Tra le chicche più divertenti c’è stata la classica chiusura fuori dal server per l’errata configurazione di SSH dove ci siamo dimenticati, per poter garantire l’accesso anche senza chiave privata, di impostare oltre al parametro PasswordAuth yes anche StrictModes no. LDAP invece risulta essere un argomento di estrema importanza ma ostile a tutti, tanto che esiste una vasta documentazione e questo genera ancor più problemi. L’installazione infatti non è una delle più semplice fra i demoni di Linux e fra .conf ed .ldif ci sono molti file che vanno scritti a mano e molti comandi non sono proprio brevi od immediati. La password va assolutamente reimmessa uguale sia in fase di installazione di ldap che di configurazione tramite dpkg con conseguente obbligo di disinstallazione totale del servizio se questa regola non è rispettata. Provate per credere. Abbiamo perso parecchio tempo per cercare la chiave privata generata da cattool. Alcune volte il demone ldap ha bisogno di qualche minutino in più per essere operativo al 100%, non aspettiamoci che funzioni appena riavviato. Questa esperienza è risultata essere molto esaltante e molto produttiva vista la quantità di materiale prodotto.

AWS Pagina 14

Page 15: Paper presentazione social media

7. Quanto costaAnalizzare il costo completo del'intero stack di servizi AWS è piuttosto complicato. Vediamo di rispondere alle domande più comuni.

7.1 I costi in generalePer una disamina attenta dei costi, è bene conoscere le caratteristiche del singolo servizio (quelli di EC2, ad esempio, sono descritti alla pagina http://aws.amazon.com/ec2/pricing). I costi dipendono fortemente dal tipo di istanza al quale si fa riferimento. In generale, per quanto riguarda EC2, si parla di un costo orario intorno agli 8 centesimi di dollaro per istanze Linux "small" e 11.5 per le equivalenti Windows "small". I prezzi raddoppiano per istanze "medium", quadruplicano per "Large", ed arrivano fino a $0.640 all'ora per Linux, e $0.920 per le equivalenti Large su Windows.In sostanza, i costi sono in generale pesati sull'utilizzo orario di risorse fisiche.Come si è visto per EC2, si hanno dei modelli-tipo che fanno riferimento ad una fascia ben definita di impiego di risorse: CPU, memoria e spazio disco definiscono il modello di istanza (small, mini e così via). A partire da questo modello, il prezzo base contempla un numero di ore di utilizzo e di occupazione di banda. Ogni utilizzo sopra la soglia stabilita viene pagato come extra. In generale è bene analizzare sin da subito le proprie esigenze, in modo tale da limitare al massimo utilizzo di risorse oltre la soglia, perché in genere penalizza economicamente la scelta.Vista l'ampia gamma di sevizi offerti sotto l'egida di AWS, non sarebbe praticabile elencare tutte le casistiche di costi; ad ogni modo, i principi sono più o meno gli stessi per tutti i servizi offerti: esiste uno o più modelli di utilizzo, da scegliere con attenzione in base alle esigenze fondamentali; ogni utilizzo eccedente di banda, memoria, cpu, disco, numero di richieste, e così via, viene pagato extra in base ad un prezzario ben definito. Tutto è documentato sulla pagina del singolo servizio.

7.2 Le unità di misura dei costiL'unità di misura è chiaramente diversa da servizio a servizio, e generalmente viene riportata ad una tariffa oraria. Ad esempio, per l'utilizzo di DynamoDB abbiamo tariffe definite in base al Write Throughtput (1 centesimo di dollaro l'ora per 10 unità di "Write Capacity"). Non è dunque intuitivo stimare i costi complessivi a partire da questo genere di tariffe. Per questo si suggerisce di fare un buon utilizzo del free tier (ossia del periodo di prova gratuito). Il free tier permette di pesare le proprie esigenze, ed avere un campione di riferimento di quelle che sarà poi la metrica delle risorse utilizzate in ambiente di esercizio. Rimane da questo punto di vista accettabile, anche se coinvolge l'utilizzatore in questo delicato processo di valutazione dei costi, alla fine il conteggio risulta del tutto trasparente.Insomma non è semplice calcolare i costi di utilizzo di AWS; per i dettagli si rimanda alla documentazione ufficiale di Amazon, tenendo in considerazione anche il fatto che prezzi i vengano di tanto in tanto ritoccati.

8. Cosa offre la concorrenzaAmazon AWS si trova in diretta concorrenza con i maggiori colossi dell’IT come Windows Azure e Google App Engine. Vediamo cosa offrono i maggiori competitors.Windows Azure è una piattaforma e infrastruttura di cloud computing, creata dalla Microsoft, per costruire, sviluppare e dirigere applicazioni e servizi attraverso una rete globale di Datacenters controllati dalla Microsoft. E’ provvista di servizi Paas e Iaas e supporta differenti linguaggi di programmazione, tools e frameworks. La prima release risale al febbraio 2010. I servizi offerti vanno dall’hosting di siti web, macchine virtuali, servizi di cloud, data managment, business analytics, identità, messagistica, media services e mobile services. L’implementazione

AWS Pagina 15

Page 16: Paper presentazione social media

utilizza uno speciale sistema operativo che permette la gestione di diversi livelli che che utilizzano Windows server 2008 e Hyper-V, conosciuto come Microsoft Azure Hypervisor che virtualizza i servizi. La scalabilità e l’affidabilità sono controllate dal Microsoft Azure Fabric Controller in modo così che i servizi e l’ambiente non crashano se uno dei server va in crash e permette di monitorare le risorse utilizzate.Google App Engine è un PaaS (Platform as a Service) per sviluppare e hostare applicazioni web nel datacenter di Google. Le applicazioni girano su diversi server e sono sandboxed, cioè un meccanismo di sicurezza che separa i vari processi di un programma rilevandone e ispezionandone il contenuto. App Engine offre una scalabilità automatica per le applicazioni Web, allocando automaticamente più risorse all'applicazione a seconda del carico richiesto. La prima release risale al 2008 e la versione stabile è uscita quest’anno a Febbraio. Attualmente i linguaggi di programmazione supportati sono Python, Java, Go e PHP (questi ultimi due ancora in fase sperimentale).Comparandolo con altri servizi di hosting come Amazon EC2, App Engine fornisce molte più basi per rendere semplice la scrittura di applicazioni scalabili, ma ha un range limitato di applicazione che possono girare su queste infrastrutture. Altra differenza sostanziale è che l’App Engine richiede agli sviluppatori di utilizzare solamente il proprio linguaggio, le proprie APIs, e i framworks, mentre gli altri servizi permettono all’utente di installare e configurare qualsiasi software compatibile con *NIX. Infine il datastore dell’App Engine utilizza una sintassi chiamata GQL e non SQL come si potrebbe pensare.

9. VantaggiIl cloud computing porta con se una serie di vantaggi considerevoli sia dal punto di vista economico sia tecnico. Come più volte ribadito, il cloud computing è democratico, perché l’azienda che decide di dotarsi di un’infrastruttura IT, affittando tramite cloud le strutture dei provider ha innanzitutto un notevole risparmio sui costi perché non deve dotarsi di una propria infrastruttura hardware e software. Il risparmio si ha non solo sull’acquisto, ma anche sull’installazione, sulla manutenzione ed eventualmente sulla dismissione dell’infrastruttura. Ad esempio si risparmia sui costi di un sistema di ventilazione adatto ad una sala server, sui costi elettrici per il mantenimento della sala, sui costi di intervento tecnico, sui costi di sostituzione degli hardware, sui costi di gestione dei backup, sui costi di connettività da e verso i server e sui costi del personale IT. A fronte di questo risparmio, il cloud computing e il modello Amazon AWS offrono il vantaggio del pay-per-use, ovvero si pagano solo le risorse che effettivamente vengono utilizzate.Non vi sono dunque investimenti iniziali e nessun obbligo contrattuale. Amazon in questo rappresenta il migliore modello di pagamento delle risorse, con una fatturazione che rispecchia l’uso che si fa della sua struttura.Al contrario, chi invece si dota di una sua infrastruttura, spesso effettua un investimento in risorse che vengono sfruttate solo parzialmente, con uno spreco di denaro che può arrivare anche al 90% a causa del loro inutilizzo. Infine non occorre assumere personale specializzato che si occupi della gestione dell’infrastruttura hardware/software perché questa è a carico della società che fornisce la piattaforma cloud. L’azienda, così, può concentrarsi sul suo core business.Come conseguenza del modello pay per use, si va incontro ad un ulteriore vantaggio: la scalabilità.Nel caso si abbia bisogno di più risorse, la piattaforma cloud provvederà ad allocarle in base alle richieste. Le API che consentono questo bilanciamento e adattano l’infrastruttura al bisogno computazionale sono raggiungibili in Amazon AWS anche dalle applicazioni del cliente.Infine, un ultimo vantaggio riguarda la sicurezza dei dati: le società che offrono servizi di cloud computing sono molto affidabili e spesso prevedono servizi di Disaster Recovery per recuperare i

AWS Pagina 16

Page 17: Paper presentazione social media

dati nel caso i data center dovessero subire qualche crash. In molti considerano l’aspetto della sicurezza più uno svantaggio che non il contrario perché temono che i dati, essendo memorizzati nel cloud, possano essere accessibili da parte di chi offre e gestisce la piattaforma. L’affidabilità e la buona fede da parte della società di cloud computing, quindi, è un elemento essenziale perché se si verificasse una qualsiasi fuga di informazione, non importa se dovuta a problemi interni o ad attacchi informatici, metterebbe a rischio la sua credibilità con tutto quello che ne consegue.

10. ConclusioniTra i servizi remote computing, che insieme costituiscono piattaforme di cloud computing, AWS di Amazon ha conquistato una posizione predominante. Questo non rappresenta di certo una novità; ciò che può risultare sorprendente, però, è quanto AWS sia fortemente sovrastante rispetto agli altri fornitori dei simili servizi cloud.Secondo una nuova analisi Gartner, AWS offre cinque volte la capacità degli altri 14 fornitori di servizi cloud combinati tra loro e presi in considerazione da Gartner. Il fatto ancor più sorprendente è come questo risultato sia stato raggiunto spendendo in costi per le infrastrutture meno di quanto non abbiano fatto Google e Microsoft.Dal 2005, Google ha speso 20,9 miliardi di dollari per la sua infrastruttura mentre Microsoft poco meno di 18 miliardi. Amazon solo 12 miliardi.Questo sembra essere soltanto l’inizio che significherebbe per i concorrenti di Amazon un ulteriore divario. Gli investimenti della piattaforma e-commerce, infatti, continuano ad aumentare. Se con un investimento migliore è riuscito a ottenere 5 volte le capacità strutturali degli altri 14 concorrenti combinati insieme, ci si chiede fin dove possa arrivare con ulteriori introiti. Questo dovrebbe anche tranquillizzare molti analisti preoccupati per anni delle spese di Amazon che invece, dal canto suo, sembra consapevole del valore raggiunto rispetto alla concorrenza.Amazon Web Services ha quello che sembra essere un vantaggio inattaccabile, costruito non sulle spese per investimenti superiori ma una profonda comprensione di ciò che gli sviluppatori vogliono. Rendendo AWS relativamente facile da utilizzare e poco costoso, la piattaforma ha sfruttato al meglio i propri investimenti.Anche se per mantenere tale vantaggio, Amazon sembra avere dato un’accelerata al suo piano di finanziamenti. Secondo un analista di Redmonk, Stephen O’Grady, però, se tale piano di investimenti sarà finalizzato ad implementare “la caratteristica più importante del cloud computing: una modalità di accesso semplice” ed investire sugli sviluppatori, Amazon potrà mantenere senza problemi la sua leadership nel mercato del cloud computing.

11. Riferimenti http://en.wikipedia.org/wiki/Amazon_Web_Services http://www.hostingtalk.it/amazon-aws-e-levoluzione-dal-commercio-elettronico-al-cloud-

computing_-c0000062S/ http://www.hostingtalk.it/amazon-aws-il-perche-dellarchitettura-ebs-e-le-differenze-con-

s3_-c0000064A/ http://www.hostingtalk.it/amazon-aws-tutti-i-servizi-spiegati-passo-dopo-passo-i-parte_-

c00000636/ http://it.wikipedia.org/wiki/Cloud_computing http://en.wikipedia.org/wiki/Cloud_computing http://www.dsi.unive.it/~ammsis/2012-13/esami.html

AWS Pagina 17

Page 18: Paper presentazione social media

http://www.techeconomy.it/2013/08/22/aws-di-amazon-si-conferma-leader-del-mercato- cloud/

https://otherplus.com/tech/guide/amazon-aws/ http://www.slideshare.net/AmazonWebServices/viaggio-attraverso-il-cloud-cos-aws http://www.html.it/articoli/cos-e-il-cloud-2/ http://en.wikipedia.org/wiki/Microsoft_Azure http://en.wikipedia.org/wiki/Google_App_Engine http://www.ilsole24ore.com/art/tecnologie/2013-11-06/amazon-web-services-cloud-

risorsa-innovare-092814.shtml?uuid=ABeTtnb http://www.stenoweb.it/it/ubuntusbs “Ubuntu Small Business Server” di Stefano Rigo https://www.youtube.com/watch?v=LjCao_SQWfE#t=2476 https://www.youtube.com/watch?v=8CkMhNPKA6c#t=136

AWS Pagina 18