Skip to Content
Leitfaden

Was sind moderne Anwendungen? Ein definitiver Leitfaden

Moderne Apps nutzen Cloud-native Technologien wie Container mit agilen und DevOps-Best Practices, um Portabilität, Zuverlässigkeit und Agilität in großem Maßstab bereitzustellen.

Was sind Containers?

Eine moderne App ist jede Anwendung, die mit den neuesten Technologien, Entwicklungsmethoden und Best Practices entwickelt und bereitgestellt wird, die für eine optimale Benutzererfahrung verfügbar sind. Moderne Anwendungen von heute sind Cloud-nativ. Sie wurden als Microservices entwickelt, die über APIs kommunizieren, im Gegensatz zu eng gekoppelten monolithischen Anwendungen. Diese Microservices-basierten Anwendungen nutzen in der Regel Cloud-native Technologien wie Container und Kubernetes.

Moderne Anwendungen sind auf Agilität, Skalierbarkeit, Portabilität und Zuverlässigkeit ausgelegt.

Es handelt sich um Microservices und nicht um monolithische, wodurch sie skalierbar, wiederverwendbar und einfacher zu bedienen sind.

Sie werden oft in Übereinstimmung mit agilen Entwicklungsmethoden und DevOps-Best Practices entwickelt, wobei der Schwerpunkt auf der Automatisierung in der gesamten CI/CD-Pipeline (ständige Integration and Delivery) liegt.

Wie sieht das also in Bezug auf die heutigen Technologien aus? In diesem Leitfaden werfen wir einen genaueren Blick auf die verschiedenen Funktionen, die eine App modern machen.

Erfahren Sie mehr: Moderne App-Entwicklung entmystifiziert.

Verwandte Artikel

Knowledge-Artikel
Wie moderne Apps die Gesamtbetriebskosten senken

Was sind die Vorteile von Containers?

Beim herkömmlichen Ansatz bei der Anwendungsentwicklung werden Anwendungen mit einzelnen, eng integrierten Code-Basen erstellt. Im Gegensatz dazu umfasst eine Microservices-Architektur das Entwerfen einer App als eine Sammlung von lose gekoppelten Services.

Dieser Entwicklungsansatz hat viele Vorteile:

  • Sehr testbarer Code
  • Einfacher zu debuggen, zu warten und zu aktualisieren
  • Granulare Kontrolle über die Bereitstellung von Storage- und Rechenressourcen
  • Bessere Fehlerisolierung, was zu belastbareren Anwendungen führt
  • Tragbar und unabhängig zu implementieren. Komponenten können mit Virtualisierungstechnologien wie Containern von Software- und Hardwareumgebungen entkoppelt werden.

Da Sie es mit einer Sammlung unabhängig einsetzbarer, modularer Services zu tun haben, ist es möglich, an einem Service zu arbeiten, ohne die anderen zu stören. Die Möglichkeit, auf Service-für-Service-Ebene zu erstellen, zu testen, bereitzustellen, zu warten und ein Upgrade durchzuführen, verkürzt auch die Entwicklungszeit erheblich.

Wer profitiert von der Verwendung von Containers?

Die Microservices-Architektur ermöglicht es Entwicklern, das volle Potenzial von Virtualisierungstechnologien wie Containern und virtuellen Maschinen auszuschöpfen. Werfen wir einen Blick auf einige dieser zentralen Virtualisierungstechnologien:

  • Virtuelle Maschinen (VMs): Aktivieren Sie die Virtualisierung auf Hardwareebene (einschließlich OS und Hardware). Ein Hypervisor ermöglicht es einem einzelnen Server, mehrere Anwendungen mit unterschiedlichen Betriebssystemabhängigkeiten auszuführen.
  • Containers: Aktivieren Sie die Virtualisierung auf Softwareebene (abhängig von einem Host-OS). Standardisierte Softwareeinheiten, die den gesamten Code und alle Abhängigkeiten enthalten, einschließlich Binärdateien, Bibliotheken und Konfigurationsdateien, werden benötigt, damit ein Service ausgeführt werden kann.
  • Virtuelle Datenträger (vVols): Sind entkoppelte Datenspeicher. Containerisierte Anwendungen können stark von containerisiertem Storage profitieren. vVols können containerisierte Microservices im Verhältnis 1:1 zuordnen, um Engpässe in der zentralen Datenbank zu vermeiden.

Die Virtualisierung kann dazu beitragen, die Vorteile einer Microservices-Architektur für die moderne Anwendungsentwicklung zu verbessern, indem sie Ihnen Granularität über das Maß an Isolation bietet, das Sie Ihren Microservices verleihen.

Sie können virtuelle Maschinen nutzen, um Services mit unterschiedlichen OS auf derselben Maschine auszuführen. Oder Sie könnten Container und vVols verwenden, um die Anzahl der Services, die Sie auf einer einzigen Maschine ausführen können, erheblich zu erhöhen.

