Ohjelmointi

Azure Service Fabric: Mitä sinun on tiedettävä

Pilvipalvelut, kuten Azure, ovat sydämessään massiivisia hajautettuja järjestelmiä, jotka palvelevat kaikenlaisia ​​palveluita. Jotkut heistä ovat isännöityjä infrastruktuureja, jotkut niistä ovat kontteja ja mikropalveluja, jotkut ovat kehitysalustoja, ja jotkut hyödyntävät palvelimettomia malleja.

Ne kaikki tarvitsevat yhden asian: hallinta- ja orkestrointialustan. Yleiskäyttöiset pilvipalvelut, kuten Kubernetes, tarjoavat yhden tien hallitun konttiympäristön toimittamiseen, mutta siellä on myös paikka mukautetuille ympäristöille, jotka keskittyvät tietyn pilvialustan tarpeisiin. Azurelle sen hoitaa työkalu, joka on ollut siellä Microsoftin julkisen pilven varhaisimmista päivistä lähtien: Azure Service Fabric.

Esittelyssä Azure Service Fabric

Azureen perustuksiin piilotettua Service Fabricia voi olla vaikea kuvata. Mutta näemme sen koko ajan työkaluissa, joita käytämme oman pilvipohjaisen ohjelmiston rakentamiseen. Se on Azure's Event Hubs and IoT -alustan, sen SQL- ja Cosmos DB -tietokantojen sekä monien päivittäin käyttämiemme yritys- ja kuluttajapalveluiden keskiössä. Azure Service Fabricin avulla pääset käyttämään samoja työkaluja, joita Microsoft käyttää omien palvelujensa hallintaan ja rakentamiseen, rakentamalla ne omaan koodiin.

Azure Service Fabricin tarkoituksena on tehdä mikropalvelujen käyttöönotosta ja hallinnasta helppoa käsittelemällä sekä valtiollisia että valtiottomia toimintoja PaaS Azure -esiintymässä. Se ei ole vain Azurelle, koska paikallinen kehitystyökalu on täydellinen versio Azure Service Fabricista, mikä tarkoittaa, että se toimii missä tahansa Windows-järjestelmässä. Linux-versio tekee siitä kannettavan myös useiden pilvien yli, käsittelemällä olemassa olevaa ja mukautettua koodia.

Azure Service Fabric hallinnoi sovelluksesi elinkaarta API-liittymien avulla, jotka antavat alustalle lisää käyttöoikeuksia puhtaasti erillisen koodin lisäksi. Se tukee myös omia toimija- / viestimikropalvelujaan sekä ASP.Net Core -koodin isännöintiä. Palvelut voivat toimia luonnollisesti prosesseina tai voit isännöidä niitä säilöihin, jolloin sinulla on mahdollisuus tuoda olemassa oleva koodi nopeasti Azure's PaaS -palveluun. Säiliöt sekoittuvat muihin Azure Service Fabric -sovellusmalleihin, jolloin voit sisällyttää olemassa olevat toiminnot nopeasti nostamalla ja siirtämällä tai sisällyttämällä tiettyjä pakattuja sovelluksia.

Aloita Azure Service Fabricin käyttö

Ehkä nopein tapa aloittaa kehittäminen Service Fabricin kanssa on sen luotettavien palvelujen kehys. Tämä on joukko sovellusliittymiä, jotka integroituvat Azure Service Fabricin sovellusten elinkaaren hallintaominaisuuksiin. Voit kirjoittaa koodin millä tahansa tuetulla kielellä tai valitsemallasi sovelluskehyksellä. Palvelut voivat olla valtiottomia tai tilallisia, ja valtiottomat palvelut käyttävät ulkoista tallennustilaa tilan käsittelemiseen. Tila-vaihtoehto on mielenkiintoisempi, koska se käyttää Service Fabricin omia työkaluja sovellustilan hallintaan. Sinun ei tarvitse harkita skaalausta tai korkeaa saatavuutta; se kaikki hoidetaan sinulle.

Jos olet käyttänyt C #: n kokoelmia, löydät luotettavan palvelun luotettavat kokoelmat. Niitä pidetään myös samassa instanssissa kuin laskentasi, mikä vähentää viivettä. Jos palvelu epäonnistuu, se voi poimia tilan uudelleenkäynnistyksen yhteydessä. Eri tilamallien avulla voit valita palvelulle parhaiten sopivan mallin. Yksinkertaiset palvelut, joiden toiminta edellyttää vain syöttötietoja, voivat olla valtiottomia, mutta jos työskentelet koodilla, jonka on tiedettävä edellinen tila, sinun on rakennettava luotettava palvelu.

Microsoftin avulla on helppo rakentaa tuttuja verkko- ja sovelluspäätiöitä Azure Service Fabric -palvelulle ASP.Net Core -tukea tukemalla. Vaikka koodi ei ole 100-prosenttisesti yhteensopiva ASP.Net MVC: n kanssa, voit siirtää olemassa olevan koodin uudelle alustalle. Tukea on sekä kansalaisuudettomien että valtiottomien palveluiden rakentamiseen, sovellusten orkestroinnin ja skaalaamisen luovuttamiseen Azure Service Fabricille.

Skaalautuva samanaikaisuus näyttelijöiden kanssa

Born-in-the-cloud -sovellusten tulisi hyödyntää Reliable Actor -kehystä. Tämä laajentaa Luotettavat palvelut -toimintoa virtuaalisten toimijoiden toteuttamiseen (kuten avoimen Project Orleansin kehys käyttää, joka on suosittu pelaamisen takapäässä). Näyttelijä- / viestimallin käyttö mikropalvelujen käsittelyssä toimii hyvin, koska sen taustalla olevat samanaikaiset järjestelmämallit skaalautuvat nopeasti ja pystyvät käsittelemään monia samanaikaisesti toimivia toimijoita.

Luotettava näyttelijä ei sovi kaikkiin tilanteisiin. Se toimii parhaiten, kun koodisi voidaan jakaa yksinkertaisiin laskentalohkoihin, jotka voidaan toteuttaa estämättöminä yksisäikeisinä kohteina, joilla ei ole tilaa tai joilla on oma tila. Se on paras täysin uusille sovelluksille, koska olemassa olevaa koodia on vaikea hajottaa. Luotettavan näyttelijän avulla sovelluksen rakentaminen voi olla monimutkaista, vaikka olisit määrittänyt näyttelijät. Sinun on pidettävä mielessä, että vaikka toimijat voidaan kerätä roskiin, heidän tilansa säilyy ja siihen pääsee, kun soitat näyttelijälle, jolla on sama henkilötunnus tulevaisuudessa.

Luotettava näyttelijä ratkaisee monia monimutkaisia ​​hajautettuja tietojenkäsittelyongelmia, mutta sinun on mietittävä huolellisesti, miten objektit kartoitetaan toimijoille ja miten niitä käytetään sovelluksissa.

Azure Service Fabric siirtyy avoimeen lähdekoodiin

Microsoft on äskettäin ilmoittanut, että se on avoimen lähdekoodin Service Fabric, joka muuttaa kehitysmallin sellaiseksi, joka hyväksyy kolmannen osapuolen vetopyynnöt, ja sallii julkisen, avoimen suunnitteluprosessin.

Siirtyminen avoimen lähdekoodin kehitysmalliin avoimen suunnitteluprosessin rinnalla on valtava yritys perustavaa tekniikkaa, kuten Azure Service Fabricia varten. Vaikka avoimen lähdekoodin ensimmäinen erä on Linux-pohjainen, Microsoftin kehitystiimi on ilmoittanut, että Azurella tällä hetkellä toimiva Windows-pohjainen koodi seuraa pian. Kehitystyö tulee olemaan GitHubissa, ja suuri osa alkuperäisestä työstä keskittyi siirtymän loppuun saattamiseen Microsoftin sisäisiltä alustoilta julkiseen prosessiin.

Microsoft on suunnitellut toimittavansa avoimen lähdekoodin Azure Service Fabricin jonkin aikaa - ainakin koodin Linux-haaran alusta lähtien. Koska se on sekä uudempi koodi että käyttää eri työkalua kuin Windows-versio, on ollut paljon helpompaa saada tämä haara muotoon julkista julkaisua varten. Windows-työkalu on monimutkaisempi, sillä on noin vuosikymmenen historia, joka on selvitettävä ja uudistettava. Suuri osa tästä johtuu vain Microsoftin kehitystyökalujen käytöstä, joita ei ole saatavana ulkomaailmasta, sekä uudistuksesta, joka vaaditaan sen siirtämiseksi julkisesti saatavilla oleviin työkaluihin.

Azure Service Fabricin kaltaisen työkalun käyttäminen antaa sinulle paljon enemmän vaihtoehtoja kuin perinteinen PaaS, varsinkin kun rakennat uusia sovelluksia tyhjästä. Konttien tuki lisää mahdollisuuden tuoda pakattuja sovelluksia koodisi rinnalle. Vastaavasti tuttujen kehysten ja mallien käyttö voi lyhentää oppimiskäyrää. Kun avoimen lähdekoodin tulevaisuus on edessä, Azure Service Fabric voi olla etsimäsi multicloud-sovelluskehys.