16 Maggio 2013 Windows Azure introduzione Gianni Rosa Gallina [email protected] Twitter: @giannirg Blog: http://giannishub.cloudapp.net/it/ Fabrizio Accatino [email protected] Twitter: @fhtino Sito web: http://www.fhtino.it Agenda Cos’è il Cloud? Modelli di Cloud-computing Piattaforma Windows Azure Web sites Cloud Services Virtual Machines Mobile Services Servizi applicativi di base Costi Come iniziare? Demo 2/32 Cos’è il Cloud? Con Cloud Computing si indica un insieme di tecnologie che permettono di usufruire di servizi distribuiti e virtualizzati in Internet, con modalità scalabili dinamicamente a seconda delle esigenze e degli scenari applicativi. I servizi sono forniti da provider che mantengono, gestiscono e garantiscono la disponibilità dell’infrastruttura hardware/software. l clienti possono utilizzare (e pagare) i servizi disponibili in base al consumo/utilizzo effettivo. 3/32 Modelli di Cloud-computing 4/32 Modelli di Cloud-computing 5/32 Piattaforma Windows Azure Piattaforma Microsoft di Cloud-computing Progettata per permettere ai clienti di focalizzarsi sulle proprie applicazioni ed esigenze, senza preoccuparsi anche dell’infrastruttura Flessibile Servizi IaaS, PaaS, SaaS combinabili Aperta Standard-based (es. MemCachD, AMQP, VHD, …) API REST per accedere ai servizi e alle funzionalità Linguaggi di sviluppo molteplici .NET Node.js PHP Python Java Ruby Open-source (Licenza Apache 2.0) http://github.com/windowsazure Solida Differenti Data-center sparsi per il mondo, ridondati, SLA garantita (99.95%) 6/32 Data-center nel mondo Servizi 8/32 Web Sites Servizio che permette la pubblicazione di siti web e web API Si possono sviluppare con: ASP.NET Node.js PHP Python Deploy in pochi secondi FTP Git TFS Altissima scalabilità Si può partire con un servizio gratuito (in VM condivise) Si può dinamicamente scalare a seconda del traffico 9/32 Cloud Services Permettono di sviluppare applicazioni e servizi scalabili pressoché all’infinito Web Roles (applicazioni web – siti, web API, servizi WCF) Worker Roles (servizi in esecuzione continua) Supportano architetture multi-tier complesse a piacere Front-end Back-end Virtual Machines Database Storage … Gestione dei servizi in maniera automatizzata Deploy, scaling, aggiornamenti, recovery 10/32 Cloud Services 11/32 Virtual Machines Simili ad un servizio di hosting tradizionale Macchine virtuali accessibili da remoto Linux (SSH) Windows (RDP) Gestione delle macchine a carico del cliente Si possono installare tutti i software/servizi di cui si ha bisogno Manutenzione/aggiornamenti di sistema manuali Supporto per PowerShell Storage persistente, affidabile e ad alte prestazioni Geo-replication VPN Portabilità VHD condivisibili tra ambiente Cloud e On-Premises 12/32 Mobile Services Insieme di servizi che permettono di realizzare rapidamente e facilmente back-end per applicazioni mobili Funzionalità principali built-in: Storage dati Gestione utenti provider di identità multipli (Microsoft, Twitter, Facebook, Google) Push notifications Script lato-server Javascript Pianificabili SDK nativi Windows 8 Store Apps Windows Phone apps iOS Android 13/32 Media Services Insieme di servizi che offrono funzionalità di encoding e streaming, basate sulla piattaforma Microsoft Media. 14/32 Servizi applicativi di base Gestiti da Microsoft, utilizzabili a consumo per lo sviluppo delle proprie soluzioni Sono utilizzabili indifferentemente da Virtual Machines Web sites Cloud Services On-Premises Se qualcosa manca, è sempre possibile utilizzare le Virtual Machines e installare/configurare quello che serve per le proprie necessità 15/32 Servizi applicativi di base Database Storage Service Bus Caching Identity 16/32 Database (SQL Azure) Motore di SQL Server nel Cloud Database relazionale tradizionale Configurazione in clustering per alta disponibilità, affidabilità e prestazioni Completamente gestito da Microsoft non servono sistemisti o figure professionali dedicate per l’amministrazione Manutenzione/aggiornamenti Supporto per SQL Reporting e SQL Data Sync Strumenti noti per gestione e query Visual Studio SQL Server Management Studio 17/32 Storage Pagamento a consumo Accesso tramite HTTP(S) RESTful Services Sono disponibili SDK per semplificarne l’utilizzo 100 TB per account (max 5 account/subscription) CDN (24 nodi) Differenti tipologie disponibili, in base all’uso Blob Drives Tables Queues 18/32 Blob File system ad alta disponibilità, sicurezza, scalabilità Utilizzabile per dati testuali o binari Geo-replication automatica tra data-center 19/32 Drives Volumi NTFS per istanze Azure Non-volatili Max. 1 TB per drive Utilizzabili per muovere facilmente applicazioni esistenti nel Cloud I volumi sono gestisti come Blob, ma in maniera trasparente all’utilizzatore 20/32 Tables NON SONO UN DB Relazionale Tipologia molto prossima a DB NoSQL I dati sono memorizzati come entità strutturate, non-relazionali, accessibili per chiave univoca In una Table possono essere inserite entità con schema differente Le Tables sono partizionate, per supportare loadbalancing su può nodi dell’infrastruttura 21/32 Tables 22/32 Service Bus Insieme di funzionalità che permettono di creare soluzioni e componenti altamente disaccoppiate Messaggistica asincrona Publish/Subscribe pattern Queues / Topics Notifiche (1-1, 1-N, N-N) Connettività Servizi e funzionalità di gestione (Endpoints/Discovery/ecc.) Integrazione con Access Control e Identity Federation Service Relay Comunicazioni Cloud/On-Premises (NAT/Firewall traversal) 23/32 Service Bus 24/32 Caching Cache In-memory, a bassa latenza e distribuita Alta affidabilità e prestazioni E’ possibile dinamicamente aumentate/ridurre la quantità di cache disponibile Supporto del protocollo Memcached Utilizzabile da tutti i servizi cloud 25/32 Identity Gestione autorizzazione/autenticazione Permette il Single Sign-on nelle proprie applicazioni Integrabile con Active Directory Graph REST API 26/32 Costi e considerazioni Il Cloud permette la gestione efficace ed economicamente vantaggiosa di applicazioni che necessitano di Rapida scalabilità Alta disponibilità Fault-tolerance Esempi tipici: Siti web Applicazioni Web di calcolo intensivo API Social Games 27/32 Costi e considerazioni Tipo di deploy Web Sites / Mobile Services Istanze condivise (gratuite fino a 10) Istanze dedicate (quante?) Istanze Cloud Services Dimensioni? Quante? Minimo 2 per ruolo per poter avere SLA 99.95% Virtual Machines Linux/Windows Dimensione? Quante? 28/32 Costi e considerazioni Banda Ingresso/inter-datacenter Uscita CDN Database Dimensioni? Quanti? Supporto Microsoft Storage Spazio occupato Geo-replication (abilitata o no?) Transazioni 29/32 Costi e considerazioni Media Services Banda dati elaborati Unità di elaborazione Service Bus Messaggi Ore di relay 30/32 Istanze Cloud Services Strumento utile per fare un po’ di stime: http://www.windowsazure.com/en-us/pricing/calculator/ 31/32 Come iniziare 32/32 demo Q&A grazie! Gianni Rosa Gallina [email protected] Twitter: @giannirg Blog: http://giannishub.cloudapp.net/it/ Fabrizio Accatino [email protected] Twitter: @fhtino Sito web: http://www.fhtino.it http://windowsazure.com