Windows Azure Platform University

Săptămâna trecută am avut un WAPU la sediul nostru, iar vineri a fost ziua pentru parteneri. Nu am anunțat decât parteneri (ISVs și SIs) selecționați. Agenda a fost construită pe baza celei oficiale de la http://www.microsoft.com/windowsazure/wapu/, scurtată/adaptată așa:

– Microsoft Partners and the Cloud – How the Windows Azure Platform Can Improve Your Business
– Windows Azure Platform – Technical Overview, Pricing and SLAs
– Selling Scenarios and Approaches, Engaging with Microsoft
– Competing to Win

– SaaS Solutions on the Windows Azure Platform
– Building Applications with Windows Azure and SQL Azure
– Building Credibility and Landing Deals with the Quick Win Selling Approach.

Puteți vedea/descărca toate prezentările și exercițiile pe SkyDrive-ul meu:

http://sdrv.ms/QT4VuA

Includ aici prima prezentare. Pentru restul, faceți clic pe folderul de mai sus.

Serie de întâlniri RONUA, TechEd Review

RONUA e în roadshow din nou: 17 noiembrie în Cluj, 18 în Oradea, 19 în Arad, 20 în Timișoara, 23 în Constanța, 15 dec în București. Sibiu, Galați, Iași și Brașov sunt încă în discuție. Reciclez de pe pagina de înscriere:

Iată doar câteva din subiectele și topicile abordate:

Tehnologiile "trendy" ale momentului în nov 2010!
Windows Azure. SQL Azure, AppFabric Data marketplace + oportunitățile momentului pentru developeri!
Windows Phone 7 Windows Mobile- nu mai e. Află și de ce.. Internet Explorer 9, Dezbaterea Falsă HTML 5 vs Silverlight.
BONUS: Vino cu un hardisk extern gol, ca să ți-l umpplem cu informație "caldă".

Resurse pentru dezvoltare pe Windows Azure

De multe ori mă întreabă lumea ”unde pot să învăț despre Azure” și obișnuiesc să reciclez o listă de resurse pe care o trimit pe email și o completez și o retrimit de câte ori este cazul. Apoi m-a provocat și un comentariu la asta. Iată care e lista mea în momentul de față:

Business și tehnic, de pe siteul oficial http://azure.com:

http://www.microsoft.com/windowsazure/resources/ și
http://www.microsoft.com/windowsazure/partners/ready/ specific pentru parteneri.

Pentru geeks:

– Training kit descărcabil de la http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en
– Training kit descărcabil de la http://azurebootcamp.com/ (astea sunt materialele de la cursurile școlii de cloud)
– Update: Înregistrarea cursului de la București al școlii de cloud: https://zoli.herczeg.ro/2010/12/17/am-publicat-cursul-lui-ciprian-de-la-bucuresti/
– Training înregistrat cu laboratoare la http://channel9.msdn.com/Learn/Courses/Azure
– Windows Azure Developer Center pe MSDN: http://msdn.microsoft.com/en-us/windowsazure/default.aspx
– Cloud development patterns&practices: http://msdn.microsoft.com/en-us/library/ff898430.aspx (migrare de aplicații existente și proiecte noi)
– O serie (până acum 30) de video-uri pe diverse topici de cloud: http://channel9.msdn.com/shows/Cloud+Cover/
– Exemplu de aplicație în paradigma nosql: http://code.msdn.microsoft.com/BidNowSample
– Exemplu de aplicație multitenant și claims-based access control http://code.msdn.microsoft.com/fshipsaassource
– Ebook gratuit: http://www.slideshare.net/ericnelson/windows-azure-platform-articles-from-the-trenches-volume-one
– Bloguri de urmărit: http://www.davidaiken.com/, http://blogs.msdn.com/b/windowsazure/, http://blogs.msdn.com/b/sqlazure/, http://blog.smarx.com/, http://blogs.msdn.com/b/vbertocci/ și bineînțeles al meu.

Unelte:

– pentru Visual Studio: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2274a0a8-5d37-4eac-b50a-e197dc340f6f&displaylang=en
– SDK: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=21910585-8693-4185-826E-E658535940AA
– pentru dezvoltare cu altceva decât Visual Studio pe Windows (PHP, Java etc): http://www.microsoft.com/windowsazure/interop/. Update de la Lucian Daia pentru PHP:

