Programmering

Skyutvikling: 9 kjenner å vite før du hopper inn

Applikasjonsutvikling og testing i skyen blir stadig mer populært, ettersom flere bedrifter lanserer offentlige og private cloud computing-tiltak. Cloud-utvikling inkluderer vanligvis integrerte utviklingsmiljøer, komponenter for administrasjon av applikasjonens livssyklus (for eksempel test- og kvalitetsstyring, kildekode og konfigurasjonsadministrasjon, kontinuerlige leveringsverktøy) og komponenter for testing av applikasjonssikkerhet.

Selv om teknologiledere og utviklere med erfaring i skybasert utvikling sier at det er klare fordeler med å utvikle seg i disse miljøene - som kostnadsbesparelser og økt hastighet til markedet - advarer de også om at det er utfordringer og overraskelser å se etter.

[Få forklaringene og rådene du trenger for å dra nytte av cloud computing i redaktørens 21-siders Cloud Computing Deep Dive PDF-spesialrapport. | Hold deg oppe i skyen med Cloud Computing Report-nyhetsbrevet. ]

Det er ikke klart hvor vanlig utvikling i skyen sannsynligvis blir. Men bransjeanalyser viser at den er økende. I et forskningsnotat fra februar 2011 sa Gartner at klienter som deltok på firmaets symposier i 2010, uttrykte "kraftig økt interesse" for cloud computing for å forbedre utviklingen og vedlikeholdet av eksisterende tilpassede webapplikasjoner.

"Jeg ser det mest i prototyping og parallell grenutvikling, men det er også stor vekst i belastnings- og ytelsestestingsområdet," sier Eric Knipp, en hovedforskningsanalytiker ved Gartner.

Hvis du ønsker å våge deg inn i skyutvikling for første gang, er det ni typer hindringer du kan støte på og forslag til hvordan du adresserer dem fra utviklere som faktisk har gjort jobben.

Skyutvikling gotcha 1: Skyen fungerer ikke alltid som den "virkelige verden"

Utviklere kan oppleve at konfigurasjonen de bruker i produksjonen er vanskelig å replikere på skytjenester. For eksempel, med et program du utvikler i skyen før du tar tilbake for å kjøre lokalt, må du kanskje teste mot et eldre system som du ikke bare kan kopiere til en skytjeneste, sier Knipp: "Det betyr at det kan være mye flere ting som utviklere må stikke ut for å få en testapp i gang. "

Tjenestevirtualiseringsteknologi kan hjelpe, sier Knipp, og utviklere kan dra nytte av markedstilbud som muliggjør utvikling av flere / parallelle filialer. Ta saken til iTKO, som tilbyr en programvarepakke kalt Lisa som hjelper selskaper med å flytte bedriftsapplikasjoner til skyen.

Utviklere som er vant til utvikling av ikke-hylse, kan også støte på overraskelser når det gjelder å bygge webapplikasjoner i skyen. For eksempel forventet Greg Taylor, som bygde en online registreringsapplikasjon for Ohio Music Education Association, ikke at han ville trenge en så grundig forståelse av databasestrukturen og hvordan brukerne ville samhandle med den da han opprettet applikasjonen.

Appen, som håndterer registreringen av skolemusikkutøvere i statlig musikkinnhold, bruker en MySQL-database som backend og Alpha Five 10.5 fra Alpha Software for frontend. "Jeg kommer fra en FileMaker Pro-bakgrunn [og] det produktet er ekstremt tilgivende med hensyn til databasestruktur," sier Taylor. "Et dårlig design kan fortsatt brukes med en rimelig suksess."

Men å utvikle seg med MySQL tvang Taylor til å være ekstremt organisert slik at webappen hadde best mulig ytelse. Å gå tilbake til tabellstrukturen for å legge til flere felt er tidkrevende, da det innebærer å rotere mellom forskjellige utviklingsverktøy, Navicat for MySQL og Alpha Five for selve websidesignet, sier han. Det første verktøyet oppretter databasestrukturen, mens det andre lager sidene brukeren kommuniserer med for å legge inn og redigere informasjon i databasen.

"Dette er kanskje ikke et problem for utviklere som bruker en database som allerede er opprettet," sier Taylor. "De ville bare bruke Alpha Five til å utvikle websidene som en bruker ville få tilgang til. I mitt tilfelle utviklet jeg samtidig både databasen og websidene, noe som ville ha krevd meg å bytte mellom utviklingsverktøyene hvis jeg ikke hadde planlagt. nøye. "

