Programiranje

Razvoj oblaka: 9 morate vedeti, preden vskočite

Razvoj aplikacij in testiranje v oblaku postajajo vse bolj priljubljeni, saj več podjetij sproža javne in zasebne pobude za računalništvo v oblaku. Razvoj v oblaku običajno vključuje integrirana razvojna okolja, komponente za upravljanje življenjskega cikla aplikacij (kot so upravljanje preskusov in kakovosti, upravljanje izvorne kode in konfiguracije, orodja za neprekinjeno dostavo) in komponente za testiranje varnosti aplikacij.

Čeprav tehnološki direktorji in razvijalci z izkušnjami v razvoju v oblaku pravijo, da ima razvoj v teh okoljih očitne koristi - na primer prihranek stroškov in večja hitrost trženja -, opozarjajo tudi, da je treba paziti na izzive in presenečenja.

[Poiščite neumne razlage in nasvete, ki jih potrebujete za resnično izkoriščanje računalništva v oblaku, v posebnem poročilu urednika o 21-stranskem Cloud Computing Deep Dive PDF. | Ostanite v oblaku z glasilom Cloud Computing Report. ]

Ni jasno, kako pogost bo razvoj v oblaku. Toda analiza industrije kaže, da je v porastu. V raziskavi iz februarja 2011 je Gartner dejal, da so stranke, ki so se udeležile simpozijev podjetja leta 2010, izrazile "močno povečano zanimanje" za računalništvo v oblaku, da bi izboljšale razvoj in vzdrževanje obstoječih spletnih aplikacij po meri.

"Najbolj ga vidim pri izdelavi prototipov in vzporednem razvoju vej, vendar pa je tudi ogromna rast prostora za testiranje obremenitve in zmogljivosti," pravi Eric Knipp, glavni raziskovalni analitik pri Gartnerju.

Če se prvič želite lotiti razvoja oblaka, je tukaj devet vrst ovir, ki jih lahko naletite, in predlogi, kako jih odpraviti s strani razvijalcev, ki so to delo dejansko opravili.

Razvoj oblaka 1: oblak ne deluje vedno tako kot v "resničnem svetu"

Razvijalci lahko ugotovijo, da je konfiguracijo, ki jo uporabljajo v proizvodnji, težko kopirati v oblačnih storitvah. Na primer, z aplikacijo, ki jo razvijete v oblaku, preden jo zaženete lokalno, boste morda morali preizkusiti proti staremu sistemu, ki ga ne morete preprosto kopirati v oblačno storitev, pravi Knipp: "To pomeni, da bi lahko bilo veliko več stvari, ki jih morajo razvijalci odstraniti, da se preskusna aplikacija zažene in zažene. "

Knipp pravi, da lahko pomaga tehnologija za virtualizacijo storitev, razvijalci pa lahko izkoristijo tržne ponudbe, ki omogočajo več / vzporedni razvoj podružnic. Vzemimo za primer iTKO, ki ponuja programsko opremo Lisa, ki podjetjem pomaga premakniti poslovne programe v oblak.

Razvijalci, vajeni neoblačnega razvoja, lahko pri gradnji spletnih aplikacij v oblaku naletijo tudi na presenečenja. Na primer, Greg Taylor, ki je izdelal spletno prijavo za združenje za glasbeno izobraževanje v Ohiu, ni pričakoval, da bo potreboval tako temeljito razumevanje strukture baze podatkov in tega, kako bodo uporabniki med seboj sodelovali, ko je ustvaril aplikacijo.

Aplikacija, ki ureja registracijo izvajalcev šolske glasbe v glasbenih vsebinah po vsej državi, uporablja MySQL bazo podatkov kot zadnji del in Alpha Five 10.5 iz Alpha Software za prednji del. "Prihajam iz okolja FileMaker Pro [in], da je izdelek izjemno prizanesljiv glede strukture baz podatkov," pravi Taylor. "Slabo zasnovo je še vedno mogoče uporabiti z razumnim uspehom."

Toda razvoj z MySQL je prisilil Taylorja, da je bil izjemno organiziran, da je spletna aplikacija imela čim boljšo zmogljivost. Vrnitev k strukturi tabele za dodajanje več polj je zamudna, saj vključuje rotacijo med različnimi razvojnimi orodji, Navicat za MySQL in Alpha Five za dejansko zasnovo spletne strani, pravi. Prvo orodje ustvari strukturo baze podatkov, drugo pa strani, s katerimi uporabnik sodeluje z namenom vnašanja in urejanja informacij v bazo podatkov.

"To morda ne bo težava za razvijalce, ki uporabljajo bazo podatkov, ki je že bila ustvarjena," pravi Taylor. "Preprosto bi uporabili Alpha Five za razvoj spletnih strani, do katerih bi imel uporabnik dostop. V mojem primeru sem istočasno razvijal tako bazo podatkov kot tudi spletne strani, zaradi česar bi moral preklopiti med razvojnimi orodji, če ne bi načrtoval previdno. "

