Domov obchodné Mikroservisy: aké sú a prečo by sa vaše podnikanie malo zaujímať

Mikroservisy: aké sú a prečo by sa vaše podnikanie malo zaujímať

Video: Diskusia na tému PENIAZE- Podnikanie mladých (November 2024)

Video: Diskusia na tému PENIAZE- Podnikanie mladých (November 2024)
Anonim

Prostredie podnikového softvéru je posiate buzzy technológiami. Napísali sme o ich veľkom počte, či už ide o blockchain, vývoj kódu s nízkym kódom alebo iné vznikajúce trendy, ktoré menia spôsob práce. Jedným z nových hesiel, o ktorých ste možno predtým nepočuli, sú „mikroservisy“.

To je zámerné. Mikroservisy sú odlišným spôsobom, ako navrhnúť softvér založený na súbore vzájomne prepletených modulárnych komponentov, a nie na tradičnej myšlienke „monolitu“ - aplikácie tvorenej jednou stále sa rozvíjajúcou horou kódu. Mikroprocesorové aplikácie nevyzerajú nijako inak ako na strane používateľského rozhrania (UI), či už ide o zložitú aplikáciu v dátovom centre alebo webovú alebo mobilnú aplikáciu hostenú na škálovateľnej cloudovej infraštruktúre.

Dôvodom, prečo by sa podniky mali zaujímať o mikroservisy, je to, že v zákulisí môže architektúra pomôcť vývojovým a IT tímom pracovať a rýchlejšie inovovať, spravovať infraštruktúru a znižovať náklady a zložitosť pridávania nových funkcií a funkcií do aplikácie. Al Hilwa, programový riaditeľ pre vývoj softvéru pre vývoj aplikácií na IDC, vysvetlil, ako by mal zostaviť mikroskopické služby, pričom by mal mať na pamäti kultúrne aj technologické výzvy.

„Pri budovaní nových systémov je pravdepodobne najdôležitejšie uvedomiť si, že malý tím by mal vybudovať jednu mikroservis, “ povedal Hilwa. „Po druhé, tolerancia rôznorodosti v programovacích jazykoch a pracovných postupoch vývojárov často vyplýva z nezávislej povahy celkovej kultúry mikroservisov. Hlavným poslaním výkonného manažéra je budovať softvér postupne pomocou malých tímov, pričom každý vytvára koherentný modul s uverejneným Výhodou je, že nezávislé moduly sa môžu vyvíjať oveľa rýchlejšie, nezávisle od toho, pokiaľ sú zverejnené API spravované organizovaným spôsobom. ““

Čo sú to skutočne mikroservisy?

Hilwa napísal správu IDC z roku 2015 s názvom „Vznik mikroprocesov ako nový architektonický prístup k budovaniu nových softvérových systémov“. V správe definuje mikroservisy ako podrobnú softvérovú architektúru, v ktorej sú komponenty aplikácie navrhnuté a vyvíjané nezávisle na splnení požiadaviek interoperability definovaných API (čo znamená, že sú späté s aplikáciou ako celok). Mikroservisy však neexistujú vo vákuu. Nová architektúra si vyžaduje silnú organizačnú podporu a posun v kultúre IT.

Mikroservisy tiež nie sú definované žiadnou špecifickou technológiou, ale ako vývoj dlhodobého konceptu architektúry orientovanej na služby (SOA), ktorý je rozšírený príchodom kontajnerov a nárastom automatizácie prostredníctvom vývojových prístupov, ako je nepretržité dodávanie (CD) a nepretržitá integrácia. (CI).

„Organizácie, ktoré dnes používajú mikroprocesy, sú zvyčajne motivované túžbou po rýchlejšom vývoji služieb, “ uviedla Hilwa. „Vo väčšine takýchto prípadov teda mikroservisy vo veľkej miere využívajú automatizáciu CI / CD. Tempo skutočného nasadenia sa však medzi službami môže líšiť. Myslím si, že kľúčové je dobre sa pozrieť na vnútornú kultúru a uistite sa, že ste ochotní tolerovať väčšiu decentralizáciu a rozmanitosť v technologickej komore. “

„Internou kultúrou“ Hilwa vo veľkej miere odkazuje na DevOps, filozofiu, ktorá spája vývoj softvéru, IT operácie a zabezpečenie kvality (QA) do jediného kolaboratívneho pracovného postupu. Spustenie softvéru DevOps HashiCorp a jeho zakladatelia sú už dlho zástancami mikroprocesov. Spoločnosť, ktorá nedávno zabezpečila 24 miliónov dolárov kola financovania série B, počíta medzi svojich používateľov s otvoreným zdrojom a podnikových zákazníkov spoločnosti ako Cisco, DigitalOcean, Mozilla a Stripe.

