Programování

Vývoj cloudu: 9 věcí, které musíte vědět, než se do toho vrhnete

Vývoj aplikací a testování v cloudu získávají na popularitě, protože stále více podniků spouští veřejné a soukromé cloudové počítačové iniciativy. Vývoj v cloudu obvykle zahrnuje integrovaná vývojová prostředí, komponenty pro správu životního cyklu aplikací (jako je správa testů a kvality, správa zdrojového kódu a konfigurace, nástroje pro nepřetržité doručování) a komponenty pro testování zabezpečení aplikací.

Ačkoli technologičtí ředitelé a vývojáři se zkušenostmi s vývojem založeným na cloudu říkají, že vývoj v těchto prostředích má jasné výhody - jako je úspora nákladů a vyšší rychlost uvedení na trh - také varují, že je třeba hledat výzvy a překvapení.

[Získejte nesmyslná vysvětlení a rady, které potřebujete ke skutečnému využití cloudových výpočtů, ve speciální zprávě 21stránkového editoru Cloud Computing Deep Dive PDF. | Zůstaňte v obraze díky bulletinu Cloud Computing Report. ]

Jak je pravděpodobné, že se stane běžný vývoj v cloudu, není jasné. Analýza odvětví však ukazuje, že je na vzestupu. V průzkumu z února 2011 společnost Gartner uvedla, že klienti, kteří se v roce 2010 zúčastnili firemních sympozií, vyjádřili „prudce zvýšený zájem“ o cloud computing, aby zlepšili vývoj a údržbu stávajících vlastních webových aplikací.

„Nejvíce to vidím v prototypování a vývoji paralelních větví, ale došlo také k obrovskému nárůstu prostoru pro testování zátěže a výkonu,“ říká Eric Knipp, hlavní analytik společnosti Gartner.

Pokud se chcete pustit do vývoje cloudu poprvé, zde je devět typů překážek, se kterými se můžete setkat, a návrhy, jak je řešit od vývojářů, kteří práci skutečně provedli.

Vývoj cloudu dostal 1: Cloud nemusí vždy fungovat jako „skutečný svět“

Vývojáři možná zjistí, že konfigurace, kterou používají v produkci, se na cloudových službách těžko replikuje. Například s aplikací, kterou vyvíjíte v cloudu, než se vrátíte k místnímu spuštění, možná budete muset otestovat starší systém, který nemůžete jednoduše zkopírovat do cloudové služby, Knipp říká: „To znamená, že toho může být hodně další věci, které vývojáři musí vyřadit, aby mohli testovací aplikaci uvést do provozu. “

Technologie virtualizace služeb může pomoci, říká Knipp, a vývojáři mohou využít nabídky trhu, které umožňují vývoj více poboček / paralelních poboček. Vezměme si příklad společnosti iTKO, která nabízí softwarovou sadu nazvanou Lisa, která pomáhá společnostem přesouvat podnikové aplikace do cloudu.

Vývojáři zvyklí na vývoj mimo cloud mohou také narazit na překvapení, pokud jde o vytváření webových aplikací v cloudu. Například Greg Taylor, který vytvořil online registrační aplikaci pro Ohio Music Education Association, neočekával, že bude potřebovat takové důkladné pochopení struktury databáze a toho, jak s ní budou uživatelé při vytváření aplikace interagovat.

Tato aplikace, která zajišťuje registraci školních hudebních umělců do celostátního hudebního obsahu, používá jako zadní část databázi MySQL a jako přední část Alpha Five 10.5 od Alpha Software. „Vycházím z prostředí FileMaker Pro [a] tento produkt je extrémně shovívavý, pokud jde o strukturu databáze,“ říká Taylor. „Špatný design lze stále použít s rozumnou mírou úspěchu.“

Ale vývoj s MySQL přinutil Taylora být extrémně organizovaný, aby webová aplikace měla co nejlepší výkon. Vrátit se ke struktuře tabulky a přidat další pole je časově náročné, protože zahrnuje rotaci mezi různými vývojovými nástroji, Navicat pro MySQL a Alpha Five pro skutečný design webové stránky, říká. První nástroj vytváří strukturu databáze, zatímco druhý vytváří stránky, se kterými uživatel interaguje, aby mohl zadávat a upravovat informace v databázi.

„To nemusí být problém pro vývojáře využívající databázi, která již byla vytvořena,“ říká Taylor. „Prostě by použili Alpha Five k vývoji webových stránek, ke kterým by měl uživatel přístup. V mém případě jsem současně vyvíjel jak databázi, tak webové stránky, což by mě vyžadovalo přepínání mezi vývojovými nástroji, kdybych to neplánoval opatrně."

