Programmering

Cloududvikling: 9 gotchas at vide, før du hopper ind

Applikationsudvikling og test i skyen vinder popularitet, da flere virksomheder lancerer offentlige og private cloud computing-initiativer. Cloududvikling inkluderer typisk integrerede udviklingsmiljøer, komponenter til styring af applikationslivscyklus (såsom test- og kvalitetsstyring, kildekode og konfigurationsstyring, kontinuerlige leveringsværktøjer) og komponenter til applikationssikkerhedstest.

Selvom teknologiledere og udviklere med erfaring i skybaseret udvikling siger, at der er klare fordele ved at udvikle sig i disse miljøer - såsom omkostningsbesparelser og øget hastighed på markedet - advarer de også om, at der er udfordringer og overraskelser at passe på.

[Få de no-nonsense forklaringer og råd, du har brug for for at drage reel fordel af cloud computing i redaktørens 21-siders Cloud Computing Deep Dive PDF-specialrapport. | Bliv ope i skyen med Cloud Computing Report-nyhedsbrevet. ]

Det er ikke klart, hvor almindelig udvikling i skyen sandsynligvis bliver. Men branchen analyser viser, at det er stigende. I en forskningsnotat fra februar 2011 sagde Gartner, at klienter, der deltog i firmaets symposier i 2010, udtrykte "kraftigt øget interesse" for cloud computing for at forbedre udviklingen og vedligeholdelsen af ​​eksisterende brugerdefinerede webapplikationer.

"Jeg ser det mest inden for prototyper og parallel grenudvikling, men der er også enorm vækst i belastnings- og præstationsafprøvningsrummet," siger Eric Knipp, en hovedforskningsanalytiker hos Gartner.

Hvis du ønsker at vove dig med skyudvikling for første gang, er der ni typer forhindringer, du kan støde på, og forslag til, hvordan du adresserer dem fra udviklere, der rent faktisk har gjort arbejdet.

Cloududvikling gotcha 1: Skyen fungerer ikke altid som den "virkelige verden"

Udviklere finder måske ud af, at den konfiguration, de bruger i produktionen, er svær at replikere på cloud-tjenester. For eksempel med en applikation, du udvikler i skyen, før du vender tilbage til at køre lokalt, skal du muligvis teste mod et ældre system, som du ikke bare kan kopiere til en skytjeneste, siger Knipp: "Det betyder, at der kan være meget flere ting, som udviklere skal stubbe ud for at få en testapp i gang. "

Servicevirtualiseringsteknologi kan hjælpe, siger Knipp, og udviklere kan drage fordel af markedstilbud, der muliggør udvikling af flere / parallelle grene. Tag sagen om iTKO, der tilbyder en softwarepakke kaldet Lisa, der hjælper virksomheder med at flytte virksomhedsapplikationer til skyen.

Udviklere, der er vant til noncloud-udvikling, kan også støde på overraskelser, når det kommer til at opbygge webapplikationer i skyen. For eksempel forventede Greg Taylor, der byggede en online registreringsansøgning til Ohio Music Education Association, ikke at han havde brug for en så grundig forståelse af databasestrukturen og hvordan brugerne ville interagere med den, da han oprettede applikationen.

Appen, der håndterer registreringen af ​​skolemusikudøvere i statligt bredt musikindhold, bruger en MySQL-database som backend og Alpha Five 10.5 fra Alpha Software til frontend. "Jeg kommer fra en FileMaker Pro-baggrund [og] dette produkt er ekstremt tilgivende med hensyn til databasestruktur," siger Taylor. "Et dårligt design kan stadig bruges med en rimelig succes."

Men at udvikle sig med MySQL tvang Taylor til at være ekstremt organiseret, så webappen havde den bedst mulige ydeevne. At gå tilbage til tabelstrukturen for at tilføje flere felter er tidskrævende, da det involverer at dreje mellem forskellige udviklingsværktøjer, Navicat til MySQL og Alpha Five for det egentlige webdesign, siger han. Det første værktøj opretter databasestrukturen, mens det andet opretter de sider, brugeren interagerer med for at indtaste og redigere oplysninger i databasen.

"Dette er muligvis ikke et problem for udviklere, der udnytter en database, der allerede er oprettet," siger Taylor. "De ville simpelthen bruge Alpha Five til at udvikle de websider, som en bruger ville få adgang til. I mit tilfælde udviklede jeg samtidig både databasen og websiderne, hvilket ville have krævet, at jeg skiftede mellem udviklingsværktøjerne, hvis jeg ikke havde planlagt omhyggeligt. "

For at undgå den løbende rundeudløsning måtte Taylor ændre sin databaseudviklingsmetode: "Ved at udvikle et klart ERD [enhedsforholdsdiagram] med alle nødvendige felter først er min webapp effektiv, og min samlede udviklingstid reduceres kraftigt."

I nogle tilfælde fungerer skyudviklingsværktøjer som den virkelige verden - i det mindste af gårsdagens version af den virkelige verden. Jeff Hensley, HRIS senioranalytiker hos DaVita, et sundhedsfirma med speciale i nyredialyse, var overrasket over, at udviklere, der arbejder i skyen, havde brug for kommandolinjeværktøjer, XML og SQL, "hvilket mindede mig om de gamle DOS-dage." Han forventer, at den gamle skoles tilgang vil ændre sig over tid, når adoptionen øges.

DaVita bruger både skybaserede applikationsleveringsplatforme og hostede servere til at udvikle og levere human ware-datalager og business intelligence-applikationer.

Cloududvikling gotcha 2: Nogle apps er ikke ideelle til udvikling i skyen

For eksempel undgår Dan Stueck, vicepræsident for IT for Faith Educational Ministries, at udvikle avancerede applikationer i skyen, der har ekstreme datasikkerheds- eller lovgivningsmæssige begrænsninger, eller er afhængige af ældre kodningsprojekter, såsom dem i Cobol. "Disse to opbevares sandsynligvis bedst i huset," siger han, "den første på grund af de åbenlyse sikkerhedsproblemer, og den anden på grund af det 'døde' sprogproblem."

Hvor Stueck har brugt skyen, er at køre en udviklingsserver på Amazon.com's offentlige skytjeneste og at opbygge et elevinformationssystem, studenterudskriftsarkiv og hjemmeskolebog, der sælger applikationer i skyen.

Cloududvikling gotcha 3: Udviklere kan ofte ikke lide det ukendte skyterritorium

"Det, der sandsynligvis var mest uventet, var, hvor godt hele [cloud-udvikling] -projektet blev modtaget af ledelses- og salgsteamene og alle, der bruger systemet, [og] hvor dårligt det blev modtaget af it-organisationen og især udviklere, "siger Mark Warren, chefarkitekt 20/20.

IT-folk var vant til at arbejde med Microsoft .Net, SQL Server, Java og andre traditionelle udviklingsplatforme, siger Warren, og Force.com var en helt anden model. "Hvis du kender SQL og Java, er det din værktøjskasse, og du vil ikke gå til denne helt fremmede platform, der kommer ind," siger Warren.

Som et resultat blev salgsapplikationen primært udviklet af forretningsfolk, ikke af it-udviklere. Det bragte sit eget sæt udfordringer, siger Warren, hvoraf den største var manglende forståelse blandt forretningsfolk om forandringsledelse og it-styring. "IT har et niveau af disciplin, som forretningsfolk ikke er vant til at have håndhævet på dem," siger Warren. "Vi var nødt til at bringe dem i spidsen for spørgsmål om forandringsledelse."

Med hensyn til at tackle teknologiens tilbageholdenhed med at udvikle sig i et skymiljø er der programmer, som IT kan implementere for at hjælpe med at vedtage cloud computing internt, siger Warren. "Træning er bestemt en god metode til at lette," siger han. "Men medmindre IT-kulturen er åben for nye metoder og teknologier, kan organisatoriske ændringer [få nye udviklere] muligvis være den eneste mulighed."

Cloududvikling gotcha 4: Mangel på dokumentation hindrer skyudviklere

"Jeg ville bestemt forvente, at det ændrede sig, når efterspørgslen øges, og flere og flere virksomheder begynder at tilpasse cloud-konceptet," siger Hensley. "Vi var i stand til at bekæmpe det ved at samarbejde med et konsulentfirma."

Cloududvikling gotcha 5: Netværksproblemer kan ødelægge private skymiljøer

Embarcadero bruger sit virtualiserede datacenter til applikationsopbygning og test. "For interne private skyer har vi et par muligheder: at vælge den planlagte dato / tid og iscenesætte hvilke servere der udføres i en bestemt rækkefølge," siger Intersimone. "Der er automatiserede build- og automatiserede røgtestprocesser, der kører hele tiden i vores vigtigste private sky og også i regionale udviklingskontorer."

For at få et mere tilgængeligt miljø siger Intersimone, at han ser på en cloudcontainer og et virtuelt privat netværk, der tilbydes fra CohesiveFT, der kan installeres i offentlige og private skyer for at give on-demand skalering, failover, katastrofegendannelse og katastrofeberedskab.

Andre problemer, der kan påvirke udvikling og test, involverer netværksforsinkelser og latens og størrelsen på netværksrør, især i visse dele af verden. Embarcadero har forsknings- og udviklingscentre i Scotts Valley, Californien, Monterey, Californien, Toronto, Skt. Petersborg, Fla., Og Iasi, Rumænien, plus en sprinkling af mindre hold og enkeltpersoner over hele verden.

Embarcaderos geografisk forskelligartede udviklingsmiljø "gør det sværere at synkronisere check-ins, builds og automatiseret test," siger Intersimone. For at løse noget af dette gør udviklere lokale builds og regionale builds såvel som ved kodeindtjekningen på de virtuelle servere, der er tilgængelige for alle. Udviklere laver også lokale bygger på deres egne maskiner. Embarcadero sikrer, at disse ikke falder ud af synkronisering med masterversionerne på den private sky ved hjælp af Subversion, et open source-værktøj til kildekodestyring.

"Når en build opstår, køres en automatiseret test for at validere build," siger Intersimone. "Derefter sendes meddelelser til alle udviklingsteams, og bygningen trækkes automatisk over en kinesisk mur til et stort antal automatiserede virtuelle testmaskiner i vores udviklingscentre." Automatiske og manuelle test udføres på den resulterende build for at kontrollere status, og e-mails går ud til andre teammedlemmer, når denne proces er afsluttet. "Alt dette sker kontinuerligt i løbet af et projekts levetid," siger han.

Cloududvikling gotcha 6: Det er let at lade måleren køre unødigt på skyen

Et andet potentielt problem er at spilde penge på skygebyrer. Udviklere kan let glemme eller forsømme at slå virtuelle maskiner fra, som de ikke bruger. "Jeg har hørt fra nogle klienter, der lader udviklere gå vild med virtuelle maskinressourcer, at udviklere nogle gange bare vil lade ting være i gang, siger over en weekend," siger Gartners Knipp. "Når det var på en intern, aktiveret server, var dette ikke noget stort problem. Men når det er på brugsmålede, leasede ressourcer som med offentlig cloud computing, er dette spild af penge."

Knipp siger, at han forventer, at dette bliver en ny udfordring for virksomhederne, når de udruller private cloud-initiativer.

Mens der er ringe risiko for at få en stor, uventet regning for brug af virtuel udvikler af maskiner i en privat sky, "i et selvbetjent, privat IaaS-miljø, kan en udvikler spin op på virtuelle maskiner og aldrig slå dem fra," siger Knipp. "Disse spiser effektivt ressourcer fra maskiner, der ikke bruges effektivt og kan resultere i, at organisationen køber for meget kapacitet, når planlægningen bliver skæv."

Cloududvikling gotcha 7: Cloudlicenser kan indeholde overraskende implementeringsbegrænsninger

Blandt de ikke-tekniske problemer med skyen, der kan påvirke udviklingen, er licensrestriktioner. For to år siden besluttede Kelly Services, et nationalt vikarbureau, at bruge skybaseret udvikling til mange af sine hjemmegårde applikationer med Salesforce.coms Force.com-platform, der fungerer som leveringskøretøjet.

Cloududvikling har medført fordele som hurtigere leveringstid for appudvikling og lavere omkostninger, siger Joe Drouin, CIO hos Kelly Services. Men virksomheden stødte også på nogle uventede problemer med licensering, specifikt med hensyn til hvilke typer brugersæder det havde, og hvilke begrænsninger de havde. For eksempel kan et sæde have et bestemt antal objekter, som en bruger kan få adgang til. Som et resultat, "på nogle punkter blev vi overrasket over, hvad vi kunne eller ikke kunne gøre" med udvikling, siger Drouin.

Cloududvikling gotcha 8: Integration kan være sværere at foretage fejlfinding

Copyright verticalshadows.com 2021