Šiais laikais įmonės nuolat ieško būdų, kaip savo programas padaryti atsparesnes, keičiamo dydžio ir judresnės. Perėjimas nuo monolitinės architektūros prie mikropaslaugų tapo populiariu metodu šiems poreikiams patenkinti, nes tai leidžia komandoms suskirstyti programas į nepriklausomas, laisvai susietas paslaugas, kurias galima kurti, įdiegti ir keisti atskirai. Tvirtas platformos kaip paslaugos (PaaS) galimybes, „Azure App Service“ yra ideali aplinka palaikyti mikro paslaugų architektūra.

Šiame vadove išnagrinėsime geriausios praktikos pavyzdžius, kaip perkelti monolitines programas į „Azure App Service“ mikropaslaugas, suteikdami aiškų kelią, kaip atskleisti debesies vietinių mikro paslaugų pranašumus ir sumažinti perkėlimo riziką, ir kaip „Xavor“ gali jums padėti teikdama savo paslaugas.

Geriausia „Azure App Service“ perkėlimo praktika

  1. Supraskite skirtumus tarp monolitų ir mikro paslaugų

  • Monolitinė architektūra: Monolitinė programa sukurta kaip viena vieninga kodų bazė su tarpusavyje sujungtais komponentais. Nors monolitus paprasta įdiegti, juos augant gali būti sudėtinga išplėsti ir prižiūrėti.
  • „Microservices“ architektūra: mikropaslaugos išskaido plačią programą į smulkesnes, nepriklausomas paslaugas, kurios bendrauja per API. Kiekviena mikropaslauga gali būti sukurta, įdiegta ir keičiama atskirai, padidinant judrumą ir leidžiant komandoms greičiau dirbti.

Pagrindiniai „Azure App Service“ mikro paslaugų pranašumai

  • Nepriklausomas kiekvienos paslaugos diegimas ir mastelio keitimas.
  • Gebėjimas naudoti skirtingas technologijas skirtingoms paslaugoms.
  • Padidėjęs atsparumas dėl gedimo izoliacijos.
  • Padidintas kūrėjo produktyvumas ir greitesni išleidimo ciklai.
  1. Įvertinkite esamą monolitinę programą

Prieš pradedant perkėlimą, būtina išanalizuoti esamą monolitinę programą, kad suprastumėte jos priklausomybes, našumo reikalavimus ir esamas kliūtis. Pagrindinės sritys, kurias reikia įvertinti, yra šios:

  • Komponentų ribos: nustatykite logines ribas, kurios galėtų būti atskaitos taškai skaidant programą į mikropaslaugas.
  • Duomenų priklausomybės: nustatykite, kaip duomenys dalijami tarp komponentų, ir apsvarstykite atsiejimo strategijas.
  • Našumo kliūtys: Raskite visas sritis, kurioms gali būti naudingas izoliuotas mastelio keitimas.

Analizei padedantys įrankiai

  • „Azure Monitor“ ir „Application Insights“ gali suteikti vertingų įžvalgų apie programos našumą, priklausomybes ir naudojimo modelius.
  1. Apibrėžkite migracijos strategiją

Monolitinių programų konvertavimas į mikropaslaugas reikalauja kruopštaus planavimo. Štai įprastos migracijos strategijos, į kurias reikia atsižvelgti:

  • Strangler Fig Pattern: Palaipsniui pakeiskite monolito dalis mikropaslaugomis, kad būtų galima sukurti naujas funkcijas kaip mikropaslaugas, o esamas monolitas ir toliau veiks. Šis laipsniškas metodas sumažina riziką.
  • Domenu pagrįstas dizainas (DDD): suskaidykite monolitą pagal verslo sritis, sukurdami mikropaslaugas, susijusias su konkrečiomis verslo funkcijomis.
  • Lift-and-Shift su skaidymu: pradėkite perkeldami monolitinę programą į „Azure App Service“ tokią, kokia ji yra, tada laikui bėgant pakeiskite ją į mikro paslaugas.

Geriausia praktika: Smaugtosios figos raštas dažnai yra praktiškiausias būdas dideliems monolitams, nes sumažina poreikį nedelsiant atlikti kapitalinį remontą.

  1. Suskirstymo paslaugos pagal domeną ir funkcionalumą