Aby se Taylor vyhnul tomuto pokračujícímu zpáteční cestě, musel změnit svůj přístup k vývoji databáze: „Nejprve vytvořením jasného ERD [diagram vztahů s entitami] se všemi potřebnými poli je moje webová aplikace efektivní a moje celková doba vývoje je výrazně zkrácena.“

V některých případech fungují nástroje pro vývoj cloudu jako skutečný svět - přinejmenším včerejší verze skutečného světa. Jeff Hensley, hlavní analytik společnosti HRIS ve společnosti DaVita, která se specializuje na dialýzu ledvin, byl překvapen, že vývojáři pracující v cloudu potřebovali používat nástroje příkazového řádku, XML a SQL, „což mi připomínalo staré časy v DOSu“. Očekává, že se přístup staré školy bude postupem času měnit, jak se bude adopce zvyšovat.

DaVita využívá jak cloudové platformy pro doručování aplikací, tak hostované servery k vývoji a dodávkám datových skladů lidských zdrojů a aplikací business intelligence.

Vývoj cloudu 2: Některé aplikace nejsou ideální pro vývoj v cloudu

Například Dan Stueck, viceprezident IT pro Faith Educational Ministries, se vyhýbá vývoji špičkových aplikací v cloudu, které mají extrémní zabezpečení dat nebo regulační omezení, nebo se spoléhají na starší projekty kódování, jako jsou ty v Cobolu. „Ti dva jsou pravděpodobně nejlépe drženi v domě,“ říká, „první kvůli zjevným bezpečnostním obavám a druhý kvůli„ mrtvému ​​“jazykovému problému.“

Kde Stueck použil cloud, je spuštění vývojového serveru na veřejné cloudové službě Amazon.com a vybudování informačního systému pro studenty, archivu přepisu studentů a aplikace pro prodej domácích učebnic v cloudu.

Vývoj cloudu dostal 3: Vývojáři často nemají rádi neznámé cloudové území

„Pravděpodobně nejneočekávanější bylo, jak dobře byl celý projekt [cloudového vývoje] přijat managementem a prodejními týmy a všemi, kdo systém používají, [a] jak špatně byl přijat IT organizací a zejména vývojáři, “říká Mark Warren, hlavní architekt ve 20/20.

Lidé z oblasti IT byli zvyklí pracovat s Microsoft .Net, SQL Server, Java a dalšími tradičními vývojovými platformami, říká Warren, a Force.com byl úplně jiný model. „Pokud znáte SQL a Java, je to vaše sada nástrojů a nebudete chtít přejít na tuto zcela cizí platformu, která přichází,“ říká Warren.

Výsledkem bylo, že prodejní aplikace byla vyvinuta především obchodními zaměstnanci, nikoli vývojáři IT. Warren říká, že to přineslo jeho vlastní soubor výzev, z nichž největší bylo nepochopení mezi obchodníky ohledně řízení změn a správy IT. „IT má úroveň disciplíny, kterou si podnikatelé nejsou zvyklí prosazovat,“ říká Warren. „Museli jsme je urychlit v otázkách správy změn.“

Pokud jde o řešení neochoty technologických lidí vyvíjet se v cloudovém prostředí, existují programy, které může IT implementovat, aby pomohlo interně adoptovat cloud computing, říká Warren. „Školení je určitě dobrá metoda, jak to usnadnit,“ říká. „Pokud však kultura IT není otevřená novým metodám a technologiím, může být jedinou možností organizační změna [získávání nových vývojářů].“

Vývoj cloudu dostal 4: Nedostatek dokumentace brání vývojářům cloudu

„Rozhodně bych očekával, že se to změní s rostoucí poptávkou a stále více společností začne přizpůsobovat cloudový koncept,“ říká Hensley. „Proti tomu jsme dokázali bojovat pomocí partnerství s poradenskou firmou.“

Vývoj cloudu dostal 5: Problémy se sítí mohou narušit prostředí privátního cloudu

Embarcadero využívá své virtualizované datové centrum k vytváření a testování aplikací. „Pro interní privátní cloudy máme několik možností: zvolit naplánované datum a čas a určit, které servery se provádějí v určitém pořadí,“ říká Intersimone. „V našem hlavním privátním cloudu a také v regionálních rozvojových kancelářích neustále probíhají automatizované procesy sestavování a automatizované testy kouře.“

