Photosynth.net se mută în Windows Azure

Photosynth.net este în plin proces de migrare a synth-urilor și panoramelor noastre, totalizând peste 40TB. Synth-urile și panoramele vor beneficia de CDN-ul Windows Azure pentru livrare rapidă la nivel global. Deși nu ar trebui să fie probleme, verificați-vă synth-urile și panoramele și spuneți-ne dacă vedeți probleme. Ca să mă fălesc un pic, ale mele sunt astea:

http://photosynth.net/userprofilepage.aspx?user=zoliherczeg

Prezentările mele din roadshow

Deși mai avem un oraș (Timișoara, vineri, 4 noiembrie), am publicat deja prezentările mele pe SkyDrive:

http://sdrv.ms/PNztCX

Introducerea este asta:

iar prezentările pentru firmele de software sunt astea:

Cursuri de Windows Azure organizate de ANIS și Microsoft

Dacă sunteți membri ANIS (asociația patronală a industriei de software și servicii), probabil ați văzut deja invitația. Dacă nu, e vorba de două cursuri avansate de 3 zile (19-21 oct și 26-28 oct), livrate de Mihai Nadăș:

Ziua 1 – Roluri, SQL Azure, Diagnosticare şi Service Management
Ziua 2 – Blobs, Tables şi Queues
Ziua 3 – CDN, AppFabric, Virtual Network si Marketplace

Da, cursul este deschis pentru toată lumea, nu numai membrii ANIS. Detalii aici și înscrieri la bogdan.rusu@anis.ro.

Evenimentele de cloud computing din octombrie

Ați văzut probabil invitațiile. Vom avea o serie de evenimente unde vom discuta despre cloud, dar nu vor fi pentru geeks. Dacă aveți un rol de decizie în organizație, atunci este pentru voi. Dacă vă puneți întrebări de genul ”de ce?” sau ”ce câștig din asta?” sau ”datele mele sunt în siguranță?” sau ”cine are experiență?” sau ”ce clienți au deja și sunt mulțumiți?”, atunci veniți să le discutăm.

Vom avea o sesiune specială pentru firmele de software. Cu siguranță v-ați gândit deja cum să profitați de oportunitățile deschise de cloud computing. Haideți să puneți întrebările care vă frământă.

Detalii și înscrieri mai jos:

11 oct – București
19 oct – Sibiu
21 oct – Cluj
26 oct – Iasi
04 noi – Timișoara.

Bunătăți în SDK-ul nou pentru Windows Azure și acrituri din marketplace, pentru .ro

1. La conferința BUILD Windows am lansat Windows Azure SDK 1.5 (sau ”september update”) cu câteva bunătăți, din care amintesc doar posibilitatea de a decora proiecte obișnuite ASP.NET sau WCF cu un proiect de deployment pe Windows Azure. Vasăzică nu mai trebuie să copiem noi codul și să-l aruncăm într-un proiect dedicat de Windows Azure. Trebuia să ajungem în faza asta, nu-i așa?

Publish to Windows Azure

Descărcați Windows Azure SDK 1.5 de la http://www.microsoft.com/windowsazure/sdk/. Detalii pe blogul Windows Azure.

2. Windows Azure Marketplace s-a extins la 25 de țări, nu și în România: https://datamarket.azure.com/publishing. Detalii pe blogul Windows Azure.

Workflow Foundation Activity Pack CTP1 pentru Windows Azure

Tocmai a fost anunțat Workflow Foundation Activity Pack pentru Windows Azure CTP 1. Proiectul dedicat lui Workflow Foundation pe CodePlex este http://wf.codeplex.com/, iar pachetul este disponibil și prin NuGet (sau pentru cei mai hardcore, în consola de management de pachete pot butona Install-Package WFAzureActivityPack).

Ca și implementare, Activity Pack se bazează pe Windows Azure SDK, update-ul din August 2011, ce trebuie descărcat pentru a testa pachetul. În plus, activitățile se bazează pe Windows Azure Storage Service și Windows Azure AppFabric Caching Service, ce permit accesul la servicii lui Windows Azure în cadrul unei componente/aplicații bazate pe workflow-uri.

