Cases

Semi-Cloud Native Solution

Uitdaging

Deze uitvaartorganisatie heeft na een sterfgeval, een groot aantal in gang te zetten processen. Hiervoor werd het pakket 'ProcessRunner' gebruikt; een webapplicatie die automatisch processen uitvoert naar verschillende back-end systemen. ProcessRunner werd gehost in een cloud omgeving die zou worden uitgefaseerd. De wens was om het als (Semi-) Cloud Native applicatie in Azure te hosten, echter bleek de applicatie een lokale folder nodig te hebben om bestanden op te plaatsen. Er was geen mogelijkheid om in korte tijd wijzigingen aan te brengen om de applicatie volledig Cloud Native te maken. Reguliere updates, patches en LTS-versie werden manueel gekopieerd naar de betreffende IIS-applicatie op meerdere nodes. SQL scripts werden manueel uitgevoerd. Dit leidde regelmatig tot verwarring en fouten.

Oplossing

De webapplicatie is gemigreerd naar Azure en moest op IIS draaien binnen een Virtual Machine. Hiervoor zijn Azure Virtual Machines aangemaakt. De lokale folder werd vervangen door een Azure File Storage. Op die manier werden files vanuit verschillende nodes benaderbaar. De databases zijn gemigreerd naar Azure SQL managed instances.

Om de release te automatiseren en geen manuele stappen meer uit te hoeven voeren, is gebruik gemaakt van Azure Storage, Azure Logic Apps en Azure DevOps piplines. De externe leverancier publiceert een nieuwe versie naar een Azure Blob container binnen de Azure subscription. Dit triggert een Azure DevOps pipeline. Tijdens de build wordt de gereleasde versie van de leverancier getransformeerd tot een te deployen pakket. Binnen de release worden eventuele databasescripts uitgevoerd.

Resultaat

ProcessRunner is gemigreerd naar Azure. Wanneer een update door de leverancier wordt gegenereerd, wordt deze automatisch gedeployed naar Azure. Het team bepaalt, door middel van goedkeuringen in de pipeline, wanneer de omgevingen T, A en P worden uitgerold. Zodra de softwareleverancier de applicatie Cloud Native heeft voorbereid, kan eenvoudig worden geswitcht naar een deployment naar Azure App Services.