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 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.

Lesen 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 für die Anwendungsentwicklung werden Anwendungen mit einzelnen, eng integrierten Codebasen 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
  • Einfacheres Debuggen, Warten und Aktualisieren
  • Granulare Kontrolle über die Bereitstellung von Storage- und Rechenressourcen
  • Bessere Fehlerisolierung, was zu belastbareren Anwendungen führt
  • Tragbar und unabhängig einsetzbar. 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 im Verhältnis 1:1 containerisierte Microservices 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 den Grad der Isolierung bietet, den 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 einem einzigen Computer ausführen können, erheblich zu erhöhen.

Am wichtigsten ist jedoch, dass die Virtualisierung die automatische Skalierung der Bereitstellung und Bereitstellung von Microservices und deren Ressourcen nach Bedarf erleichtert.

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

Containers und Daten-Storage

Um zu verstehen, warum Sie statuslose Container mit serverlosen 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 daran erinnert zu werden, wann zuletzt eine Berechnung durchgeführt wurde).
  • Serverlos: Eine Anwendung ist serverlos, wenn sich ein Entwickler bei der Verwaltung von Serverressourcen auf einen Dritten, 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 machen moderne Apps Container einfach und ermöglichen es ihnen, nach Bedarf ins Leben zu rufen.

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 ständig Daten als Reaktion auf Ereignisse streamen. Die Stateless/Serverless-Kombination erleichtert es Apps, Anpassungen schnell 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 sie zu ihrer Unterstützung benötigen, und können die vollen Vorteile von Cloud-Ökosystemen wie Amazon Web Services (AWS), Google Cloud und Microsoft Azure nutzen.

Was macht also eine App Cloud-nativ unter der Haube? Die Kombination einer Microservices-Architektur mit Virtualisierungstechnologien und serverlosem Computing bedeutet, dass moderne Apps 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 festen Preis 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, übergreifenden 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 Bug-Fix 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? Umstellung von monolithischen Systemen auf 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 an erster Stelle. 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 gesichert und ohne Unterbrechung der gesamten Anwendung wiederhergestellt werden
  • Verbesserte Best Practices für die Sicherheit wie DevSecOps

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

Lesen Sie mehr: Die Datenschutzvorteile moderner Apps

11/2020
VMware Hybrid Cloud Solution Brief | Solution Brief
Hybrid cloud and container adoption are growing rapidly. Advance to an effortless, optimized VMware environment.
Lösungsprofil
3 Seiten
KONTAKTIEREN SIE UNS
Fragen, Kommentare?

Haben Sie eine Frage oder einen Kommentar zu Produkten oder Zertifizierungen von Pure?  Wir helfen Ihnen gerne!

Termin für Demo vereinbaren

Vereinbaren Sie einen Termin für eine Live-Demo und sehen Sie selbst, wie Pure Ihnen helfen kann, Ihre Daten in überzeugende Ergebnisse zu verwandeln. 

Rufen Sie uns an: +49 89 26200662
Presse:
 pr@purestorage.com

 

Pure Storage Germany GmbH

Mies-van-der-Rohe-Straße 6

80807 München

Deutschland

info@purestorage.com

SCHLIESSEN
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.