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:

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.

Ești admin și ți-e teamă de cloud computing?

Atunci e bine. Așa și trebuie. Cloud computing este un fenomen inevitabil cu care va trebui să ne obișnuim. Dar totuși ce ne facem? Soluția e simplă: învățăm ce este cloud computing și ne adaptăm cariera în așa fel încât să nu rămânem deoparte. Serios! Cât de greu poate fi să înveți nebuniile alea de public cloud, private cloud, IaaS, PaaS, etc? Am învățat noi chestii mult mai complicate: configurări avansate de Exchange Server. SharePoint, careva?

Pentru a vă ajuta, Sebi v-a trimis deja niște emailuri cu provocarea de a învăța cloud computing pe http://microsoftvirtualacademy.com/. Sunt o serie de cursuri gratuite de cloud computing și niște puncte asociate. Am făcut și eu câteva cursuri acolo și am ajuns în două zile pe locul 3 din .ro:

Microsoft Virtual Academy

Ia să vedem, cât timp vă trebuie să mă scoateți din top 10?

PS: dacă știți private cloud de la VMware, aveți câteva cursuri dedicate vouă acolo.

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.

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):

Măsuri împotriva creării frauduloase de conturi Azure

De săptămâna trecută am implementat un proces de validare la crearea de conturi noi pe platforma de cloud Windows Azure, pentru a frâna crearea de conturi aiurea. Procesul implică un SMS cu un cod de confirmare trimis pe telefonul din cont. Problema este că pentru România nu avem (încă) o înțelegere cu un operator local și sunteți îndrumați să contactați suportul la http://www.microsoft.com/windowsazure/support/ pentru activarea contului. Dacă alegeți să sunați, se rezolvă pe loc, iar dacă alegeți web form, atunci veți fi sunați de operatorii noștri. Nu vă faceți griji, procesul e pretty fast chiar și așa.

SDK nou pentru PHP pe Windows Azure

De săptămâna trecută e gata Windows Azure SDK for PHP version 3.0. De acum phpiștii au acces programatic la API-ul de management, ceea ce înseamnă automatizarea creării/actualizării/ștergerii serviciilor sau instalărilor, schimbarea configurării serviciilor etc. Tot în acest SDK apare suportul pentru logging, contribuit de Lucian Daia de la Zitec. Mulțumim Lucian!

Reciclez de pe http://phpazure.codeplex.com/:

Thanks to

RealDolmen, contributor
Microsoft, sponsor
Zitec, feedback and testing