Tot la implementare trebuie menționat faptul că deși activitățile pot fi folosite într-un workflow și se bazează pe Windows Azure Storage Service/Windows Azure AppFabric Caching Service, acestea nu au implementare pentru tratarea excepțiilor într-un mod special. Toate excepțiile sunt conforme cu API-ul furnizat de Windows Azure Service. Cu alte cuvinte, dacă GetBlob (una din activitățile ce permit descărcarea unui blob) încearcă să acceseze un blob ce nu există, va fi aruncată o excepție de tipul StorageClientException.

Ca și best practice pentru CTP-ul curent (am testat-o) trebuie să fim pregătiți pentru orice potențială excepție și la nivel de workflow-uri să includem activitățile specifice Windows Azure în cadrul activității de TryCatch.

În versiunea curentă, la nivel de API, avem următoarele activități (sursa Windows Azure Blog):

 

1. Pentru Windows Azure Storage Service – Blob

  • PutBlob crează un bloc de blob-uri sau înlocuiește unul existent
  • GetBlob descarcă conținutul binar al unui blob
  • DeleteBlob șterge un blob dacă acesta există
  • CopyBlob copiază un blob într-o altă zonă în cadrul contului de storage
  • ListBlobs enumerează lista de blob-uri dintr-un container sau dintr-un director din cadrul unei ierarhii

 

2. Pentru Windows Azure Storage Service – Table

  • InsertEntity<T> introduce o nouă entitate într-o tabelă specifică
  • QueryEntities<T> interoghează entitățile dintr-o tabelă conform unei interogări (luând în considerare și opțiunile de interogare)
  • UpdateEntity<T> actualizează o entitate (existentă) din cadrul unei tabele
  • DeleteEntity<T> sterge o entitate (existentă) din cadrul unei tabele, specificând obiectul acelei entități ca și parametru
  • DeleteEntity șterge o entitate (existentă) din cadrul unei tabele, folosind cheile de partiție și rând

 

3. Pentru Windows Azure AppFabric Caching Service

  • AddCacheItem adaugă un obiect în cache, sau actualizează un obiect existent în cache
  • GetCacheItem întoarce un obiect din cache, cu tot cu timpul de expirare al acestuia din cadrul cache-ului
  • RemoveCacheItem șterge un obiect din cache.

 

Un scenariu (primul la care mă gândesc), destul de interesant, care se pretează atât pentru Windows Azure, cât și pentru utilizarea acestor activități în cadrul unei aplicații bazate pe workflow-uri este de a face trace-ul și log-ul a tuturor proceselor dintr-o soluție complexă de tip SaaS. Avantaje sunt foarte multe: spațiu infinit (2 TB per cont de storage), posibilitatea de a interoga rapid informațiile înregistrate, back-up + failover asigurat.

Simplificare la billing-ul pentru Windows Azure, plus extra beneficii de vară

Cei care ați dezvoltat ceva (sau v-ați jucat) cu Windows Azure știți că instanțele extra small (0,05usd/h) se contorizează separat de celelalte (0,12usd/h/core). Aici la celelalte intră instanțele small (1 core cu 0,12usd/h), instanțele medium (2 core-uri cu 0,24usd/h), large (4 core-uri cu 0,48usd/h) și extra large (8 core-uri cu 0,96usd/h). Pe factură practic vedeți totul echivalat în ore small/core, adică dacă ați folosit 4 instanțe extra large timp de 10 ore, veți avea 4 x 8 x 10 ore de small compute = 320 x 0,12usd. Cu instanțele extra small e mai complicat, fiindcă ele se contorizează separat și apar separat pe factură. Asta complică un pic lucrurile dacă te bazezi pe gratuitățile din trial sau din abonamentele MSDN. De exemplu, până acum, trial-ul de Windows Azure conținea 25h de small și 750h extra small. Cum majoritatea celor care folosesc trial-ul sunt începători, de obicei nu știu că Visual Studio este setat by default să creeze pachete de deployment pe instanțe small. De aici am avut o grămadă de dezvoltatori supărați. Vedeți în poza de mai jos cum se setează dimensiunea instanțelor.

Windows Azure VM size setting

Vești bune!
De la 1 octombrie vom unifica billing-ul și vom contoriza o oră de instanță extra small ca fiind 1/3 de oră small, adică echivalentul a 0,04usd. Asta înseamnă o reducere de 20%. În plus, până atunci trial-ul de Windows Azure va include 750 ore extra small și 750 ore small (vezi steluța de mai jos). Asta ne va ajuta pe noi să testăm billing-ul în august și septembrie.

