Namai Verslas Mikroservisai: kokie jie yra ir kodėl jūsų verslui turėtų rūpėti

Mikroservisai: kokie jie yra ir kodėl jūsų verslui turėtų rūpėti

Video: Didžiųjų viešųjų debesų tiekėjų palyginimas: aplikacijos diegimas ir priežiūra (Lapkritis 2024)

Video: Didžiųjų viešųjų debesų tiekėjų palyginimas: aplikacijos diegimas ir priežiūra (Lapkritis 2024)
Anonim

Įmonių programinės įrangos peizažas yra užpildytas niūriomis technologijomis. Mes rašėme apie daugybę jų, nesvarbu, ar tai būtų „grandinės grandinė“, žemo kodo plėtra, ar kitos kylančios tendencijos, keičiančios mūsų darbo pobūdį. Vienas iš naujų žodžių, apie kuriuos galbūt dar negirdėjote, yra „mikro paslaugos“.

Tai pagal dizainą. Mikroservisai yra skirtingas būdas kurti programinę įrangą, paremtą susipynusių modulinių komponentų rinkiniu, o ne tradicine „monolito“ idėja - programa, kurią sudaro vienas vis augantis kodo kalnas. „Microservices“ pagrįstos programos niekuo nesiskiria nuo vartotojo sąsajos (vartotojo sąsajos), nesvarbu, ar jos yra sudėtingame duomenų centro programoje, ar žiniatinklyje ar mobiliojoje programoje, esančioje keičiamojoje debesų infrastruktūroje.

Priežastis, kodėl verslui turėtų rūpėti mikro paslaugos, yra ta, kad architektūra užkulisiuose gali padėti jūsų plėtojimo ir IT komandoms greičiau dirbti ir diegti naujoves, valdyti infrastruktūrą ir sumažinti naujų funkcijų ir funkcijų programos pridėjimo sąnaudas ir sudėtingumą. IDC taikomųjų programų tobulinimo programinės įrangos tyrimų direktorius Al Hilwa paaiškino, kaip jis mikroskopines paslaugas skirs vykdytojui, nepamiršdamas ir kultūrinių, ir techninių iššūkių.

„Kai kuriu naujas sistemas, turbūt svarbiausia yra pripažinti, kad nedidelę komandą turėtų pastatyti viena mikropaslauga“, - teigė Hilwa. "Antra, programavimo kalbų ir kūrėjų darbo srautų įvairovės tolerancija dažnai reiškiasi tuo, kad bendra mikroservisų kultūra yra nepriklausoma. Pagrindinis vykdymo žingsnis yra programinės įrangos kūrimas palaipsniui, naudojant mažas komandas, kiekviena kuriant nuoseklų modulį su paskelbta Privalumas yra tas, kad nepriklausomi moduliai gali būti kuriami daug spartesniu tempu, tol, kol paskelbtos API bus tvarkomos organizuotai."

Kas iš tikrųjų yra mikro paslaugos?

Hilwa parengė 2015 m. IDC ataskaitą „Mikro paslaugų atsiradimas kaip naujas architektūrinis požiūris į naujų programinės įrangos sistemų kūrimą“. Ataskaitoje jis mikroservisus apibūdina kaip granuliuotą programinės įrangos architektūrą, kur programų komponentai yra kuriami ir tobulinami nepriklausomai, kad atitiktų API apibrėžtus sąveikos reikalavimus (tai reiškia, kad jie yra susieti su visa programa). Tačiau mikroservisų nėra vakuume. Naujai architektūrai reikalinga stipri organizacinė parama ir IT kultūros pokyčiai.

„Mikro paslaugos“ taip pat nėra apibrėžtos jokia konkrečia technologija, bet kaip ilgalaikės į paslaugas orientuotos architektūros (SOA) koncepcijos raida, kurią papildo konteinerių atsiradimas ir automatizacijos augimas, plėtojant tokius metodus kaip nuolatinis pristatymas (CD) ir nuolatinė integracija (CI).

„Organizacijas, naudojančias mikroservisus, dažniausiai motyvuoja greitesnis paslaugų evoliucijos tempas“, - teigė Hilwa. "Taigi daugeliu atvejų mikropaslaugos labai naudoja CI / CD automatizavimą. Tačiau faktinis diegimo tempas skirtingose ​​tarnybose gali skirtis. Manau, kad svarbiausia gerai išmanyti vidinę kultūrą ir būti įsitikinkite, kad esate pasirengęs toleruoti didesnį decentralizavimą ir įvairovę technologijų kamino srityje “.

„Vidine kultūra“ Hilwa daugiausia remiasi „DevOps“ - filosofija, kurioje programinės įrangos kūrimas, IT operacijos ir kokybės užtikrinimas (QA) sujungiami į vieną bendrą darbo eigą. „DevOps“ programinės įrangos paleistis „HashiCorp“ ir jos įkūrėjai jau seniai yra mikro paslaugų teikėjai. Bendrovė, neseniai surinkusi 24 milijonų dolerių B serijos finansavimą, skaičiuoja tokias įmones kaip „Cisco“, „DigitalOcean“, „Mozilla“ ir „Stripe“ tarp atvirojo kodo vartotojų ir verslo klientų.

„Mikroservisai“ yra pagrindiniai „HashiCorp“ požiūriai į „DevOps“ infrastruktūros plėtrą ir programų darbo eigą populiariuose atvirojo kodo įrankiuose ir augančiame įmonės produktų rinkinyje. Armonas Dadgaras, CTO ir „HashiCorp“ įkūrėjas, sumažino skirtumą tarp monolitų ir mikroservisų, naudodamas paprastą analogiją: „Amazon“ ir „eBay“.

"Galvok apie„ Amazon “ir„ eBay “kaip atskiras programas. Žvelgiant iš galutinio vartotojo perspektyvos, jos atrodo panašiai, tačiau užkulisiuose bendrovės laikėsi priešingos nuomonės, kaip kūrė ir kūrė savo programas“, - teigė D. Dadgar. „„ Amazon “nuo pat pradžių buvo mikro paslaugų rinkinys; ji veikia kaip viena programa. Bet jei atliksite paiešką, produktų katalogą, pirkinių krepšelį, sąskaitas faktūras, užsakymų srautus ir padalinsite šias funkcijas, abi programos veikia skirtingai. mašinos “.

„Amazon“ analogija taip pat apima ir pačios „Amazon“ struktūrą. „Dadgar“ aiškina technologinius metodus, tokius kaip mikroservisai, kaip įrankius, palaikančius didesnį proceso judėjimą link „DevOps“. Jeffo Bezoso „Dviejų picų taisyklė“ veikia taip, kad bet kurioje „Amazon“ komandoje yra tik nuo penkių iki aštuonių žmonių. Jei komanda padidėja, ji suskaidoma į dvi dalis.

„Amazon“ organizacinė hierarchija pradeda planuoti, ką Dadgaras apibūdino kaip „funkcionalumo suskaidymą“. Atskirta tiek organizaciniu, tiek moduliniu architektūros lygiu, kiekviena komanda turi galimybę laisviau tobulėti ir eksperimentuoti, nereikia koordinuoti kiekvieno pakeitimo - vis tiek ji veikia kaip vienos suderintos programos dalis.

„„ eBay “laikėsi monolitinio požiūrio; jie sukūrė visą„ eBay “kaip ilgą, 50 milijonų kodų taikymo eilutę“, - sakė D. Dadgar. Mikroservisų požiūris iš pradžių yra skausmingesnis, nes modulio ir sąveikos problemos nėra tos, kurios egzistuoja monolite. Tačiau viskas pradeda irti, kai programa išauga per didelė. Monolite skilimo nėra.

"Pagalvokite apie šimtus ar tūkstančius kūrėjų, kurie bendradarbiauja vienoje bazinėje bazėje ir bando koordinuoti. QA komanda, pridedanti funkcionalumo vienoje programos pusėje, gali ką nors pakeisti kitoje pusėje, nes nėra aiškus vaidmenų ir atsakomybės atskyrimas. jums reikia daugiau ir daugiau koordinavimo tarp projektų vadovų ir kokybės užtikrinimo proceso, kuris gali užtrukti kelias savaites ir kuriant kliūtis, nesvarbu, kaip greitai ta komanda dirba. Virtuvėje yra per daug virėjų “.

Konteineriai ir mikro paslaugos „DevOps“ pasaulyje

Tai, kaip jūsų verslas įgyvendins mikro paslaugų architektūrą, nulems ilgą kelią nustatant, ar investicija atsiperka. Mikro paslaugos yra daug pastangų, ypač integruojant API, reikia įsitikinti, kad visos paslaugos tariasi tarpusavyje. Hilwa paaiškino, kad bandant integruoti mikro paslaugas į esamą sistemą yra dar sudėtingiau; jis rekomenduoja įmonėms kurti naujas sistemas, kai tik įmanoma, o ne perprojektuoti senąją monolitinę programą mikro paslaugoms.

"Tradicinės sistemos architektūros paprastai apima dideles, sudėtingas duomenų bazių sistemas su sudėtingomis normalizuotomis schemomis", - teigė Hilwa. "Norint įskaičiuoti tokias sistemas į mažesnius komponentus su savo nepriklausomomis sistemomis, reikia daug duomenų bazių projektavimo darbų ir veiksmingai perrašyti didžiąją dalį pagrindinės programos logikos. Dažniausiai tai kainuoja ir reikalauja laiko."

Jei perprojektuosite seną programą, Hilwa pataria tai daryti palaipsniui. Nors ir dar svarbiau nei API integracija, mikro paslaugos neveikia be „DevOps“ kultūros. „HashiCorp“ darbuotojas teigė, kad, kalbant apie didesnį „DevOps“ skėtį, mikroservisai tampa įrankiu, palengvinančiu didesnį proceso poslinkį, iš esmės keičiant darbo srautus, kuriais mes teikiame programas. Jis atkreipė dėmesį į „HashiCorp“ planą, kuris buvo išdėstytas, kai jis kartu su įkūrėju Mitchellu Hashimoto įkūrė įmonę: paprasta, modulinė ir sudėtinga.