Da bi se izognil temu stalnemu krožnemu spotikanju, je moral Taylor spremeniti svoj pristop k razvoju baze podatkov: "Z razvojem jasnega ERD [diagram razmerja entitet] z vsemi potrebnimi polji je moja spletna aplikacija učinkovita in moj celoten razvojni čas se močno skrajša."

V nekaterih primerih orodja za razvoj oblaka delujejo kot v resničnem svetu - vsaj včerajšnja različica resničnega sveta. Jeff Hensley, višji analitik HRIS pri DaViti, zdravstvenem podjetju, specializiranem za dializo ledvic, je bil presenečen, da so razvijalci, ki delajo v oblaku, morali uporabljati orodja ukazne vrstice, XML in SQL, "kar me je spomnilo na stare DOS-ove dni." Pričakuje, da se bo pristop starih šol s časom spremenil s povečanjem posvojitve.

DaVita uporablja platforme za dostavo aplikacij v oblaku in gostujoče strežnike za razvoj in dostavo skladišč podatkov o človeških virih in aplikacij za poslovno inteligenco.

Razvoj v oblaku 2: Nekatere aplikacije niso idealne za razvoj v oblaku

Dan Stueck, podpredsednik IT za ministrstva za izobraževanje Faith, se na primer izogiba razvoju visokokakovostnih aplikacij v oblaku z izjemno varnostjo podatkov ali zakonskimi omejitvami ali se zanaša na stare programe kodiranja, kot so tisti v Cobolu. "To dvoje je verjetno najbolje hraniti v hiši," pravi, "prvo zaradi očitnih varnostnih pomislekov, drugo pa zaradi" mrtvega "jezika."

Kadar je Stueck uporabil oblak, je zagnati razvojni strežnik na javni storitvi Amazon.com v oblaku in zgraditi študentski informacijski sistem, arhiv prepisov študentov in aplikacijo za prodajo domačih učbenikov v oblaku.

Razvoj oblaka 3: Razvijalci pogosto ne marajo neznanega ozemlja v oblaku

"Verjetno najbolj nepričakovano je bilo, kako dobro so celoten projekt [razvoj oblaka] sprejeli vodstvene in prodajne ekipe ter vsi, ki uporabljajo sistem, [in] kako slabo so ga sprejele organizacija IT in zlasti razvijalci, "pravi Mark Warren, glavni arhitekt ob 20.20.

IT-jevci so bili navajeni delati z Microsoftom .Net, SQL Server, Java in drugimi tradicionalnimi razvojnimi platformami, pravi Warren, in Force.com je bil povsem drugačen model. "Če poznate SQL in Javo, je to vaša zbirka orodij in ne boste želeli iti na to povsem tujo platformo, ki prihaja," pravi Warren.

Posledično je prodajno aplikacijo razvilo predvsem poslovno osebje in ne razvijalci informacijske tehnologije. Warren pravi, da je to prineslo vrsto izzivov, največji pa je bil pomanjkanje razumevanja med gospodarstveniki glede upravljanja sprememb in upravljanja IT. "IT ima takšno disciplino, ki je poslovneži niso vajeni uveljavljati," pravi Warren. "Morali smo jih pospešiti glede vprašanj upravljanja sprememb."

Kar zadeva odpravljanje zadržkov tehnoloških ljudi, da bi se razvijali v oblačnem okolju, obstajajo programi, ki jih lahko IT uporabi za notranje sprejemanje računalništva v oblaku, pravi Warren. "Trening je zagotovo dobra metoda za olajšanje," pravi. "Vendar pa je organizacijska sprememba [pridobivanje novih razvijalcev] lahko edina možnost, razen če je kultura IT odprta za nove metode in tehnologije."

Razvoj oblaka gotcha 4: pomanjkanje dokumentacije ovira razvijalce oblakov

"Vsekakor bi pričakoval, da se bo to spremenilo, ko se bo povpraševanje povečalo in vse več podjetij bo začelo prilagajati koncept oblaka," pravi Hensley. "S tem smo se lahko borili s partnerstvom s svetovalnim podjetjem."

Razvoj oblaka gotcha 5: Težave z omrežjem lahko škodujejo zasebnim okoljem v oblaku

Embarcadero uporablja svoj virtualizirani podatkovni center za izdelavo in testiranje aplikacij. "Za notranje zasebne oblake imamo na voljo nekaj možnosti: izbira načrtovanega datuma / ure in uprizoritev strežnikov, ki se izvajajo v določenem vrstnem redu," pravi Intersimone. "V našem glavnem zasebnem oblaku in tudi v regionalnih pisarnah za razvoj se ves čas izvajajo avtomatizirani postopki izdelave in avtomatiziranih preskusov dima."