1) Windows Azure SDK – http://phpazure.codeplex.com/ 
2) Zend_Service_WindowsAzure – componenta a Zend Framework, incepand cu ZF 1.10 . Windows Azure SDK este bazat pe Zend Framework destul de mult, luand componente din el pentru a putea realiza implementarea. As numi asta biblioteca "oficiala" pentru Windows Azure in PHP.
3) Windows Azure for Eclipse http://www.windowsazure4e.org/ – plugin pentru Windows Azure in Eclipse. Eclipse este folosit de 80% din programatorii PHP, conform unui studiu Zend din ianuarie 2010, iar pluginul respectiv este super complet: de la integrarea automata a Windows Azure SDK si runtime-ului PHP in proiectele PHP, la un storage explorer vizual pentru Windows Azure Blobs / Queues / Tables.

Cont pe Windows Azure:

Uneltele pentru dezvoltare simulează comportamentul lui Windows Azure pe mașina locală, însă pentru a testa ”the real thing” va trebui să vă faceți cont pe Windows Azure. Profitați de gratuitățile oferite prin:

– abonamentele MSDN (cumpărate sau primite prin programul de parteneriat Gold, Silver sau BizSpark). Pentru asta faceți logon pe http://msdn.com și apoi activați-vă “Windows Azure benefits” imediat sub “My Accounts” și “Downloads and keys”
– introductory special, direct pe http://azure.com la ”Purchase”.

Se cere card pentru orice cont creat, chiar dacă e prin ofertele gratuite de mai sus. Da, o facem îl cerem pentru situațiile în care depășiți limitele ofertei.

Voi v-ați activat aceste beneficii?

Prima aplicație din România pe Azure este HotelPeeps

HotelPeeps este o aplicație Facebook care te ajută ”să găsești cea mai bună opțiune de cazare pentru tine și pentru prietenii tăi”. De curând, secțiunea de price trends folosește platforma de cloud de la Microsoft, mai exact SQL Azure. Hai să-i vedem pe Alex și Lucian de la Zitec vorbind cu Todi despre Hotelpeeps, Azure, BizSpark și motivațiile lor. Hei, aplicația este PHP!

Facilităti noi în platforma Windows Azure

Aseară la PDC10 au fost anunțate mai multe noutăți legate de platforma de cloud a Microsoft. Majoritatea vor fi disponibile până la sfârșitul acestui an:

  • Virtual Machine role pentru a migra aplicații existente folosind mașini virtuale construite de voi
  • Elevated Privileges, Full IIS și Remote Desktop
  • Windows Azure Connect pentru a face rețele virtuale între aplicații din cloud și aplicații on-premises
  • Extra Small Instance pentru aplicații/siteuri fără pretenții mari, la doar 5 cenți pe oră
  • Windows Azure Marketplace și Data Market (fost ”Dallas”)
  • SQL Azure Reporting pentru a sparge gheața BI-ului în cloud.
  • Windows Azure AppFabric Caching pentru a face primul pas în mariajul dintre AppFabric din cloud (Windows Azure AppFabric) și AppFarbric on-premises (Windows Server AppFabric). După cum știți, Windows Azure AppFabric era format până acum din Service Bus și Access Control, iar Windows Server AppFabric era format până acum din caching și host de servicii WF+WCF. În 2011 urmează să avem și host de WF+WCF în Azure.

Detalii pe blogul Windows Azure, pe blogul SQL Azure, pe blogul Windows Azure AppFabric și pe http://azure.com.

Majoritatea acestor noutăți au fost sugerate de voi prin http://mygreatwindowsazureidea.com. Mulțumim!

Scoala de cloud merge la Timisoara si Galati

Dacă azi a început trainingul din București, putem să spunem că ne gândim deja la Timișoara și Galați. Nu-i așa? Înscrieri la:

Timișoara – Dezvoltare de aplicații pe Windows Azure, 19 octombrie
Galați – Dezvoltare de aplicații pe Windows Azure, 22 octombrie

Dacă vreți să promovați scoala de cloud, puneți-vă bulina potrivită pe blog/site/whatever cu link către http://scoaladecloud.ro:

badges_invatla_SDCbadges_participla_SDCbadges_predaula_SDCbadges_sustin_SDC

Equilobe, Zitec, Kenubi si Seesmic la BizSpark Camp

bizsparkcamp1În 7 octombrie a avut loc la Bucharest Hubb încă o întâlnire lunară din cadrul Start&Grow, un proiect la care Microsoft este ”proud sponsor”. Fiindcă întâlnirea a fost pe teme de tehnologie, au fost invitați startup-uri de tehnologie și membri în programul Microsoft BizSpark. Am vrut să scoatem în evidență proiectele la care lucrează 4 startupuri din BizSpark și, dacă se poate, să arătăm proiecte care sunt gândite pentru cloud. Repet încă o dată ce am spus și în introducerea evenimentului: dacă sunteți membri în BizSpark (sau WebsiteSpark, sau DreamSpark) și ați dezvoltat ceva cool pe tehnologie Microsoft, spuneți-ne! Vom face tot posibilul să vă promovăm și să ne fălim împreună. Au prezentat în ordine:

