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:

Continuăm scoala de cloud la Iasi

Prima serie de ”absolvenți” va ieși azi la Cluj, iar noi ne pregătim pentru trainingul din Iași de săptămâna viitoare. Puteți să vă înscrieți la

Dezvoltare de aplicații pe Windows Azure, Iași, 07–08 octombrie.

Ca și la Cluj, în prima zi începem la ora 11:00.

Spread the word!

Începem școala de cloud la Cluj

Săptămâna asta începem școala de cloud la Cluj cu un curs de două zile. Puteți să vă înscrieți la

Dezvoltare de aplicații pe Windows Azure, Cluj Napoca, 30 septembrie – 01 octombrie.

În prima zi începem la ora 11:00, din motive de avion (Ciprian aterizează la 10:25).
V-ați gândit deja ce aplicație veți înscrie în concursul de dezvoltare de aplicații în cloud? Dacă nu, poate prindeți o idee la curs.

PS: folosim tot msevents pentru înregistrările la curs… știu că nu este o aplicație perfectă, dar vă rog să o tratați cu indulgență. Bucureștiul ăla din dreptul datei vrea să zică că este ora Bucureștiului. Stați liniștiți, locația e Cluj Napoca.

msevents

Cum se dezvoltă în cloud

Dacă vrei să înveți cum să iei premiile din concursul de Windows Azure, sau vrei să înveți pentru tine, te invit la o serie de cursuri în următoarele orașe:

Cluj Napoca, 30 septembrie – 01 octombrie
Iași, 07 – 08 octombrie
București, 14 – 15 octombrie
Timișoara, 19 octombrie
Galați, 22 octombrie.

Dacă preferi să înveți singur, iată câteva alternative:

Training online pe Channel 9 Learning Center (include înregistrări video și laboratoare) pentru dezvoltatori: http://channel9.msdn.com/learn/.

Kit de training descărcabil de la http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en

O serie de video-uri pe diverse topici de cloud: http://channel9.msdn.com/shows/Cloud+Cover/

Windows AzureSQL Azure

Concurs de dezvoltare de aplicații în cloud

Microsoft România oferă premii de 15000 dolari pentru cele mai bune proiecte din România care folosesc platforma de dezvoltare în cloud de la Microsoft, Windows Azure. Se pot înscrie în concurs firmele de software sau agențiile web din România, dar și startupuri sau departamente IT din organizații. Aplicațiile înscrise pot fi proiecte existente sau noi, publice sau private, dezvoltate cu unelte Microsoft sau nu. Da, proiectele scrise în .NET, PHP, Java sau orice altceva vor fi tratate în mod egal. Juriul va selecta la început de februarie 2011 un număr de 10 aplicații, care vor participa la o sesiune de pitching (în persoană) la finala din 15 februarie în București. Primele 3 aplicații vor împărți premiile astfel:

  • Cea mai bună aplicație va primi 4000 dolari, plus sponsorizarea participării unei persoane la Microsoft Worldwide Partner Conference din Los Angeles între 10-14 iulie 2011 (taxa de participare, avion și cazare în valoare de cca 6000 dolari) și dreptul de a participa la finala regională alături de câștigătorii din Cehia, Grecia, Polonia și Ungaria,
  • Aplicația de pe locul 2 va primi 3000 dolari,
  • Aplicația de pe locul 3 va primi 2000 dolari.

Criteriile de jurizare vor fi:

  • 20% – Modul de utilizare a platformei Windows Azure: ce facilități din platformă folosește aplicația? de ce?
  • 30% – Inovație: 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)?
  • 30% – Arhitectură: 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?
  • 20% – Relevanță de business: Soluția este una realistă sau doar una teoretică? Are viabilitate tehnologică și economică? Este în producție sau e doar un pilot?

Acceptăm înscrieri începând cu 1 octombrie 2010, când vom anunța și componența juriului. Până atunci, pregătiți-vă de cursuri! Ciprian va porni în octombrie într-un roadshow prin care să vă învețe cum să luați aceste premii.

Am publicat și pe http://scoaladecloud.ro acest roadshow.

Vreți Windows Azure acasă? Vă trebuie TIR parking

În viitor vom avea Windows Azure și în regim OEM, împreună cu Dell, Fujitsu și HP: http://www.microsoft.com/windowsazure/appliance/. Adică așa cum puteți cumpăra acum calculatoare/servere cu Windows 7 sau Windows Server preinstalat, așa veți putea cumpăra și cu Windows Azure, numai că fierul e mai mare. Glumeam într-o discuție că Windows Azure în OEM ar trebui să fie sub formă de containere. Ei bine, așa și este 🙂

Iată cum se livrează un astfel de “appliance”:
http://www.microsoft.com/showcase/en/us/details/bafe5c0f-8651-4609-8c71-24c733ce628b

Pentru geeks (câteva detalii pt un container HP):

– Dimensiuni: 13m/3m/3m
– Greutate maximă: 45t
– Nr maxim de servere: 3000 (in 22 de rack-uri)
– Putere maximă: cca 400kW.
– PUE (power usage effectiveness): 1,2

Update: personal nu-mi place deloc conceptul de „private cloud”, fiindcă elimină rațiunea de la care s-a pornit cu cloud computing-ul: să plătești putere de calcul pe măsură ce o folosești și, mai ales, să nu plătești când nu o folosești. Totuși, dacă piața o cere, vom livra. Am glumit în titlu… aceste containere (full size sau half size, echipate sau nu până la maxim) nu sunt pentru oricine. Think enterprise/government.

Windows Azure Content Delivery Network

De la 1 iulie CDN-ul din nor va fi disponibil comercial. CDN-ul vă permite să livrați orice fișier (blob) în orice colț al lumii cu performanță maximă. Secretul unui CDN este că dispune de o rețea dedicată prin care poate transfera date la viteze foarte mari, și le pompează într-un număr de hub-uri/cache-uri regionale capabile să livreze conținut către utilizatori. Practic, capetele CDN-ului (hub-urile) sunt conectate cu principalii furnizori de net din regiunea respectivă.

Activarea CDN în Windows Azure este simplă și se face la nivel de serviciu de storage, apăsând pe un buton, ca mai jos:

Windows Azure CDN

Prețurile pentru CDN vor fi următoarele:

  • $0.15 per GB for data transfers from European and North American locations
  • $0.20 per GB for data transfers from other locations
  • $0.01 per 10,000 transactions.

Detalii pe blogul Windows Azure.
Detalii despre Windows Azure CDN.

Unealta de management pentru Windows Azure

Am publicat scula de management pentru Windows Azure la http://code.msdn.microsoft.com/windowsazuremmc.
Da, este sub formă de snap-in de MMC (Microsoft Management Console).

Reciclez capabilitățile:

hosted_services.png Hosted Services Upload, deploy, upgrade, and manage your hosted services in Windows Azure
diagnostics.png Diagnostics Configure instrumentation for Windows Azure applications (diagnostics) per source (perf counters, file based, app logs, infrastructure logs, event logs). Transfer the diagnostic data on-demand or scheduled. View / Analyze / Export to Excel and Clear instrumentation results.
certificates.png Certificates Upload / manage certificates for Windows Azure applications
storage_services.png Storage Services Configure Storage Services for Windows Azure applications
blobs.png Blob Storage Add / Upload / Download / Remove BLOBs and Containers and connect to multiple storage accounts, including local dev storage
queues.png Queues Add / Purge / Delete Windows Azure Queues
tables.png Tables Query and delete Windows Azure Tables
extensibility.png Extensibility Create plugins for rich diagnostics data visualization (e.g. add your own visualizer for performance counters). Create plugins for table viewers and editors or add completely new modules! Plugin Engine uses MEF (extensibility framework) to easily add functionality.
powershell.png PowerShell-based backend The backend is based on PowerShell cmdlets. If you don’t like our UI, you can still use the underlying cmdlets and script out anything we do