Microservices sú jadrom toho, ako HashiCorp pristupuje k vývoju infraštruktúry DevOps a pracovným tokom aplikácií v rámci svojich populárnych nástrojov s otvoreným zdrojom a rastúcej sady podnikových produktov. Armon Dadgar, CTO a spoluzakladateľ spoločnosti HashiCorp, rozdelil rozdiel medzi monolitmi a mikroskopickými službami pomocou jednoduchej analógie: Amazon a eBay.

„Premýšľajte o Amazon a eBay ako o samostatných aplikáciách. Z pohľadu koncového používateľa vyzerajú podobne, ale v zákulisí spoločnosti zaujali opačný prístup k tomu, ako zostavili a navrhli svoje aplikácie, “ povedal Dadgar. „Amazon od začiatku bol zväzkom mikroprocesov. Funguje ako jediná aplikácia. Ak však hľadáte produkt, katalóg produktov, nákupný košík, faktúry, toky objednávok a tieto funkcie rozdelíte, tieto dve aplikácie fungujú odlišne. strojov."

Analógia Amazonu sa vzťahuje aj na štruktúru štruktúry Amazonu. Dadgar vysvetľuje technologické prístupy, ako sú mikroservisy, ako nástroje na podporu väčšieho pohybu procesu smerom k DevOps. "Two Pizza Rule" od Jeffa Bezosa funguje tak, že v danom tíme Amazonu je len päť až osem ľudí. Ak sa tím zväčší, rozdelí sa na dve časti.

Amazonova organizačná hierarchia začína mapovať to, čo Dadgar opísal ako „rozklad funkčnosti“. Každý tím, oddelený na úrovni organizačnej aj modulárnej architektúry, má potom schopnosť slobodnejšie sa vyvíjať a experimentovať, bez potreby koordinácie pri každej zmene - a pritom stále funguje ako súčasť jednej súdržnej aplikácie.

„eBay využil monolitický prístup; všetky eBay postavili ako dlhú, 50 miliónov riadkovú aplikáciu kódu, “ povedal Dadgar. „Mikroobslužný prístup je spočiatku bolestivejší, pretože problémy s modularitou a interoperabilitou sú také, ktoré v monolite neexistujú. Keď sa však aplikácia rozrastie, veci sa začnú rozkladať. V monolite nedochádza k rozkladu.

„Zamyslite sa nad tým, ako stovky alebo tisíce vývojárov spolupracujú na jednej kodebáze a snažia sa koordinovať. Tím QA, ktorý pridáva funkcie na jednej strane aplikácie, sa môže na druhej strane niečo zlomiť, pretože neexistuje jasné oddelenie úloh a zodpovedností. začíname potrebovať stále väčšiu koordináciu medzi projektovými manažérmi a procesom kontroly kvality, ktorý môže trvať týždne a prekážkou rozvoja, bez ohľadu na to, ako rýchlo tento tím pracuje. V kuchyni je príliš veľa kuchárov. ““

Kontajnery a mikroservisy vo svete DevOps

Spôsob, akým vaše podnikanie implementuje architektúru mikroprocesov, povedie k veľkej ceste k určeniu, či sa investícia oplatí. Mikroservisy sú vopred pripravené, najmä pri integrácii API, aby sa zabezpečilo, že všetky služby budú spolu komunikovať. Hilwa vysvetlil, že je to ešte zložitejšie, keď sa pokúšame integrovať mikroservisy do existujúceho systému; odporúča, aby podniky budovali nové systémy vždy, keď je to možné, a nie aby prestavovali starú monolitickú aplikáciu pre mikroprocesy.

„Tradičné systémové architektúry zvyčajne zahŕňajú rozsiahle a komplexné databázové systémy záznamu s komplikovanými normalizovanými schémami, “ povedal Hilwa. „Rozdelenie takýchto systémov na menšie komponenty s ich vlastnými nezávislými systémami si vyžaduje veľa práce na návrhu databázy a efektívne prepísanie väčšiny základnej aplikačnej logiky. Vo väčšine prípadov je to vo väčšine prípadov časovo a časovo neúnosné.“

Ak starú aplikáciu preprogramujete, Hilwa vám odporúča postupovať postupne. Aj keď sú ešte dôležitejšie ako integrácia API, mikroservisy nefungujú bez kultúry DevOps. Dadgar HashiCorpu povedal, že pokiaľ ide o väčší dáždnik DevOps, mikroservisy sa stávajú nástrojom na uľahčenie väčšieho posunu procesu smerom k zásadnej zmene pracovných postupov, pomocou ktorých dodávame aplikácie. Poukázal na rozloženie Tao of HashiCorp, keď založil spoločnosť so spoluzakladateľom Mitchell Hashimoto: jednoduchý, modulárny a skladateľný.

