Cloud Native be­zeich­net einen Ansatz zur Soft­ware­ent­wick­lung, bei dem An­wen­dun­gen speziell für den Betrieb in der Cloud kon­zi­piert werden. Sie sind ska­lier­bar, flexibel und nutzen moderne Tech­no­lo­gien wie Container, Mi­cro­ser­vices und DevOps-Praktiken.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kos­ten­güns­ti­ge vCPUs und leis­tungs­star­ke de­di­zier­te Cores
  • Höchste Fle­xi­bi­li­tät ohne Min­dest­ver­trags­lauf­zeit
  • Inklusive 24/7 Experten-Support

Cloud-Computing bietet Un­ter­neh­men viele Vorteile. Dazu gehören vor allem die einfache Ska­lier­bar­keit von IT-Leis­tun­gen, or­ga­ni­sa­to­ri­sche Fle­xi­bi­li­tät, orts­un­ab­hän­gi­ger Zugriff und re­du­zier­te Hardware-Kosten. Um diese Vorteile voll­stän­dig nutzen zu können, bedarf es Ap­pli­ka­tio­nen, die speziell für eine Cloud-Umgebung kon­zi­piert sind und in dieser auch betrieben werden können. Und genau hier kommt die Ent­wick­lungs­me­tho­de Cloud Native ins Spiel.

Ihr Ansatz kon­zen­triert sich darauf, An­wen­dun­gen in Form von einzelnen Mi­cro­ser­vices zu ent­wi­ckeln, die nicht On-Premises (vor Ort), sondern auf con­tai­ner­ba­sier­ten, agilen Platt­for­men aus­ge­führt werden. Das Ergebnis sind Native-Cloud-Ap­pli­ka­tio­nen (NCAs), die die Stärken der Cloud-Ar­chi­tek­tur voll­stän­dig nutzen.

Wie funk­tio­niert Cloud Native?

Der Cloud-Native-Ansatz stützt sich auf vier Säulen, die in­ein­an­der­grei­fen und von­ein­an­der abhängig sind. Auf der tech­ni­schen Seite befinden sich Mi­cro­ser­vices und Container-Tech­no­lo­gien, die speziell für die Cloud-Umgebung ent­wi­ckelt wurden und grund­le­gen­de Elemente des Cloud-Native-Konzepts sind. Einzelne Mi­cro­ser­vices erfüllen genau eine Funktion und können mit allem, was für ihre Aus­füh­rung nötig ist, in einem Container zu­sam­men­ge­fasst werden. Diese Container sind portabel und bieten Ent­wick­ler­teams ein hohes Maß an Fle­xi­bi­li­tät, zum Beispiel wenn es um das Testen neuer Services geht.

Auf der Stra­te­gie­sei­te sind DevOps-Prozesse und Con­ti­nuous Delivery an­ge­sie­delt. Bei der Kon­zi­pie­rung einer gut funk­tio­nie­ren­den Cloud-Native-Ar­chi­tek­tur sind nämlich nicht nur Ent­wick­ler­teams (De­ve­lo­pers = Dev), sondern auch der Betrieb (Ope­ra­ti­ons = Ops) direkt in­vol­viert. Gute Cloud-Native-Ap­pli­ka­tio­nen entstehen also in enger Zu­sam­men­ar­beit aller Be­tei­lig­ten. Im Rahmen einer agilen DevOps-Kultur wird von Anfang an nach der besten Lösung für die End­nut­ze­rin­nen und Endnutzer gesucht. In ständigem Austausch fügt das Ent­wick­ler­team bestimmte Produkt-Features zu einem Mi­cro­ser­vice hinzu, die durch Con­ti­nuous-Delivery-Prozesse au­to­ma­tisch aus­ge­lie­fert werden.

Merkmale von Cloud-Native-An­wen­dun­gen

Cloud-Native-An­wen­dun­gen zeichnen sich durch eine Reihe von cha­rak­te­ris­ti­schen Merkmalen aus, die sie von her­kömm­li­chen Apps un­ter­schei­den:

  • Mi­cro­ser­vice-Ar­chi­tek­tur: Ein typisches Merkmal von Cloud-Native-An­wen­dun­gen ist, dass sie aus mehreren einzelnen Diensten mit eigener Lauf­zeit­um­ge­bung bestehen. Diese sind nur lose gekoppelt und exis­tie­ren un­ab­hän­gig von­ein­an­der und un­ab­hän­gig von der je­wei­li­gen In­fra­struk­tur. Sie sind frei kom­bi­nier­bar und lassen sich für andere An­wen­dun­gen kopieren und bei Bedarf wie­der­ver­wen­den.
  • APIs: Die Kom­mu­ni­ka­ti­on der Mi­cro­ser­vices un­ter­ein­an­der erfolgt durch stan­dar­di­sier­te APIs (Schnitt­stel­len), sodass der User das Gefühl hat, mit nur einer einzigen Ap­pli­ka­ti­on zu in­ter­agie­ren. Dabei sind die Dienste so angelegt, dass sie auch Teil einer anderen Ap­pli­ka­ti­on sein könnten.
  • Au­to­ma­ti­sie­rung: Ein weiteres Merkmal der Cloud-Native-Dienste ist, dass sie sich in hohem Maße vor­her­seh­bar verhalten und hoch­au­to­ma­ti­siert arbeiten. Im Gegensatz zu On-Premises-An­wen­dun­gen, die in klas­si­schen Ser­ver­um­ge­bun­gen betrieben werden, ist die Leis­tungs­fä­hig­keit der Cloud-Native-Anwendung zum Beispiel exakt an den je­wei­li­gen Bedarf angepasst. Um die Leis­tungs­fä­hig­keit zu erhöhen, muss die Anwendung also nie als Ganzes skaliert werden. Je nach aktuellen An­for­de­run­gen werden einzelne Mi­cro­ser­vices un­ab­hän­gig von­ein­an­der auf­ge­rüs­tet. Durch zuvor de­fi­nier­te Trigger (aus­lö­sen­de Er­eig­nis­se) laufen diese Prozesse oft au­to­ma­tisch ab.
  • Ver­füg­bar­keit: Bei her­kömm­li­cher On-Premises-Software kommt es beim Ausrollen in­di­vi­du­el­ler Updates oft zu einer Downtime des je­wei­li­gen Dienstes. Bei Cloud-Native-An­wen­dun­gen entfällt dieses Problem. Die Cloud-Native-Ar­chi­tek­tur er­mög­licht es dem Ent­wick­ler­team, Ver­än­de­run­gen wie neue Produkt-Features in Echtzeit aus­zu­rol­len. Das heißt, dass sie den Nutzenden direkt nach Eingabe des Codes zur Verfügung stehen. Für Service- oder In­fra­struk­tur­feh­ler greifen zudem bestimmte Recovery-Me­cha­nis­men, die verteilt arbeiten und dafür sorgen, dass es für An­wen­de­rin­nen und Anwender keine merkbaren Ein­schrän­kun­gen gibt.
