ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 50
Abonament PDF

Azure CDN – Prezentare de ansamblu

Radu Vunvulea
Solution Architect
@iQuest



PROGRAMARE

Articolul prezintă Azure CDN din trei puncte de vedere:

Scopul principal al articolului este să evidențieze ce se poate şi ce nu se poate face cu Azure CDN.

Azure CDN - Funcţionalitate şi feature-uri disponibile

Dorim să prezentăm funcţionalitatea şi feature-urile disponibile în momentul de faţă (Q3, 2016) în Azure CDN.  Pe pagina web Azure, veţi găsi multe informaţii utile şi sunt sigur că deja aţi consultat-o.
Comparativ cu ultimii ani, Microsoft face acum un mare pas, semnând contracte cu Akamai şi Verizon (furnizori majori de servicii CDN).

Aceasta a fost o alegere foarte bună, deoarece e nevoie de mulţi bani şi de mult efort pentru a-ţi dezvolta propriul CDN. Sunt anumite lucruri pe care nu e nevoie să le dezvolţi sau să le creezi de unul singur dacă nu ai nevoie de feature-uri customizate. 
Nu aveţi nevoie de un contract cu fiecare furnizor. Aveţi nevoie doar de un abonament Azure (Azure Subscription), fără a fi nevoie de un contract sau de o factură de la Akamai sau Verizon.

În general, feature-urile CDN oferite de aceştia sunt similare. Există mici excepţii, cares-ar putea să (nu) aibă impact asupra afacerii dumneavoastră.  Pe baza listei de feature-uri disponibile, putem spune că Akamai este varianta basic, în timp ce Verizon are nişte trăsături adiţionale. Ambele oferă funcţionalitatea de bază cerută de CDN.

Elementele Verizon care sunt disponibile doar pe Azure CDN sunt:   

  1. Rapoarte privitoare la lungimea de bandă, statusul Cache, erorile de cod HTTP ş.a.m.d. .
  2. Acces restricţionat la conţinut, în funcţie de ţară/zonă. Verizon vă permite să specificaţi o listă de ţări (DE, UK) sau zone (EU, AP - Asia/Pacific) care (nu) pot accesa conţinutul. Filtrarea se face pe baza IP-ului de client şi se stabileşte per director. E bine de reţinut că această regulă se aplică recursiv la nivel de folder, că nu există suport pentru wildcards şi că poţi specifica o regulă per folder (care poate conţine ţări sau zone multiple). Deoarece regula este recursivă, dacă definiţi o regulă de nivel inferior -doar regula de pe sub-folder se va aplica - un simplu motor de reguli.
  3. Puteţi pre-încărca conţinut în cache. În mod normal, conţinutul este încărcat în cache, doar când acesta este solicitat prima oară. Azure CDN de la Verizon ne permite să specificăm conţinutul pe care vrem să îl pre-încărcăm. Nu uitaţi că trebuie să specificaţi exact fişierul pe care doriţi să îl pre-încărcaţi şi că puteţi pre-încărca maxim 10 fişiere pe minut (per profil).  Există suport pentru expresiile regulare, dar fiecare rezultat trebuie să fie o cale relativă la un fişier.

În continuare, vom prezenta feature-urile pe care Azure CDN de la Akamai şi Azure CDN de la Verizon le au în comun:

  1. Suport HTTP
  2. Protecţie DDOS
  3. Dual Stack suport (IPv4 şi IPv6)
  4. Query String Cache - Se referă la modul în care conţinutul este disponibil în memoria cache, când calea este o interogare şi nu este statică. Există trei opţiuni disponibile care ne permit să folosim memoria cache pentru fiecare interogare unică, să ignorăm şirul de interogări şi să nu punem în cache URL-urile care conţin şiruri de interogări. Ultima opţiune este extrem de utilă.
  5. Fast purge - Ne permite să curăţăm cache-ul, chiar dacă TTL-ul (Time To Live) conţinutului nu a expirat. Curăţarea se poate realiza de pe Azure Portal, PowerShell sau prin REST API.
  6. REST API pentru configuraţia CDN (precum şi pentru toate celelalte Servicii Azure)
  7. Suport pentru nume customizat de domeniu
  8. Folosirea memoriei cache pentru conținutul din Azure Storage. Accesul la Azure Storage se face folosind REST API. Astfel putem pune în cache blob-uri (cache blobs) și chiar tabele Azure (AzureTables) atâta timp cât ştim că este vorba de un conţinut static.