Veiksmingos mikropaslaugos turėtų būti organizuojamos pagal verslo sritis ir funkcijas, aiškiai jas atskiriant. Štai kaip tai padaryti:

  • Nustatykite pagrindinius domenus: naudokite domenu pagrįstą dizainą, kad sugrupuotumėte susijusias funkcijas. Pavyzdžiui, mažmeninės prekybos programėlėje gali būti užsakymų valdymo, atsargų ir mokėjimų apdorojimo paslaugos.
  • Apibrėžkite aiškias paslaugų ribas: Užtikrinkite, kad kiekviena paslauga būtų atsakinga ir būtų kuo mažiau priklausoma nuo kitų paslaugų.
  • Naudokite „Azure API Management“.: sukurkite vartus srautui valdyti ir nukreipti į atskiras paslaugas.

Patarimas: Siekti riboto konteksto požiūrio, kai kiekviena mikropaslauga veikia tam tikrose ribose, užtikrinant problemų atskyrimą.

  1. Sutvarkykite paslaugas naudodami „Docker“ ir įdiekite į „Azure App Service“.

Kai nustatysite savo mikropaslaugas, sutalpinus jas su „Docker“, diegimas „Azure App Service“ gali būti sklandesnis ir nuoseklesnis. Konteineriai padeda supakuoti paslaugas su priklausomybėmis, užtikrinant, kad kiekviena mikro paslauga patikimai veiktų bet kokioje aplinkoje.

  • Konteinerių kūrimas ir bandymas: naudokite „Docker“, kad sukurtumėte kiekvienos mikropaslaugos vaizdus ir užtikrintumėte, kad jie veiktų nepriklausomai.
  • Įdiekite į Azure App Service: „Azure App Service“ visiškai palaiko Dokerių konteineriaileidžianti diegti konteinerines mikropaslaugas nevaldant infrastruktūros.
  • Naudokite „Azure Container Registry“ (ACR): saugiai saugokite ir tvarkykite konteinerio vaizdus ir sklandžiai integruokite su „Azure App Service“.

Geriausia praktika: automatizuokite sudėtinio rodinio vaizdo kūrimą ir diegimą naudodami „Azure DevOps“ arba „GitHub Actions“, kad supaprastintumėte nuolatinį integravimą / nepertraukiamą pristatymą (CI / CD).

  1. Nustatykite paslaugų komunikaciją ir valdymą

Mikro paslaugų architektūrose paslaugos dažnai turi bendrauti tarpusavyje. „Azure“ tam siūlo keletą parinkčių:

  • REST API ir HTTP: labiausiai paplitęs metodas, kai kiekviena paslauga atskleidžia savo funkcijas per RESTful API.
  • Azure paslaugų autobusas: Paslaugų magistralė gali tvarkyti pranešimų eiles ir temas sudėtingoms sąveikoms, kurioms reikalingas asinchroninis pranešimų siuntimas.
  • Azure įvykių tinklelis: Idealiai tinka įvykiais pagrįstoms architektūroms, leidžiančioms paslaugoms bendrauti remiantis įvykiais, o ne tiesioginiais skambučiais.
  • Azure API valdymas: veikia kaip vartai, leidžiantys saugiai valdyti srautą tarp paslaugų ir valdyti API.
  1. Įdiekite saugos ir atitikties kontrolę

Saugumas ir atitiktis yra labai svarbūs mikropaslaugų aplinkoje, kur kiekviena paslauga yra atskirai pasiekiama. Apsvarstykite šiuos veiksmus:

  • Saugus ryšys tarp paslaugų: naudokite Azure AD autentifikuoti ir įgalioti paslaugas.
  • Duomenų šifravimas: Užtikrinkite, kad ramybės būsenos ir perduodami duomenys būtų užšifruoti naudojant Azure Key Vault paslapčių tvarkymui.
  • Tinklo sauga: naudokite virtualius tinklus ir programų šliuzą, kad galėtumėte valdyti prieigą prie tinklo ir apsisaugoti nuo išorinių grėsmių.

Geriausia praktika: naudokite valdomą tapatybę „Azure App Service“, kad kiekvienai mikro paslaugai suteiktumėte saugią prieigą prie „Azure“ išteklių, nereikalaujant užkoduotų kredencialų.

  1. Įdiekite patikimą stebėjimą ir registravimą