For å unngå den pågående rundeutløsningen måtte Taylor endre sin databaseutviklingsmetode: "Ved å utvikle et klart ERD [enhetsforholdsdiagram] med alle nødvendige felt først, er webappen min effektiv og den totale utviklingstiden min reduseres sterkt."

I noen tilfeller fungerer skyutviklingsverktøy som den virkelige verden - i det minste av gårsdagens versjon av den virkelige verden. Jeff Hensley, HRIS senioranalytiker ved DaVita, et helsevirksomhet som spesialiserer seg i nyredialyse, var overrasket over at utviklere som jobbet i skyen trengte å bruke kommandolinjeverktøy, XML og SQL, "som minnet meg om de gamle DOS-dagene." Han forventer at den gamle skolens tilnærming vil endres over tid etter hvert som adopsjonen øker.

DaVita bruker både skybaserte applikasjonsleveringsplattformer og servere for å utvikle og levere datalager- og forretningsinformasjonsapplikasjoner for menneskelige ressurser.

Cloud-utvikling gotcha 2: Noen apper er ikke ideelle for utvikling i skyen

For eksempel unngår Dan Stueck, visepresident for IT for Faith Educational Ministries, å utvikle avanserte applikasjoner i skyen som har ekstreme datasikkerhets- eller reguleringsbegrensninger, eller er avhengige av eldre kodingsprosjekter, som de i Cobol. "Disse to blir sannsynligvis best oppbevart i huset," sier han, "den første på grunn av de åpenbare sikkerhetsproblemene, og den andre på grunn av det" døde "språkproblemet."

Der Stueck har brukt skyen, er å kjøre en utviklingsserver på Amazon.coms offentlige skytjeneste og å bygge et studentinformasjonssystem, studentutskriftsarkiv og hjemmeskolebok som selger applikasjon i skyen.

Skyutvikling gotcha 3: Utviklere liker ofte ikke det ukjente skyterritoriet

"Det som sannsynligvis var mest uventet var hvor godt hele [skyutviklings] prosjektet ble mottatt av ledelse og salgsteam og alle som bruker systemet, [og] hvor dårlig det ble mottatt av IT-organisasjonen og spesielt utviklere, "sier Mark Warren, sjefarkitekt 20/20.

IT-personene var vant til å jobbe med Microsoft .Net, SQL Server, Java og andre tradisjonelle utviklingsplattformer, sier Warren, og Force.com var en helt annen modell. "Hvis du kjenner SQL og Java, er det verktøykassen din, og du vil ikke ønske å gå til denne helt fremmede plattformen som kommer inn," sier Warren.

Som et resultat ble salgssøknaden først og fremst utviklet av forretningsmedarbeidere, ikke av IT-utviklere. Det ga sine egne utfordringer, sier Warren, hvorav den største var mangel på forståelse blant forretningsfolk om endringsledelse og IT-styring. "IT har et nivå av disiplin som forretningsfolk ikke er vant til å ha håndhevet på dem," sier Warren. "Vi måtte få dem til å få fart på spørsmål om endringsledelse."

Når det gjelder å takle motviljen fra teknologifolk til å utvikle seg i et skymiljø, er det programmer IT kan implementere for å hjelpe til med å integrere cloud computing internt, sier Warren. "Trening er absolutt en god metode å legge til rette for," sier han. "Men med mindre IT-kulturen er åpen for nye metoder og teknologier, kan organisasjonsendring [å få nye utviklere] være det eneste alternativet."

Skyutvikling gotcha 4: Mangel på dokumentasjon hindrer skyutviklere

"Jeg ville absolutt forvente at det ville endres når etterspørselen øker og flere og flere selskaper begynner å tilpasse sky-konseptet," sier Hensley. "Vi klarte å bekjempe det ved å samarbeide med et konsulentselskap."

Skyutvikling gotcha 5: Nettverksproblemer kan ødelegge private skymiljøer

Embarcadero bruker sitt virtualiserte datasenter for applikasjonsbygging og testing. "For interne private skyer har vi et par alternativer: velge planlagt dato / klokkeslett, og iscenesette hvilke servere som gjøres i en bestemt rekkefølge," sier Intersimone. "Det er automatiserte konstruksjon og automatiserte røykprøveprosesser som kjører hele tiden i vår viktigste private sky og også i regionale utviklingskontorer."

