Nichts hat die Art und Weise wie in der IT-Welt Software konzipiert und entwickelt wird in den letzten Jahren so sehr verändert wie Microservices. Heutige Anwendungen müssen in einem Cluster von mehreren Knoten funktionieren, dynamisch platzierbar, skalierbar und fehlertolerant sein.
Microservices wiederum bilden die Basis von Cloud native Applikationen. Die einzelnen Microservices sind voneinander unabhängig und können auf mehreren Servern an verschiedenen Standorten laufen. Cloud native Anwendungen nutzen diese lose gekoppelten Cloud Services. Bei Cloud native handelt es sich um einen Ansatz, der gewährleisten soll, dass Anwendungen für die Cloud-Computing-Architektur entworfen und entwickelt werden. Die Besonderheiten der Cloud-Computing-Architektur sollen zum Vorteil der Anwendungen genutzt und alle Möglichkeiten voll ausgeschöpft werden. Für diese Art von Anwendungen wird oft die Abkürzung NCA verwendet, die für Native Cloud Application steht.
NCAs haben zahlreiche Vorteile. Sie sind weder an eine spezielle Hardware noch an bestimmte Betriebssysteme gebunden, lassen sich leicht skalieren, sind einfach zu deployen und sie sind georedundant. „Redundanz“ bedeutet, dass man mindestens eine zusätzliche Ressource als Backup für den Notfall hat. In der Kombination mit „Geo“ bedeutet es, dass diese Ressourcen zusätzlich räumlich voneinander getrennt sind. Nur so kann sichergestellt werden, dass auch bei schwerwiegenden technischen Problemen an einem Ort weiterhin ein intaktes Backup an einem anderen Ort verfügbar ist.