Programiranje

Azure Service Fabric: kaj morate vedeti

Storitve v oblaku, kot je Azure, so v središču ogromni porazdeljeni sistemi, ki gostijo vse vrste storitev. Nekateri so gostujoča infrastruktura, nekateri zabojniki in mikrostoritve, nekateri razvojne platforme, nekateri pa izkoristijo vzorce brez strežnikov.

Vsi potrebujejo eno stvar: platformo za upravljanje in orkestracijo. Splošna orodja za oblake, kot je Kubernetes, ponujajo eno pot do upravljanega okolja zabojnikov, obstaja pa tudi prostor za okolja po meri, ki se osredotočajo na potrebe določene platforme v oblaku. Za Azure to rešuje orodje, ki je obstajalo že od prvih dni Microsoftovega javnega oblaka: Azure Service Fabric.

Predstavljamo Azure Service Fabric

Service Fabric, ki je skrit v temeljih Azureja, je težko opisati. Toda to vidimo ves čas v orodjih, ki jih uporabljamo za izdelavo lastne programske opreme, ki temelji na oblaku. Je v središču Azurejevih Hubs in IoT platforme, njegovih baz podatkov SQL in Cosmos DB ter številnih podjetniških in potrošniških storitev, ki jih uporabljamo vsak dan. Z Azure Service Fabric dobite dostop do istih orodij, ki jih Microsoft uporablja za zagon in upravljanje lastnih storitev, ki jih vgradi v svojo kodo.

Namen storitve Azure Service Fabric je olajšati uvajanje in upravljanje mikro storitev, pri čemer je treba opraviti tako operacije s stanjem kot države brez stanja v primerku PaaS Azure. Ne gre samo za Azure, ker je lokalno razvojno orodje popolna različica Azure Service Fabric, kar pomeni, da se bo izvajalo v katerem koli sistemu Windows. Različica Linuxa je tudi prenosljiva v več oblakih, saj obdeluje obstoječo kodo in kodo po meri.

Azure Service Fabric upravlja življenjski cikel vaše aplikacije z API-ji, ki omogočajo dodaten dostop do platforme poleg povsem samostojne kode. Podpira tudi lastne mikroservice igralcev / sporočil in gostovanje kode ASP.Net Core. Storitve se lahko samodejno izvajajo kot procesi ali pa jih lahko gostite v vsebnikih, tako da lahko hitro prenesete obstoječo kodo v Azure-ov PaaS. Zabojniki se mešajo z drugimi modeli aplikacij Azure Service Fabric in vam omogočajo hitro vključitev obstoječih funkcij s pomočjo dviganja in premika ali z vključitvijo posebnih zapakiranih aplikacij.

Začnite z Azure Service Fabric

Morda je najhitrejši način, da začnemo razvijati storitev Service Fabric, njegov okvir zanesljivih storitev. To je nabor API-jev, ki se integrirajo s funkcijami upravljanja življenjskega cikla aplikacije Azure Service Fabric. Kodo lahko napišete v katerem koli podprtem jeziku ali v poljubnem programskem okolju. Storitve so lahko brez državljanstva ali države, storitve brez državljanstva, ki za upravljanje stanja uporabljajo zunanji pomnilnik. Možnost stateful je bolj zanimiva, ker uporablja lastna orodja Service Fabric za upravljanje stanja aplikacije. Ni vam treba upoštevati skaliranja ali visoke razpoložljivosti; vse je urejeno za vas.

Če ste uporabljali zbirke C #, boste zanesljive zbirke storitve Zanesljive storitve poznali. Hranijo se tudi v istem primeru kot vaš izračun, kar zmanjšuje zakasnitev. Če storitev ne uspe, lahko stanje ponovi ob ponovnem zagonu. Če imate različne državne modele, lahko izberete model, ki najbolje ustreza vaši storitvi. Preproste storitve, ki za delovanje zahtevajo samo vhodne podatke, so lahko brez državljanstva, če pa delate s kodo, ki mora poznati prejšnje stanje, boste morali zgraditi zanesljivo storitev.

Microsoft s pomočjo podpore za ASP.Net Core olajša gradnjo znanih spletnih strani in koncev aplikacij na Azure Service Fabric. Čeprav ni stoodstotno združljiv s kodo z ASP.Net MVC, lahko obstoječo kodo preselite na novo platformo. Podpora je za gradnjo storitev brez državljanstva in držav, predajo orkestracije aplikacij in spreminjanje obsega Azure Service Fabric.

Prilagodljiva sočasnost z igralci

Aplikacije, rojene v oblaku, bi morale izkoristiti okvir zanesljivega igralca. To razširja zanesljive storitve na izvajanje virtualnih akterjev (kot jih uporablja odprti okvir Project Orleans, ki je priljubljen v igralnih zaledjih). Uporaba vzorca igralca / sporočila za obdelavo mikro storitev deluje dobro, ker se osnovni model sočasnih sistemov hitro prilagodi in lahko obravnava več akterjev, ki delujejo hkrati.

Zanesljiv igralec ni za vsak scenarij. Najbolje deluje, če lahko kodo razstavite na preproste bloke izračuna, ki jih je mogoče implementirati kot neblokirajoče enonitne predmete, ki nimajo stanja ali imajo lastnega stanja. Najbolje je za popolnoma nove aplikacije, ker je težko razgraditi obstoječo kodo. Ustvarjanje aplikacije z uporabo Zanesljivega igralca je lahko zapleteno, tudi če ste definirali svoje igralce. Upoštevati morate, da medtem ko se igralci lahko zbirajo smeti, bo njihovo stanje še naprej prisotno in bo dostopno, ko boste v prihodnosti poklicali igralca z istim ID-jem.

Zanesljiv igralec rešuje številne zapletene probleme porazdeljenega računalništva, vendar boste morali dobro premisliti, kako predmete preslikate na igralce in kako jih boste uporabili v svojih aplikacijah.

Azure Service Fabric je odprtokoden

Microsoft je pred kratkim napovedal, da je odprtokodni Service Fabric, pri čemer je razvojni model spremenil v tistega, ki bo sprejemal zahteve tretjih oseb in omogočil javni, odprt postopek oblikovanja.

Prehod na odprtokodni razvojni model, skupaj z odprtim postopkom oblikovanja, je velik zalogaj za temeljno tehnologijo, kot je Azure Service Fabric. Medtem ko začetni obrok odprtokodne kode temelji na Linuxu, je Microsoftova razvojna skupina navedla, da bo kmalu sledila koda, ki temelji na sistemu Windows in se trenutno izvaja v Azureju. Razvoj bo potekal na GitHubu, večina začetnega dela pa bo usmerjena v dokončanje prehoda z Microsoftovih notranjih platform na proces, usmerjen v javnost.

Microsoft že nekaj časa načrtuje dobavo odprtokodne storitve Azure Service Fabric - vsaj od začetka podružnice kode za Linux. Ker je hkrati novejša koda in uporablja drugačno orodje kot različica sistema Windows, je bilo to vejo veliko lažje pripraviti za javno izdajo. Orodje Windows je bolj zapleteno, z desetletjem zgodovine, ki ga je treba razvozlati in predelati. Velik del tega je posledica uporabe Microsoftovih razvojnih orodij, ki niso na voljo zunanjemu svetu, in predelave, potrebne za njegovo premikanje v javno dostopna orodja.

Če imate na voljo orodje, kot je Azure Service Fabric, imate veliko več možnosti kot tradicionalni PaaS, še posebej pri izdelavi novih aplikacij iz nič. Podpora za vsebnike dodaja možnost vnašanja zapakiranih aplikacij poleg vaše kode. Podobno lahko uporaba znanih okvirov in vzorcev skrajša učno krivuljo. Ker je pred nami odprtokodna prihodnost, je Azure Service Fabric lahko ogrodje aplikacij za večglasnost, ki ga iščete.

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