Razvoj oblaka: 9 stvari koje morate znati prije nego što uskočite

Razvoj aplikacija i testiranje u oblaku stječu popularnost jer sve više tvrtki pokreće javne i privatne inicijative računalstva u oblaku. Razvoj u oblaku obično uključuje integrirana razvojna okruženja, komponente za upravljanje životnim ciklusom aplikacija (poput upravljanja testima i kvalitetom, upravljanje izvornim kodom i konfiguracijom, alati za kontinuiranu isporuku) i komponente za testiranje sigurnosti aplikacija.

Iako tehnološki rukovoditelji i programeri s iskustvom u razvoju temeljenom na oblaku kažu da postoje jasne koristi za razvoj u tim okruženjima - poput uštede troškova i povećane brzine na tržištu - oni također upozoravaju da postoje izazovi i iznenađenja na koja treba paziti.

[Pronađite besmislena objašnjenja i savjete koji su vam potrebni da biste iskoristili stvarne prednosti računalstva u oblaku u posebnom izvješću urednika u obliku dubokog ronjenja u dubinskom ronjenju od 21 stranice. | Budite u toku s oblakom uz bilten Cloud Computing Report. ]

Nije jasno koliko će vjerovatno postati zajednički razvoj u oblaku. Ali analiza industrije pokazuje da je u porastu. U istraživačkoj bilješci u veljači 2011. Gartner je rekao da su klijenti koji su prisustvovali tvrtkinim simpozijima 2010. izrazili "naglo povećan interes" za računalstvo u oblaku kako bi poboljšali razvoj i održavanje postojećih prilagođenih web aplikacija.

"Najviše ga vidim u prototipiranju i paralelnom razvoju grana, ali postoji i ogroman rast u prostoru za ispitivanje opterećenja i performansi", kaže Eric Knipp, glavni analitičar u Gartneru.

Ako se prvi put želite upustiti u razvoj oblaka, evo devet vrsta prepreka s kojima se možete susresti i prijedloga kako ih riješiti od programera koji su zapravo obavili posao.

Razvoj oblaka razumijevanje 1: Oblak ne funkcionira uvijek kao "stvarni svijet"

Programeri bi mogli otkriti da je konfiguraciju koju koriste u proizvodnji teško ponoviti na oblačnim uslugama. Na primjer, s aplikacijom koju razvijete u oblaku prije nego što se vratite lokalno, možda ćete trebati testirati naslijeđeni sustav koji ne možete jednostavno kopirati na uslugu u oblaku, kaže Knipp: "To znači da bi moglo biti puno toga više stvari koje programeri moraju ukloniti da bi pokrenuli i pokrenuli testnu aplikaciju. "

Tehnologija virtualizacije usluga može pomoći, kaže Knipp, a programeri mogu iskoristiti tržišne ponude koje omogućuju višestruki / paralelni razvoj grana. Uzmimo slučaj iTKO, koji nudi programski paket nazvan Lisa koji pomaže tvrtkama da premjeste poslovne programe u oblak.

Programeri naviknuti na ne-oblačni razvoj mogli bi naići na iznenađenja kada je u pitanju izgradnja web aplikacija u oblaku. Na primjer, Greg Taylor, koji je izradio internetsku aplikaciju za registraciju za Ohio Music Education Association, nije očekivao da će mu trebati tako temeljito razumijevanje strukture baze podataka i načina na koji će korisnici komunicirati s njom kad je kreirao aplikaciju.

Aplikacija, koja se bavi registracijom izvođača školske glazbe u državnim glazbenim sadržajima, koristi MySQL bazu podataka kao pozadinu i Alpha Five 10.5 iz softvera Alpha za prednju stranu. "Dolazim iz pozadine FileMaker Proa [i] taj proizvod izuzetno oprašta s obzirom na strukturu baze podataka", kaže Taylor. "Loš dizajn i dalje se može koristiti s razumnim uspjehom."

No razvoj s MySQL-om natjerao je Taylora da bude izuzetno organiziran kako bi web aplikacija imala najbolje moguće performanse. Povratak na strukturu tablice za dodavanje više polja dugo traje, jer uključuje rotaciju između različitih razvojnih alata, Navicat za MySQL i Alpha Five za stvarni dizajn web stranica, kaže. Prvi alat stvara strukturu baze podataka, dok drugi stvara stranice s kojima korisnik komunicira kako bi unosio i uređivao podatke u bazu podataka.

"Ovo možda nije problem za programere koji koriste bazu podataka koja je već stvorena", kaže Taylor. "Oni bi jednostavno koristili Alpha Five za razvoj web stranica kojima bi korisnik pristupio. U mom slučaju, istovremeno sam razvijao i bazu podataka i web stranice, što bi od mene zahtijevalo prebacivanje između razvojnih alata da nisam planirao pažljivo."

Da bi izbjegao to neprekidno zaobilaženje, Taylor je morao promijeniti svoj pristup razvoju baze podataka: "Razvijanjem jasnog ERD-a [dijagrama odnosa entiteta] sa svim potrebnim poljima, moja web aplikacija je učinkovita i moje ukupno vrijeme razvoja je znatno smanjeno."

U nekim slučajevima alati za razvoj oblaka rade poput stvarnog svijeta - barem kao jučerašnja verzija stvarnog svijeta. Jeff Hensley, viši analitičar HRIS-a u DaViti, zdravstvenoj tvrtki specijaliziranoj za dijalizu bubrega, bio je iznenađen da programeri koji rade u oblaku trebaju koristiti alate naredbenog retka, XML i SQL, "što me podsjetilo na stare DOS dane". Očekuje da će se taj pristup stare škole s vremenom mijenjati kako se posvojenje povećava.

DaVita koristi platforme za isporuku aplikacija temeljenih na oblaku i hostirane poslužitelje za razvoj i isporuku skladišta podataka o ljudskim resursima i aplikacija za poslovnu inteligenciju.

Razvoj oblaka dobiva 2: Neke aplikacije nisu idealne za razvoj u oblaku

Na primjer, Dan Stueck, potpredsjednik IT-a za ministarstva obrazovanja za vjeru, izbjegava razvijati vrhunske aplikacije u oblaku koje imaju ekstremnu sigurnost podataka ili regulatorna ograničenja ili se oslanjaju na naslijeđene projekte kodiranja, poput onih u Cobolu. "To dvoje je vjerojatno najbolje držati u kući", kaže on, "prvo zbog očite sigurnosne zabrinutosti, a drugo zbog problema s" mrtvim "jezikom."

Stueck je oblak koristio kako bi pokrenuo razvojni poslužitelj na javnom oblaku Amazon.com i izgradio studentski informacijski sustav, arhivu prijepisa učenika i aplikaciju za prodaju kućnih udžbenika u oblaku.

Razvoj oblaka 3: Razvojni programeri često ne vole nepoznati teritorij oblaka

"Ono što je vjerojatno bilo najneočekivanije bilo je koliko su menadžerski i prodajni timovi i svi koji koriste sustav dobro primili cijeli projekt [razvoj oblaka] [i] koliko su ga loše prihvatili IT organizacija, a posebno programeri, "kaže Mark Warren, glavni arhitekt u 20/20.

IT-ovci su navikli raditi s Microsoftom .Net, SQL Server, Java i drugim tradicionalnim razvojnim platformama, kaže Warren, a Force.com bio je potpuno drugačiji model. "Ako poznajete SQL i Javu, to je vaš alatni okvir i nećete htjeti ići na ovu potpuno izvanzemaljsku platformu koja dolazi", kaže Warren.

Kao rezultat toga, prodajnu aplikaciju razvijalo je prvenstveno poslovno osoblje, a ne IT programeri. To je donijelo vlastiti niz izazova, kaže Warren, od kojih je najveći bio nedostatak razumijevanja među poslovnim ljudima o upravljanju promjenama i upravljanju IT-om. "IT ima razinu discipline na koju poslovni ljudi nisu navikli provoditi ih", kaže Warren. "Morali smo ih ubrzati oko pitanja upravljanja promjenama."

Što se tiče rješavanja oklijevanja tehnoloških ljudi da se razvijaju u oblačnom okruženju, postoje programi koje IT može implementirati kako bi pomogao internom usvajanju računalstva u oblaku, kaže Warren. "Trening je zasigurno dobra metoda za olakšavanje", kaže. "Međutim, osim ako je kultura IT-a otvorena za nove metode i tehnologije, organizacijska promjena [dobivanje novih programera] može biti jedina opcija."

Razvoj oblaka dobiva 4: Nedostatak dokumentacije koči programere oblaka

"Definitivno bih očekivao da će se to promijeniti kako se povećava potražnja i sve više tvrtki počinje prilagođavati koncept oblaka", kaže Hensley. "Uspjeli smo se boriti protiv toga udružujući se s konzultantskom tvrtkom."

Razvoj oblaka gotcha 5: Problemi s mrežom mogu oštetiti privatna okruženja u oblaku

Embarcadero koristi svoj virtualizirani podatkovni centar za izgradnju i testiranje aplikacija. "Za interne privatne oblake imamo nekoliko mogućnosti: odabir zakazanog datuma / vremena i postavljanje poslužitelja po određenom redoslijedu", kaže Intersimone. "Postoje automatizirani postupci izrade i automatiziranih ispitivanja dima koji se stalno pokreću u našem glavnom privatnom oblaku, a također i u regionalnim uredima za razvoj."

Da bi dobio dostupnije okruženje, Intersimone kaže da traži kontejner za oblak i virtualnu privatnu mrežu od tvrtke CoheFTFT koja se može instalirati u javni i privatni oblak kako bi se omogućilo skaliranje na zahtjev, preusmjeravanje u slučaju otkaza, oporavak od katastrofe i spremnost na katastrofe.

Ostala pitanja koja mogu utjecati na razvoj i ispitivanje uključuju mrežna kašnjenja i kašnjenja te veličinu mrežnih cijevi, posebno u određenim dijelovima svijeta. Embarcadero ima istraživačke i razvojne centre u Scotts Valleyu u Kaliforniji, Montereyu u Kaliforniji, Torontu, St.

Zemljopisno raznoliko razvojno okruženje tvrtke Embarcadero "otežava sinkronizaciju prijava, izrada i automatiziranih testiranja", kaže Intersimone. Da bi riješili neke od ovih problema, programeri rade lokalne gradnje i regionalne gradnje, kao i prijavu koda, na virtualne poslužitelje dostupne svima. Programeri također rade lokalne gradnje na vlastitim strojevima. Embarcadero osigurava da oni ne ispadnu sinkronizirani s glavnim verzijama na privatnom oblaku pomoću Subverzije, alata otvorenog koda za kontrolu izvornog koda.

"Kada se dogodi gradnja, pokreće se automatizirano testiranje za provjeru valjanosti gradnje", kaže Intersimone. "Tada obavijesti idu svim razvojnim timovima i gradnja se automatski prevlači preko kineskog zida do velikog broja automatiziranih virtualnih strojeva u našim razvojnim centrima." Automatizirani i ručni testovi rade se na rezultirajućoj verziji kako bi se provjerio status, a e-poruke se prosljeđuju ostalim članovima tima nakon završetka ovog postupka. "Sve se to događa kontinuirano tijekom životnog vijeka projekta", kaže on.

Razvoj oblaka dobiva 6: Lako je pustiti brojilo da nepotrebno radi na oblaku

Drugi potencijalni problem je rasipanje novca na naknade za oblak. Programeri mogu lako zaboraviti ili zanemariti isključivanje virtualnih strojeva koje ne koriste. "Čuo sam od nekih klijenata da programeri divljaju resursima virtualnih strojeva da bi ih programeri ponekad ostavili i pokrenuli, recimo tijekom vikenda", kaže Gartnerov Knipp. "Kada je to bilo na internom, velikim početnim slovima poslužitelju, to nije bilo ništa posebno. Ali kada se radi o unajmljenim resursima s određenom uporabom, kao kod javnog računarstva u oblaku, ovo je bacanje novca."

Knipp kaže da očekuje da će ovo postati novi izazov za poduzeća kada pokreću privatne inicijative u oblaku.

Iako postoji mali rizik za dobivanje velikog, neočekivanog računa za upotrebu virtualnih strojeva za programere u privatnom oblaku, "u samoposlužnom, privatnom IaaS okruženju, programer može vrtjeti VM-ove i nikada ih ne isključiti", kaže Knipp. "To će učinkovito pojesti resurse iz strojeva koji se ne koriste učinkovito i što bi moglo dovesti do toga da organizacija kupuje previše kapaciteta jer se planiranje iskrivi."

Razvoj oblaka gotcha 7: Oblačne licence mogu sadržavati iznenađujuća ograničenja implementacije

Među netehničkim problemima s oblakom koji mogu utjecati na razvoj su ograničenja licenciranja. Prije dvije godine Kelly Services, nacionalna privremena agencija, odlučila je koristiti razvoj zasnovan na oblaku za mnoge od svojih domaćih aplikacija, a Forcefor platforma Salesforce.com djelovala je kao vozilo za dostavu.

Razvoj oblaka donio je prednosti poput bržeg vremena za razvoj aplikacija i nižih troškova, kaže Joe Drouin, direktor tehničke službe u tvrtki Kelly Services. No, tvrtka se također susrela s nekim neočekivanim problemima s licenciranjem, posebno u vezi s tim koje je vrste korisničkih sjedala imala i koja ograničenja nose. Na primjer, sjedalo može imati određeni broj predmeta kojima bi korisnik mogao pristupiti. Kao rezultat toga, "u nekim smo trenucima bili iznenađeni onim što smo mogli ili nismo mogli učiniti" s razvojem, kaže Drouin.

Razvoj oblaka 8: Integracija može biti teža za rješavanje problema