View
188
Download
0
Category
Tags:
Preview:
DESCRIPTION
Uno dei principali vantaggi che la piattaforma di Azure offre è la possibilità di scalare rapidamente le applicazioni in the cloud, in risposta alle fluttuazioni di carico. Normalmente si scalano website o cloud services, ma se invece abbiamo le nostre applicazioni hostate su una Virtual Machine e le vogliamo scalare orizzontalmente? Anche questo è possibile. Vedremo come realizzare una WebFarm bilanciata che scala in base alle reali necessità di carico usando gli strumenti che Azure mette a disposizione, sia su IaaS che su PaaS.
Citation preview
Una Web Farm bilanciata e scalabile con Microsoft Azure
Davide Benvegnù
@davidebenvegnu
Chi sono
Speaker a eventi nazionali (Community Days, Dev Camp, SMAU…)
Trainer (a breve 2 corsi su Microsoft Virtual Academy)
Main Fields: Azure e VSALM (Team Foundation Server e Visual Studio Online)
DAVIDE BENVEGNU’International Development Manager – Aruba
Freelancer – DBTek.it
Altro
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Agenda
Web FarmConcetti chiave
Perché «Bilanciata e Scalabile»?
Ieri: Web Farm on-premises
Oggi: Web Farm su Cloud IaaS con le Virtual Machine
Domani: Web Farm su PaaS?
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Web Farm
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Web Farm: Concetti chiave
• Insieme di Server che forniscono un servizio Web
• Web sites, Web app, API, web services & more
• Panorama web eterogeneo • Tecnologie
• Framework
• Linguaggi
• Deve essere scalabile
• Deve essere bilanciata
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
(dovrebbe…)
Web Farm: Scalabile
• Horizontal scale• Quantità
• Up scale: incrementare il numero delle istanze
• Down scale: decrementare il numero delle istanze
• Vertical scale• Qualità
• Up scale: incrementare le dimensioni dell’istanza
• Down scale: decrementare le dimensioni dell’istanza
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Web Farm: Bilanciata
• Load Balancing• Distribuzione delle richieste
• Mantenimento delle performance
• Riduzione dei rischi di DoS
• HA• Disponibilità del servizio
• Definizione di SLA
• Failover e Fault-tolerance
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Ieri: Web Farm on-premises
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Scenario tipico
• Tanti Server Web
• Separazione tra DMZ e MZ
• Apparati di rete (Switch, Router)
• Bilanciatori
• Devo preoccuparmi di tutto:• Connettività adeguata
• Raffreddamento adeguato
• Sicurezza
• Manutenzione
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Scalabilità e Bilanciamento on premises
• Aggiungo server (Up scale)• + Costi
• + Spazio
• Aggiungo componenti (Up scale)• + Costi
• Le possibilità dipendono da server e form factor
• Tolgo server / Tolgo componenti (Down scale)• Ma i Costi? Ho comprato, me lo tengo
• E per connettività, raffreddamento, infrastruttura… ?
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Oggi: Web Farm su IaaS
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
I vantaggi del Cloud
• Scalabilità virtualmente infinita
• Provisioning e deprovisioning delle risorse in minuti
• Pago solo quello che utilizzo (Pay-per-use)
• SLA normalmente più alti che on-premises
• Non mi devo preoccupare di :• Connettività e apparati di rete
• Raffreddamento e gestione Data Center
• Sicurezza del Datacenter
• Infrastruttura
• Manutenzione
• …
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Perché Azure?
• Rete globale di 17+ Datacenter • 8 USA, 4 Asia, 2 Europa, 2 Oceania, 1 Sud America
• Oltre alle VM, tanti servizi a supporto della Web Farm• CDN, Traffic Manager, Storage, Database, VPN…
• Hybrid Cloud
• Oltre il 53% delle società Fortune 500
• SLA globale 99,95%
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
IaaS
• Infrastruttura come servizio
• Server Virtual Machine
• Windows e Linux
• Tutto gestito, tranne sistemaoperativo e software installato
• Scalabilità orizzontale• Manuale
• Automatica (in base al carico)
• Schedulata
• Scalabilità verticale
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Web Farm scalabile e bilanciata su Azure IaaS
• Auto Up scale all’aumentodel carico
• Auto Down scale alladiminuzione del carico
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
E per l’HA e la disponibilità?
2 scenari:
1. Tutte le istanze attive• Al fallimento, disattiva la route
• Bilanciamento attivo sulle altre
• Al recovery, riattiva la route
2. Non tutte le istanze attive• Al fallimento, disattiva la route
• Attiva un’istanza «in stand-by»
• Al recovery…
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Come si crea: best practices
1. Creare una VM ed assegnarla ad un «Availability Set»
2. Configurare la VM con tutto quello che serve
3. Sysprep e «cattura» del disco master
4. Creare tutte le VM necessarie usando il disco master
5. Su una delle VM settare tutti gli endpoint (porte 80, 443, …) ed
impostarli come «Load-balanced set»
6. Aggiungere gli endpoint alle altre VM associandoli ai set
bilanciati
7. Configurare l’autoscale (criteri ed istanze minime)
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Domani: Web Farm su PaaS?
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
PaaS
• Intero stack completamentegestito
• Non mi devo preoccupare dinulla se non del mio layerapplicativo
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Azure PaaS: Web sites
• Multi linguaggio: .NET, Java, PHP, Node.js, Python, …
• Autoscale e Load balancing
• High availability e auto patching
• Continuos deployment con Ftp, Git, TFS, Visual Studio Online, GitHub, TeamCity, …
• Ambienti di test multipli e privati
• Switch Staging – Produzione senza downtime
• Istanze Free, Shared e Dedicate
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Azure PaaS: Web sites Shared
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
1SHARED INSTANCES
shared
• Web App ospitata su istanze condivise con altri utenti
Azure PaaS: Web sites Shared
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
2SHARED INSTANCES
shared
• Web App ospitata su istanze condivise con altri utenti
• Up Scale (manuale): deploydella Web App all’interno della stessa infrastruttura
Azure PaaS: Web sites Reserved
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
SHARED INSTANCES
1RESERVED INSTANCE
0reserved
• Web App ospitata su istanza dedicata • Web App ospitata su istanze condivise con altri utenti
• Up Scale (manuale): deploydella Web App all’interno della stessa infrastruttura
Azure PaaS: Web sites Reserved
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
2RESERVED INSTANCERESERVED INSTANCE
reserved
• Web App ospitata su istanza dedicata
• Auto scale in base a carico o schedule
Azure PaaS: Web sites Reserved
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
2RESERVED INSTANCE RESERVED INSTANCE
reserved
• Web App ospitata su istanza dedicata
• Auto scale in base a carico o schedule
• Più di una Web App per istanza
• Di fatto, come con le VM ma fullymanaged
Azure PaaS: Web sites - Altro
• Protezione• HTTP con certificati SSL
• IP e SNI based SSL (con wildcard)
• WebJobs
• Backup automatici • Incluso Data-tier
• Strumenti di monitoraggio avanzati
• Integrazione con Application Insights
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
DEMO
06 novembre 2014Una Web Farm bilanciata e scalabile con Microsoft Azure
Recommended