Programovanie

Vývoj v cloude: 9 poznatkov, ktoré musíte vedieť skôr, ako sa zapojíte

Vývoj aplikácií a testovanie v cloude získavajú na popularite, pretože čoraz viac firiem začína s verejnými a súkromnými iniciatívami cloud computingu. Vývoj v cloude zvyčajne zahŕňa integrované vývojové prostredia, komponenty riadenia životného cyklu aplikácií (napríklad testovanie a riadenie kvality, správa zdrojového kódu a konfigurácie, nástroje na nepretržité doručovanie) a komponenty testovania bezpečnosti aplikácií.

Aj keď riadiaci pracovníci v oblasti technológií a vývojári so skúsenosťami s vývojom v cloude tvrdia, že vývoj v týchto prostrediach má jasné výhody - napríklad úsporu nákladov a vyššiu rýchlosť uvedenia na trh, zároveň upozorňujú na to, že je potrebné hľadať výzvy a prekvapenia.

[Získajte nezmyselné vysvetlenia a rady, ktoré potrebujete na skutočné využitie výhod cloud computingu v špeciálnej správe PDF s 21 stránkami Cloud Computing Deep Dive. | Zostaňte v oblaku vďaka informačnému bulletinu Cloud Computing Report. ]

Nie je jasné, ako sa pravdepodobne stane bežný vývoj v cloude. Analýza odvetvia však ukazuje, že je na vzostupe. Vo výskume z februára 2011 spoločnosť Gartner uviedla, že klienti, ktorí sa zúčastnili na sympóziách spoločnosti v roku 2010, vyjadrili „prudko zvýšený záujem“ o cloud computing, aby zlepšili vývoj a údržbu existujúcich vlastných webových aplikácií.

„Najviac to vidím v prototypovaní a vývoji paralelných pobočiek, ale došlo tiež k obrovskému nárastu v priestore na testovanie zaťaženia a výkonu,“ hovorí Eric Knipp, hlavný analytik spoločnosti Gartner.

Ak sa chcete pustiť do vývoja cloudu po prvýkrát, tu je deväť typov prekážok, s ktorými sa môžete stretnúť, a návrhy, ako ich riešiť od vývojárov, ktorí prácu skutočne vykonali.

Vývoj cloudu 1: Cloud nie vždy funguje ako „skutočný svet“

Vývojárom sa môže zdať, že konfigurácia, ktorú používajú vo výrobe, sa v cloudových službách ťažko replikuje. Napríklad s aplikáciou, ktorú vyvíjate v cloude pred opätovným spustením lokálneho spustenia, možno budete musieť otestovať starší systém, ktorý nemôžete jednoducho skopírovať do cloudovej služby, hovorí Knipp: „To znamená, že toho môže byť veľa ďalšie veci, ktoré vývojári musia vyradiť, aby mohli spustiť testovaciu aplikáciu. “

Technológia virtualizácie služieb môže pomôcť, hovorí Knipp, a vývojári môžu využívať ponuky trhu, ktoré umožňujú vývoj viacerých alebo paralelných pobočiek. Zoberme si príklad spoločnosti iTKO, ktorá ponúka softvérovú sadu s názvom Lisa, ktorá pomáha spoločnostiam presúvať podnikové aplikácie do cloudu.

Vývojári zvyknutí na vývoj mimo cloudu sa môžu tiež stretnúť s prekvapeniami, pokiaľ ide o budovanie webových aplikácií v cloude. Napríklad Greg Taylor, ktorý vytvoril online registračnú aplikáciu pre Ohio Music Education Association, neočakával, že bude potrebovať také dôkladné pochopenie štruktúry databázy a toho, ako s ňou budú používatelia interagovať, keď bude aplikáciu vytvárať.

Aplikácia, ktorá zabezpečuje registráciu školských hudobných interpretov do celoštátneho hudobného obsahu, používa ako zadný koniec databázu MySQL a ako predný koniec Alpha Five 10.5 od spoločnosti Alpha Software. „Pochádzam z prostredia FileMaker Pro [a] tento produkt je mimoriadne zhovievavý, pokiaľ ide o štruktúru databázy,“ hovorí Taylor. „Zlý dizajn je stále možné použiť s primeranou mierou úspechu.“

Ale vývoj s MySQL prinútil Taylora k extrémnej organizácii, aby mala webová aplikácia čo najlepší výkon. Vrátiť sa k štruktúre tabuľky a pridať ďalšie polia je časovo náročné, pretože podľa neho spočíva v rotácii medzi rôznymi vývojovými nástrojmi, Navicat pre MySQL a Alpha Five pre skutočný dizajn webových stránok. Prvý nástroj vytvára databázovú štruktúru, zatiaľ čo druhý vytvára stránky, s ktorými užívateľ interaguje, aby mohol zadávať a upravovať informácie v databáze.