For å få et mer tilgjengelig miljø, sier Intersimone at han ser på en skycontainer og virtuelt privat nettverkstilbud fra CohesiveFT som kan installeres i offentlige og private skyer for å gi skalering, failover, katastrofegjenoppretting og katastrofeberedskap på forespørsel.

Andre problemer som kan påvirke utvikling og testing innebærer forsinkelser og forsinkelser i nettverket, og størrelsen på nettverksrør, spesielt i visse deler av verden. Embarcadero har forsknings- og utviklingssentre i Scotts Valley, California, Monterey, California, Toronto, St. Petersburg, Fla., Og Iasi, Romania, pluss et dryss av mindre lag og enkeltpersoner over hele verden.

Embarcaderos geografisk mangfoldige utviklingsmiljø "gjør det vanskeligere å synkronisere innsjekkinger, bygg og automatisert testing," sier Intersimone. For å løse noe av dette, gjør utviklere lokale builds og regionale builds, samt ved kodeinnsjekking, på de virtuelle serverne som er tilgjengelige for alle. Utviklere gjør også lokale bygg på egne maskiner. Embarcadero sørger for at disse ikke faller ut av synkronisering med masterversjonene på den private skyen ved å bruke Subversion, et åpen kildekodeverktøy for kildekodekontroll.

"Når en build skjer, kjøres en automatisert test for å validere build," sier Intersimone. "Deretter går varslinger til alle utviklingsteam, og bygningen blir automatisk trukket over en kinesisk vegg til et stort antall automatiserte virtuelle testmaskiner på våre utviklingssentre." Automatiske og manuelle tester utføres på den resulterende versjonen for å verifisere statusen, og e-post sendes til andre teammedlemmer etter at denne prosessen er fullført. "Alt dette skjer kontinuerlig i løpet av prosjektets utviklingstid," sier han.

Skyutvikling gotcha 6: Det er lett å la måleren gå unødvendig på skyen

Et annet potensielt problem er å kaste bort penger på skygebyr. Utviklere kan lett glemme eller forsømme å slå av virtuelle maskiner de ikke bruker. "Jeg har hørt fra noen klienter som lar utviklere gå gale med virtuelle maskinressurser som noen ganger at utviklerne bare lar ting være i gang, si over en helg," sier Gartners Knipp. "Når det var på en intern, kapitalisert server, var dette ikke så farlig. Men når det er på bruksmålte, leide ressurser som med offentlig databehandling, er dette sløsing med penger."

Knipp sier at han forventer at dette blir en ny utfordring for bedrifter når de lanserer private skyinitiativer.

Mens det er liten risiko for å få en stor, uventet regning for bruk av virtuell maskinutvikler i en privat sky, "i et selvbetjent, privat IaaS-miljø, kan en utvikler spinne opp virtuelle maskiner og aldri slå dem av," sier Knipp. "Disse vil effektivt spise ressurser fra maskiner som ikke blir brukt effektivt og kan føre til at organisasjonen kjøper for mye kapasitet etter hvert som planleggingen blir skjev."

Cloud-utvikling gotcha 7: Cloud-lisenser kan inneholde overraskende distribusjonsbegrensninger

Blant de ikke-tekniske problemene med skyen som kan ha innvirkning på utviklingen, er lisensbegrensninger. For to år siden bestemte Kelly Services, et nasjonalt vikarbyrå, å bruke skybasert utvikling for mange av sine hjemmelagde applikasjoner, med Salesforce.coms Force.com-plattform som fungerte som leveransebil.

Skyutvikling har gitt fordeler som raskere behandlingstid for apputvikling og lavere kostnader, sier Joe Drouin, CIO i Kelly Services. Men selskapet opplevde også noen uventede problemer med lisensiering, spesielt angående hvilke typer brukerseter det hadde og hvilke begrensninger de hadde. For eksempel kan et sete ha et bestemt antall objekter en bruker kan få tilgang til. Som et resultat, "på noen punkter ble vi overrasket over hva vi kunne eller ikke kunne gjøre" med utvikling, sier Drouin.

Cloud-utvikling gotcha 8: Integrering kan være vanskeligere å feilsøke

Copyright no.verticalshadows.com 2024

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