Softwarelevering

Van gedeelde broncode naar een gecontroleerde implementatie.

De softwareleveringsmogelijkheden van Microwave Pie zijn ontworpen om de implementatie van zelfgehoste toepassingen eenvoudiger te maken: beheer releases vanuit gedeelde broncode, maak het juiste pakket voor een implementatie, pas licenties toe en houd installatie en updates gekoppeld aan een bekende release.

Gedeeld leveringsmodel

1Gedeelde applicatiebroncodeEén bronhistorie en release-identiteit.
2PlatformreleaseBouw voor het bedoelde implementatiedoel.
Bronpakket Gecompileerd pakket
3Pakket met licentieGeef het pakket uit voor een specifieke implementatie.
4Installeren en bijwerkenHoud de implementatiehistorie gekoppeld aan de geleverde release.

Mogelijkheden

Houd releasekeuzes flexibel zonder controle te verliezen.

Verschillende omgevingen hebben niet altijd hetzelfde pakketformaat of dezelfde release op hetzelfde moment nodig. Microwave Pie scheidt gedeelde applicatiebroncode, herbruikbare releases, pakketten, licenties en geïnstalleerde instanties, zodat elk onderdeel bewust kan bewegen.

Gedeelde broncode

Begin met een gemeenschappelijke Git-bron en bewaar de exacte commit en gebruiksvriendelijke versie die bij een release horen. Verschillende implementatietypen kunnen onafhankelijk vooruitgaan terwijl ze gekoppeld blijven aan dezelfde bronhistorie.

Bronpakketten

Lever de toepassing als broncode wanneer transparantie, directe runtime-implementatie of platformspecifieke Python-installatie beter past. Bronpakketten behouden hetzelfde release- en licentiemodel als gecompileerde pakketten.

Gecompileerde pakketten

Lever een gecompileerd applicatiepakket wanneer een meer zelfstandige runtime gewenst is. Compilatie is een leveringskeuze, geen aparte productlijn, zodat de herkomst van de release consistent blijft.

Pakket- en licentiebeheer

Geef een pakket uit waaraan de licentie en doelcontext van de implementatie al zijn gekoppeld. Pakketlevenscyclus, licentiestatus, downloads, installaties, updates, intrekking en afsluiting kunnen samen worden beheerd in plaats van later te worden gereconstrueerd.

Doelspecifieke releasekeuzes

Raspberry Pi-, GCP-, broncode- en gecompileerde implementatietypen kunnen op verschillende releaselevels blijven wanneer daar een reden voor is. Ontbrekende Git-commits kunnen zowel per implementatietype als voor de hele toepassing worden bekeken.

Updates beheerd via de interface

Beheerde toepassingen kunnen automatisch tonen wanneer een goedgekeurde update beschikbaar is zonder die af te dwingen. Een beheerder kiest wanneer de update in de applicatie-interface wordt voorbereid en toegepast; na een herstart kan de geïnstalleerde release worden bevestigd aan de gedeelde leveringsservice terwijl de relatie tussen pakket en licentie behouden blijft.

Implementatie

Verpak de implementatie, niet de onzekerheid.

Een softwarepakket kan de implementatiecontext bevatten die nodig is om een applicatierelease om te zetten in een werkende implementatie: doelplatform, pakketformaat, installatiegedrag, release-identiteit en licentierelatie.

Daardoor kan het implementatieproces beginnen vanuit een bekende release in plaats van elke omgeving onafhankelijk build- en leveringsbeslissingen te laten reconstrueren. Wanneer een nieuwere release passend is, kan de bestaande relatie tussen pakket en licentie behouden blijven terwijl de gekozen release bewust vooruitgaat.

Onveranderlijke releasehistorie

Applicatiereleases bewaren het artefact en de Git-identiteit die daadwerkelijk zijn gebouwd.

Updates onder controle van de beheerder

Beschikbaarheid kan automatisch worden aangekondigd, maar downloaden, voorbereiden, toepassen en opnieuw starten blijven bewuste beheerdersacties.

Implementatiebewuste licenties

Pakketten, licenties en geïnstalleerde instanties blijven gekoppeld tijdens installatie, updates, intrekking en afsluiting.

Blackcap

Eén toepassing gebruikt dit model vandaag al.

Blackcap kan in ondersteunde Raspberry Pi- en GCP-omgevingen worden geïmplementeerd met bron- of gecompileerde pakketten, terwijl release-, pakket-, licentie- en updategedrag op elkaar afgestemd blijven.

Bekijk Blackcap-technologie