Überblick
Eine Cloud-Anwendung ist ein Programm, auf das Nutzerinnen und Nutzer primär über das Internet zugreifen und das mindestens teilweise auf einem Server verwaltet wird, und nicht auf dem lokalen Rechner der Nutzer. Strategien zur Entwicklung cloudnativer Anwendungen helfen Entwicklungsteams dabei, konsistente Apps (für Frontend-Nutzer und Backend-Operations-Teams) zu entwickeln – und das für alle IT-Infrastrukturen: physisch, virtuell oder cloudbasiert.
Eine kurze Geschichte (und Prognosen)
Diese einfache Definition sagt allerdings nichts darüber aus, wie sehr Cloud-Anwendungen die Märkte und Geschäftsmodelle bereits verändert haben. Wenn sie gut entwickelt sind, bieten Cloud-Anwendungen eine Nutzererfahrung wie jedes andere auf einem lokalen Rechner installierte Programm, allerdings mit einem viel geringeren Ressourcenbedarf, einfacheren Updates und der Möglichkeit, über verschiedene Geräte auf die Funktionen zugreifen zu können.
Neue Cloud-Anwendungen können zu wichtigen Einnahmequellen werden und zu disruptiven Veränderungen der Märkte und Geschäftsmodelle führen. Gartner prognostiziert für 2020 bei den weltweiten Cloud-Services einen Umsatz von USD 110,5 Milliarden und bis 2022 einen weiteren Anstieg auf USD 143,7 Milliarden.
Sie interessieren sich für Cloud-Anwendungen und möchten eine vorhandene App in Ihre bestehende Architektur integrieren, die Ihre Teams unterstützen soll? Oder Sie möchten selbst eine Cloud-App für Ihre Kunden oder den internen Gebrauch entwickeln?
Integration von Cloud-Anwendungen Dritter in bestehende Architektur
Beispiel Salesforce. Es handelt sich hier um eine bekannte Cloud-Anwendung, die Sie für das Customer Relationship Management (CRM) verwenden können, anstatt ein separates System auf eigenen Servern zu installieren. Red Hat kann sogar mit einem Anwenderbeispiel zur Integration von Salesforce aufwarten.
Cloud-Anwendungen wie Salesforce, auch SaaS (Software-as-a-Service) genannt, eröffnen neue Möglichkeiten zur Integration nützlicher Tools und Services in Ihre bestehenden Systeme. Allerdings müssen Sie dazu zunächst die Kompatibilität Ihrer aktuellen Architektur prüfen.
Entwicklung einer eigenen Cloud-Anwendung
Die Entwicklung eigener Cloud-Anwendungen bietet viele Möglichkeiten, z. B. um neue Kunden zu erreichen oder bessere Systeme für interne Zwecke zur Verfügung zu stellen. So hat z. B. Ally Financial eine containerisierte Hybrid Cloud-Plattform erstellt, um die Entwicklung zu beschleunigen. UPS wiederum hat seine eigene Anwendungsplattform aufgebaut, um den Datenzugriff für seine Logistik-Teams zu verbessern. Beide konnten letztendlich die Endkundenerfahrung durch eine interne Plattform verbessern.
Ganz egal, welchen Zweck Ihre Cloud-Anwendung erfüllen soll, Sie werden in jedem Fall davon profitieren, sich mit dem cloudnativen Ansatz der Anwendungsentwicklung vertraut zu machen.
Welche Designs für Cloud-Anwendungen gibt es?
Cloud-Anwendungen sind Programme, die Verarbeitungslogik und Data Storage zwischen zwei verschiedenen Systemen ausführen: client- und serverseitig. Ein Teil der Verarbeitung wird auf der lokalen Hardware des Endbenutzers durchgeführt (z. B. auf Desktops oder Mobilgeräten), ein anderer Teil auf einem Remote-Server. Einer der typischen Vorteile von Cloud-Anwendungen ist, dass sich der Hauptteil des Daten-Storage auf einem Remote-Server befindet. Tatsächlich können manche dieser Anwendungen so entwickelt werden, dass sie faktisch keinen Storage auf einem lokalen Gerät verbrauchen. Der Nutzer interagiert mit der Anwendung über einen Webbrowser oder eine API. Dies sind die Grundprinzipien einer Cloud-Anwendung. Was aber genau zwischen Client und Server gehandhabt wird und wie dies die Nutzererfahrung beeinflusst, hängt von den nachfolgenden Optionen ab.
SaaS (Software-as-a-Service)
SaaS ist eine beliebte Form des Cloud Computings, bei der dem Nutzer eine Webanwendung mit all ihren zugrunde liegenden IT-Infrastrukturen und -Plattformen zur Verfügung gestellt wird. SaaS ist für Unternehmen oder Einzelpersonen ideal:
- Die Infrastruktur, Plattformen und Software nicht selbst verwalten möchten
- Deren Herausforderungen nur eine minimale Anpassung erfordern
- Die Software-Subskriptionen bevorzugen
Mit SaaS können Nutzer ihre Vorabkosten reduzieren, da andauernde Softwareanschaffungen oder Investitionen in eine robuste lokale IT-Infrastruktur eliminiert werden. Trotz alledem empfiehlt sich die Anschaffung einer schnellen Netzwerk-Hardware, da die Serviceleistung von der Geschwindigkeit der Internetverbindung abhängt.
Beispiele für SaaS sind unter anderem Kundenservices wie Google Docs und Microsoft Office 365 sowie Unternehmensservices, die HR-Software, Content Management-Systeme, CRM-Tools und IDEs (Integrated Development Environments) bereitstellen.
PaaS (Platform-as-a-Service)
PaaS ist eine Plattform, auf der Sie Ihre eigenen Apps entwickeln, ausführen und verwalten können, ohne die dafür notwendige Infrastruktur oder Umgebung entwickeln und pflegen zu müssen. Denn bei PaaS wird den Nutzerinnen und Nutzern die Hardware und die Softwareplattform eines Drittanbieters zur Verfügung gestellt. Das heißt, Sie kontrollieren nur die tatsächlichen Anwendungen und Daten, die sich auf der Plattform befinden, was PaaS zur idealen Lösung für Entwickler und Programmierer macht. So kann z. B. ein Entwickler PaaS als Basis verwenden, um eine neue Anwendung zu erstellen, die in eine bestehende Oracle-Datenbank Ihres Unternehmens integriert werden kann.
IaaS (Infrastructure-as-a-Service)
Bei IaaS wird die Infrastruktur (z. B. Server, Netzwerk, Virtualisierung und Storage) für Sie von einem Anbieter über eine Public Cloud oder eine Private Cloud gemanagt. Sie greifen über eine API oder ein Dashboard auf diese von Ihnen gemietete Infrastruktur zu. Dabei können Sie Komponenten wie Betriebssystem, Apps und Middleware verwalten, während der Anbieter (wie AWS oder Microsoft Azure) Hardware, Networking, Festplatten, Storage und Server bereitstellt und für jegliche Ausfälle, Reparaturen und Hardware-Probleme verantwortlich ist.
Cloud-Anwendungen haben noch viel mehr zu bieten. Die Consultants von Red Hat unterstützen Sie dabei.