Da bi dobili bolj razpoložljivo okolje, Intersimone pravi, da preučuje vsebnik v oblaku in navidezno zasebno omrežje, ki ga ponuja CoheFTFT, ki ga je mogoče namestiti v javne in zasebne oblake, da bi zagotovili skaliranje na zahtevo, preusmeritev v sili, obnovo po katastrofi in pripravljenost na nesreče.

Druga vprašanja, ki lahko vplivajo na razvoj in testiranje, vključujejo zamude in zakasnitve omrežja ter velikost omrežnih cevi, zlasti v nekaterih delih sveta. Embarcadero ima raziskovalna in razvojna središča v Scotts Valley v Kaliforniji, Montereyu v Kaliforniji, Torontu, Sankt Peterburgu, Fla. In Iasiju v Romuniji, skupaj z manjšimi skupinami in posamezniki po vsem svetu.

Geografsko raznoliko razvojno okolje podjetja Embarcadero "otežuje sinhronizacijo prijav, zgradb in samodejnega testiranja," pravi Intersimone. Da bi razrešili nekaj tega, razvijalci izvajajo lokalne gradnje in regionalne gradnje, pa tudi prijavo kode, na virtualnih strežnikih, ki so na voljo vsem. Razvijalci lokalno gradijo tudi na svojih strojih. Embarcadero z uporabo odprtokodnega orodja za nadzor izvorne kode Subversion ne preprečuje sinhronizacije z glavnimi različicami v zasebnem oblaku.

"Ko pride do gradnje, se za potrditev gradnje izvede samodejni test," pravi Intersimone. "Nato obvestila gredo vsem razvojnim skupinam in gradnja se samodejno potegne čez kitajski zid do velikega števila avtomatiziranih testnih virtualnih strojev v naših razvojnih centrih." Na nastali gradnji se izvedejo avtomatizirani in ročni testi za preverjanje stanja, po zaključku tega postopka pa se drugi člani ekipe pošljejo po e-pošti. "Vse to se dogaja neprekinjeno v času razvoja projekta," pravi.

Razvoj oblaka, razumevanje 6: Preprosto pustite, da števec teče po oblaku

Druga potencialna težava je zapravljanje denarja za pristojbine v oblaku. Razvijalci lahko zlahka pozabijo ali zanemarijo izklop navideznih strojev, ki jih ne uporabljajo. "Od nekaterih strank sem slišal, da so razvijalci divjali z viri navideznih strojev, da bi razvijalci včasih stvari preprosto pustili pripravljene za delo, recimo čez vikend," pravi Gartner's Knipp. "Ko je šlo za interni strežnik z velikimi tiskanimi črkami, to ni bilo nič hudega. Ko pa gre za najete vire, zajete v najemu, kot pri javnem računalništvu v oblaku, je to škoda denarja."

Knipp pravi, da pričakuje, da bo to postal nov izziv za podjetja, ko bodo izvajala zasebne pobude v oblaku.

Čeprav obstaja majhno tveganje, da dobite velik, nepričakovan račun za uporabo navideznih strojev za razvijalce v zasebnem oblaku, "v samopostrežnem zasebnem okolju IaaS lahko razvijalec zavrti VM-je in jih nikoli ne izklopi," pravi Knipp. "Ti bodo dejansko pojedli vire iz strojev, ki se ne uporabljajo učinkovito in bi lahko povzročili, da organizacija odkupi preveč zmogljivosti, saj se načrtovanje popači."

Razvoj oblaka gotcha 7: licence v oblaku lahko vsebujejo presenetljive omejitve uvajanja

Med netehničnimi težavami z oblakom, ki lahko vplivajo na razvoj, so omejitve licenciranja. Pred dvema letoma se je Kelly Services, nacionalna začasna agencija, odločila, da bo za številne svoje domače aplikacije uporabila razvoj v oblaku, pri čemer je bila dostavna naprava platforma Force.com podjetja Salesforce.com.

Razvoj v oblaku je prinesel prednosti, kot so hitrejši čas razvoja programov in nižji stroški, pravi Joe Drouin, direktor tehnične službe pri Kelly Services. Toda podjetje se je pri licenciranju srečalo tudi z nekaj nepričakovanimi težavami, zlasti glede vrste uporabniških sedežev in kakšne omejitve imajo. Na primer, sedež ima lahko določeno število predmetov, do katerih ima uporabnik dostop. Kot rezultat, "smo bili v določenem trenutku presenečeni nad tem, kaj lahko ali ne smemo" z razvojem, pravi Drouin.

Razvoj oblaka razumevanje 8: Integracijo je težje odpraviti

Copyright sl.verticalshadows.com 2024

$config[zx-auto] not found$config[zx-overlay] not found