„Tam tikra prasme„ DevOps “yra dar labiau apkrautas terminas nei mikroservisai“, - sakė D. Dadgaras. "Bet verslą sudaro žmonės, turintys skirtingas žinių ypatybes: kūrėjai, operatoriai, apsaugos darbuotojai. Ir tada jūs turite procesą, kaip jūs organizuojate tuos žmones. Tada jūs turite įrankius, skirtus palaikyti tą procesą, tai yra, kai mikropaslaugos ir konteineriai Įeiti."

Konteineriai, kuriuos išpopuliarino atviro kodo „Docker“ sprogimas, toli gražu nėra vieninteliai įrankiai, kuriais įmonės gali naudotis palengvindamos mikro paslaugas. IDC Hilwa teigė, kad konteineriai yra naudojami šiuolaikinėse programose kaip CI / CD darbo eigos dalis, o kai kuriais atvejais - diegiant į gamybą. Tačiau jis sakė, kad mikropaslaugos taip pat gali naudoti virtualias mašinas (VM), nereikia jokių talpyklų.

Tačiau kalbant apie verslo debesų raidos būdus, „Docker“ konteineriai ir mikroservisai yra stiprus įrankių derinys, kurį priima visų formų ir dydžių verslas - pradedant naujais verslais, tokiais kaip „HashiCorp“, ir baigiant tokiais verslo milžinais kaip „Oracle“. „HashiCorp“ darbuotojas Dadgaras teigė, kad konteineriai yra patogi priemonė, kuria „Dev“ ir „Ops“ (ir, kartu, skirtingos komandos bei tarnybos) bendrauja tarpusavyje.

"Koks yra artefaktas, kurį mes perduodame tarp kūrėjų ir operatorių? Ką mes kruopščiai ir aplink kuriame? Konteineriai yra patogus mazgas, kuriuo galima apeiti", - sakė D.Dadgaras. "Pagalvokite apie globalią įmonę, gabenančią produktą visame pasaulyje. Nesvarbu, ar tai būtų krovininis laivas, krovininis traukinys, ar sunkvežimis - tai tas pats vienetas, tekantis per visą sistemą."

„DevOps“ ir mikropaslaugos vis dar toli gražu nėra plačiai naudojamos įmonėse, tačiau rinka tik auga. Remiantis IDC ataskaita, per ateinančius penkerius metus mikro paslaugų paslaugų architektūra pradės brandinimo fazę. Ši branda įvyks ant „DevOps“ kultūros kulnų, pasiekiančių 50 procentų organizacijų iki 2020 m., Besitęsiančią programinės įrangos automatizavimo priemonių evoliuciją ir dominuojančią pigią, keičiamą debesų infrastruktūrą, kurią teikia mėgstamos „Amazon Web Services“ (AWS) ir „Microsoft Azure“.

Dadgaras teigė, kad net ir nedidelė dalis įmonių, apimančių „DevOps“ ir mikropaslaugų paslaugas, šiuo metu „HashiCorp“ jau yra per daug užsiprenumeravę. Pirmąsias septynių skaitmenų pajamas ji pasiekė tik po devynių mėnesių pardavimų įmonėje. Be to, „GitHub“ sudarė kelis milijonus aktyvių vartotojų per mėnesį atvirojo kodo bendruomenę. Mikro paslaugos yra tik dalis „HashiCorp“ darbo eigos programų įrankių diegimo vamzdyno ir didesnio „DevOps“ infrastruktūros plano. Viso, ką bendrovė kuria, moduliškumas ir suderinamumas paskatino meteorologinį vienos karščiausių programinės įrangos startuolių Silicio slėnyje kilimą.

„Prieš ketverius metus, kai mes pradėjome, mes eisime į susitikimus ir iškelsime savo viziją, kaip bus tvarkoma infrastruktūra“, - sakė D. Dadgaras. "Mes nebuvome tiksliai juokęsi iš kambario; žinojome, kad dar anksti. Bet dabar mūsų įrankiai, tokie kaip„ Terraform “, yra pakeliui į pramonės standartus. Tai, ką pamatysime, yra dominuojantis konkurencinio spaudimo poveikis ir Ilgalaikėje perspektyvoje mūsų darbas bus dirbti su CIO ir CTO, kad suprastume proceso poslinkį, kurio jiems reikia.

„Dieną pagalvok apie„ Toyota ““, - tęsė Dadgaras. „Jūs turėjote daugybę automobilių kompanijų, gaminančių gaminius, tačiau išlaidos buvo didesnės, nei turėtų būti.„ Toyota “neišradinėjo to, kas buvo automobilis; jie tiesiog buvo griežtesni ir išradingesni procesui, o iš juokdarių ėjo į elektrinę, priversdami Likusi pramonės atstovė taiko tą patį praktikos rinkinį, kad išliktų konkurencinga. Šiuo metu pramonės lyderiai klausia, kaip jie gali įgyti konkurencinį pranašumą, ir jų atsakymas yra pritaikyti „Google“ ir „Amazones“ praktiką rinkoje. punkto, jis pasieks kritinę masę “.

Mikroservisai: kokie jie yra ir kodėl jūsų verslui turėtų rūpėti