Chcete-li získat dostupnější prostředí, Intersimone říká, že hledá nabídku cloudového kontejneru a virtuální privátní sítě od společnosti CohesiveFT, kterou lze instalovat ve veřejných a soukromých cloudech a poskytovat škálování na vyžádání, převzetí služeb při selhání, zotavení po katastrofě a připravenost na katastrofy.

Mezi další problémy, které mohou ovlivnit vývoj a testování, patří zpoždění a latence sítě a velikost síťových kanálů, zejména v některých částech světa. Embarcadero má výzkumná a vývojová centra ve Scotts Valley v Kalifornii, Monterey v Kalifornii, Torontu, Petrohradu ve Floridě a Iasi v Rumunsku, plus postřikování menších týmů a jednotlivců po celém světě.

Geograficky rozmanité vývojové prostředí společnosti Embarcadero „ztěžuje synchronizaci ohlášení, sestavení a automatizovaného testování,“ říká Intersimone. Aby bylo možné některé z těchto problémů vyřešit, vývojáři provádějí místní sestavení a regionální sestavení, stejně jako při vrácení kódu na virtuálních serverech, které jsou k dispozici všem. Vývojáři také provádějí místní sestavení na svých vlastních počítačích. Embarcadero zajišťuje, aby tyto nespadaly ze synchronizace s hlavními verzemi v soukromém cloudu pomocí Subversion, nástroje otevřeného zdroje pro řízení zdrojového kódu.

„Když dojde k sestavení, spustí se automatický test k ověření sestavení,“ říká Intersimone. „Pak se oznámení dostanou do všech vývojových týmů a sestavení se automaticky přenese přes čínskou zeď k velkému počtu automatizovaných testovacích virtuálních strojů v našich vývojových centrech.“ Na výsledném sestavení se provádějí automatické a ruční testy, které ověřují stav, a e-maily se po dokončení tohoto procesu odešlou dalším členům týmu. „To vše se děje nepřetržitě po celou dobu vývoje projektu,“ říká.

Vývoj cloudu dostal 6: Je snadné nechat měřič zbytečně běžet v cloudu

Dalším potenciálním problémem je plýtvání penězi za poplatky za cloud. Vývojáři mohou snadno zapomenout nebo zapomenout vypnout virtuální stroje, které nepoužívají. „Slyšel jsem od některých klientů, kteří nechali vývojáře divoce se zdroji virtuálních strojů, že někdy vývojáři prostě nechali věci běžet, řekněme přes víkend,“ říká Gartnerův Knipp. „Když to bylo na interním, kapitalizovaném serveru, nebylo to nic velkého. Ale když se jedná o pronajaté zdroje s měřením využití, jako u veřejného cloudového výpočtu, je to ztráta peněz.“

Knipp říká, že očekává, že se toto stane novou výzvou pro podniky při zavádění soukromých cloudových iniciativ.

I když existuje malé riziko získání velkého neočekávaného účtu za použití virtuálního stroje pro vývojáře v soukromém cloudu, „v samoobslužném soukromém prostředí IaaS může vývojář roztočit virtuální počítače a nikdy je nevypnout,“ říká Knipp. „Budou účinně spotřebovávat zdroje ze strojů, které nejsou efektivně využívány, a mohly by vést k tomu, že organizace nakoupí příliš velkou kapacitu, protože plánování bude vychýleno.“

Vývoj cloudu 7: Cloudové licence mohou obsahovat překvapivá omezení nasazení

Mezi netechnické problémy s cloudem, které mohou mít dopad na vývoj, patří licenční omezení. Před dvěma lety se Kelly Services, národní dočasná agentura, rozhodla využít cloudový vývoj pro mnoho svých domácích aplikací, přičemž platformou pro doručování byla platforma Force.com společnosti Salesforce.com.

Vývoj cloudu přinesl výhody, jako je rychlejší doba obratu ve vývoji aplikací a nižší náklady, říká Joe Drouin, CIO společnosti Kelly Services. Společnost se ale také setkala s některými neočekávanými problémy s licencováním, konkrétně s ohledem na to, jaké typy uživatelských sedadel má a jaká omezení mají. Například místo může mít nastavený počet objektů, ke kterým může uživatel přistupovat. Výsledkem je, že „v některých bodech nás překvapilo, co jsme mohli nebo nemohli udělat“ s vývojem, říká Drouin.

Vývoj cloudu gotcha 8: Řešení integrace může být obtížnější

Copyright cs.verticalshadows.com 2024

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