Eine Autorität in vielerlei Hinsicht

Was ist in der IT eine Instanz?

| Autor / Redakteur: Ariane Rüdiger, Otto Geißler / Ulrike Ostler

Instanz ist in der IT ein schillernder Begriff.
Instanz ist in der IT ein schillernder Begriff. (Bild: © djama - stock.adob.com)

Im Rechenzentrum ist eine Instanz eine konkret einem spezifischen Anwenderkreis zugewiesene funktionsfähige Einheit einer mittels Software realisierten IT-Komponente. Die Instanz funktioniert aus Anwendersicht unabhängig davon, wo physisch diese läuft, auf der Hardware des Rechenzentrums oder Cloud-Provider.

Den Begriff Instanz gibt es in vielen Zusammenhängen, wobei sich dieser Text auf die Bedeutung im Zusammenhang mit der Rechenzentrums-Infrastruktur und am Ende kurz in der objektorientierten Programmierung konzentriert. In der IT jedoch begann er seine Karriere begann der Begriff mit dem IBM-Mainframe: Dieser lässt sich durch Softwarebefehle in mehrere unabhängige Unterbereiche (LPARs, logische Partitionen) unterteilen, die jeweils mit einer voll funktionsfähigen Instanz (sic) des Mainframe-Betriebssystems oder anderer Betriebssysteme ausgerüstet sind.

Dieses Prinzip kupfert im Grunde die moderne Server-Virtualisierung nur ab: Während ein physischer Server, auf dem ein Betriebssystem läuft, physikalisch und logisch eine Einheit bildet, werden mit Virtualisierungstechnologie Logik und Physik voneinander getrennt. Ein Server (physisch) ist jetzt dank einer speziellen Softwareschicht in viele Rechner (virtuell) unterteilbar, die dann jeweils selbst Anwendungen hosten oder als virtueller Controller/PC/Firewall Spezialfunktionen wahrnehmen.

Grundsätzlich lassen sich von allem Instanzen bilden, was in sich konkret und abgeschlossen ist: einem Server, einer Anwendung, einer Datei (hier spricht man, wenn diese im Gesamtsystem genau einmal gespeichert wird und nicht in zig Kopien von Single-Instance-Storage). Anders sieht es bei Ressourcen aus, die in sich nicht so klar abgegrenzt sind, sondern von vielen Anwendungen, Daten etc. gemeinsam genutzt werden können, etwa bei einem Speicherpool. Hier wird der Instanzbegriff nicht verwendet.

Die Mandanten

Die Mandantenfähigkeit von Software, beispielsweise von Datenbanken, ist eine Grundvoraussetzung für deren Instantiierung, also die Verfügbarkeit mehrerer selbständig voneinander nutzbarer Kopien einer Software, ohne dass diese jeweils wieder vollständig auf Hardware installiert werden muss. Dass es heute bei vielen Applikationen und Betriebssystemen technisch möglich ist, mehrere logisch komplett voneinander getrennte Instanzen zu definieren, die von verschiedenen Anwendern genutzt werden, ist geradezu die Voraussetzung für ein funktionierendes Cloud-Business. Der erste Versuch, eine Service-basierte IT aufzubauen, scheiterte in den Neunzigern vor allem, weil viele Programme diese Fähigkeit noch nicht mitbrachten.

Besonders wichtig ist der Instanzbegriff im Zusammenhang mit virtualisierten Cloud-Infrastrukturen. So offerieren Cloud-Provider ihren Kunden bestimmte Server-Typen, die sich in Rechen-Power, Speicherausrüstung, installierter Betriebssoftware und mehr unterscheiden. Die Kunden wählen aus, welchen Typ sie zu wie vielen Instanzen ordern.

Instanzen in der Cloud

Beispielsweise bietet „AWS EC2“-(Elastic Compute)-Server-Instanzen On-Demand und als Spot-Reserve an. Bei Azure gibt es Virtual Machines für Windows und Linux.

Erst mit der Bestellung führt die Software des Cloud-Providers automatisierte Routinen aus, die dann diesen Server-Typ virtuell einrichten und für die Nutzung verfügbar machen. In modernen Public-Cloud-Infrastrukturen kann der Provider diese Server-Instanz, falls so abgesprochen, innerhalb seiner Infrastruktur verschieben, ohne dass das auf die Arbeit des Kunden oder die Kosten irgendeinen Einfluss hat.

Bei einem Absturz der Hardwareressource, auf der der virtuelle Server ursprünglich läuft, sollen beispielsweise Server-Instanzen möglichst nahtlos anderswo hochgefahren werden, ohne dass der Kunde eine Unterbrechung registriert. Wird etwa eine Server-Instanz nicht mehr benötigt und bestellt der Kunde sie ab, verschwindet der virtuelle Server genauso automatisiert, wie er eingerichtet wurde. Instanzen werden in der Regel nach Stück und Dauer der Nutzung abgerechnet, wobei die Preise von Server-Instanzen sich nach ihrer Leistung unterscheiden.

In der objektorientierten Programmierung

Bei der Objektorientierten Programmierung (OOP) versteht man unter einer Instanz das Erzeugen eines „Objekts“ aus einer „Klasse“ (Instanziierung). Dieses Programmierparadigma basiert auf Objekten als speziellen Datentypen. Objekte sind vom Programmierer definierte, an die Realität angelehnte, aber dennoch abstrakte Konstrukte, die durch Eigenschaften und Methoden bestimmt sind.

Jedes Objekt ist Teil einer übergeordneten Klasse. Diese Klassen werden häufig als Baupläne für Objekte bezeichnet, weil sie bestimmen, welche Attribute und Methoden die dazugehörigen Objekte erhalten. Klassen sind demnach Vorlagen, aus denen Instanzen erzeugt werden. Jedes Objekt ist dann eine Instanz seiner Klasse. Oder anders gewendet: Das Objekt X instanziiert die Klasse Y.

Ein Beispiel: Die Klasse „Haus“ legt fest, dass ein Haus durch die Maße L x B x H, eine Eingangstür, 14 Fenster und ein Dach definiert ist. Die einzelnen Eigenschaften bezeichnet man als Attribute. Attribute können sich in ihrer Anzahl und ihrer Qualität von Objekt zu Objekt einer Klasse unterscheiden.

Die einzelnen Objekte der Klasse „Haus“ (zum Beispiel: „Haus 1“, „Haus 2“, „Haus 3“…) müssen also drei Dimensionen, Türen, Fenster und ein Dach haben, um die Regeln ihrer Klasse zu erfüllen. Unterscheiden darf sich jedoch die Zahl und die Ausführung der Attribute. So kann Haus 2 zum Beispiel 8 statt 14 Fenster oder zwei statt einer Tür haben, und das Dach von Haus 3 kann beliebig ausgeführt sein (als Flachdach, Satteldach, Walmdach, Ziegeldach etc.), ohne die Regeln der Klasse „Haus“ zu verletzen.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45632324 / Definitionen)