Latest / M365.FM – Microsoft 365, Copilot & AI podcast in het Nederlands / Azure DevOps-pipelines voor Power Platform: betrouwbare deployments met service principals, validatie en rollback (AI-nasynchronisatie)
Transcript
- 0:00Speaker 2: Klaar voor 10 dagen vol Microsoft 365, Copilot, AI, Azure
- 0:05Speaker 2: en de mensen die de toekomst van werk vormgeven? Deze
- 0:08Speaker 2: januari is M365 komt terug en we pakken het grootser aan.
- 0:12Speaker 2: Doe mee voor live sessies, real-world demo's en praktische kennis
- 0:15Speaker 2: van MVP's en experts van over de hele wereld. Geen
- 0:19Speaker 2: algemene sliedes, geen eindeloos jargon. We pakken de echte uitdagingen
- 0:23Speaker 2: aan Copilot Studio, AI Agents, Fabric, Beveiliging, Governance en Automatisering.
- 0:29Speaker 2: Of je nu IT-professional, ontwikkelaar of zakelijk leider bent, er
- 0:33Speaker 2: zijn sessies speciaal voor jou. Met 10 volledige dagen kun
- 0:36Speaker 2: je diverse technologieën verkennen en contact leggen met een wereldwijde community.
- 0:40Speaker 2: Kijk live mee en neem praktische inzichten mee terug naar
- 0:43Speaker 2: je organisatie. Januari 2027, 10 dagen, 1 Microsoft Community. De
- 0:49Speaker 2: registratie is nu geopend. Ga naar m365com.net en verzeker jezelf
- 0:55Speaker 2: vandaag nog van een plek. Dat is m365com.net. Meld je
- 1:00Speaker 2: nu aan op m365con.net, dan zien we je live in januari.
- 1:04Speaker 2: Heb je ooit het gevoel dat het implementeren van Power
- 1:06Speaker 2: Platform oplossingen één stap vooruit en twee stappen achteruit is?
- 1:09Speaker 2: Als je er klaar mee bent dat je dataverse wijzigingen
- 1:12Speaker 2: stuk gaan in QA of dat afhankelijkheden je implementaties verpesten,
- 1:15Speaker 2: dan is deze video voor jou. Vandaag ontleden we de
- 1:18Speaker 2: Azure DevOps Pipeline onderdeel voor onderdeel, zodat je implementaties lopen
- 1:22Speaker 2: als een geoliede machine in plaats van een gok. Benieuwd
- 1:24Speaker 2: hoe rollback echt werkt wanneer automatisering ingewikkeld wordt? Laten we
- 1:28Speaker 2: ontrafelen wat de documentatie je nooit vertelt. Handmatige implementaties versus
- 1:32Speaker 2: geautomatiseerde pipelines waar de echte pijn begint. Als je met
- 1:35Speaker 2: Power Platform werkt, heb je dat moment waarschijnlijk wel eens gehad.
- 1:39Speaker 2: Urenlang sleutelen aan een model-driven app? Een Power Automate Flow verfijnen,
- 1:43Speaker 2: beveiligingsrollen nauwkeurig instellen, de hele checklist. Je hebt elk veld
- 1:48Speaker 2: dubbel gecontroleerd, op export oplossing geklikt, je zipbestand geüpload en
- 1:52Speaker 2: duimt terwijl QA een nieuwe beeld krijgt. En dan, net
- 1:54Speaker 2: wanneer iedereen zich klaarmaakt voor een demo of livegang, eh,
- 1:58Speaker 2: valt er iets om. Een tabel verschijnt niet, een flow
- 2:01Speaker 2: activeert in de verkeerde omgeving, of erger, het importeren mislukt
- 2:05Speaker 2: met een cryptische foutcode die alleen betekent dat er ergens
- 2:07Speaker 2: iets niet overeen kwam. De kamer wordt plotseling stiller. Dat
- 2:12Speaker 2: bekende knoopgevoel in je maag komt opzetten en je kunt
- 2:15Speaker 2: weer op zoek naar wat er misging, waar en waarom.
- 2:17Speaker 2: Dit is de dagelijkse realiteit voor teams die vertrouwen op
- 2:20Speaker 2: handmatige implementaties in Power Platform. Je jongleert met geëxporteerde oplossingen
- 2:24Speaker 2: naar je desktop Verplaatst Zip bestanden tussen omgevingen en gebruikt
- 2:28Speaker 2: soms een oud Excel-blad of een Teams-chat om bij te
- 2:30Speaker 2: houden wat wanneer is verplaatst. Als je een aanpassing mist,
- 2:33Speaker 2: misschien een nieuwe tabel of een verbindingsreferentie voor een flow,
- 2:36Speaker 2: is je implementatie half af, maar volledig kapot. De klassieker,
- 2:40Speaker 2: het werkt in dev, maar QA heeft geen idee wat
- 2:42Speaker 2: je zojuist hebt opgestuurd. Nu zit iedereen in Slack of
- 2:44Speaker 2: Teams uit te zoeken wat er ontbreekt. of wie de
- 2:46Speaker 2: echte versie van de app als laatste heeft geëxporteerd. Handmatige
- 2:49Speaker 2: implementaties zijn verraderlijker in hun fragiliteit dan teams verwachten. Het
- 2:53Speaker 2: gaat niet alleen om vergeten stappen. Je hebt te maken
- 2:55Speaker 2: met omgevingen die in de loop van weken aan wijzigingen
- 2:58Speaker 2: stilletjes uit de pas gaan lopen. Dev krijgt een nieuwe
- 3:01Speaker 2: connector of machtiging, maar niemand noteert dit voor de volgende implementatie.
- 3:04Speaker 2: Misschien past iemand de triggerdetails van een flow aan, maar
- 3:07Speaker 2: alleen in dev. Tegen de tijd dat je in productie bent,
- 3:09Speaker 2: is er een lappendeken aan configuratieafwijkingen ontstaan. Zelfs als je
- 3:12Speaker 2: probeert alles te documenteren, vindt menselijke foutmarge altijd een weg
- 3:15Speaker 2: naar binnen. Een wijziging laat op de avond na een stand-up,
- 3:18Speaker 2: een over het hoofd geziene beveiligingsrol of een handmatig gemigreerde omgevingsvariabelen,
- 3:23Speaker 2: plotseling jaag je op een probleem dat twee dagen geleden
- 3:25Speaker 2: niet voor de hand lag, maar nu de gebruikersacceptatie blokkeert
- 3:27Speaker 2: of data in een kritieke integratie heeft beschadigd. Hier is
- 3:30Speaker 2: een verhaal dat waarschijnlijk bekend in de oren klinkt. Een
- 3:33Speaker 2: bedrijfscritische Power Automate Flow draaide prima in dev en verplaatste
- 3:37Speaker 2: rijen tussen dataverse tabellen met behulp van wat nieuwe verbindingsreferenties.
- 3:41Speaker 2: Exporteren naar QA, importeren ziet er goed uit, maar niets
- 3:44Speaker 2: wordt geactiveerd. Na urenlang laks doorspitten en machtigingen controleren, realiseert
- 3:48Speaker 2: iemand zich dat de QA-omgeving nooit de juiste verbindingsreferentie had.
- 3:52Speaker 2: Er is geen waarschuwing in de interface, niets gemarkeerd tijdens
- 3:55Speaker 2: de importstap. Het vereiste een diepe duik in oplossingslagen en componentafhankelijkheden...
- 4:00Speaker 2: En ondertussen lag een bedrijfsproces het grootste deel van een
- 4:03Speaker 2: week stil. Microsoft benoemt dit pijnpunt openlijk in een documentatie
- 4:08Speaker 2: wat bijna geruststellend is. Zelfs ervaren beheerders, mensen die dataverse ademen...
- 4:13Speaker 2: verliezen het overzicht op verborgen afhankelijkheden of genuanceerde omgevingsverschillen. Zaken
- 4:17Speaker 2: die nauwelijks een regel in de documentatie krijgen... zijn vaak
- 4:20Speaker 2: precies de dingen die een livegang laten ontsporen. Dit zijn
- 4:22Speaker 2: geen beginnersfouten. Het zijn de gevolgen van een platform dat
- 4:25Speaker 2: flexibel is... maar stilletjes vol zit met onderlinge koppelingen en afhankelijkheden.
- 4:29Speaker 2: Wanneer je ervan uitgaat dat mensen elke instelling onthouden... is
- 4:32Speaker 2: het slechts een kwestie van tijd voordat er iets misgaat.
- 4:34Speaker 2: Dus het grote verkoopargument is automatisering. Azure DevOps staat aan
- 4:38Speaker 2: de basis van dit probleem en belooft die handmatige, foutgevoelige
- 4:41Speaker 2: stappen om te zetten in herhaalbaar, track-eerbare en hopelijk kogelvrije pipelines.
- 4:47Speaker 2: Het idee ziet er op papier goed uit. Je zet
- 4:49Speaker 2: een pipeline op, voert je Power Platform erin en laat
- 4:52Speaker 2: het zware werk aan de tool over. De oplossing wordt geëxporteerd, geïmporteerd,
- 4:56Speaker 2: afhankelijkheden worden gecontroleerd en als er iets misgaat, zie je
- 4:59Speaker 2: het direct. Je krijgt echte laks met tijdstempels. Je hoeft
- 5:02Speaker 2: je niet langer af te vragen of Alice of Bob
- 5:04Speaker 2: de laatste kopie heeft. Indien goed uitgevoerd is elke implementatie
- 5:07Speaker 2: van een versie voorzien en herleidbaar naar de bron. Geen
- 5:09Speaker 2: afhankelijkheidsroulette of last-minute verrassingen meer. En hier is het getal
- 5:13Speaker 2: dat iedereen graag deelt in presentaties. Teams die overstappen van
- 5:16Speaker 2: handmatige processen naar geautomatiseerde pipelines zien feedbackloops die niet alleen
- 5:20Speaker 2: sneller zijn, maar ook de meeste mislukte implementaties voorkomen. Natuurlijk
- 5:24Speaker 2: gebeuren er nog steeds fouten, maar die worden vroeg opgemerkt.
- 5:27Speaker 2: waardoor je geen uren kwijt bent aan het uitzoeken wat
- 5:28Speaker 2: er misging. Wat nog belangrijker is, je krijgt controleerbaarheid. Je
- 5:32Speaker 2: kunt elke implementatie traceren, precies weten wie wat heeft verstuurd
- 5:35Speaker 2: en ja, aanwijzen waar en hoe iets misging. Maar in
- 5:38Speaker 2: werkelijkheid draait dit om vertrouwen, niet alleen om snelheid. Als
- 5:41Speaker 2: je team het implementatieproces niet kan vertrouwen, als elke release
- 5:44Speaker 2: aanvoelt als een gok, dan loopt elke goede functie die
- 5:46Speaker 2: je bouwt gevaar. Stakeholders aarzelen om releases uit te voeren.
- 5:49Speaker 2: Gebruikers raken gefrustreerd door uitval of ontbrekende functies. De belofte
- 5:52Speaker 2: van snelle low-code innovatie valt in duigen wanneer de laatste
- 5:56Speaker 2: stap onbetrouwbaar blijft. Automatisering gaat niet alleen over tijd besparen
- 6:00Speaker 2: of indruk maken op het management door DevOps te omarmen.
- 6:03Speaker 2: Het is de enige realistische manier om Power Platform oplossingen
- 6:06Speaker 2: te leveren die elke keer weer op dezelfde manier werken
- 6:08Speaker 2: in elke omgeving. Dus, met geautomatiseerde pipelines krijg je voorspelbaarheid.
- 6:13Speaker 2: Je krijgt een betrouwbaar overzicht van elke implementatieafhankelijkheid en genomen stap.
- 6:17Speaker 2: Echte CI, CD voor Power Platform wordt mogelijk en probleemoplossing
- 6:22Speaker 2: wordt een kwestie van laks, niet van gissen. Natuurlijk gebeurt
- 6:25Speaker 2: dit niet zomaar bij toverslag. Automatisering is slechts zo sterk
- 6:28Speaker 2: als de verbindingen tussen je pipeline en je omgevingen. Dat
- 6:31Speaker 2: is waar dingen nog steeds mis kunnen gaan. Laten we
- 6:35Speaker 2: het daarom nu hebben over het koppelen van Azure DevOps
- 6:37Speaker 2: aan je Power Platform op een manier die stabiel en
- 6:40Speaker 2: veilig is en niet om drie uur s'nacht stuk gaat.
- 6:44Speaker 2: De lijm, serviceverbindingen en agentpools die niet bezwijken. Als je
- 6:48Speaker 2: hebt geprobeerd Azure DevOps te koppelen aan Power Platform en
- 6:52Speaker 2: zag dat de pipeline direct een toegangsfout gaf of eeuwig
- 6:55Speaker 2: bleef hangen, dan ben je niet de enige. Bijna elk
- 6:59Speaker 2: team loopt vroeg of laat tegen deze muur aan. De
- 7:01Speaker 2: pipeline kan prachtig ontworpen zijn. Je Griekse YAML kan perfect zijn,
- 7:06Speaker 2: maar één verkeerd geconfigureerde serviceverbinding of missende agentinstelling en je
- 7:10Speaker 2: staart naar verificatiefouten of vraagt je af waarom er niets
- 7:13Speaker 2: op start. De realiteit is dat Power Platform implementaties slagen
- 7:17Speaker 2: of falen door wat er achter de schermen gebeurt, wat
- 7:19Speaker 2: ik het onzichtbare leidingwerk noem. We hebben het over serviceverbindingen, authenticatiestromen,
- 7:24Speaker 2: agentpuls en die kleine instellingen die alles stilletjes bij elkaar
- 7:27Speaker 2: houden of stilletjes je dag verpesten. Laten we eerlijk zijn,
- 7:30Speaker 2: het concept lijkt bedriegelijk eenvoudig. Je maakt een serviceverbinding in
- 7:34Speaker 2: Azure DevOps, geeft deze inloggegevens, wijst naar je omgeving en
- 7:38Speaker 2: gaat weer verder met het bouwen van je flows. Onder
- 7:41Speaker 2: de motorkap is het echter een web van rechten, tokens
- 7:44Speaker 2: en API handshakes. Als je er één mist, kun je
- 7:47Speaker 2: niet alleen je pipeline kapotmaken, maar mogelijk ook de onderliggende
- 7:50Speaker 2: integratie voor iedereen die dezelfde service principle gebruikt. Dit is
- 7:53Speaker 2: niet slechts theoretisch. Ik heb teams maandenlang perfect zien werken
- 7:57Speaker 2: om vervolgens vast te lopen bij één implementatie die weigerde
- 8:00Speaker 2: te voltooien. Het komt altijd neer op een detail achter
- 8:03Speaker 2: de schermen, een verlopen geheim, een ontbrekende rol voor het
- 8:06Speaker 2: service account of een gewijzigd rechtenbereik in Azure Active Directory.
- 8:11Speaker 2: In het ergste geval kun je jezelf of je team
- 8:13Speaker 2: per ongeluk buitensluiten van omgevingen als je te rigoureus bent
- 8:16Speaker 2: met roltoewijzingen. Stel je de opzet voor. Je krijgt eindelijk
- 8:20Speaker 2: toestemming om een service principle voor je pipeline te gebruiken,
- 8:23Speaker 2: met als doel echte beveiliging en functiescheiding. De theorie is logisch.
- 8:27Speaker 2: Je hebt één identiteit per omgeving, dus alles zou gewoon
- 8:29Speaker 2: moeten werken. Maar dan komt de dag van de implementatie.
- 8:32Speaker 2: Je voert je pipeline uit en deze faalt al bij
- 8:34Speaker 2: de allereerste authenticatiestap. De foutmeldingen zijn onduidelijk. Je spit door
- 8:38Speaker 2: Deluxe en ontdekt dat je een kleine dataverse roltowijzing bent vergeten.
- 8:42Speaker 2: Eén vinkje en nu heeft je agent geen toegang tot
- 8:44Speaker 2: de omgeving. Natuurlijk vermeldde Deluxe dit niet expliciet. Ze geven
- 8:48Speaker 2: alleen een algemene, niet geautoriseerd, melding. Dus zit je om
- 8:51Speaker 2: 11 uur s'avonds in de Azure portal te snuffelen, permissies
- 8:54Speaker 2: te wijzigen en te hopen dat je niet iets anders
- 8:56Speaker 2: kapot maakt. Het is even frustrerend als volledig vermijdbaar. Er
- 9:00Speaker 2: is hier een patroon zichtbaar. Een gemiste machtiging of een
- 9:03Speaker 2: afwijkende configuratie kan de hele boel blokkeren. Daarom is het
- 9:07Speaker 2: best practice om een toegewezen service principle te gebruiken. En
- 9:10Speaker 2: dit is het belangrijkste punt. Wijs niet uit gemak overal
- 9:14Speaker 2: zomaar adminrechten toe. Wijs alleen de minimale dataverse rollen toe
- 9:18Speaker 2: die nodig zijn voor de specifieke omgeving en taak. Dat
- 9:21Speaker 2: klinkt misschien als overdreven als je nieuw bent in DevOps,
- 9:23Speaker 2: maar in de praktijk voorkomt dit dat iemand per ongeluk
- 9:26Speaker 2: gegevens verwijdert of beschadigt omdat een oppermachtige service principle overal
- 9:29Speaker 2: toegang had. Het betekent ook dat het vernieuwen van sleutels
- 9:32Speaker 2: of het wijzigen van geheimen overzichtelijker is. Als je een
- 9:34Speaker 2: verbinding vanuit QA moet intrekken, loop je niet het risico
- 9:37Speaker 2: de productieomgeving plat te leggen. Teams die zich aan deze
- 9:40Speaker 2: scheiding houden, kennen zelden de paniek waarbij alle omgevingen tegelijk uitvallen.
- 9:45Speaker 2: Laten we het nu hebben over agentpolls, want vreemd genoeg
- 9:48Speaker 2: worden die vaak als een bijzaak behandeld. Je hebt twee hoofdopties,
- 9:51Speaker 2: door Microsoft gehoste agents en zelf gehoste agents. De meesten
- 9:56Speaker 2: pakken gewoon wat standaard is in hun Azure DevOps project
- 9:59Speaker 2: en hopen dat het werkt. Voor simpele. net of web
- 10:04Speaker 2: taken gaat dit meestal wel goed, maar bij het Power
- 10:06Speaker 2: Platform loop je uiteindelijk tegen een muur aan. Door Microsoft
- 10:10Speaker 2: gehoste agents zijn prima voor basis taken, maar omdat ze
- 10:13Speaker 2: dynamisch worden ingericht en gedeeld, kun je niet garanderen dat
- 10:16Speaker 2: aan alle vereisten is voldaan. Zoals specifieke versies van de
- 10:19Speaker 2: Power Platform Build Tools of aangepaste PowerShell modules die je
- 10:22Speaker 2: nodig hebt voor complexere oplossingen. Bovendien, als je aangepaste software
- 10:26Speaker 2: of integraties nodig hebt die niet in de standaard image zitten,
- 10:29Speaker 2: loop je vast. En succes met het oplossen van problemen
- 10:32Speaker 2: in omgevingen waar je geen eigenaar van bent. Self-hosted agents
- 10:35Speaker 2: geven je volledige controle over de omgeving, wat zowel een
- 10:38Speaker 2: zegen als een last is. Aan de ene kant kun
- 10:41Speaker 2: je vooraf beeldtools, SDK's, scripts en alles wat je project
- 10:44Speaker 2: vereist installeren. Als je unieke connectoren of een vaste set
- 10:48Speaker 2: afhankelijkheden hebt, kan dit enorm veel tijd besparen. Aan de
- 10:52Speaker 2: andere kant ben je volledig verantwoordelijk voor machine-updates, patches en
- 10:56Speaker 2: het draaiende houden van de agent. Toch geven veel teams
- 10:58Speaker 2: de voorkeur aan deze route, vooral als hun Power Platform
- 11:01Speaker 2: werk veel aangepaste stappen of integraties bevat die niet goed
- 11:05Speaker 2: werken met de gedeelde Microsoft-images. Een tip die vaak over
- 11:07Speaker 2: het hoofd wordt gezien, voer altijd een proefdraai uit. Test
- 11:10Speaker 2: je serviceverbinding en doe een proefexport voordat je iets belangrijks
- 11:13Speaker 2: door je pipeline haalt. Alleen omdat je pipeline aangeeft dat
- 11:16Speaker 2: deze verbonden is, betekent dit niet dat hij het juiste
- 11:19Speaker 2: toegangsniveau heeft voor elke gewenste actie. Die test export is
- 11:22Speaker 2: je vangnet. Zo ontdek je hiaten in rechten, rolproblemen en
- 11:25Speaker 2: zelfs netwerkfouten voordat je midden in een productie-implementatie zit. Het
- 11:29Speaker 2: is beter om daar nu achter te komen dan wanneer
- 11:30Speaker 2: je tegen de deadline van de live gaan aanlopen. Wat
- 11:33Speaker 2: je echt wilt is betrouwbaarheid zonder verrassingen. Duurzame serviceverbindingen en
- 11:37Speaker 2: agentpolls vormen de basis voor alles wat daarna komt. Als
- 11:40Speaker 2: je dit verkeerd aanpakt, maakt het niet uit hoe gepolijst
- 11:42Speaker 2: je Griekse YAML is of hoe geavanceerd je pipeline taken zijn.
- 11:46Speaker 2: Ze zullen falen omdat de basis niet goed is opgezet.
- 11:49Speaker 2: Zodra je dit onzichtbare leidingwerk onder de knie hebt, verloopt
- 11:52Speaker 2: de rest van het pipeline proces met veel minder gedoe
- 11:55Speaker 2: en veel meer voorspelbaarheid. De frustratie verschuift van, waarom startte
- 11:59Speaker 2: mijn pipeline niet, naar, hoe maak ik mijn pipeline nog slimmer,
- 12:02Speaker 2: wat een veel leuker probleem is om op te lossen.
- 12:04Speaker 2: Met stabiele verbindingen en agents die betrouwbaar hun werk doen,
- 12:07Speaker 2: heb je de eerste echte hindernis genomen. Maar solide techniek
- 12:10Speaker 2: garandeert niet dat oplossingsfouten worden opgemerkt voordat ze de productieomgeving bereiken.
- 12:13Speaker 2: Laten we nu kijken naar hoe geautomatiseerde controles en validaties
- 12:16Speaker 2: je omgevingen beschermen tegen onopgemerkte fouten voordat ze zich verspreiden.
- 12:20Speaker 2: Geautomatiseerde vangrails, afhankelijkheidscontroles en validaties voor afgaand aan de implementatie.
- 12:25Speaker 2: Als je ooit hebt gezien dat een power platform implementatie
- 12:28Speaker 2: slaagt in dev, de procedures doorloopt in QA en vervolgens
- 12:31Speaker 2: direct alarmsignalen geeft zodra het in productie gaat, dan weet
- 12:34Speaker 2: je waar dit heen gaat. Problemen kondigen zichzelf bijna nooit
- 12:37Speaker 2: van tevoren aan. In plaats daarvan krijg je van die
- 12:39Speaker 2: stilletjes verborgen afhankelijkheden, Het soort dat twee of drie klikken
- 12:43Speaker 2: diep in een canvas app zit of begraven ligt in
- 12:45Speaker 2: de subflows van een modelgestuurde app. Wat de ontwikkelomgeving betreft
- 12:48Speaker 2: ziet alles er goed uit, maar de productieomgeving, met zijn
- 12:51Speaker 2: eigen connectors, andere gelicentieerde gebruikers of een subtiel verschil in
- 12:54Speaker 2: dataverse beveiligingsrollen, vindt direct de zwakke plek. Nu is iedereen
- 12:58Speaker 2: in rep en roer. Soms is de enige waarschuwing die
- 13:00Speaker 2: je krijgt een gebruiker die zegt, hé, deze gegevens worden
- 13:02Speaker 2: niet bijgewerkt. Of een support ticket met een stacktrace die
- 13:04Speaker 2: niets nuttigs oplevert. Het onderliggende probleem? Niemand heeft gecontroleerd of
- 13:08Speaker 2: alle bewegende delen de verplaatsing daadwerkelijk hebben overleefd. Dit is
- 13:11Speaker 2: waarom afhankelijkheidscontroles en validaties voor de implementatie niet zomaar leuk
- 13:15Speaker 2: zijn om te hebben. Ze zijn het immuunsysteem van je pipeline.
- 13:18Speaker 2: Zie ze als een voorhoede van je implementatie die met
- 13:20Speaker 2: een zaklamp in alle hoeken schijnt waar problemen zich graag verstoppen.
- 13:23Speaker 2: Deze geautomatiseerde vangrails vangen zaken op zoals ontbrekende subflows, afwezige
- 13:28Speaker 2: verbindingsreferenties of onbeheerde componenten die nooit aan je export zijn toegevoegd.
- 13:32Speaker 2: Zonder deze controles is elke implementatie een sprong in het diepe.
- 13:35Speaker 2: Je hoopt maar dat het leidingwerk onder je app in
- 13:38Speaker 2: elke omgeving hetzelfde is en je weet pas dat dit
- 13:40Speaker 2: niet zo is als het incidentrapport in je inbox belandt.
- 13:43Speaker 2: Ik heb dit vaker zien gebeuren dan ik wil toegeven.
- 13:45Speaker 2: Bij één project was er een terugkerende nachtmerrie, een Power
- 13:48Speaker 2: Automate Flow die prachtig werkte in elke ontwikkeltest om vervolgens
- 13:51Speaker 2: volledig te verdwijnen bij een productie-implementatie. Wat was er aan
- 13:54Speaker 2: de hand? Het bleek dat een snelle oplossing een subflow
- 13:57Speaker 2: als afhankelijkheid had en het exportproces merkte niet dat de
- 14:00Speaker 2: subflow buiten de beheerde oplossing viel. Toen die subflow niet
- 14:04Speaker 2: verscheen in QA en productie, faalden de bovenliggende logica stilletjes.
- 14:08Speaker 2: Geen foutmelding, geen waarschuwing, gewoon een proces dat geruisloos stopte
- 14:12Speaker 2: en gebruikers die verward waren waarom hun taken plotseling vastliepen.
- 14:15Speaker 2: We realiseerden ons pas na voldoende meldingen van gebruikers over
- 14:18Speaker 2: ontbrekende updates dat iemand eindelijk de ontbrekende schakel vond. Tegen
- 14:21Speaker 2: die tijd waren er uren gestoken in het doorspitten van
- 14:23Speaker 2: ExportXML bestanden en het uitvoeren van handmatige controles. Een over
- 14:27Speaker 2: het hoofd geziene afhankelijkheid veroorzaakte chaos die met de juiste
- 14:30Speaker 2: van wil had kunnen worden voorkomen. Het wrangen is hoe
- 14:32Speaker 2: voorkombaar dit tegenwoordig is. Tools zoals de Solution Checker in
- 14:36Speaker 2: het Power Platform stellen je in staat om geautomatiseerde scans
- 14:39Speaker 2: als pipeline-stap in te stellen, waardoor je vooraf waarschuwingen krijgt
- 14:42Speaker 2: over problemen met oplossingslagen, ontbrekende afhankelijkheden, app-prestaties en zelfs beveiligingsaanbevelingen.
- 14:49Speaker 2: De Power Platform Build Tools voor Azure DevOps brengen dit
- 14:52Speaker 2: nog dichter bij de CI-CD-realiteit. Met de juiste pipeline stap
- 14:57Speaker 2: doe je veel meer dan een eenvoudige import-export. Je voert
- 15:00Speaker 2: validatiecontroles uit op zowel de oplossing als de verbindingen met
- 15:03Speaker 2: de doelomgeving. Als je extra vereisten hebt, kun je met
- 15:07Speaker 2: aangepaste PowerShell scripts nog dieper gaan door te scannen op
- 15:10Speaker 2: zaken als vereiste omgevingsvariabelen, het valideren van verbindingen voor premium
- 15:15Speaker 2: APIs of het controleren van rechtenbereiken op AD-geïntegreerde flows. Het
- 15:20Speaker 2: interessante is hoeveel deze geautomatiseerde vangrails opvangen in vergelijking met
- 15:24Speaker 2: de oude, exporteren en hopen, methodes. Onderzoeken in de community
- 15:28Speaker 2: wijzen uit dat deze controles tot 70% van de problemen
- 15:31Speaker 2: signaleren voordat iets live gaat. Dat betekent minder telefoontjes buiten werktijd,
- 15:35Speaker 2: minder inhaalsprints om fouten te herstellen en veel minder ongemakkelijke
- 15:39Speaker 2: vergaderingen waarin je aan de directie moet uitleggen waarom een
- 15:42Speaker 2: livegang mislukt. Eigen onderzoek en casestudies van Microsoft bevestigen dit.
- 15:46Speaker 2: Teams die standaard pre-deployment validatie uitvoeren, zien een dramatische afname
- 15:50Speaker 2: in productieproblemen en problemen worden zo vroeg ontdekt dat ze
- 15:53Speaker 2: nauwelijks als incidenten tellen. Een solide pipeline stap hiervoor is
- 15:56Speaker 2: eenvoudig maar effectief. Exporteer je oplossing vanuit de bron, maar
- 16:00Speaker 2: start voordat je overweegt deze te importeren in de doelomgeving
- 16:03Speaker 2: een reeks die de solution checker en eventuele toegevoegde aangepaste
- 16:06Speaker 2: tests uitvoert. Stop niet bij alleen de build. Voer queries
- 16:10Speaker 2: uit op de productiedataverse om er zeker van te zijn
- 16:12Speaker 2: dat de entiteiten die je gaat overschrijven geen schemaverschillen hebben
- 16:15Speaker 2: die een stille fout veroorzaken. Valideer verbindingsreferenties. Ga er niet
- 16:19Speaker 2: vanuit dat iedereen die rechten had in dev of qa
- 16:21Speaker 2: dezelfde rol heeft in prod. Door deze stappen in de
- 16:24Speaker 2: pipeline op te nemen, faalt het script vroeg als er
- 16:27Speaker 2: iets ontbreekt en krijg je nuttige logbestanden die precies aangeven
- 16:30Speaker 2: waar het gat zit. Deze geautomatiseerde controles maken het verschil
- 16:33Speaker 2: tussen je dag besteden aan nuttige functies bouwen en je
- 16:35Speaker 2: avond besteden aan het blussen van branden bij mislukte implementaties.
- 16:39Speaker 2: Ze houden de omgeving niet alleen stabiel, ze geven het
- 16:42Speaker 2: hele team ook het vertrouwen dat wijzigingen die door de
- 16:44Speaker 2: pipeline gaan geen cruciale stap hebben overgeslagen of een laatste
- 16:47Speaker 2: afhankelijkheid hebben gemist. Het verandert de dag van implementatie van
- 16:51Speaker 2: iets spannends in iets alledaags. Wanneer iemand vraagt, is de
- 16:54Speaker 2: implementatie klaar? Kun je daadwerkelijk antwoorden met meer dan ik
- 16:58Speaker 2: denk het wel omdat je de vangrails hebt om het
- 17:00Speaker 2: te bewijzen. Het is makkelijk om pre-deployment checks af te
- 17:03Speaker 2: doen als een vinkje op een lijst, maar in de
- 17:05Speaker 2: Power Platform wereld besparen ze meer tijd en gezichtsverlies dan
- 17:08Speaker 2: bijna elke andere automatisering. In plaats van achteraf werken vanaf
- 17:13Speaker 2: uitval en klachten, krijg je proactieve meldingen, vroegtijdig, actiegericht en
- 17:18Speaker 2: direct gekoppeld aan componenten. Zie ze minder als een vangnet
- 17:21Speaker 2: en meer als een radarsysteem. Natuurlijk kunnen dingen, zelfs met
- 17:24Speaker 2: de beste vangrails op hun plek, nog steeds misgaan. Niets
- 17:27Speaker 2: is onfeilbaar en elk team heeft een manier nodig om
- 17:30Speaker 2: wijzigingen terug te draaien wanneer er iets doorheen glipt. Laten
- 17:33Speaker 2: we dus kijken hoe een echt rollback en backupland eruit
- 17:36Speaker 2: ziet voor Power Platform, in plaats van alleen maar te
- 17:38Speaker 2: hopen dat de ongedaan knop werkt. Wanneer dingen stuk gaan
- 17:42Speaker 2: een echte rollback en backup strategie bouwen. Laten we bespreken
- 17:46Speaker 2: wat terugdraaien echt betekent voor Power Platform, want het is
- 17:49Speaker 2: makkelijk om aan te nemen dat er een grote ongedaan maken,
- 17:52Speaker 2: knop is die je redt als een implementatie mislukt. Maar
- 17:55Speaker 2: in tegenstelling tot codeprojecten, waar een terugdraaiing simpelweg een git
- 17:58Speaker 2: reset of een nieuwe implementatie van een pakket is, is
- 18:00Speaker 2: de wereld van Power Platform veel minder vergevingsgezind. Er is
- 18:03Speaker 2: geen native optie om een implementatie terug te draaien. Zodra
- 18:06Speaker 2: een import plaatsvindt, worden wijzigingen doorgevoerd in de omgeving, tabellen
- 18:10Speaker 2: kunnen worden bijgewerkt, componenten wisselen van versie- en datarelaties kunnen
- 18:14Speaker 2: stilletjes veranderen. Als er halverwege de import iets misgaat, kan
- 18:17Speaker 2: het resultaat een half geïmplementeerde oplossing zijn, defecte integraties of
- 18:21Speaker 2: gebruikers die geen toegang meer hebben tot apps waar ze
- 18:23Speaker 2: afhankelijk van zijn. De risico's zijn zelden duidelijk totdat het
- 18:26Speaker 2: misgaat en tegen die tijd vereist herstel veel vakkundigheid. De
- 18:29Speaker 2: harde waarheid is dat een mislukte import je omgeving in
- 18:32Speaker 2: een soort niemandsland achterlaat. Sommige componenten worden mogelijk ge-upgraded Anderen
- 18:36Speaker 2: blijven op hun oude versie en verbindingen of rollen kunnen
- 18:39Speaker 2: in een ongeveer definieerde staat verkeren. Configuraties raken snel uit
- 18:43Speaker 2: de pas en je blijft zitten met een systeem dat
- 18:45Speaker 2: niet meer overeenkomt met wat de bedoeling was. Wat een
- 18:48Speaker 2: kleine aanpassing lijkt in een beheerde oplossing, kan hele bedrijfsprocessen
- 18:52Speaker 2: verderop platleggen. Dit is waar de meeste beheerders de mist
- 18:54Speaker 2: in gaan. Er heerst een idee dat je het simpelweg
- 18:57Speaker 2: opnieuw kunt uitvoeren of een stap ongedaan kunt maken... terwijl
- 19:00Speaker 2: je in de praktijk werkt met een live applicatie waar
- 19:02Speaker 2: gebruikers op rekenen voor hun werk. Stel je de belangen
- 19:05Speaker 2: nu voor met een echt voorbeeld. Een groot financieel bedrijf
- 19:08Speaker 2: had een nieuwe functie klaarstaan voor hun Power Apps portal...
- 19:12Speaker 2: wat workflow-aanpassingen, een paar glimmende nieuwe dashboards en een geherconfigureerde datatabel.
- 19:17Speaker 2: De wijziging vloog door QA heen, dus gaven ze op
- 19:19Speaker 2: een vrijdagavond groen licht voor de import naar productie, hopend
- 19:22Speaker 2: dat alles soepel zou verlopen voor de rapportagedeadline van maandag.
- 19:25Speaker 2: De import gaf halverwege een foutmelding. Het eindresultaat? Gebruikers die
- 19:29Speaker 2: maandagochtend inlochten, vonden defecte dashboards, mislukte automatiseringen en een handvol
- 19:34Speaker 2: canvas-apps die niet wilden laden. Erger nog, hun laatste volledige
- 19:37Speaker 2: backup van de omgeving was weken oud en ze hadden
- 19:39Speaker 2: de nieuwste oplossingsversie niet geëxporteerd na de laatste wijzigingen in
- 19:43Speaker 2: de ontwikkeling. Herstelopties waren beperkt en het bedrijf verloor een
- 19:46Speaker 2: volledige dag aan werk terwijl beheerders de omgeving weer bij
- 19:49Speaker 2: elkaar probeerden. te puzzelen. Geen enkele stap veroorzaakte de ramp alleen.
- 19:53Speaker 2: Het was een gemiste backup, het geloof in snelle oplossingen
- 19:56Speaker 2: en een gebrek aan flexibele planning voor terugdraaien waardoor ze
- 19:58Speaker 2: kwetsbaar waren. Dus, wat kun je werkelijk doen om niet
- 20:01Speaker 2: in dat terugdraai-niemandsland te belanden? De eerste en meest betrouwbare
- 20:05Speaker 2: laag is het automatiseren van oplossingsexports in elke fase. In
- 20:09Speaker 2: plaats van te vertrouwen op die laatste versie in een ontwikkelingsmap,
- 20:12Speaker 2: zou je pipeline de oplossing automatisch moeten exporteren naar een
- 20:15Speaker 2: veilige locatie, idealiter naar versiebeheer. Op die manier heeft elke release,
- 20:20Speaker 2: succesvol of mislukt, Een bijbehorende backup. Als de implementatie van
- 20:23Speaker 2: vandaag mislukt, zit je niet vast aan wat er toevallig
- 20:26Speaker 2: op je desktop staat. Je hebt altijd toegang tot het
- 20:28Speaker 2: laatst bekende goede pakket. Nachtelijke omgevingsbackups zijn een andere praktische zet,
- 20:33Speaker 2: zelfs als je denkt dat je ze nooit nodig zult hebben.
- 20:35Speaker 2: Microsoft biedt volledige backupfuncties voor omgevingen, zeker voor dataverse omgevingen,
- 20:40Speaker 2: maar je zult verbaasd zijn hoeveel teams het gebruik hiervan
- 20:42Speaker 2: niet automatiseren. Het officiële advies is helder, maak altijd een
- 20:45Speaker 2: volledige backup van de omgeving voordat je de productieomgeving aanpast.
- 20:48Speaker 2: Toch vertrouwen veel teams in de praktijk op, we doen
- 20:51Speaker 2: het wel als we eraan denken. Dat werkt precies zo
- 20:53Speaker 2: goed als je zou verwachten, totdat het ineens niet meer werkt.
- 20:56Speaker 2: Het instellen van nachtelijke of pre-deployment backups betekent dat je
- 20:59Speaker 2: een volledige snapshot hebt om te herstellen als het misgaat.
- 21:02Speaker 2: In combinatie met exports op oplossingsniveau kun je bepalen of
- 21:05Speaker 2: je de hele omgeving herstelt of alleen een enkele oplossing terugdraait.
- 21:09Speaker 2: afhankelijk van de schaal van het probleem. Het versiebeheer van
- 21:11Speaker 2: oplossingsbestanden in source control klinkt misschien bazaal, maar het is
- 21:14Speaker 2: een redder in nood. Het bijhouden van elke geëxporteerde zip
- 21:17Speaker 2: met commit geschiedenis, branchenamen en pull requests brengt Power Platform
- 21:21Speaker 2: implementaties dichter bij klassieke applicatie Levencycli. Je krijgt een volledig
- 21:25Speaker 2: audit trail van wat er is veranderd, Wanneer en door wie?
- 21:27Speaker 2: Als een rollback noodzakelijk wordt, hoef je niet te stressen.
- 21:30Speaker 2: Implementeer simpelweg de vorige succesvolle beeld opnieuw. Dit is niet
- 21:33Speaker 2: alleen handig. Het is een van de meest betrouwbare manieren
- 21:36Speaker 2: om bedrijfscritische wijzigingen te herstellen zonder bijkomende schade. Wanneer het
- 21:40Speaker 2: tijd is om een echte rollback uit te voeren, zijn
- 21:42Speaker 2: geëxporteerde oplossingsbestanden je reddingslijn. Begin met het herstellen van de
- 21:46Speaker 2: vorige versie van de oplossing die je al in een
- 21:48Speaker 2: lagere omgeving hebt gevalideerd. Teruggaan naar die bekende goede status
- 21:52Speaker 2: zal je componenten, stromen en gerelateerde aanpassingen resetten. Je krijgt
- 21:56Speaker 2: geen perfecte tijdmachine. Records of transactionele gegevens die na de
- 21:59Speaker 2: laatste implementatie zijn gewijzigd, lopen mogelijk nog steeds risico, maar
- 22:03Speaker 2: je kunt de app vaak binnen een uur terugbrengen naar
- 22:05Speaker 2: een werkende configuratie. Voor ernstigere zaken, zoals een beschadigde entiteit,
- 22:09Speaker 2: Verloren relaties of problemen met gegevensintegratie, moet je wellicht die
- 22:12Speaker 2: backup op omgevingsniveau gebruiken of individuele tabellen herstellen, afhankelijk van
- 22:16Speaker 2: wat beschikbaar is. Een leden die ik op de harde
- 22:19Speaker 2: manier heb geleerd, ga er nooit vanuit dat je rollback
- 22:22Speaker 2: planrobust is tenzij je het in een sandbox hebt getest.
- 22:24Speaker 2: Het verschil tussen een theoretisch en een reëel herstelproces is enorm.
- 22:28Speaker 2: Zonder testen loop je het risico om volledige afhankelijkheden te
- 22:31Speaker 2: herstellen of importconflicten tegen te komen die je niet had voorzien.
- 22:34Speaker 2: Het oefenen van je rollback is een