Equilobe

Cătălin Crivețeanu a vorbit în premieră despre Asimnia, o soluție de management de procese de business cu backend-ul în cloud (Windows Azure) și frontend-ul sub formă de plugin de Outlook. Soluția sparge procesele în task-uri, acestea sunt stocate în tabele Windows Azure iar eventualele atașamente în blob-uri Windows Azure. Procesele sunt gestionate de un engine dezvoltat de ei, rulând în worker role tot în Windows Azure. Nu au nevoie de bază de date relațională (SQL Azure) și folosesc o abordare nosql. Equilobe este un startup, membru în BizSpark. Iată-l pe Cătălin într-un scurt interviu, după prezentare:

 

Citiți detalii de la Alina Botezatu și de la Todi.

Continuăm scoala de cloud la Bucuresti

Din cauza popularității trainingului din 14-15 octombrie, am extins limita de participanți. Azi dimineață era afișat faimosul mesaj de ”eveniment full” pe siteul de înregistrare, însă acum puteți să mergeți pe site și să continuați înscrierile:

Dezvoltare de aplicații pe Windows Azure, București, 14 – 15 octombrie.

Dacă v-ați înscris și nu mai puteți veni, vă rog să folosiți același link pentru anularea înscrierii.

La ce să ne gândim când proiectăm o aplicatie în cloud

imageCâteva considerații legate de arhitectura aplicațiilor pe platforma Windows Azure:

1. Vom fi într-un mediu dinamic. Orice dependență de mașina locală trebuie ruptă. Dacă vă bazați pe adrese de IP, porturi, nume de computer, atunci puteți uita de ele. În cloud trebuie să vă așteptați că aplicația voastră va fi mutată pe alte mașini. Altfel nu veți putea scala împreună cu platforma sau nu veți putea relua activitatea în caz că sunteți mutați din cauza unor defecțiuni hardware. La limită, puteți să suprascrieți metodele de stop și start ale mediului pentru a trata schimbările.

2. Vom avea latențe impredictibile. Aplicația trebuie să fie capabilă să lucreze cu timpi de răspuns impredictibili din partea sistemului de stocare, dar și din partea altor aplicații. Dacă pe o mașină locală eram obișnuiți să avem fișiere, tabele sau alte obiecte acolo pe aceeași mașină, ei bine, în cloud aceste obiecte pot fi (și cu siguranță vor fi) pe alte mașini, sau chiar alte containere, sau chiar alte datacentere. Decorați codul cu logică de reîncercare.

3. Tranzacții și efectul asupra benzii și a costurilor. Când plătim pentru bandă, nu vom plăti pentru o anumită dimensiune de țeavă (așa cum suntem obișnuiți de la furnizorii de net), ci vom plăti cantitatea de date transferată în GB. Trebuie să ne obișnuim că stocarea o vom plăti nu numai per GB, dar și per tranzacție (acces). În plus, dacă datele sunt în alt datacenter, vom plăti bandă pentru ambele datacentere.

4. Autentificare și autorizare. Folosiți Azure AppFabric pentru a face ”outsourcing” la autorizare. Apoi veți putea face actualizări prin modificarea configurării, fără eforturi. Dacă folosiți deja ASP.NET membership provider, atunci sunteți acasă pe Windows Azure.

5. Starea aplicației. Am văzut deja la punctul 1. că aplicațiile se pot muta pe alte mașini, ceea ce înseamnă că orice date de care avem nevoie trebuie persistate într-una din elementele de stocare din Windows Azure (bloburi, cozi, tabele nosql sau baze de date relaționale SQL Azure).

6. Datele. Deși am mari îndoieli că cineva își poate proteja mai bine datele pe serverele proprii decât în cloud, hai să numim câteva tehnici de a liniști eventuali clienți paranoici, care preferă să aibă control fizic asupra datelor: modularizare (mutați în cloud doar datele cu care se simte clientul comfortabil, păstrați restul on-premises); sharding; criptare. Nu ezitați să le combinați.

Detalii în:

Am publicat regulamentul concursului de aplicații pe Windows Azure

Regulamentul oficial/complet este pe http://ScoalaDeCloud.ro, însă am extras aici partea esențială. Ca ”executive summary”, putem spune că pentru a participa trebuie să fii într-o relație de parteneriat (de orice fel) cu Microsoft și să folosești platforma Windows Azure în aplicație.

Vă rog să dați feedback.

ART. 3. DREPTUL DE PARTICIPARE

În Promoţie are dreptul să participe orice persoană juridică înregistrată în România care este membră la data înscrierii în promoţie în Microsoft Partner Network (minim Registered Member), sau în programul BizSpark pentru startupuri, sau în WebsiteSpark pentru agenții web, excepţie făcând Organizatorul si celelalte companii implicate în organizarea şi desfăşurarea campaniei promoţionale. De asemenea, în cadrul Promoţiei nu pot participa instituţii din sectorul/administraţie publică, la nivel naţional sau local. …

ART. 4. MODUL DE DESFASURARE A CAMPANIEI

Campania se desfăşoară în perioada 1 octombrie 2010 – 15 februarie 2011 şi are următorul mecanism de participare: companiile eligibile vor trimite un email către adresa ”azure la proevents punct ro” cu următoarele informații:

   1. Nume firmă, adresă web (url)

   2. Nume aplicație, descriere de maxim 400 cuvinte, logo (opțional), imagini (opțional, cu captură de ecran, etc), adresa web (url)

   3. Tipul aplicației:

      a. Publică, vizibilă pe internet și în producție (lansată)

      b. Va fi publică însă nu este încă lansată

      c. Internă, invizibilă publicului

   4. Persoană de contact, funcție, număr de telefon

   5. Descrierea modului de utilizare a platformei Windows Azure (vom urmări aspectele de la criteriul I)

   6. Descriere funcțională (criteriul II)

   7. Descriere tehnologică (criteriul III)

   8. Descriere de business (criteriul IV)

   9. Emailul de înscriere poate conține atașamente.

Informațiile de la punctele 1, 2 și 3 vor fi publicate pe siteul campaniei la http://scoaladecloud.ro.

În urma înscrierii aplicațiilor în campanie, acestea vor fi evaluate de către un juriu format din reprezentanţi ai Organizatorului, reprezentati Microsoft și ai comunității. Componența juriului va fi publicată pe siteul campaniei la http://scoaladecloud.ro. 10 proiecte selectate de către juriu vor participa la o sesiune de pitching în persoană la finala din 15 februarie 2011. Primele 3 aplicații vor fi premiate în funcţie de măsura în care proiectele participante îndeplinesc criteriile de evaluare.

Criteriile de evaluare a proiectelor vor fi următoarele:

I. Modul de utilizare a platformei Windows Azure. Acest criteriu va avea o pondere de 20% din punctaj:

-      Ce facilități din platforma Windows Azure folosește aplicația?

-      Care sunt motivele?

II. Inovație. Acest criteriu va avea o pondere de 30% din punctaj:

-      Ce problemă dorește să rezolve aplicația?

-      Soluția aleasă este una nouă sau se bazează pe concepte cunoscute?

-      Ce impact are soluția (număr de potențiali utilizatori, specializare pe industrii, etc)?

III. Arhitectură. Acest criteriu va avea o pondere de 30% din punctaj:

-      Cum este modularizată aplicația?

-      Cum se face comunicarea între module și de ce?

-      Cât de grea este evoluția proiectului?

-      Expune API-uri?

-      Ce soluții de stocare s-au folosit și de ce?

-      Dacă soluția expune interfețe pentru utilizatori, cât de intuitive și ergonomice sunt?

IV. Relevanță de business. Acest criteriu va avea o pondere de 20% din punctaj:

-      Soluția este una realistă sau doar una teoretică?

-      Are viabilitate tehnologică și economică?

-      Este în producție sau e doar un pilot?

-      Care este piața țintă?

-      Cine sunt competitorii?

Calendarul după care se va desfăşura campania este următorul:

  • 01 octombrie 2010: data de la care acceptăm înscrieri;
  • 31 ianuarie 2011: data până la care se pot trimite înscrieri la ”azure la proevents punct ro”;
  • 1-8 februarie 2011: intervalul în care juriul va selecta cele mai bune 10 aplicații; participanții vor trebui să păstreze online aplicațiile în această perioadă; dacă aplicațiile nu sunt publice, participanții vor trebui să ofere acces juriului pentru evaluare;
  • 15 februarie 2011: data finalei; creatorii celor 10 proiecte selectate vor avea posibilitatea să-și prezinte aplicația în sesiuni de 10 minute fiecare și să răspundă la întrebările juriului timp de încă 10 minute; anunțarea primelor trei aplicații câștigătoare;