NCM Self Service in 5 minuten
- Marco Tubben
- Sep 19
- 4 min read

Nutanix Self-Service is een functie binnen het Nutanix-platform waarmee gebruikers (zoals developers, testers of andere afdelingen) zelf virtuele machines (VM's) en andere IT-resources kunnen aanmaken, beheren en verwijderen, zonder dat ze telkens een IT-beheerder hoeven in te schakelen.
Hoe werkt het op hoofdlijnen?
De IT-beheerder maakt een "project" aan in Nutanix Prism Central.
Dit project bevat:
Welke gebruikers toegang hebben
Welke VM-templates beschikbaar zijn
Hoeveel resources (CPU, RAM, opslag) ze maximaal mogen gebruiken
Op welke infrastructuur de VM’s mogen landen (Lokaal Nutanix cluster of bv een Public Cloud)

Gebruikers loggen in op de Nutanix interface (Prism Central) en krijgen een beperkt portaal te zien.
Alleen de VM’s en relevante zaken zijn zichtbaar voor de gebruiker
Reguliere Prism Central items zijn niet te zien.

Ze kunnen dan binnen hun project:
Nieuwe VM’s aanmaken (op basis van vooraf ingestelde templates)
VM’s starten, stoppen of verwijderen
Eventueel snapshots maken of scripts draaien (afhankelijk van rechten)
Vandaar de naam Self Service. Het is zelfbediening binnen grenzen.
Blueprints binnen Self Service
Blueprints zijn vooraf gedefinieerde sjablonen waarmee gebruikers met één klik volledige IT-omgevingen kunnen uitrollen — bijvoorbeeld een complete applicatie-stack met applicatieservers, databaseservers en een loadbalancer ervoor.
Een blueprint kan bestaan uit:
Eén of meerdere VM’s
VM-templates
Cloud-init scripts of andere post-installatiescripts
Netwerkconfiguraties
Storage-instellingen
Resources (limieten, sizing)
Applicatie-installatie-instructies
Een blueprint is visueel te bouwen op een Canvas binnen Prism :

Zoals in bovenstaand voorbeeld zie je een 3-Tier applicatie bestaande uit vm’s op een lokaal Nutanix cluster en 1 webserver in Amazon (gewoon omdat het kan en te laten zien dat Self Service tegelijkertijd over meerdere Public Clouds kan functioneren) die achter een proxy server zitten.
Deze blueprints kunnen eventueel in de Marketplace gepubliceerd worden om door andere projecten gebruikt te worden.
Als blueprints eenmaal uitgerold zijn is dat zichtbaar onder de sectie Applications :

Hier zien we de applicatie genaamd Marco-LAMP (Linux-Apache-MySQL-PhP)

Deze bestaat uit 5 VM's (1 proxy, 3 webservers en 1 database server)
Beheer van applications mbv Playbooks
Playbooks is een tool in Prism om routinematige zaken te automatiseren op basis van gebeurtenissen (alerts, triggers), zoals bv het uitbreiden van geheugen in een VM. Triggers zijn meestal event gedreven zoals tijdschema’s, webhooks etc.
Playbooks zijn onderdeel van Intelligent Operations.
Dat ziet er dan als volgt uit :

In dit Playbook wordt een VM uitgebreid met 1 GB geheugen. Allereerst wordt er een snapshot gemaakt, vervolgens de VM uitgezet, het geheugen “bijgeplaatst” en de VM wordt weer aangezet. Je kunt alle veel voorkomende taken op deze manier vatten in playbooks en op elk moment gebruiken via Prism Central:


Dit was een handmatige actie. Deze zijn ook te koppelen aan b.v. een Alert dat optreed.
In dit voorbeeld is er een Alert Policy gemaakt die een kritische melding geeft bij een threshold van 20%:

Ook is er een Alert Playbook gemaakt waarin bij de gedefinieerde Alert onderstaande acties uitgevoerd worden (Aanmaken Snapshot en toevoegen geheugen)

We laten vervolgens als test een memory intensieve taak lopen en we zien dat het playbook getriggerd wordt door de alert:
Alert :

Door trigger playbook geactiveerd:

ScaleIn en ScaleOut voorbeeld
Wanneer er eenmaal een applicatie is uitgerold kan het b.v. zijn dat binnen de applicatie de webservers het erg druk krijgen. Dan is er de noodzaak om het aantal webservers uit te breiden. In plaats van handmatig nieuwe VM’s te deployen is onderstaande veel eenvoudiger :
Binnen de blueprint kun je de Actions uitbreiden met verschillende zaken, hieronder is bijvoorbeeld een ScaleIn, een Scaleout en een DatabaseBackup actie opgenomen :

Deze acties zijn eenvoudig te gebruiken binnen je applicatie:

Deze acties zijn b.v. weer te koppelen aan een alert die ziet dat de webservers hoge load hebben zodat automatisch een extra VM uitgerold wordt om de andere VM’s te onlasten, vervolgens kan deze weer automatisch verwijderd worden indien de load voor langere tijd weer gedaald is.
Op deze manier zijn tal van mogelijkheden om op basis van alerts, maar zeker ook op basis van tijd- en event-triggerd gebeurtenissen acties te laten uitvoeren
Nutanix Runbooks
Een runbook is een framework om routinetaken en procedures te automatiseren die zich uitstrekken over meerdere applicaties, zonder dat er een blueprint of een applicatie bij betrokken is.
Een runbook is een verzameling taken die je kunt definiëren om opeenvolgend uit te voeren op verschillende endpoints (een verzameling IP adressen van VM’s)
Hieronder een voorbeeld.
We hebben een bepaald endpoint gedefinieerd, genaamd Marco-Endpoint 😊

Voor deze demo is dat een Linux VM waar een postfix en s-nail (lokale MTA en mail client) geïnstalleerd is.
Vervolgens is er een runbook gemaakt welke met een script de disk configuratie verzameld en vervolgens in een mail verstuurd.

Inhoud Runbook:

Runbook is te testen door deze te selecteren en Execute te kiezen
Resultaat is een mail met de diskconfig van deze LinuxVM

Attachement :

Dit runbook is vervolgens ook te publiseren in de marketplace voor de gewenste projecten en daar te gebruiken :

Conclusie
Zoals te zien zijn Playbooks en Runbooks krachtige tools die in het Self Service framework integreren en het automatiseren van processen en applicaties erg vereenvoudigen.
Comments