Tkanina usluge Azure: što trebate znati

Usluge u oblaku poput Azure u srcu su ogromni distribuirani sustavi koji hostiraju sve vrste usluga. Neki od njih su hostirana infrastruktura, neki od njih su spremnici i mikrousluge, neki su razvojne platforme, a neki iskorištavaju uzorke bez poslužitelja.

Svima im treba jedno: platforma za upravljanje i orkestraciju. Alati za višestruki oblak opće namjene poput Kubernetesa nude jedan put do isporuke upravljanog okruženja kontejnera, ali postoji i mjesto za prilagođena okruženja koja se usredotočuju na potrebe određene platforme u oblaku. Za Azure to rješava alat koji postoji od najranijih dana Microsoftovog javnog oblaka: Azure Service Fabric.

Predstavljamo Azure Service Fabric

Skriven u temeljima Azure, Service Fabric može biti teško opisati. Ali mi to stalno vidimo u alatima koje koristimo za izgradnju vlastitog softvera ugrađenog u oblak. U središtu je Azure-ovih Event Hubs i IoT platforme, njegovih baza podataka SQL i Cosmos DB te mnogih poslovnih i potrošačkih usluga koje svakodnevno koristimo. Uz Azure Service Fabric dobivate pristup istim alatima koje Microsoft koristi za pokretanje i upravljanje vlastitim uslugama, ugrađujući ih u vaš vlastiti kôd.

Namjera Azure Service Fabric-a je olakšati postavljanje i upravljanje mikroservisima, rukovanjem operacijama sa statusom države i bez državljanstva na PaaS Azure instanci. Nije samo za Azure, jer je lokalni razvojni alat cjelovita verzija Azure Service Fabric, što znači da će se izvoditi na bilo kojem sustavu Windows. Verzija Linuxa čini ga prijenosnim i na više oblaka, obrađujući postojeći i prilagođeni kôd.

Azure Service Fabric upravlja životnim ciklusom vaše aplikacije, uz API-je koji daju dodatni pristup platformi izvan čisto samostalnog koda. Također podržava vlastite mikroservise glumca / poruke, kao i hosting ASP.Net Core koda. Usluge se mogu pokretati nativno kao procesi ili ih možete hostirati u spremnike, pružajući vam mogućnost brzog dovođenja postojećeg koda na Azureov PaaS. Spremnici se miješaju s ostalim modelima aplikacija Azure Service Fabric, omogućujući vam brzo uključivanje postojećih funkcija podizanjem i pomicanjem ili uključivanjem specifičnih pakiranih aplikacija.

Započnite s uslugom Azure Service Fabric

Možda najbrži način za početak razvijanja usluge Service Fabric je njegov okvir pouzdanih usluga. Ovo je skup API-ja koji se integriraju sa značajkama upravljanja životnim ciklusom aplikacija Azure Service Fabric. Kôd možete pisati na bilo kojem podržanom jeziku ili po vašem izboru okvira aplikacije. Usluge mogu biti bez državljanstva ili sa državnim statusom, a usluge bez državljanstva koje koriste vanjsku pohranu za obradu stanja. Opcija statusa zanimljivija je jer koristi vlastite alate Service Fabric za upravljanje stanjem aplikacije. Ne morate uzeti u obzir skaliranje ili visoku dostupnost; sve se to rješava za vas.

Ako ste koristili zbirke C #, pouzdane kolekcije Pouzdane usluge će vam biti poznate. Oni se također drže u istoj instanci kao i vaše računanje, smanjujući kašnjenje. Ako usluga ne uspije, može se prijaviti pri ponovnom pokretanju. Ako imate različite državne modele, možete odabrati model koji najbolje odgovara vašoj usluzi. Jednostavne usluge kojima su za rad potrebni samo ulazni podaci mogu biti bez državljanstva, ali ako radite s kodom koji mora znati prethodno stanje, morat ćete izgraditi pouzdanu uslugu.

Microsoft olakšava izgradnju poznate web stranice i pozadine aplikacija na Azure Service Fabric uz podršku za ASP.Net Core. Iako nije stopostotno kompatibilan s ASP.Net MVC, postojeći kôd možete migrirati na novu platformu. Postoji podrška za izgradnju usluga bez državljanstva i državnog statusa, predaje orkestracije aplikacija i skaliranja na Azure Service Fabric.

Skalabilna podudarnost s glumcima

Aplikacije rođene u oblaku trebale bi iskoristiti okvir Pouzdanog glumca. Ovo proširuje pouzdane usluge na implementaciju virtualnih glumaca (kao što se koristi otvorenim okvirom Project Orleans koji je popularan u igračkim pozadinama). Korištenje uzorka glumca / poruke za rukovanje mikrouslugama dobro funkcionira, jer se njegovi temeljni istodobni modeli sustava brzo skaliraju i mogu upravljati mnogim glumcima koji istodobno rade.

Pouzdani glumac nije za svaki scenarij. Najbolje funkcionira kada se vaš kôd može rastaviti na jednostavne blokove izračuna koji se mogu implementirati kao neblokirajući jednonitni objekti koji ili nemaju stanje ili imaju svoje stanje. Najbolje je za potpuno nove programe, jer je teško razgraditi postojeći kod. Izgradnja aplikacije pomoću Pouzdanog glumca može biti složena, čak i kada ste definirali svoje glumce. Morate imati na umu da, iako se glumci mogu sakupljati smeće, njihovo će stanje postojati i pristupit će mu kad ubuduće budete pozivali glumca s istim ID-om.

Pouzdani glumac rješava mnoge složene probleme raspodijeljenog računanja, iako ćete morati dobro razmisliti o tome kako predmete mapirate s glumcima i kako ćete ih koristiti u svojim aplikacijama.

Azure Service Fabric ide s otvorenim kodom

Microsoft je nedavno objavio da je open-source Service Fabric, mijenjajući razvojni model u onaj koji će prihvatiti zahtjeve za povlačenjem treće strane, kao i omogućavajući javni, otvoreni postupak dizajniranja.

Prelazak na model razvoja otvorenog koda, zajedno s otvorenim postupkom dizajniranja, ogroman je poduhvat za temeljnu tehnologiju poput Azure Service Fabric. Iako se početna tranša otvorenog koda temelji na Linuxu, Microsoftov razvojni tim naznačio je da će uskoro uslijediti kôd zasnovan na Windowsu koji se trenutno izvodi na Azureu. Razvoj će se odvijati na GitHub-u, s velikim dijelom početnog rada usredotočenim na dovršavanje prijelaza s Microsoftovih internih platformi na proces usmjeren prema javnosti.

Microsoft već neko vrijeme planira isporučiti Azure Service Fabric otvorenog koda - barem od početka Linuxove grane koda. Budući da je i noviji kod i koristi drugačiji alat od verzije sustava Windows, puno je lakše dovesti tu granu u oblik za javno izdanje. Alat Windows je složeniji, s desetak godina povijesti koju je potrebno razotkriti i rekonstruirati. Za to je zaslužna upotreba samo Microsoftovih razvojnih alata koji nisu dostupni vanjskom svijetu, kao i prerada potrebna za njegovo premještanje u javno dostupne alate.

Ako vam na raspolaganju stoji alat poput Azure Service Fabric, pruža vam mnogo više mogućnosti od tradicionalnog PaaS-a, posebno kada nove programe gradite od nule. Podrška za spremnike dodaje mogućnost unošenja zapakiranih aplikacija uz vaš kôd. Slično tome, korištenje poznatih okvira i obrazaca može skratiti krivulju učenja. Uz budućnost otvorenog koda, Azure Service Fabric mogao bi biti okvir za višeglasne aplikacije koji tražite.