Iată și celelalte tipuri de gratuități, de care veți beneficia începând cu 1 octombrie:

gratuități pe platforma Windows Azure

Se vede că trial-ul va fi similar cu beneficiile primite de abonații MSDN Premium și partenerii Silver sau Gold. Membrii BizSpark și abonații MSDN Ultimate sunt din nou privilegiați.

Detalii pe blogul Windows Azure.

Treci la următorul nivel

Intră în gașca dezvoltatorilor de Amsterdam, la TechEd 2012!

http://apps.facebook.com/webappsro/ este o pagină (scrisă în HTML5, just for fun) care vă îmbie la un concurs de vară, lejer, dar cu un premiu generos: participare la conferința TechEd de la anul. Tot ce trebuie să faci e să descarci uneltele (Azure SDK, Phone SDK, WebMatrix, Visual Studio sau LightSwitch), să dezvolți o aplicație și să înregistrezi un tutorial despre ea. Enjoy!

Caricaturile membrilor juriului sunt bestiale! Petru, vreau și eu una. Mă bag și în juriu, dacă trebuie…

Juriul

PS: încercați și voi aplicația asta de facebook cu browserul vostru capabil de HTML5 și spuneți-ne dacă vedeți vreo problemă.

Din istoricul centrelor de date Microsoft

1989 – centre de date de generația I (colocare)
2004 – generația a II-a (rack-uri de densitate mare)
2009 – generația a III-a (containere)
Acum în construcție – generația a IV-a (centre de date modulare).

Detalii în filmulețul de mai jos. GFS (Global Foundation Services) se numește divizia Microsoft care se ocupă cu centrele de date și găzduirea serviciilor din cloud pentru consumatorii de acasă (bing, Hotmail, Live.com, etc), pentru business-uri (Office 365, Intune, CRM Online, etc) și pentru dezvoltatori (Windows Azure):

Testarea pentru “Powered by Windows Azure”

Scriam aici că pentru a folosi logo-ul ”Powered by Windows Azure”, trebuie să treceți un test simplu din MPR și că durează cam o oră. Pașii și timpii estimați sunt ăștia:

1. Înscrii firma pe http://www.microsoftplatformready.com/ (5min)
2. Adaugi aplicația bifând tehnologiile folosite (în acest caz Windows Azure și/sau SQL Azure) (5min)
3. Vizualizezi video-ul cu modul de utilizare al uneltei de test sau răsfoiești ghidul din pdf. Le găsești în secțiunea ”MPR-ul meu” (sau ”My MPR”) clic pe Windows Azure Platform, apoi fila Test și Get Started (7min)
4. Descarci și instalezi unealta de test de la Test My Apps (5min)
5. Pornești unealta de test și îi dai datele aplicației.  Pentru SQL Azure îți trebuie datele din connection string adică nume server, user și parolă, iar pentru Windows Azure îți trebuie subscription id, certificatul digital de management și url-ul aplicației (5min)
6. Pornești aplicația, treci prin funcționalitățile principale și verifici raportul de test creat (5min)
7. Creezi un pachet cu raportul. În această fază îți trebuie numele aplicației, versiunea și id-ul pe care ți l-a dat MPR la Test My Apps de la punctul 4 de mai sus (5min)
8. Încarci pachetul cu raportul de testare în MPR la Test My Apps. Asta dacă e ”passed”, bineînțeles (3min).

Na, că au ieșit 40 de minute.

PS: certificatul digital de management (*.cer) este necesar pentru a permite uneltei de test să se conecteze la API-ul de management aferent subscripției tale de Windows Azure. Crearea unui astfel de certificat se face ca la http://msdn.microsoft.com/en-us/library/gg432987.aspx adică cu makecert.exe din SDK-ul de .NET 2.0 unul din uneltele din Windows SDK (da, certificatul de management poate fi self-signed). În training kit figurează acest exemplu:

makecert -r -pe -a sha1 -n "CN=Windows Azure Authentication Certificate" -ss My -len 2048 -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 "C:WAPTKWABC-Materials-v1.3azurecert.cer”