Mikropaslaugos suteikia daugiau sudėtingumo stebėjimui ir registravimui, nes kiekviena paslauga veikia atskirai. Azure siūlo galingus įrankius, skirtus centralizuoti ir supaprastinti stebėjimą:

  • Application Insights: Teikia „Azure App Service“ perkėlimo programų stebėjimą, įspėjimus ir analizę realiuoju laiku.
  • Azure monitorius: renka ir analizuoja žurnalus visoje jūsų programų krūvoje, padedant diagnozuoti paskirstytų paslaugų problemas.
  • Paskirstytas sekimas: nustatykite visą paslaugų sekimą, kad galėtumėte stebėti užklausas nuo įėjimo iki išėjimo taškų.

Geriausia praktika: Įdiekite „Application Insights“ kiekvienai mikropaslaugai, kad galėtumėte centralizuoti žurnalus ir metriką, palengvinti trikčių diagnostiką ir išlaikyti matomumą.

  1. Sukurkite automatinį CI / CD vamzdyną

Nuolatinis integravimas ir diegimas yra būtini norint išlaikyti judrumą kuriant mikropaslaugas. Azure DevOps paslaugos ir „GitHub Actions“ teikia patikimus „Azure App Service“ CI / CD sprendimus:

  • Automatizuokite kūrimą ir bandymus: kurkite automatizuotus vamzdynus, kurie sukuria, tikrina ir diegia kiekvieną mikropaslaugą keičiantis kodui.
  • Aplinkos izoliacija: Išbandykite naujas versijas prieš išleisdami naudodami „Azure App Service“ sustojimo ir gamybos lizdus.
  • Mėlyna-žalia dislokacija: Pasinaudokite diegimo tarpsniais, kad įdiegtumėte naujinimus be prastovų, o prireikus galėsite greitai juos atšaukti.
  1. Nuolat optimizuokite ir tobulinkite

Perėjimas prie mikropaslaugų nėra vienkartinis procesas. Nuolat stebėkite ir tobulinkite kiekvieną mikropaslaugą, kad užtikrintumėte optimalų našumą ir išteklių panaudojimą:

  • Tinkamo dydžio paslaugos: reguliariai analizuokite išteklių naudojimą ir koreguokite mastelio keitimo taisykles.
  • Refaktorius, kai reikia: jei paslauga tampa pernelyg sudėtinga arba tampa priklausoma, apsvarstykite galimybę ją padalinti į smulkesnes paslaugas.
  • Įdiekite automatinį mastelį: naudokite „Azure“ automatinio mastelio keitimo funkcijas, kad dinamiškai paskirstytumėte išteklius pagal apkrovą, kontroliuodami išlaidas.

Išvada

Perėjimas nuo monolitinės architektūros prie mikropaslaugų naudojant „Azure App Service“ perkėlimas suteikia didelių pranašumų, įskaitant didesnį judrumą, mastelį ir atsparumą. Nors perėjimas reikalauja kruopštaus planavimo, geriausios praktikos pavyzdžiai ir turtingo Azure įrankių rinkinio panaudojimas gali padėti užtikrinti sėkmingą perkėlimą.

„Xavor“ gali atlikti lemiamą vaidmenį atliekant šią transformaciją, suteikdama patirties vertinant jūsų programą, apibrėžiant aiškias mikropaslaugas, užtikrinant ryšį ir įdiegiant patikimus CI / CD vamzdynus. Galite efektyviai modernizuoti savo infrastruktūrą, geriau išdėstyti savo organizaciją taip, kad ji atitiktų dinamiškos verslo aplinkos poreikius. „Azure App Service“ yra galingas debesies vietinių mikro paslaugų architektūros pagrindas, leidžiantis pristatyti naujoves dideliu mastu ir didinti jūsų verslo vertę.

Jei jums reikia papildomos pagalbos, galite susisiekti su mumis el (apsaugotas el. paštu). Suplanuosime nemokamą konsultacijų sesiją, kad išsiaiškintume, kaip Xavor gali jums padėti šiuo klausimu.





Source link

Draugai: - Marketingo paslaugos - Teisinės konsultacijos - Skaidrių skenavimas - Fotofilmų kūrimas - Karščiausios naujienos - Ultragarsinis tyrimas - Saulius Narbutas - Įvaizdžio kūrimas - Veidoskaita - Nuotekų valymo įrenginiai -  Padelio treniruotės - Pranešimai spaudai -