„To nemusí byť problém pre vývojárov využívajúcich databázu, ktorá už bola vytvorená,“ hovorí Taylor. „Jednoducho by použili Alpha Five na vývoj webových stránok, ku ktorým by mal užívateľ prístup. V mojom prípade som súčasne vyvíjal databázu aj webové stránky, čo by odo mňa vyžadovalo prepínanie medzi vývojovými nástrojmi, keby som to neplánoval opatrne. “

Aby sa zabránilo pokračujúcemu okružnému spojeniu, musel Taylor zmeniť svoj prístup k vývoju databázy: „Najskôr vyvinutím jasného ERD [diagram vzťahov medzi entitami] so všetkými potrebnými poliami je moja webová aplikácia efektívna a môj celkový čas na vývoj sa výrazne skracuje.“

V niektorých prípadoch fungujú nástroje na vývoj cloudu ako skutočný svet - prinajmenšom včerajšia verzia skutočného sveta. Jeff Hensley, senior analytik spoločnosti HRIS v spoločnosti DaVita, zdravotníckej spoločnosti špecializovanej na dialýzu obličiek, bol prekvapený, že vývojári pracujúci v cloude musia používať nástroje príkazového riadku, XML a SQL, „čo mi pripomínalo staré časy v DOSe“. Očakáva, že prístup starej školy sa časom zmení s pribúdajúcimi adopciami.

Spoločnosť DaVita využíva na vývoj a doručovanie dátových skladov ľudských zdrojov a aplikácií business intelligence platformy založené na cloudových aplikáciách a hostované servery.

Vývoj v cloude 2: Niektoré aplikácie nie sú ideálne na vývoj v cloude

Napríklad Dan Stueck, viceprezident IT pre Faith Educational Ministries, sa vyhýba vývoju špičkových aplikácií v cloude, ktoré majú extrémne zabezpečenie údajov alebo regulačné obmedzenia, alebo sa spoliehajú na projekty staršieho kódovania, ako sú napríklad projekty v Cobole. „Títo dvaja ľudia sú pravdepodobne v domácnosti držaní najlepšie,“ hovorí. „Prvý z dôvodu zjavných obáv o bezpečnosť a druhý z dôvodu„ mŕtveho “jazyka.“

Spoločnosť Stueck využila cloud práve na spustenie vývojového servera na verejnej cloudovej službe Amazon.com a na vybudovanie informačného systému pre študentov, archívu prepisov študentov a aplikácie na predaj domácej učebnice v cloude.

Vývoj cloudu dostal 3: Vývojárom sa často nepáči neznáme cloudové územie

„Pravdepodobne najneočakávanejšie bolo, ako dobre celý projekt [cloud development] prijali riadiace a predajné tímy a všetci, ktorí systém používajú, [a] ako zle ho prijala organizácia IT a najmä vývojári, “hovorí Mark Warren, hlavný architekt v 20/20.

Ľudia v oblasti IT boli zvyknutí pracovať s Microsoft .Net, SQL Server, Java a inými tradičnými vývojovými platformami, tvrdí Warren, a Force.com bol úplne iný model. „Ak poznáte SQL a Java, je to vaša sada nástrojov a nebudete chcieť ísť na túto úplne cudziu platformu, ktorá prichádza,“ hovorí Warren.

Výsledkom bolo, že predajná aplikácia bola vyvinutá predovšetkým obchodnými zamestnancami, nie vývojármi IT. To prinieslo vlastnú sadu výziev, hovorí Warren, z ktorých najväčšia bola nepochopenie podnikateľov v oblasti riadenia zmien a riadenia IT. „IT má takú disciplínu, akú si podnikatelia nezvyknú vymáhať,“ hovorí Warren. „Museli sme ich urýchliť v otázkach riadenia zmien.“

Pokiaľ ide o riešenie neochoty technologických ľudí vyvíjať sa v cloudovom prostredí, existujú programy, ktoré môže IT implementovať, aby pomohla interne prijať cloud computing, tvrdí Warren. „Výcvik je určite dobrá metóda na uľahčenie,“ hovorí. „Pokiaľ však kultúra IT nie je otvorená novým metódam a technológiám, jedinou možnosťou môže byť organizačná zmena [získavanie nových vývojárov].“

Vývoj cloudov: 4: Nedostatok dokumentácie prekáža vývojárom cloudov

„Určite by som očakával, že sa to zmení, keď sa zvýši dopyt a čoraz viac spoločností začne prispôsobovať cloudový koncept,“ hovorí Hensley. „Boli sme proti tomu schopní bojovať partnerstvom s poradenskou spoločnosťou.“

Vývoj cloudu má 5: Problémy so sieťou môžu narušiť prostredie súkromného cloudu

Spoločnosť Embarcadero využíva svoje virtualizované dátové centrum na vytváranie a testovanie aplikácií. „Pre interné súkromné ​​cloudy máme niekoľko možností: výber plánovaného dátumu a času a určenie, ktoré servery sa robia v určitom poradí,“ hovorí Intersimone. „V našom hlavnom privátnom cloude a tiež v regionálnych rozvojových kanceláriách neustále prebiehajú automatizované procesy zostavovania a automatizované testy dymu.“

Ak chcete získať dostupnejšie prostredie, Intersimone hovorí, že hľadá ponuku cloudových kontajnerov a virtuálnych privátnych sietí od spoločnosti CohesiveFT, ktoré je možné inštalovať do verejných a súkromných cloudov a zabezpečiť tak škálovanie na požiadanie, prepnutie po zlyhaní, zotavenie po katastrofe a pripravenosť na katastrofy.

Medzi ďalšie problémy, ktoré môžu ovplyvniť vývoj a testovanie, patrí oneskorenie a latencia siete a veľkosť sieťových potrubí, najmä v určitých častiach sveta. Spoločnosť Embarcadero má výskumné a vývojové centrá v Scotts Valley v Kalifornii, Monterey v Kalifornii, Toronte, Petrohrade vo Fla a rumunskom Iasi, plus kropenie menších tímov a jednotlivcov z celého sveta.

Geograficky rozmanité vývojové prostredie spoločnosti Embarcadero „sťažuje synchronizáciu odbavení, zostavení a automatizovaného testovania,“ hovorí Intersimone. Aby sa niečo z toho vyriešilo, vývojári robia lokálne a regionálne zostavenia, ako aj na vrátení kódu na virtuálnych serveroch, ktoré sú k dispozícii všetkým. Vývojári tiež lokálne stavajú na svojich vlastných strojoch. Embarcadero zaisťuje, že tieto nebudú synchronizované s hlavnými verziami v súkromnom cloude pomocou Subversion, nástroja otvoreného zdroja na riadenie zdrojového kódu.

„Keď dôjde k zostaveniu, spustí sa automatický test na overenie zostavenia,“ hovorí Intersimone. „Potom oznámenia dostanú všetky vývojové tímy a zostava sa automaticky prenesie cez čínsku stenu k veľkému počtu automatizovaných testovacích virtuálnych strojov v našich vývojových centrách.“ Na výslednom zostavení sa vykonávajú automatické a manuálne testy na overenie stavu a po dokončení tohto procesu sa e-maily odošlú ďalším členom tímu. „To všetko sa deje nepretržite počas celého vývoja projektu,“ hovorí.

Vývoj v cloude gotcha 6: Je ľahké nechať merač zbytočne bežať v cloude

Ďalším potenciálnym problémom je míňanie peňazí za poplatky za cloud. Vývojári môžu ľahko zabudnúť alebo zanedbať vypnutie virtuálnych strojov, ktoré nepoužívajú. „Počul som od niektorých klientov, že nechali vývojárov divokými prostriedkami virtuálnych strojov, že vývojári niekedy nechali veci len tak spustené, povedzme cez víkend,“ hovorí Gartnerov Knipp. „Keď to bolo na internom, kapitalizovanom serveri, nebolo to nič veľké. Ale keď sa jedná o prenajaté zdroje namerané podľa spotreby, ako pri verejnom cloudovom výpočte, sú to zbytočné peniaze.“

Knipp tvrdí, že očakáva, že sa z toho stane nová výzva pre podniky, keď budú rozvíjať súkromné ​​cloudové iniciatívy.

Aj keď existuje veľké riziko, že dostanete veľký, neočakávaný účet za použitie virtuálneho stroja vývojára v súkromnom cloude, „v samoobslužnom a súkromnom prostredí IaaS môže vývojár roztočiť virtuálne počítače a nikdy ich nevypnúť,“ hovorí Knipp. „Tieto efektívne spotrebujú zdroje zo strojov, ktoré sa efektívne nevyužívajú, a mohli by viesť k tomu, že organizácia nakúpi príliš veľa kapacity, pretože plánovanie bude skreslené.“

Vývoj v cloude 7: Cloudové licencie môžu obsahovať prekvapivé obmedzenia nasadenia

Medzi netechnické problémy s cloudom, ktoré môžu mať vplyv na vývoj, patria licenčné obmedzenia. Pred dvoma rokmi sa spoločnosť Kelly Services, národná dočasná agentúra, rozhodla využiť cloudový vývoj pre mnoho svojich domácich aplikácií, pričom dodávkovým vozidlom bola platforma Force.com spoločnosti Salesforce.com.

Vývoj v cloude priniesol výhody, ako je rýchlejšia doba obratu vo vývoji aplikácií a nižšie náklady, hovorí Joe Drouin, CIO spoločnosti Kelly Services. Spoločnosť sa však stretla aj s neočakávanými problémami s licencovaním, najmä čo sa týka typov sedadiel pre používateľov a obmedzenia, ktoré majú so sebou. Napríklad sedadlo môže mať nastavený počet objektov, ku ktorým má používateľ prístup. Výsledkom bolo, že „v niektorých bodoch nás prekvapilo, čo sme mohli alebo nemohli urobiť“ s vývojom, hovorí Drouin.

Vývoj v cloude Gotcha 8: Riešenie problémov s integráciou môže byť ťažšie

Copyright sk.verticalshadows.com 2024

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