Tipp

In unserem Schwer­punkt­ar­ti­kel ver­glei­chen wir On-Premises- und Cloud-Software und zeigen Ge­mein­sam­kei­ten und Un­ter­schie­de auf.

Was sind die Vorteile von Cloud Native?

In Cloud-Um­ge­bun­gen bietet der Cloud-Native-Ansatz ver­schie­de­ne Vorteile, die wir in den nach­fol­gen­den Ab­schnit­ten zu­sam­men­ge­fasst haben.

Fle­xi­bi­li­tät

Der Haupt­vor­teil des Cloud-Native-Ansatzes liegt in seiner Fle­xi­bi­li­tät. Da alle Dienste un­ab­hän­gig von ihrer Umgebung aus­ge­führt werden und auch die Container der Mi­cro­ser­vices sehr portabel sind, haben Ent­wick­le­rin­nen und Ent­wick­ler ein großes Maß an Freiheit. Zum Beispiel besteht die Mög­lich­keit, mehrere Instanzen eines Con­tai­ners zu starten oder zu stoppen. Dies ist besonders in Test- und Ent­wick­lungs­pha­sen von Vorteil. Anders als bei einer mo­no­li­thi­schen Ar­chi­tek­tur wirken sich Ver­än­de­run­gen im Code der einzelnen Mi­cro­ser­vices nicht auf die gesamte Software aus. Bei neuen Software-Releases besteht so ein kleineres Risiko.

Ska­lier­bar­keit

Ein weiterer großer Vorteil ergibt sich aus der Ska­lier­bar­keit der An­wen­dun­gen selbst, dank der Un­ter­neh­men bei wach­sen­den An­for­de­run­gen an einen Dienst kein kost­spie­li­ges Hardware-Upgrade vornehmen müssen.

Ver­mei­dung von Lock-in-Effekten

Dadurch, dass einzelne Dienste nicht an bestimmte Hardware oder Be­triebs­sys­te­me gekoppelt sind, besteht zudem keine feste Bindung an einen einzigen Anbieter. Cloud-Native-An­wen­dun­gen lassen sich auf be­lie­bi­gen Platt­for­men ausführen, sodass der Betrieb den Provider wählen kann, der ein an­ge­mes­se­nes Preis-Leistungs-Ver­hält­nis bietet und den je­wei­li­gen An­for­de­run­gen gerecht wird.

Ak­tua­li­tät und Au­to­ma­ti­sie­rung

Die Tatsache, dass bei der Cloud-Native-Ar­chi­tek­tur Updates und Ver­än­de­run­gen sofort zur Verfügung stehen, erlaubt es Un­ter­neh­men, schnellst­mög­lich auf Kunden- und Markt­an­for­de­run­gen zu reagieren. Der hohe Au­to­ma­ti­sie­rungs­grad, der unter anderem durch Or­ches­trie­rungs­lö­sun­gen wie Ku­ber­netes erzielt wird, minimiert außerdem mensch­li­che Kon­fi­gu­ra­ti­ons- oder Be­dien­feh­ler.

Fazit

In An­be­tracht der zahl­rei­chen Vorteile, die Cloud Native DevOps-Teams bieten, ist es nur eine Frage der Zeit, bis sich diese Form der Software-Ent­wick­lung komplett durch­setzt. Es ist vor allem seine Fähigkeit, sich schnell an ändernde Ge­schäfts­an­for­de­run­gen und tech­no­lo­gi­sche In­no­va­tio­nen an­zu­pas­sen, die Cloud Native zum An­wen­dungs­mo­dell der Zukunft macht.

Managed Ku­ber­netes
Ku­ber­netes als Managed Service von IONOS Cloud

Die ideale Plattform für per­for­man­te und hoch­ska­lier­ba­re Container-An­wen­dun­gen. Umfassend ins IONOS Cloud Ökosystem in­te­griert und rund um die Uhr pro­fes­sio­nell betreut.

Zum Hauptmenü