„DevOps je v istom zmysle ešte preťaženejším termínom ako mikroprocesy, “ povedal Dadgar. „Podnik je však zložený z ľudí s rôznymi odbornými znalosťami: vývojárov, operátorov, bezpečnostných pracovníkov. A potom máte proces, spôsob organizácie týchto ľudí. Potom máte nástroje na podporu tohto procesu, ktorým sú mikroprocesy a kontajnery Vstúpte."

Kontajnery, propagované explóziou spoločnosti Docker s otvoreným zdrojom, zďaleka nie sú jediné nástroje, ktoré môžu podniky použiť na uľahčenie mikroprocesov. Hilwa spoločnosti IDC uviedla, že kontajnery sa používajú v moderných aplikáciách ako súčasť pracovných postupov CI / CD av niektorých prípadoch aj pri nasadení do výroby. Mikroslužby však podľa neho môžu využívať aj virtuálne stroje (VM), a to bez potreby kontajnerov.

To znamená, že pokiaľ ide o spôsob, akým sa obchodné oblaky vyvíjajú, kontajnery a mikroprocesory Docker sú účinnou kombináciou nástrojov, ktorú využívajú podniky všetkých tvarov a veľkostí - od začínajúcich spoločností, ako je HashiCorp, až po podnikové giganty ako Oracle. HadiCorp's Dadgar povedal, že kontajnery sú vhodným prostriedkom, pomocou ktorého si Dev a Ops (a združením rôzne tímy a služby) navzájom komunikujú.

„Čo je to artefakt, ktorý prechádzame medzi vývojármi a operátormi? Čo prúdime dôkladne a staviame sa okolo? Kontajnery sú pohodlnou jednotkou na prechod okolo, “ povedal Dadgar. „Zamyslite sa nad globálnym podnikovým prepravným produktom po celom svete. Či už ide o nákladnú loď, nákladný vlak alebo nákladné auto, je to rovnaká jednotka, ktorá preteká celým systémom.“

DevOps a mikroprocesy nie sú ani zďaleka rozšírené pre podniky, ale trh len rastie. Podľa správy IDC vstúpi architektúra mikroprocesov do fázy dozrievania v priebehu nasledujúcich piatich rokov. Táto zrelosť sa stane na pätách kultúry DevOps, ktorá do roku 2020 dosiahne 50 percent organizácií, neustály vývoj nástrojov automatizácie softvéru a dominancia lacnej škálovateľnej cloudovej infraštruktúry poskytovanej napríklad spoločnosťami Amazon Web Services (AWS) a Microsoft Azure.

Dadgar povedal, že aj keď malý podiel podnikov, ktoré v súčasnosti prijímajú DevOps a mikroprocesy, je HashiCorp už značne preplnený. Svojich prvých sedemciferných výnosov dosiahol už po deviatich mesiacoch podnikového predaja, okrem komunity s otvoreným zdrojom na GitHub s niekoľkými miliónmi aktívnych používateľov mesačne. Mikroservisy sú iba časťou pipeline nástrojov na prácu s aplikáciami HashiCorp a väčšej mapy infraštruktúry DevOps. Modularita a interoperabilita pod všetko, čo spoločnosť buduje, však podnietila meteorický vzostup jedného z najhorúcejších softvérových startupov v Silicon Valley.

„Pred štyrmi rokmi, keď sme začali, sme sa zúčastnili stretnutí a predstavili si našu víziu toho, ako sa bude spravovať infraštruktúra, “ povedal Dadgar. „Neboli sme sa z miestnosti celkom smiali; vedeli sme, že to bolo skoro. Ale teraz sú naše nástroje, ako je Terraform, na ceste k tomu, aby sa stali priemyselnými štandardmi. Uvidíme, že je dominový efekt konkurenčného tlaku a v Z dlhodobého hľadiska bude naša úloha v spolupráci s CIO a CTO, aby sme pochopili procesný posun, ktorý potrebujú.

„Premýšľajte o tom Toyota späť, “ pokračoval Dadgar. „Mali ste veľa stavebných výrobkov pre automobilové spoločnosti, ale náklady boli vyššie, ako by mali byť. Toyota neobnovila, čo to bolo za auto; boli o tom len dôslednejšie a inkrementálnejšie a prešli od smiechu k powerhouse a prinútili zvyšok odvetvia prijať rovnaký súbor postupov, aby zostali konkurencieschopné. Práve teraz máme vedúcich predstaviteľov v odvetví, ktorí sa pýtajú, ako môžu získať konkurenčnú výhodu, a ich odpoveďou je prijatie postupov spoločnosti Google a Amazoniek na trhu. bod, zasiahne kritické množstvo. ““

Mikroservisy: aké sú a prečo by sa vaše podnikanie malo zaujímať