Vor allem aber erleichtert die Virtualisierung die automatische Skalierung der Bereitstellung und Bereitstellung von Microservices und deren Ressourcen nach Bedarf.

Erfahren Sie mehr über die Kompromisse zwischen virtuellen Maschinen und Containern.

Containers und Daten-Storage

Um zu verstehen, warum Sie Stateless-Container mit Serverless-Architekturen koppeln möchten, müssen wir einige Begriffe definieren:

  • Statuslos: Eine Anwendung ist zustandslos, wenn sie keine Informationen über ihren Zustand von einer Laufzeit zur nächsten liest oder speichert (z. B. liest eine Rechner-App null, wenn Sie sie erneut öffnen, ohne sich an das letzte Mal zu erinnern, als eine Berechnung durchgeführt wurde).
  • Serverlos: Eine Anwendung ist serverlos, wenn sich ein Entwickler bei der Verwaltung von Serverressourcen auf einen Dritten, wie z. B. einen Cloud-Anbieter, verlässt und dabei die Details des Servermanagements entfernt.

Designgemäß waren die ersten Container zustandslos, da sie bei Bedarf ins Leben gerufen, ihre Arbeit erledigt und verschwinden konnten, wodurch Ressourcen für den Rest der Anwendung freigesetzt wurden. In ähnlicher Weise halten moderne Apps Container einfach und ermöglichen es ihnen, nach Bedarf zu bestehen.

In Kombination mit einer serverlosen Architektur können Anwendungsentwickler Funktionen aufrufen, die Ressourcen nach Bedarf bereitstellen, ohne die zugrunde liegende Infrastruktur selbst verwalten zu müssen. Die Kombination von Stateless-Containern mit Serverless-Architekturen vereinfacht die Entwicklung hoch skalierbarer Anwendungen erheblich. Dies eignet sich besonders gut für Edge-Computing-Umgebungen, in denen Edge-Geräte als Reaktion auf Ereignisse ständig Daten streamen. Die Stateless/Serverless-Kombination erleichtert es Apps, Anpassungen im laufenden Betrieb als Reaktion auf Echtzeitinformationen vorzunehmen.

Dennoch ist es umso wahrscheinlicher, dass Sie für Ihre containerisierten Microservices weiterhin persistenten Storage benötigen, je komplexer Ihre Anwendung ist. Aus diesem Grund vereinfachen Container-Daten-Storage-Lösungen wie Portworx® die Bereitstellung von persistentem Storage für zustandsbehaftete containerisierte Apps. 1:1-Mapping von agilen Datenspeichern kann die Skalierbarkeit verbessern und den Zustand während der Ausführung Ihrer Anwendung erhalten.

Was sind Container-Orchestrierung und Container-Management?

Moderne Apps sind Cloud-native Apps. Sie sind lose mit der zugrunde liegenden Infrastruktur verbunden, die für ihre Unterstützung erforderlich ist, und können die Vorteile von Cloud-Ökosystemen wie Amazon Web Services (AWS), Google Cloud und Microsoft Azure voll ausschöpfen.

Was macht also eine App-Cloud-nativ? Die Kombination einer Microservices-Architektur mit Virtualisierungstechnologien und serverlosem Computing bedeutet, dass moderne Anwendungen dynamisch auf Basis der Benutzernachfrage bereitgestellt werden können. Diese Microservices können unabhängig über APIs kommunizieren, die über eine Serviceebene verwaltet werden.

Cloud-native Apps nutzen Cloud-Computing-Implementierungsmodelle wie Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS) und Infrastructure-as-a-Service (IaaS). Diese Modelle ersetzen das herkömmliche CAPEX-Zahlungsmodell, bei dem Sie einen Festpreis für Ressourcen zahlen, die Sie mit OPEX-Zahlungsmodellen verwenden können oder nicht, bei denen Sie für Ressourcen bezahlen, wenn Sie sie nutzen.

Erfahren Sie mehr darüber, was es bedeutet, Cloud-nativ zu sein.

Was ist Docker?

Ein großer Unterschied zwischen modernen und herkömmlichen Apps liegt in ihren Entwicklungs- und Bereitstellungsphilosophien.

Beim herkömmlichen Ansatz bei der App-Entwicklung beginnen Sie mit einem linearen übergeordneten Plan und halten sich daran. Die Entwicklung verläuft von der Erfassung von Anforderungen über klar definierte Phasen bis hin zur Bereitstellung der vollständigen Anwendung für die Produktion. Die Kommunikation zwischen Entwicklern, Betreibern, Stakeholdern und Endbenutzern wird durch lange SDLC-Lebenszyklen (Software Development Life Cycles) eingeschränkt. Code-Basen sind monolithisch, Patches sind größer und Versuche, einen Bugfix einzuführen, eine neue Funktion hinzuzufügen oder die zugrunde liegende Technologie zu aktualisieren, sind anfällig für langwierige Unterbrechungen von Services oder unerwartete Nebenwirkungen, die schwer zu beheben sind.

Die moderne App-Lösung? Übergang von monolithischen Systemen zu Microservices mit agilen und DevOps-Best Practices.

Agile Entwicklung verfolgt einen iterativen Ansatz bei der Softwareentwicklung. In Kombination mit Microservices ermöglicht dies Entwicklern, Funktionen inkrementell über mehrere Designiterationen hinweg zu erstellen, zu testen und bereitzustellen. Der SDLC wird eng gehalten und ermöglicht engere Feedbackschleifen bei der Kommunikation zwischen Endbenutzern, Stakeholdern und Entwicklern. Zu den gängigen agilen Entwicklungsmethoden gehören Scrum, Extreme Programming (XP) und testgesteuerte Entwicklung (TDD).

DevOps ist eine Softwareentwicklungspraxis und -kultur, die Entwickler- und Betriebsteams innerhalb eines Unternehmens eng integriert. Der SDLC wird als CI/CD-Pipeline neu konzipiert, die Konfigurationsmanagement, Automatisierung und Echtzeitüberwachung nutzt, um die Entwicklung, das Testen und die Bereitstellung von Software zu optimieren.

Es wird erwartet, dass moderne Apps jederzeit hochverfügbar und leistungsfähig sind. Sie können es sich nicht leisten, dass der Service durch monolithische Patches, Updates oder Fehler unterbrochen wird. Aus diesem Grund nutzen moderne Apps agile Entwicklungsmethoden und DevOps-Best Practices, um sicherzustellen, dass sie in einer sich schnell verändernden digitalen Landschaft auf dem neuesten Stand und wettbewerbsfähig bleiben.

Erfahren Sie mehr darüber, wie moderne Apps die Markteinführungszeit verkürzen.

Was ist Kubernetes?

In einer zunehmend digitalen Welt steht der Datenschutz im Vordergrund. Zu den Datenschutzvorteilen moderner Apps gehören:

  • Code-Isolierung, die es Hackern erschwert, das gesamte System zu gefährden 
  • Modulare Architektur, die strengere inkrementelle Sicherheitstests im gesamten SDLC ermöglicht. 
  • CI/CD-Pipelines, die engere Feedbackschleifen zwischen Entwicklern und Benutzern sicherstellen und es  Entwicklern ermöglichen, Schwachstellen schnell zu beheben, sobald sie auftreten
  • Optimierte Disaster Recovery – Microservices können unabhängig und ohne Unterbrechung der gesamten Anwendung gesichert und wiederhergestellt werden
  • Verbesserte Best Practices für die Sicherheit wie DevSecOps

Moderne Apps sind dafür ausgestattet, mit modernen Sicherheitsbedrohungen umzugehen. Engere Entwicklungszyklen und Kommunikations-Feedbackschleifen ermöglichen es Entwicklern, Fehler und Schwachstellen zu erkennen und zu beheben, bevor sie ausgenutzt werden können.

Erfahren Sie mehr: Die Datenschutzvorteile moderner Apps

07/2020
Pure Storage® FlashArray™ //X Datenblatt
Erfüllen Sie die Anforderungen Ihrer anspruchsvollsten Unternehmensanwendungen.
Datenblatt
6 pages

Wichtige Ressourcen und Veranstaltungen durchsuchen

VIDEO
Sehen Sie selbst: Der Wert einer Enterprise Data Cloud

Charlie Giancarlo erklärt, warum die Zukunft in der Verwaltung von Daten und nicht in der Verwaltung von Storage liegt. Erfahren Sie, wie ein einheitlicher Ansatz IT-Abläufe in Unternehmen transformiert.

Jetzt ansehen
RESSOURCE
Herkömmlicher Storage kann die Zukunft nicht beflügeln.

Moderne Workloads erfordern KI-fähige Geschwindigkeit, Sicherheit und Skalierbarkeit. Ist Ihr Stack darauf vorbereitet?

Bewertung durchführen
PURE360-DEMOS
Pure Storage erkunden, kennenlernen und erleben.

Überzeugen Sie sich mit On-Demand-Videos und -Demos von den Möglichkeiten von Pure Storage.

Demos ansehen
THOUGHT LEADERSHIP
Der Innovationswettlauf

Branchenführer, die an vorderster Front der Storage-Innovationen stehen, geben Einblicke und Ausblicke.

Mehr erfahren
Ihr Browser wird nicht mehr unterstützt!

Ältere Browser stellen häufig ein Sicherheitsrisiko dar. Um die bestmögliche Erfahrung bei der Nutzung unserer Website zu ermöglichen, führen Sie bitte ein Update auf einen dieser aktuellen Browser durch.