Waarom applicatie packaging eindelijk gaat veranderen!

In deze blog neemt onze IT-consultant Sjoerd ons mee in de wereld van applicatie packaging. De manier van applicatie packaging is aan het veranderen in de ICT. In dit stuk wordt er nader ingegaan op wat applicatie-packaging precies is, het belang hiervan, waarom het relatief stagneerde en waarom dat op het punt staat volledig te veranderen.

Ik neem u graag mee terug in de tijd, iets meer dan 18 jaar geleden, toen ik stage liep bij een IT bedrijf op hun IT afdeling. Naast mij zaten de leden van het applicatie team – mensen die scripts schreven om applicaties te verpakken in “packages” die gedistribueerd konden worden met behulp van login scripts in Novell.

Snel vooruit naar vandaag. Als ik een nieuwe desktopapplicatie in mijn bedrijf wil hebben, heb ik nog steeds een team van mensen dat een vergelijkbare functie uitvoert om mijn applicatie “verpakt” te krijgen voor distributie via Microsoft System Center Configuration Manager (SCCM) – of Microsoft Endpoint Configuration Manager (MECM) zoals het nu heet – of vergelijkbare desktopbeheertooling.

Na twee decennia staat de manier waarop we applicaties verpakken en testen echter op het punt om drastisch te veranderen.

Wat is applicatie-packaging en waarom is het nodig?

Applicatie-packaging en -implementatie is een manier voor ondernemingen en grote organisaties om de manier waarop zij software op de apparaten van gebruikers zetten, te standaardiseren en te stroomlijnen. Het proces omvat het maken van een applicatiepakket voor elk stuk software dat een bedrijfseenheid (HR, Finance, enz.) nodig heeft, met vooraf gedefinieerde systeem- en gebruikersinstellingen (beheerrechten, netwerktoegang, enz.) die geschikt zijn voor de specifieke normen en controles die binnen die organisatie zijn ingesteld.

Dit stelt IT-beheerders in staat de nieuwste versies van software met nieuwe functies en beveiligingsupdates op een consistente en, aantoonbaar, meer tijdige manier te leveren om bij de tijd te blijven of een concurrentievoordeel te behalen. Het verlaagt ook de total cost of ownership (TCO) en de kosten voor applicatiebeheer, omdat IT geen afzonderlijke apparaten hoeft te troubleshooten, maar in plaats daarvan kan verpakken, testen en troubleshooten op een wereldwijd niveau.

Microsoft (nu Windows) Installer en MSI (1999)

Toen Microsoft Installer werd gelanceerd in 1999, voorzag het in een raamwerk voor het installatieproces waarbij installateurs met elkaar konden synchroniseren, een database van geïnstalleerde producten konden hebben, en een niveau van consistentie konden introduceren dat nog niet eerder had bestaan.

Met een MSI-bestand kon je zowel de .exe als de registersleutels installeren, bestandslocaties specificeren, aangepaste acties aanmaken die geen deel uitmaken van de standaardinstallatie, enz. Het gebruik van MSI’s zorgde voor meer controle, efficiëntie en snelheid bij het verpakken en implementeren van apps, vooral kritische apps, in de hele organisatie.

In alle versies van Windows sinds Windows 2000 hebben bedrijven de afgelopen 20 jaar MSI’s gemaakt voor hun app-packagingbehoeften en deze op dezelfde manier uitgerold. Waarom? Omdat is bewezen dat dit proces werkt en effectief is, ook al kan het tijd- en arbeidsintensief zijn.

Voordat een applicatiepakket wordt gemaakt, moet een nieuwe applicatie worden getest met elke versie van Windows die u gebruikt, en mogelijk ook met andere apps, om te controleren op conflicten. Nadat het pakket is gemaakt, moet het opnieuw worden getest, dan worden uitgerold in een pilot, en vaak opnieuw worden getest. Eventuele problemen die worden gevonden moeten worden opgelost, en dan getest, en opnieuw verpakt en opnieuw ingezet. Hoewel deze cyclus van testen, verpakken/uitrollen en testen vaak veel tijd in beslag nam, was het beter dan elk ander alternatief. Vandaag de dag kan het voor sommige organisaties 6-8 weken duren om een nieuwe applicatie klaar te krijgen voor distributie.

MSI was lange tijd de standaard voor het verpakken van applicaties. Microsoft koos er echter voor om geen eigen packaging tools of een ecosysteem rond packaging tooling op te bouwen, omdat ze op zoek waren naar ISV’s (Independent Software Vendor ) om die leegte op te vullen. Maar naarmate de industrie evolueerde, was er geen goede manier om met de overblijfselen van de gouden DLL Hel en WinROT om te gaan.

Virtualisatie verandert de verpakking van toepassingen (2006)

SoftGrid veranderde deze erfenis van problemen en creëerde de opkomst van applicatievirtualisatie. Zij realiseerden zich dat het gebruik van COM isolatie en virtuele bestandssystemen problemen zoals DLL Conflict Hell kon voorkomen. Hierdoor konden applicaties zonder problemen parallel op dezelfde desktops draaien, wat veel risico en onzekerheid verminderde. Door de applicatie en alle gerelateerde afhankelijkheden te bundelen in een virtuele bel, lagen de dagen van applicatieconflicten achter ons. De focus werd verlegd naar stabiliteit en prestatieverbeteringen.

In 2006 nam Microsoft SoftGrid over, waardoor ze direct toegang kregen tot de beste applicatievirtualisatietechnologie op de markt, evenals een grote gebruikersbasis en knowhow. Microsoft werkte veel van de bestaande functies bij en introduceerde hun beveiligingsstandaarden voordat ze het omdoopten tot Microsoft Application Virtualization of App-V. Volgens Microsoft is dit wat App-V doet:

Microsoft Application Virtualization (App-V) 5 laat beheerders toepassingen beschikbaar maken voor eindgebruikers zonder de toepassingen rechtstreeks te installeren op computers van eindgebruikers. App-V transformeert applicaties in centraal beheerde diensten die nooit geïnstalleerd worden en niet conflicteren met andere applicaties.

App-V heeft nooit de populariteit of adoptie van MSI bereikt, ondanks de vele verbeteringen die het met zich meebrengt. Vroege releases hadden een relatief hoog percentage mislukkingen, wat leidde tot veel her-werk en vaak een onvermogen om te verpakken in het App-V formaat. De snelheid van technologische veranderingen nam weer toe na de introductie van Windows 10 in 2015. Veel organisaties besloten opnieuw om de overstap naar het nieuwe formaat te maken, waardoor opnieuw een tijd- en middelenintensief verpakkings- en testproces voor honderden of zelfs duizenden applicaties in gang werd gezet. Het is ook vermeldenswaard dat App-V-pakketten in 2026 het einde van hun levensduur naderen. Er moest iets veranderen.

De nieuwe app-verpakkingsstandaard MSIX (2018)

Sinds de introductie van Windows 10 heeft Microsoft erop gehamerd dat de compatibiliteit van applicaties sterk is verbeterd ten opzichte van eerdere versies – en gaat zelfs zo ver te beweren dat het een non-issue is voor upgrades. Tegelijkertijd erkende Microsoft dat er behoefte was aan een nieuwe manier om applicaties te verpakken die zou leiden tot een betere betrouwbaarheid van de implementatie en een betere beveiliging. Op Developer Day 2018 bracht Microsoft een nieuwe versie van de app-verpakkingstechnologie uit, genaamd MSIX:

“MSIX is onze visie voor een complete containerisatie-oplossing en het erft alle geweldige functies in UWP en het belangrijkste is dat het van toepassing is op alle Win32-, WPF-, Windows Forms- en UWP-applicaties. Het MSIX-verpakkingsformaat is vandaag open source gemaakt.”

Deze moderne vorm van app verpakken en implementeren is gemaakt om de vervelende taken en problemen die hierboven zijn genoemd te verminderen of te elimineren. Een van de grootste eigenschappen van MSIX is dat het de applicatie isoleert, of containeriseert, en zo een digitale versie van de app creëert, zodat het onafhankelijk is van OS updates, app updates, en andere aanpassingsmogelijkheden. Dit betekent dat u het kunt distribueren op vele platforms, of MECM, Microsoft Intune, of andere oplossingen. Natuurlijk zal dit nieuwe formaat moeten rijpen, en we hebben al enkele herstelactiviteiten gezien om apps naar Intune te laten verhuizen met het nieuwe .IntuneWin-formaat omdat ze op dit moment niet naar MSIX kunnen worden geconverteerd.

Met de introductie van MSIX heeft Microsoft een sluisdeur geopend voor verandering op het gebied van applicatieverpakking en testen, en bereidt ons voor op een heel andere toekomst die voor ons ligt: een toekomst die wordt gekenmerkt door automatisering, self-service en containerisatie.

Wat is er veranderd en wat kunt u in de nabije toekomst verwachten?

Ondanks de naam is MSIX geen evolutie van MSI. Het is een compleet nieuw unified packaging formaat dat organisaties in staat stelt om veilige, betrouwbare en hoog presterende applicaties te maken, ongeacht hun invoer.

MSIX ondersteunt Microsofts Modern Management visie omdat de technologie gebruik maakt van innovatieve streaming technologie die alleen de delta tussen een bestaande app en de upgrade downloadt, waardoor bandbreedte geoptimaliseerd wordt. Omdat een MSIX-app in een virtuele applicatiecontainer leeft, wordt een strikte isolatie tussen de app en het OS gecreëerd. Ze zijn ook beter te automatiseren, omdat EXE-installateurs en MSI-pakketten zonder toezicht kunnen worden ingepakt en getest, zolang de EXE-installateurs stille installatie ondersteunen.

Dit gaat hand in hand met de veranderingen die momenteel gaande zijn binnen ondernemingen: Executives, IT-teams en business units dringen aan op Digitale Transformatie, meer incrementele maar frequentere software-upgrades, en meer automatisering en self-service terwijl IT-diensten worden gecentraliseerd. MSIX ondersteunt dit alles beter dan enige andere verpakkingstechnologie ooit heeft gedaan, bijvoorbeeld door het elimineren van DLLHell en WinROT, het ontkoppelen van de OS updates, app updates, en aanpassingen, evenals containerisatie.