Azure CDN de la Verizon este disponibil în două versiuni, Standard şi Premium. Bineînţeles, exceptând preţul, există feature-uri disponibile doar pentru versiunea Premium, precum:

  1. Status CDN în timp real - Este util dacă aveţi nevoie de date în timp real care au legătură cu lungimea de bandă, număr de conexiuni, coduri de eroare şi status cache. E bine ca această informaţie să fie disponibilă pentru CDN, dar, în mod normal, ne putem desfăşura activitatea fără această informaţie.
  2. Rapoarte Avansate - Acestea sunt rapoarte detaliate, de natură geografică, legate de trafic şi de numărul de vizualizări unice, pe zi, pe oră, pe fişier, pe tip de fişier, pe director ş.a.m.d.
  3. Comportament customizabil HTTP bazat pe regulile dumneavoastră.

După cum se observă, sunt multe feature-uri disponibile pentru Azure CDN. Pentru situaţii obişnuite, puteţi folosi produsul fără probleme.

Azure CDN - Feature-uri absente

Vom analiza funcţionalităţile sau feature-urile pe care nu le avem în Azure CDN, deşi, de multe ori, presupunem că acestea sunt disponibile.

Suport SAS pentru stocarea de blob-uri

Funcţionalitatea considerată disponibilă n Azure CDN este Shared Access Signature pentru Blob Storage. Shared Access Signature (SAS) este unul dintre cele mai des utilizate și dintre cele mai puternice feature-uri pentru Blob Storage. În cadrul Azure CDN avem posibilitatea de a pune în cache un blob utilizând URL-ul complet, incluzând URL-ul.
Datorită acestui fapt, oamenii au impresia că Azure CDN ţine cont de validitatea SAS și, odată ce SAS expiră, cache-ul va fi invalidat.
De fapt, în momentul actual Azure CDN tratează URL-ul unui Blob Azure care are SAS ca pe oricare alt URL. Dacă conţinutul poate fi accesat, acesta va copia payload-ul și îl va replica pe CDN. Conţinutul va fi îndepărtat din nodurile CDN doar când valoarea TTL din CDN, care nu are legătură cu SAS, expiră.

HTTPS pentru domenii customizate DNS

Chiar dacă Azure CDN oferă suport pentru DNS customizat, precum și penru HTTPS, nu înseamnă că puteţi utiliza HTTPS folosind numele dumneavoastră de domeniu. Poate părea bizar faptul că două trăsături sunt suportate, însă nu este suportată combinaţia dintre cele două.
Astfel, dacă aveţi nevoie de HTTPS, trebuie să folosiţi Azure CDN DNS. Acest feature este extrem de votat și dorit pentru CDN, pe Azure Voice, de aceea, va avea suport în curând.

Certificate de tip client HTTPS

Când utilizaţi Azure CDN, trebuie să vă amintiţi că, deși se oferă suport pentru HTTPS, în acest moment, suportul lipsește pentru certificatele de tip client. Puteţi utiliza doar certifcate SSL furnizate de CDN.
Din acest motiv, nu avem suport pentru certificatele de tip client pe domenii DNS customizate pentru Azure CDN, dar lucrurile se vor îmbunătăţi în curând.

HTTP/2

Noul protocol de Internet - dacă îl putem numi așa - nu are încă suport. în general, acest lucru nu este o piedică, cu excepţia situaţiei în care aveţi o aplicaţie web complexă și doriţi să diminuați numărul interogărilor făcute de browser-ul client. În aceste situaţii, utilizarea Azure CDN s-ar putea să nu fie foarte simplă, dar există soluţii temporare la acestea.

Fallback la URI customizat

Unii furnizori CDN ne dau posibilitatea să specificăm un URI care se poate folosi pe post de fallback când conţinutul nu este găsit în locul originar. Acest lucru este util când lucraţi cu o aplicaţie în care disponibilitatea de timp este critică și trebuie să furnizaţi o locaţie validă pentru tot conţinutul.
Evident, cu puţină imaginaţie, puteţi rezolva această problemă destul de ușor. Dacă poziţionaţi Azure Traffic între Azure CDN și conţinutul dumneavoastră, veţi putea specifica o listă de URI-uri, de rezervă.

Logurile de acces ale CDN conţin date brute

Multe persoane solicită acces la datele brute ale log-urilor, similar lui Azure Storage. Acesta ar putea fi un feature util, dar am câteva îngrijorări.

Principalul scop CDN este să realizeze un cache și să servească conţinutul deseori solicitat dintr-o locaţie cât se poate de apropiată de client. Se folosește în cazurile în care RPS (requests per second/interogăripe secundă) este ridicat. Generarea unui fișier cu date brute ar putea să fie scump și s-ar putea ca rezultatul să fie niște log-uri care sunt mari. Procesarea acestor fișiere s-ar putea să fie scumpă.

Este important să ne amintim că unele dintre aceste feature-uri sunt deja planificate de echipa Azure, iar, în viitorul apropiat, s-ar putea să le găsim în Azure CDN. De asemenea, nu uitaţi că o soluţie la cheie (out-of-the-box) este greu de găsit, deși este posibilă cu puţină imaginaţie.

Azure CDN - Soluţii care suplinesc feature-urile absente

Vom analiza feature-urile Azure CDN care lipsesc în acest moment. Le-am discutat în ultima postare, iar aici le vom explica.

Suport SAS pentru stocarea blob-urilor

Dacă aveţi nevoie de un sistem CDN care oferă suport pentru SAS, pe lângă Azure Store, trebuie să daţi dovadă de inventivitate. Cea mai simplă soluţie este replicarea conţinutului în conturi Azure Storage multiple (Azure Storage Accounts) sau în același cont Storage (Storage Account) (dacă problema ţine de viteza de descărcare/download) și să creaţi un web endpoint (ce poate fi găzduit de un web app) care va furniza locaţiile de unde conţinutul poate fi descărcat.
Acest web endpoint poate avea un mecanism Round Robin pentru a deservi diverse locaţii.

Utilizând această abordare, veţi avea nevoie și de un mecanism care replică conţinutul în locaţii multiple. AzCopy s-ar putea să fie o soluţie la cheie (out-of-the-box).

HTTPS pentru domenii customizate

Azure CDN și Azure Storage utilizează același sistem de stocare. În acest moment, nu avem suport pentru HTTPS și pentru domenii customizate DNS (Custom DNS Domains). În acest caz, dacă realmente aveţi nevoie de HTTPS, singura soluţie este ca deservirea conţinutului să fie făcută de pe Azure Web App. Nu avem multe opţiuni momentan.

Certificate de client HTTPS

Scenariul este similar cu cel anterior. Nu avem multe opţiuni. Cel mai bine este să folosiţi o Azure Web App și să deserviţi conţinutul binary de acolo.

HTTP/2

Nici o soluție, la fel ca și la Azure Web App.

Fallback la URI customizat

Pentru aceste situaţii, avem o soluţie simplă. Putem aplica abordare prezentată în exemplul SAS Suport. Trebuie să avem aplicaţii web Azure multiple (Azure Web Apps) care pot deservi locaţia conţinutului și care pot adăuga Azure Traffic Manager în faţa lor.

Log-urile de acces ale CDN conţin date brute

Dacă aveţi nevoie de aceste log-uri, trebuie să folosiţi Azure Blob Storage. Ar trebui să folosiţi abordarea de mai sus şi să activaţi log-urile pentru fiecare cont de stocare Azure (Azure Storage Account).

După cum putem vedea, există multe feature-uri disponibile în Azure CDN. Evident, nu vom putea găsi o soluţie perfecă care să ne asigure toate lucrurile de care avem nevoie. Acest lucru e valabil şi pentru Azure CDN. Trebuie, însă, să reţinem că o bună parte din feature-urile care lipsesc deocamdată au statusul In Progress pe portalul de feedback al Azure. Acest lucru presupune că vom avea suport şi pentru acestea.

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects