Microsoft omhelst Kubernetes met Open Application Model

18-10-2019 | door: Witold Kepinski

Microsoft omhelst Kubernetes met Open Application Model

Microsoft omhelst het Kubernetes container beheer toepassing met een Open Application Model (OAM). Dit meldt het bedrijf in een blog. OAM is een open standaard voor het ontwikkelen en exploiteren van applicaties op Kubernetes en andere platformen.

Microsoft meldt: "Kubernetes is de leidende container-orkestratieomgeving geworden. Het succes ervan heeft geleid tot de opmerkelijke groei van Kubernetes-services op elke public cloud. De kernbronnen in Kubernetes zoals services en implementaties vormen echter verschillende onderdelen van een algemene applicatie. Ze vertegenwoordigen niet de toepassing zelf. Evenzo vertegenwoordigen objecten zoals Helm-diagrammen een potentieel inzetbare applicatie, maar eenmaal geïmplementeerd is er geen applicatiegericht model van de actieve applicatie. Deze behoefte aan een goed gedefinieerd en coherent model dat de volledige applicatie vertegenwoordigt, niet alleen de sjabloon en / of de samenstellende delen ervan, is de reden waarom Microsoft en Alibaba Cloud het Open Application Model (OAM) -project hebben gemaakt onder de Open Web Foundation.

Data

OAM is een specificatie voor het beschrijven van applicaties, zodat de applicatiebeschrijving wordt gescheiden van de details over hoe de applicatie wordt geïmplementeerd op en beheerd door de infrastructuur. Deze scheiding van problemen is om meerdere redenen nuttig. In de echte wereld is elk Kubernetes-cluster anders, van toegang tot CNI tot servicegaas. Door de applicatiedefinitie te scheiden van de operationele details van het cluster, kunnen applicatieontwikkelaars zich richten op de belangrijkste elementen van hun applicatie in plaats van de operationele details van waar het wordt geïmplementeerd. Bovendien maakt de scheiding van deze zorgen het voor platformarchitecten mogelijk om herbruikbare componenten te ontwikkelen en voor applicatieontwikkelaars om zich te concentreren op de integratie van die componenten met hun code om snel en gemakkelijk betrouwbare applicaties te bouwen.

MySQL

In OAM wordt een toepassing gemaakt van verschillende concepten. De eerste zijn de componenten waaruit een applicatie bestaat. Deze componenten kunnen services zijn zoals een MySQL-database of een gerepliceerde PHP-server met een bijbehorende load balancer. Ontwikkelaars kunnen code coderen die ze als een component verpakken en vervolgens manifesten die de relaties tussen die component en andere microservices beschrijven. Componenten stellen platformarchitecten en anderen in staat om herbruikbare modules te bouwen waarvan bekend is dat ze best practices rond beveiliging en schaalbare implementatie bevatten. Ze maken het ook mogelijk om de implementatie van de component te scheiden van de beschrijving van hoe deze componenten samenkomen in een complete gedistribueerde applicatie-architectuur.

Applicatie

Om deze componenten om te zetten in een concrete applicatie, gebruiken applicatie-operators een configuratie van deze componenten om een specifiek exemplaar van een applicatie te vormen die moet worden geïmplementeerd. De configuratiebron is wat een applicatie-operator in staat stelt een echte applicatie uit te voeren van de componenten die door ontwikkelaars en platforms worden geleverd.

Het uiteindelijke concept is een verzameling eigenschappen die de kenmerken van de toepassingsomgeving beschrijven, inclusief functies zoals automatisch schalen en binnendringen die belangrijk zijn voor de werking van toepassingen, maar die op verschillende manieren in verschillende omgevingen kunnen worden geïmplementeerd. Een eenvoudig voorbeeld van dergelijke verschillen zou een load-balancer in hyperscale cloud kunnen zijn versus een load-balancer op locatie. Vanuit het perspectief van een applicatieontwikkelaar zijn ze volledig identiek, terwijl vanuit het perspectief van de operator ze volledig verschillend zijn. Kenmerken maken deze scheiding van zorgen mogelijk, waardoor de toepassing overal kan worden uitgevoerd waar de benodigde kenmerken worden ingezet. Die eigenschappen kunnen vervolgens door infrastructuurbeheerders worden geconfigureerd om te voldoen aan de unieke operationele vereisten van hun omgeving (bijvoorbeeld compliance en beveiliging).

Edge

In tegenstelling tot een meer traditioneel PaaS-applicatiemodel heeft OAM enkele unieke kenmerken. Het belangrijkste is dat het platform agnostisch is. Hoewel onze eerste open implementatie van OAM, Rudr genaamd, bovenop Kubernetes is gebouwd, is het Open Application Model zelf niet nauw verbonden met Kubernetes. Het is mogelijk om implementaties te ontwikkelen voor tal van andere omgevingen, waaronder vormfactoren voor kleine apparaten, zoals edge-implementaties en elders, waar Kubernetes misschien niet de juiste keuze is. Of serverloze omgevingen waar gebruikers de complexiteit van Kubernetes niet willen of nodig hebben.

Even belangrijk, de specificatie is uitbreidbaar door ontwerp - in plaats van de 'ommuurde tuin' van een PaaS, of een applicatieomgeving die de unieke kenmerken verbergt van waar deze wordt uitgevoerd. Evenzo stelt OAM platformaanbieders in staat om de unieke kenmerken van hun platform via het traitsysteem bloot te leggen op een manier waarmee applicatieontwikkelaars platformonafhankelijke apps kunnen bouwen waar de benodigde eigenschappen worden ondersteund. Hardwareproviders kunnen op dezelfde manier de unieke kenmerken van hun hardwareplatforms blootleggen via eigenschappen. Het geheel van OAM is ontworpen om het probleem van de "kleinste gemene deler" te voorkomen dat kan optreden bij draagbare platforms. In plaats daarvan is OAM ontworpen om draagbaarheid mogelijk te maken en ervoor te zorgen dat elk platform nog steeds de mogelijkheden kan benutten die hen uniek en nuttig maken.

GitHub

We zijn enthousiast over het eerste werk dat we hebben gedaan om dit toepassingsgerichte open model en de implementatie voor Kubernetes te ontwikkelen. De specificatie wordt momenteel ontwikkeld onder de Open Web Foundation-overeenkomst en ons doel is om het Open Application Model naar een leveranciersneutrale basis te brengen om open governance en samenwerking mogelijk te maken. Als je meer wilt weten, bekijk dan de OAM-specificatie en Rudr - de open implementatie voor Kubernetes - op Github. Dit is echt maar een begin. We kijken uit naar uw feedback en onze samenwerking om Kubernetes en de cloud een eenvoudig, draagbaar en herbruikbaar applicatiemodel te bieden."

Terug naar nieuws overzicht
Cloud