Articole
Articole:   Toate  |  Parteneri / Microsoft

Managementul (in)succesului la start-up-uri software

Una din problemele start-up-urilor din online/software este cum isi administreaza succesul, cand aplicatia lor este utilizata din ce in ce mai intens.
Managementul (in)succesului la start-up-uri software

Aplicatia poate avea nevoie de putere de calcul mai mare (mai multe servere), poate avea nevoie de cresterea rapida a capacitatii de stocare (harddisk-uri), poate avea nevoie de capacitate de transfer in crestere (banda), sau chiar toate deodata daca numarul de utilizatori creste foarte mult. Veti spune ca de fapt asta isi doreste orice start-up. Da, dar atentie mare la cum planificam acest succes, fiindca daca ne ia prin surprindere, se poate transforma usor in insucces.

De multe ori, start-up-urile din online au o singura sansa sa prinda valul succesului, iar odata ce au cazut de pe val, utilizatorii vor vedea un site sau o aplicatie sufocata de prea multe accesari. Vor pleca si nu se vor mai intoarce.

Una din solutii este ca start-up-urile sa investeasca in servere si in infrastructura pentru a fi pregatiti de succes. Dar cine garanteaza ca vor avea succes? Nimeni. Oare nu merita ca start-up-urile sa-si outsource-ze infrastructura la hosteri, companii care se pricep la fiare si la mentinerea lor online, in stare de functionare? Ba da. Problema este ca mereu vom avea tendinta sa cumparam/inchiriem mai multa infrastructura decat avem nevoie. In plus, ce vom face daca valul succesului a trecut si nu mai avem nevoie in totalitate de acea capacitate? Ba mai mult, ce facem peste cateva luni cand vine un nou val?

Aceste nevoi variabile de capacitate de calcul nu pot fi gestionate usor prin intermediul hosterilor.

Solutia pentru acoperirea acestor nevoi variabile (predictibile sau nu) este o platforma de cloud computing, prin intermediul caruia start-up-ul poate cere capacitate teoretic nelimitata si apoi renunta la o parte din ea prin simpla modificare a unui parametru (manual sau programatic). Un alt pattern interesant pentru platformele de cloud este cel cu varfuri de incarcare unice, de exemplu, o aplicatie de colectat taxe este puternic incarcata in ultimele zile ale termenului limita pentru plata taxelor.

Un alt pattern este cel in care pornim aplicatia doar pentru o perioada finita si apoi o oprim, de exemplu, campanii de marketing, modelari, calcul paralel etc. Acest tip de aplicatii ne duce cu gandul la proiecte care se opresc fiindca au esuat. Da, nu e nici o rusine sa dai un NO GO la un proiect, mai ales cand ruleaza pe o platforma de cloud, unde platesti ceea ce folosesti (pay per use).

O platforma de cloud este flexibila, foloseste un model ”pay per use”, scaleaza nelimitat, este disponibila global, ofera facilitati de protectie a datelor (inclusiv la dezastre), este deschisa la mai multe limbaje de programare si are grija singura de patch-uri si mentenanta. Start-up-ul se poate concentra pe aplicatie, pe rezolvarea problemelor de business si pe nevoile clientilor.

Windows Azure este platforma de cloud de la Microsoft si ofera toate aceste facilitati pentru dezvoltatorii de .NET, PHP, Java, Ruby sau Python prin unelte ca Visual Studio sau Eclipse. Incercati gratuit platforma Windows Azure prin oferta ”Introductory Special” de pe azure.com sau prin abonamentele MSDN cumparate sau obtinute ca beneficiu prin programele de parteneriat (Microsoft Partner Network sau Microsoft BizSpark).

O platforma de cloud cum este Windows Azure introduce cateva restrictii in modul cum sunt gandite aplicatiile fiindca platforma este dinamica (aplicatia poate fi mutata oricand pe alte masini pentru a efectua operatiuni de mentenanta sau in caz de defectiuni), introduce latente, ne obliga la abordari ”stateless”, la comunicare asincrona dar si la un calcul specific de costuri (de exemplu, nu platim o anumita dimensiune de teava, asa cum suntem obisnuiti de la furnizorii de net in Mbps, ci vom plati cantitatea de date transferata in GB) etc. Aceste restrictii duc la nevoia de a proiecta aplicatiile de la inceput pentru cloud, pentru a avea apoi flexibilitatea de a le instala oriunde (in cloud, la hoster sau la client). Altfel vor fi mai greu de mutat in cloud si va depinde de complexitatea aplicatiei.

Urmariti scoaladecloud.ro pentru a participa la training-urile programate in aceasta toamna. Tot acolo veti gasi si regulamentul concursului de aplicatii in cloud. Inscrieti-va in concurs pentru sansa de a castiga premiile in valoare de 15.000 dolari oferite de Microsoft celor mai bune aplicatii din Romania pe Windows Azure. Pentru intrebari va astept pe blog.