Skaalattavan ilmoitusjärjestelmän toteuttaminen Power Platformilla

Microsoft Power Platform tarjoaa tavan skaalata yrityssovelluksia samalla, kun ne integroidaan suuryritystason pilvipalveluihin suuren volyymin toimintoja varten. Skaalattava ilmoitusjärjestelmä käyttää tätä mahdollisuutta sms- ja sähköpostimuistutteiden lähettämiseen Microsoft Dataverseen tallennetuista tapaamisista. Tärkeimmät toiminnot:

  • Ilmoitukset käynnistyvät automaattisesti viikon, päivän ja tunnin ennen tapaamista.
  • Mahdollisuus päivittää tai peruuttaa ilmoituksia, kun tapaamisia muokataan tai peruutetaan.
  • Power Apps toimii käyttöliittymänä, jonka avulla käyttäjät voivat hallita tapaamisia tehokkaasti.
  • Tukee tuhansia ilmoituksia päivässä, mutta pysyy luotettavana ja suorituskykyisenä.

Järjestelmä käyttää Azuren palveluväylää suuren volyymin aikatauluttamiseen, Azure-funktiot käsittelyyn ja toimitukseen sekä Dataversea tapaamisten ja ilmoitusten pysyvään seurantaan. Ilmoitukset lähetetään SendGridin kautta sähköposti- ja Twilio- tai Azure Communication Services for SMS -palvelujen kautta.

Tämä arkkitehtuuri varmistaa skaalattavuuden, luotettavuuden ja ylläpidettävyyden ja ohittaa rajoitukset, jotka liittyvät siihen, että pelkästään Power Automatella voidaan järjestää suuria ilmoitusmääriä.

Vinkki

Tässä artikkelissa esitellään esimerkkiskenaario ja yleinen esimerkkiarkkitehtuuri, joiden avulla voidaan lähettää teksti- ja sähköpostimuistutuksia Dataverseen tallennetuista tapaamisista. Arkkitehtuuriesimerkkiä voidaan muokata moniin eri skenaarioihin ja toimialoihin.

Arkkitehtuurikaavio

Arkkitehtuurikaavio, joka näyttää Power Apps -tapaamisten ajoitukset Azure-palveluiden kanssa.

Workflow

Järjestelmän työnkulku lähettää luotettavasti ilmoitukset oikeaan aikaan ja tukee päivityksiä ja peruutuksia:

  1. Tapaamisen luonti: Käyttäjät luovat tapaamisia Power Appsin pohjasovelluksen kautta. Sovellus kirjoittaa tapaamistiedot suoraan Dataverseen ja varmistaa, että vain valtuutetut käyttäjät voivat käyttää tietoja käyttöoikeusroolien perusteella.

  2. Tapahtumakäynnistin: Kun tapaaminen luodaan, päivitetään tai peruutetaan, Dataverse käynnistää palvelinpuolen prosessin, kuten laajennuksen, webhookin tai kevyen Power Automate -työnkulun. Tämä tapahtuma käynnistää aikataulutuslogiikan.

  3. Ilmoituksen ajoitus: Ajoitustoiminto Azure-funktio laskee ilmoitusajat viikolle, yhdelle päivälle ja tuntia ennen tapaamista. Sen jälkeen se luo vastaavat ilmoitustietueet Dataverseen ja ajoittaa viestit Azuren palveluväylään, tallentaa järjestysnumerot tulevia päivityksiä tai peruutuksia varten.

  4. Tapaamispäivitykset: Jos tapaamista muokataan, ajoitustoiminto peruuttaa aiemmin ajoitetut ilmoitukset palveluväylän järjestysnumeroiden avulla. Se päivittää Dataverse-ilmoitustietueet ja ajoittaa ilmoitukset uudelleen uusien tapaamistietojen perusteella.

  5. Tapaamisen peruuttaminen: Kun tapaaminen peruutetaan, Ajoitustoiminto poistaa kaikki odottavat viestit Azuren palveluväylästä ja päivittää Dataversessa olevat vastaavat ilmoitustietueet peruutetuiksi.

  6. Ilmoitusten toimitus: Toimitus Azure-funktio käsittelee ajoitetut viestit Azuren palveluväylästä. Se lähettää sähköposti-ilmoituksia SendGridin ja tekstiviestien kautta Twilion tai Azure Communication Servicesin kautta. Lähettämisen jälkeen funktio päivittää ilmoitustietueen tila, uudelleenyritykset ja virhetiedot.

  7. Valvonta ja havaittavuus: Application Insights ja Azure Monitor seuraavat funktioiden suorituksia, jonon kuntoa, toimituksen onnistumista ja epäonnistumisia. Palvelubussin dead-letter-jonot sieppaavat toimittamattomat viestit myöhempää analyysia varten.

Osat

  • Power Apps (pohjaan perustuva sovellus): Power Apps -pohjasovellus toimii ensisijaisena käyttöliittymänä tapaamisten hallintaan. Sen avulla käyttäjät voivat luoda, päivittää tai peruuttaa tapaamisia intuitiivisessa, vähäistä koodausta käyttävässä käyttöliittymässä. Kangassovellus on vuorovaikutuksessa suoraan Dataversen kanssa tapaamis- ja ilmoitustietueiden lukemiseksi ja kirjoittamiseksi. Se antaa käyttäjälle myös reaaliaikaista palautetta tapaamisten onnistuneesta luomisesta, päivityksistä tai peruuttamisesta. Käyttöliittymä on suunniteltu vahvistamaan tietojen syöttäminen, käsittelemään ristiriitoja, kuten päällekkäisiä tapaamisia, ja tarjoamaan ilmoituksia lokalisoituja aikavyöhykkeitä.

  • Dataverse

    • Tapaamistaulukko: Dataverse toimii kaikkien tapaamistietojen tietuejärjestelmänä. Jokainen tapaamismerkintä sisältää tietoja, kuten potilaan tai käyttäjän, tapaamisajan, palvelutyypin ja tilan. Appointment-taulukko on suunniteltu käynnistämään tapahtumia, jotka koskevat toimintojen luomista, päivittämistä tai poistamista. Scheduler Azure Function kuuntelee näitä tapahtumia ja laskee ja ajoittaa ilmoituksia. Dataverse tarjoaa sisäänrakennetun suojauksen roolipohjaisen käytön hallinnan, kenttätason käyttöoikeuksien ja valvonnan avulla sekä varmistaa, että luottamukselliset tapaamistiedot ovat vain oikeiden käyttäjien käytettävissä. Lisäksi sen integrointi Power Platformiin varmistaa pienen viiveen käytön ja saumattoman vuorovaikutuksen muiden osien kanssa.

    • Ilmoitustaulukko: Ilmoitus-taulukko tallentaa metatiedot kullekin ajoitetulle ilmoitukselle, kanavan seurannalle (tekstiviestit tai sähköposti), ajoitetun toimitusajan, tilan (Ajoitettu, Lähetetty, Epäonnistunut tai Peruutettu), yritysten määrän ja siihen liittyvän palveluväylän järjestysnumeron. Järjestelmä tarjoaa reaaliaikaisen seurannan, raportoinnin ja virheiden käsittelyn kaikille ilmoituksille säilyttämällä nämä tiedot Dataversessa. Taulukossa järjestelmänvalvojat voivat valvoa toimitushistoriaa, seurata epäonnistuneita yrityksiä ja tehdä tarvittaessa korjaavia toimia. Se tukee myös tapaamisten muutosten käynnistämiä automaattisia päivityksiä, joilla varmistetaan ilmoitusten pysyminen oikeina.

  • Azure-funktiot

    • Ajoitus: Ajoitustoiminto laskee ilmoitusajat tapaamisen tietojen perusteella. Se määrittää muistutukset viikolle, yhdelle päivälle ja tuntia ennen tapaamista ja luo vastaavat tietueet Dataversessa. Se myös ajoittaa viestit Azuren palveluväylään ja tallentaa järjestysnumerot tulevien peruutusten tai uudelleenajoituksen mahdollistamiseksi. Tämä funktio voi käsitellä suuria tapaamisia ilman suorituskyvyn heikkenemistä ja varmistaa idempotenssin niin, että se ei ajoita ilmoitusten kaksoiskappaleita. Sen palvelimettoman rakenteen ansiosta se skaalautuu automaattisesti tapahtuman kuormituksen mukaan ja varmistaa toiminnan tehokkuuden.

    • Toimitus: Toimitusfunktio käsittelee viestit Azuren palveluväylästä, kun ajoitettu toimitusaika saapuu. Se määrittää oikean kanavan kullekin ilmoitukselle, kuten sähköpostin SendGridin tai tekstiviestin kautta Twilio/Azure Communication Servicesin kautta, ja lähettää viestin vastaavasti. Toimituksen jälkeen se päivittää Dataverse-funktion ilmoitustietueen tilalla ja yrittää tietoja uudelleen, jos virhe ilmenee. Funktio toteuttaa myös virheiden käsittelyn, kirjaamisen ja uudelleenyritysten mekanismit ja varmistaa, että se tarjoaa viestit luotettavasti, jos tilapäisiä virhe- tai palveluhintarajoja on. Se skaalaa automaattisesti viestien määrän mukaan Palveluväyläissa käsittelemään ilmoitusten volyymin piikkejä.

  • Azuren palveluväylä: Azuren palveluväylä on ilmoitusten ajoitusjärjestelmän runko. Se tarjoaa kestävää, suurta siirtomäärää ja aikakohtaista jonotusta, joilla varmistetaan, että sanomat toimitetaan tarkalleen tarvittaessa. Järjestysnumeroiden avulla se voi peruuttaa tai ajoittaa uudelleen sanomia, jos kyseessä on tapaamisen muutos, mikä säilyttää yhtenäisyyden. Palveluväylä tukee myös kuolleiden kirjainten jonoja, joiden avulla voidaan siepata viestejä, jotka epäonnistuvat useiden uudelleen yrityksen jälkeen, jolloin järjestelmänvalvojat voivat tutkia ja korjata virheitä. Sen kyky poistaa aikataulut toimituksesta varmistaa, että järjestelmä pysyy reagoivana ja skaalattavana.

  • Sähköpostin ja tekstiviestien tarjoajat: Ulkoiset viestintäpalvelut hoitavat ilmoitusten todellisen toimituksen. SendGridiä käytetään sähköposti-ilmoitusten lähettämiseen, tarjoten vankan seurannan, analytiikan ja uudelleenyritysten mekanismit. Twilio ja Azure Communication Services tarjoavat tekstiviestejä, jotka tukevat suuren volyymin viestintää luotettavasti. Delivery-funktio on vuorovaikutuksessa näiden palveluntarjoajien kanssa käyttämällä suojattuja ohjelmointirajapinta-avaimia, jotka on tallennettu Azure Key Vault, ja se toteuttaa uudelleenyritysten strategioita tilapäisten virheiden tai hintarajoituksen ongelmien käsittelemiseksi. Ulkoistamalla toimituksen erityisille palveluntarjoajille järjestelmä varmistaa korkean luotettavuuden ja vähentää toimintakustannuksia.

  • Azure Key Vault: Voit tallentaa turvallisesti kaikki luottamukselliset tunnistetiedot ja ohjelmointirajapinta-avaimet Azure Key Vaultiin. Azure-funktiot käyttävät salaista koodia hallittujen käyttäjätietojen kautta, mikä poistaa tarpeen tallentaa arkaluonteisia tietoja koodi- tai määritystiedostoihin. Key Vault varmistaa, että se salaa lepäävät tunnistetiedot, tarkistaa käytön ja ottaa käyttöön kiertokäytännöt automaattisesti suojauksen vaatimustenmukaisuuden säilyttämiseksi.

  • Seuranta- ja havainnointityökalut: Järjestelmä käyttää Application Insightsia ja Azure Monitoria tarjotakseen täydellisen näkyvyyden ratkaisun terveydentilaan ja suorituskykyyn. Application Insights seuraa funktion suorituksia, jonon pituuksia, toimitustilaa ja virheitä, kun taas Azure Monitor tarjoaa hälytyksiä epänormaaleista toiminnoista, viestien keskeneräistä lokista tai palvelun virheistä. Voit käyttää lokeja ja telemetriatietoja vianmääritykseen, operatiiviseen analyysiin ja kapasiteetin suunnitteluun ja varmistaa, että järjestelmänvalvojilla on tarvittavat tiedot korkean toiminnallisen luotettavuuden ja suorituskyvyn ylläpitämiseksi.

Skenaarion tiedot

Tämä ratkaisu on suunniteltu organisaatioille, joiden on lähetettävä ajoissa muistutuksia ajoitetusta tapaamisista, kuten terveydenhuollon klinikoille, rokotuskeskuksille tai palvelupohjaisille yrityksille. Käyttäjät syöttävät Power Appsin kautta tapaamistietoja, jotka on tallennettu Dataverseen ja käsitelty välittömästi ilmoitusten ajoittamiseksi. Järjestelmä laskee automaattisesti muistutusajat, kuten viikon, yhden päivän ja tunnin ennen tapaamista, ja varmistaa, että se toimittaa muistutukset asianmukaisen kanavan kautta.

Järjestelmä voi käsitellä tuhansia päivittäisiä ilmoituksia ilman suorituskyvyn heikkenemistä, jonka mahdollistaa tapaamisen hallinnan, aikataulutuksen ja sanoman näyttämisen erottaminen toisistaan. Se varmistaa, että muistutukset ovat tarkkoja myös silloin, kun tapaamisia siirretään tai peruutetaan ajoittamalla palveluväylän viestit uudelleen tai poistamalla ne dynaamisesti. Prosessin jokainen vaihe kirjataan ja seurataan. Tämä lähestymistapa varmistaa, että sekä järjestelmänvalvojilla että tukihenkilöstöllä on näkyvyys järjestelmän toimintaan ja kunkin lähetetyn ilmoituksen tilaan.

Huomioitavia seikkoja

Näillä näkökohdilla toteutetaan Power Platform Well-Architected -pilareita, joka on joukko ohjaavia periaatteita, jotka parantavat työkuorman laatua. Lue lisää artikkelista Microsoft Power Platform Well-Architected.

Security

Järjestelmä integroituu suojaukseen käyttämällä Microsoft Entra -tunnusta käyttäjätietoihin ja Dataverse-rooleihin tapaamisten ja ilmoitusten käytön rajoittamiseksi. Power Apps -käyttäjät todentavat Microsoft Entra -tunnuksella ja varmistavat, että kaikki vuorovaikutukset Dataversen kanssa kirjataan. Azure-funktiot käyttää hallittuja käyttäjätietoja turvallisesti vuorovaikutuksessa Dataversen, Palveluväylä ja Key Vault kanssa tallentamatta tunnistetietoja koodiin tai määritystiedostoihin.

Tallenna luottamukselliset tunnistetiedot, kuten SendGrid ja Twilio-avaimet, vain Azure Key Vaultiin ja käytä niitä hallittujen käyttäjätietojen kautta. Voit suojata Azure-palvelujen välistä viestintää entisestään käyttämällä yksityisiä päätepisteitä ja näennäisverkkoja, mikä vähentää altistumista julkiselle Internetille. Kaikki sanomansiirrot järjestelmän osien välillä noudattavat salattua viestintästandardia lepäävät ja siirrossa olevat tiedot suojaamista varten.

Toiminnallinen erinomaisuus

Voit saavuttaa operatiivisen huippuosaamisen jatkuvan seurannan, havaittavuuden ja automaattisen hälytyksen avulla. Application Insights kerää yksityiskohtaisia telemetriatietoja Azure-funktioista, mukaan lukien suoritusajat, epäonnistumiset, uudelleenkulutukset ja suorituskykymittarit. Azure Monitor seuraa Azuren palveluväylä jonojen kuntoa ja tunnistaa mahdolliset pullonkaulat tai keskeneräiset työt. Dead-letter-jonot muodostavat mekanismin sanomien tallentamiseen ja vianmääritykseen, jotka epäonnistuvat useiden yritysten jälkeen.

Järjestelmänvalvojat voivat määrittää hälytyksiä ilmoittamaan heille sanoman käsittelyyn, palvelun käyttökatkoihin tai epänormaaliin jonojen kasvuun liittyvistä virheistä. Dataverse ylläpitää ilmoitustaulukossa seurantaketjua, jonka avulla järjestelmänvalvojat voivat seurata kunkin ilmoituksen elinkaarta. Koska Azure-funktiot ovat tilattomia ja skaalautuvat automaattisesti, järjestelmä voi reagoida sanomamäärän äkilliseen kasvuun ilman manuaalisia toimia, mikä takaa tasaisen suorituskyvyn ja toiminta-ajan.

Suoritustehokkuus

Arkkitehtuuri on optimoitu korkeaa suorituskykyä ja skaalattavuutta varten. Azuren palveluväylä mahdollistaa ajoitettujen ilmoitusten tehokkaan käsittelyn ilman Power Automateen perustuvien viiveiden aiheuttamia kuormituksia. Ajoitus ja toimitus erillisiin funktioihin mahdollistavat kunkin komponentin skaalauksen itsenäisesti kysynnän mukaan. Toimitusfunktio hyötyy automaattisesta skaalautumisesta, joten se voi käsitellä lähtevissä viesteissä olevia piikkejä vaikuttamatta käyttäjään suunnattuihin järjestelmiin.

Lisäksi hallittujen käyttäjätietojen ja palvelun todentamisen välimuistiin tallentamisen strategioiden käyttäminen vähentää viivettä sanoman toimittamisen aikana. Järjestelmä minimoi tarpeettomat tallennuskulut pitämällä olennaiset metatiedot vain Dataversessa ja tukemalla vanhempien ilmoitusten arkistointistrategioita. Yhdistämällä Power Platform -ominaisuudet Azuren skaalattavaan viestintäinfrastruktuuriin järjestelmä varmistaa nopean, tehokkaan ja kustannustehokkaan ilmoitusten toimittamisen suuryrityksen mittakaavassa.

Osallistuja

Microsoft ylläpitää tätä artikkelia. Seuraavat avustajat kirjoittivat tämän artikkelin.

Pääasialliset tekijät: