IT-Plattformen
Dieser Artikel bespricht die Bedeutung und den Einsatz von IT-Plattformen. Es wird erläutert, wie Plattformen im Gegensatz zu Anwendungen eine flexible und erweiterbare Infrastruktur bieten, die die Entwicklung und Verwaltung von Anwendungen erleichtert. Es werden verschiedene Typen von Plattformen beschrieben, darunter Infrastruktur-, Entwicklungs-, Business- und Unterstützungsplattformen. Zudem wird auf die Vorteile wie Effizienz, Skalierbarkeit und Integration eingegangen, aber auch auf Situationen, in denen der Einsatz von Plattformen nicht sinnvoll ist.
Was sind IT-Plattformen?
Bei Plattformen in der IT handelt es sich um eine Art komplexe Infrastruktur. Sie ermöglichen es, mit vermeintlich geringem Aufwand Anwendungen, Geschäftsprozesse oder sogar ganze Geschäftsmodelle aufzubauen. In der realen Welt kann zum Beispiel die Systemgastronomie als Plattform für Geschäftsmodelle verstanden werden: Auf Basis der Systemgastronomie-Plattformen von McDonalds, Burger King oder Subways lässt sich leicht ein Gastronomiebetrieb eröffnen. Wie bei IT-Plattformen erspart man sich auch bei Systemgastronomie-Plattformen viel Arbeit: Man muss keine Speisekarte entwerfen, keine Rezepte erfinden - und selbst die Einrichtung des Restaurants ist standardisiert. Passen diese Prozesse zu den eigenen Vorstellungen, kann ein Franchisenehmer sehr schnell ein Restaurant eröffnen. Weicht er jedoch von den Prozessen seines Systemgastronomen ab, wird es kompliziert: Auf der Speisekarte von Burger King stehen keine Wiener Schnitzel - und eine rustikale Einrichtung des Restaurants widerspricht den Prinzipien der Plattform. Ähnlich verhält es sich mit IT-Plattformen: Wer sich an deren Vorgaben hält, hat es leicht. Versucht man dagegen, einer Plattform eigene Prozesse überzustülpen, die sie nicht vorsieht, wird es schnell kompliziert, oft unsinnig und meist teuer. Damit das nicht passiert, möchte ich hier ein paar Worte über IT-Plattformen verlieren.
Anwendungen vs. Plattformen
In letzter Zeit ist mir der Begriff Plattform inflationär begegnet, daher möchte ich kurz definieren, wie sich Anwendungen von Plattformen unterscheiden:
-
Eine Anwendung ist ein spezifisches Softwareprodukt oder ein Softwarepaket, das für eine bestimmte Aufgabe oder einen bestimmten Anwendungsbereich entwickelt wurde. Sie hat in der Regel einen definierten Zweck und bietet vordefinierte Funktionen und Prozesse. Eine Anwendung ist in der Regel schwer erweiterbar und kann nur begrenzt an die individuellen Bedürfnisse eines Unternehmens angepasst werden.
-
Im Gegensatz dazu bietet eine Plattform eine grundlegende Infrastruktur, Dienste und Werkzeuge, mit denen Entwickler Anwendungen erstellen, anpassen und bereitstellen können. Eine Plattform ermöglicht die Entwicklung von Anwendungen und Funktionen, die auf die spezifischen Anforderungen eines Unternehmens zugeschnitten sind. Sie bietet durch die Bereitstellung von APIs, Entwicklungswerkzeugen, Datenmodellen und anderen Diensten eine größere Flexibilität und Erweiterbarkeit.
Aspekt | Anwendung | Plattform |
---|---|---|
Aufgabenbereich | Eingeschränkt und zweckgebunden | Flexibel innerhalb einer bestimmten Geschäftsfähigkeit |
Erweiterbarkeit | meist aufwändig | teil des Konzepts |
Verwaltungswerkzeuge | separat | inkludiert |
Infrastruktur | extern | teils integriert |
Nutzen von IT-Plattformen
IT-Plattformen können insbesondere bei der Entwicklung und dem Betrieb von Anwendungen einen echten Mehrwert bieten. Plattformen bieten eine Grundlage und Infrastruktur, auf der Anwendungen entwickelt und ausgeführt werden können. Sie bieten häufig eine Reihe von Diensten und Funktionen, die Entwicklern helfen, Anwendungen schneller und effizienter zu erstellen. Die folgenden Eigenschaften sprechen für den Einsatz von Plattformen:
-
Effizienz: Plattformen stellen Entwicklern vorgefertigte Komponenten und Werkzeuge zur Verfügung, die die Entwicklung beschleunigen können. Dadurch können Unternehmen ihre Anwendungen schneller auf den Markt bringen.
-
Skalierbarkeit: Plattformen bieten oft eine skalierbare Infrastruktur, die es Unternehmen ermöglicht, ihre Anwendungen bei Bedarf einfach zu erweitern. So können sie auf steigende Nutzerzahlen oder Lastspitzen reagieren, ohne große Investitionen in eine eigene Infrastruktur tätigen zu müssen.
-
Kosteneinsparungen: Durch die Nutzung einer Plattform können Unternehmen die Kosten für die Entwicklung und Wartung einer eigenen Infrastruktur reduzieren. Sie können die Ressourcen der Plattform nach Bedarf nutzen und müssen keine teure Hardware oder Software kaufen und warten.
-
Integration: Plattformen bieten häufig APIs und Schnittstellen, die die Integration von Anwendungen mit anderen Systemen und Diensten erleichtern. Auf diese Weise können Unternehmen ihre Anwendungen nahtlos in ihre bestehende IT-Landschaft integrieren.
-
Updates und Wartung: Plattformanbieter kümmern sich in der Regel um die Aktualisierung, Wartung und Sicherheit der Plattform. Dadurch können Entwickler ihre Zeit und Ressourcen auf die Entwicklung der Anwendungen selbst konzentrieren, anstatt sich um die zugrunde liegende Infrastruktur kümmern zu müssen.
Der Preis für diese Vorteile bei der Nutzung von Plattformen ist die Bereitschaft, sich an die Vorgaben und Prozesse des Plattformanbieters zu halten. Wie im obigen Beispiel der Systemgastronomie entstehen sonst unsinnige und teure Situationen in der IT-Landschaft.
Wann verzichtet man besser auf Plattformen?
Nicht immer ist eine Plattform der beste Weg, um ein Problem zu lösen. Es kann Situationen geben, in denen es sinnvoll sein kann, Anwendungen ohne Plattformen zu entwickeln. Einige Gründe dafür sind:
-
Spezifische Anforderungen: Wenn eine Anwendung sehr spezifische Anforderungen hat, die von bestehenden Plattformen nicht erfüllt werden können, kann es sinnvoller sein, sie von Grund auf neu zu entwickeln. Dies kann z.B. bei hochspezialisierten Anwendungen der Fall sein, die branchenspezifische Funktionen benötigen. Siehe auch die Systems of Differentiation der Pace Layered Architecture.
-
Kontrolle und Sicherheit: In einigen Fällen ziehen es Unternehmen vor, die vollständige Kontrolle über ihre Infrastruktur und Daten zu behalten. Sie möchten möglicherweise keine Plattform eines Drittanbieters nutzen, sondern ihre Anwendungen in einer selbstverwalteten Umgebung betreiben, um die Sicherheit und den Schutz sensibler Daten zu gewährleisten - entweder aus technischen oder aus regulatorischen Gründen.
-
Skalierbarkeit und Kosten: Die oft hochskalierbare Infrastruktur einer Plattform, die oben als Vorteil dargestellt wurde, kann sich auch ins Gegenteil verkehren, wenn eine Anwendung eine konstante, vorhersehbare Auslastung hat und keine starken Schwankungen aufweist. In diesem Fall kann es kostengünstiger sein, eine eigene Infrastruktur aufzubauen.
Wie eingangs beschrieben, ist eine Plattform eine Art IT-Infrastruktur. Diese fällt nicht vom Himmel, sondern muss aufgebaut und betrieben werden, was mit Kosten verbunden ist. Die Entscheidung für oder gegen eine IT-Plattform ist daher eine strategische und kann nicht im Rahmen eines einzelnen Projekts getroffen werden. Projekte, die nebenbei eine IT-Plattform aufbauen, verzögern sich in der Regel und werden teurer als geplant.
Welche Arten von IT-Plattformen gibt es?
Es gibt eine Vielzahl von IT-Plattformen für sehr unterschiedliche Einsatzgebiete. Hier eine mögliche Klassifizierung mit Beispielen für Plattformen. Diese Klassifizierungen sind naturgemäß nicht überschneidungsfrei und die Beispiele sicherlich nicht vollständig. Dennoch gibt beides einen guten ersten Überblick über die Arten von IT-Plattformen, die am Markt existieren.
Infrastrukturplattformen
Infrastrukturplattformen dienen der Schaffung einer grundlegenden technischen Infrastruktur, auf der Anwendungen bereitgestellt und ausgeführt werden können. Sie dienen dazu, die Komplexität und den Aufwand bei der Verwaltung von Anwendungen zu reduzieren. Sie stellen eine standardisierte und vordefinierte Umgebung bereit, die von Anwendungen genutzt werden kann, ohne sich um die zugrunde liegende Infrastruktur kümmern zu müssen. Beispiele für Infrastruktur-Plattformen sind
-
Betriebssystemplattformen wie Microsoft Windows, Apple macOS, Linux und mobile Betriebssysteme wie iOS und Android bieten eine Grundlage für die Ausführung von Anwendungen. Sie stellen grundlegende Dienste und Schnittstellen bereit, auf die Entwickler zugreifen können, um Anwendungen zu erstellen und auszuführen.
-
Cloud Computing-Plattformen wie Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP) und IBM Cloud bieten eine breite Palette von Diensten für die Entwicklung, das Hosting und den Betrieb von Anwendungen in der Cloud. Sie umfassen Infrastrukturdienste wie virtuelle Maschinen, Speicher und Netzwerke, Plattformdienste wie Datenbanken, Messaging und Analyse sowie Softwareentwicklungstools und -frameworks.
-
Container-Plattformen erleichtern die Bereitstellung und Verwaltung von Containern, z. B. Docker-Containern. Container sind eine Form der Virtualisierung, bei der Anwendungen und ihre Abhängigkeiten in isolierte Umgebungen verpackt werden, um eine konsistente Ausführung in verschiedenen Umgebungen zu ermöglichen. Populäre Container-Plattformen sind Kubernetes, Docker Swarm und Red Hat OpenShift. Diese Plattformen bieten eine umfassende Infrastruktur und Dienste, um Container in großen, skalierbaren Umgebungen zu verwalten und zu orchestrieren.
-
Datenbankplattformen wie Oracle Database, MySQL, Microsoft SQL Server und MongoDB bieten eine strukturierte Umgebung für die Speicherung und Verwaltung von Daten. Sie stellen Schnittstellen und Werkzeuge zur Verfügung, um Datenbanken zu erstellen, zu organisieren und abzufragen.
-
Integrationsplattformen wie MuleSoft Anypoint Platform, Dell Boomi, IBM App Connect, Seeburger Business Integration Suite oder SAP CPI (Cloud Platform Integration) bieten eine umfassende Infrastruktur und Werkzeuge für die Integration von Anwendungen, Daten und Systemen. Diese Plattformen ermöglichen es Unternehmen, unterschiedliche IT-Systeme nahtlos miteinander zu verbinden und den Austausch von Informationen zu erleichtern.
Entwicklungsplattformen
Entwicklungsplattformen bieten Entwicklern eine vollständige Entwicklungsumgebung für die Erstellung von Anwendungen. Sie umfassen Werkzeuge, Frameworks und Dienste für die Entwicklung, Bereitstellung und Verwaltung von Anwendungen.
-
Full-Code-Plattformen sind in der Regel in einem Unternehmen individuell zusammengestellte Plattformen aus verschiedenen, aufeinander abgestimmten Entwicklungswerkzeugen wie Versionsverwaltungen (z.B.: GitHub, GitLab, Subversion oder CVS), Entwicklungsumgebungen (IDEs) wie Visual Studio (Code), Eclipse, KDevelop, IntelliJ IDEA oder Apple Xcode und Programmiersprachen (C, Python, Go, Javascript, Java, etc.). Hinzu kommen weitere Werkzeuge, die den Entwicklungsprozess unterstützen, wie Testwerkzeuge oder Dokumentationswerkzeuge.
-
Low-Code-Plattformen bringen die meisten der unter Full-Code-Plattformen genannten Werkzeuge bereits mit. Sie bieten jedoch keine individuelle Auswahl dieser Werkzeuge, sondern geben bestimmte Randbedingungen vor. Dies ermöglicht einen direkten Einstieg und schnelle Erfolge für Mitarbeiter mit geringen Programmierkenntnissen. Allerdings sollte die Leistungsfähigkeit dieser Plattformen nicht überschätzt werden. Sie ermöglichen eher eine fortgeschrittene Makroprogrammierung als die Entwicklung komplexer Anwendungen. Beliebte Low-Code-Plattformen sind beispielsweise Mendix, Salesforce Lightning oder die Microsoft PowerApps.
-
Serverless-Plattformen ermöglichen es Entwicklern, Anwendungen zu erstellen und auszuführen, ohne sich um die zugrunde liegende Infrastruktur kümmern zu müssen. Auf einer Serverless-Plattform werden Ressourcen automatisch bereitgestellt und skaliert, um den Anforderungen der Anwendung gerecht zu werden. Bezahlt wird nur für die tatsächlich genutzte Rechenleistung oder Ressourcen. Entwickler konzentrieren sich auf die Entwicklung der Anwendungslogik und die Bereitstellung von Funktionalität. Der Fokus liegt auf der Ausführung von Code-Logik, die in so genannten “Funktionen” verpackt ist. Neben den Serverless-Plattformen der großen Anbieter (AWS Lambda, Azure Functions und Google Cloud Functions) gibt es eine Reihe von Open-Source-Projekten, die ebenfalls solche Plattformen anbieten, wie z.B.: KubeLess, Open FaaS oder das Fn Project.
Business Plattformen
Business Plattformen dienen der Unterstützung und Optimierung von Geschäftsprozessen und bieten beispielsweise Funktionen für die Zusammenarbeit, den Datenaustausch, das Projektmanagement und die Unternehmenssteuerung. Diese Plattformen sind jeweils auf einen bestimmten Geschäftszweck ausgerichtet und nur bedingt an eigene Prozesse anpassbar. Den größten Nutzen erzielt ein Unternehmen, wenn es sich innerhalb der vorgegebenen Prozesse und Richtlinien der Plattformen bewegt. Plattformen dieser Art sind
-
Social Media Plattformen wie Facebook, Twitter, LinkedIn und Instagram. Sie bieten Dienste zur Interaktion und Kommunikation zwischen Nutzern. Sie ermöglichen das Teilen von Inhalten, den Aufbau von Netzwerken und die Entwicklung von Anwendungen, die auf diese Plattformen zugreifen und mit ihnen interagieren.
-
E-Commerce-Plattformen wie Shopify, Magento, Spryker und WooCommerce bieten Dienste zur Erstellung und Verwaltung von Online-Shops. Sie bieten Funktionen wie Produktkataloge, Zahlungsabwicklung, Bestellverwaltung und Integration mit Versanddiensten.
-
E-Commerce-Marktplätze wie Amazon, eBay und Alibaba ermöglichen es Unternehmen, ihre Produkte oder Dienstleistungen online zu verkaufen. Diese Plattformen bieten eine Infrastruktur für Handel, Produktpräsentation, Zahlungsabwicklung und Logistik.
-
CMS-Plattformen (Content Management System) wie WordPress, Drupal und Joomla ermöglichen die Erstellung, Verwaltung und Veröffentlichung von Inhalten im Internet. Sie bieten Funktionen zur Erstellung von Websites, zur Verwaltung von Inhalten und zur Zusammenarbeit. Viele dieser CMS-Plattformen verfügen über eigene AppStores, die die Grundfunktionalitäten der Plattformen zum Teil erheblich erweitern.
-
Kollaborationsplattformen wie Microsoft Teams, Slack und Google Workspace ermöglichen die Zusammenarbeit und Kommunikation in Teams. Sie bieten Funktionen zur gemeinsamen Arbeit an Dokumenten, zur Kommunikation und zur Integration mit anderen Tools und Diensten.
-
Plattformen für virtuelle Veranstaltungen und Webinare wie Zoom, Microsoft Teams Live Events und WebEx ermöglichen die Durchführung von virtuellen Veranstaltungen, Konferenzen und Webinaren. Sie bieten Funktionen zur Video- und Audioübertragung, zur Interaktion mit den Teilnehmern und zur Aufzeichnung der Sitzungen.
-
Lieferanten- und Beschaffungsplattformen wie Ariba, Coupa und Jaggaer bieten Unternehmen eine zentrale Plattform für die Beschaffung von Waren und Dienstleistungen. Sie ermöglichen die Verwaltung von Lieferantenbeziehungen, Ausschreibungen und Angeboten sowie den Einkaufsprozess.
-
CRM-Plattformen (Customer Relationship Management) wie Salesforce, HubSpot und Zoho bieten Unternehmen Werkzeuge zur Verwaltung und Pflege von Kundenbeziehungen. Sie unterstützen Vertriebs-, Marketing- und Kundendienstaktivitäten und ermöglichen die Nachverfolgung von Kundeninteraktionen.
-
Projektmanagement-Plattformen wie Jira, Asana, Trello und Basecamp helfen Unternehmen bei der Planung, Koordination und Verwaltung von Projekten. Sie bieten Funktionen zur Aufgabenverfolgung, Terminplanung, Ressourcenverwaltung und Teamkommunikation.
-
HR-Plattformen wie Workday, BambooHR und ADP bieten Funktionen zur Verwaltung von Personalangelegenheiten. Dazu gehören Mitarbeiterdatenbanken, Zeiterfassung, Gehaltsabrechnung, Leistungsmanagement und Mitarbeiterengagement.
-
Finanz- und Buchhaltungsplattformen wie QuickBooks, Xero und SAP S/4 HANA unterstützen Unternehmen bei der Verwaltung ihrer Finanz- und Buchhaltungsprozesse. Sie umfassen Funktionen für die Buchhaltung, Rechnungsstellung, Kassenbuchführung, Steuerberechnung und Finanzberichterstattung.
Unterstützungsplattformen
Unterstützungsplattformen sind eine Mischung aus Infrastruktur- und Business Plattformen. Sie bieten mehr als eine reine Infrastrukturplattform, sind aber keine schlüsselfertigen Business Plattformen. Sie ergänzen Anwendungen oder Business Plattformen um spezielle Funktionalitäten, die über die reine Infrastrukturbereitstellung hinausgehen. Beispiele für unterstützende Plattformen sind:
-
Big-Data-Plattformen wie Apache Hadoop, Spark und Cloudera ermöglichen die Verarbeitung und Analyse großer Datenmengen. Sie bieten Werkzeuge und Frameworks für die Speicherung, Verarbeitung und Analyse von strukturierten und unstrukturierten Daten.
-
IoT-Plattformen (Internet-of-Things) wie AWS IoT, Microsoft Azure IoT und IBM Watson IoT ermöglichen die Verbindung und Verwaltung von IoT-Geräten und -Daten. Sie bieten Dienste für die Erfassung, Verarbeitung und Analyse von IoT-Daten sowie für die Integration mit anderen Anwendungen.
-
KI-Plattformen wie TensorFlow, PyTorch und Microsoft Azure Cognitive Services bieten Werkzeuge und Frameworks für die Entwicklung von KI- und Machine-Learning-Anwendungen. Sie umfassen Bibliotheken, APIs und Dienste für die Entwicklung, das Training und den Einsatz von KI-Modellen.
-
BI-Plattformen (Business Intelligence) wie Tableau, QlikView und Microsoft Power BI ermöglichen die Visualisierung und Analyse von Unternehmensdaten. Sie bieten Funktionen zur Datenintegration, -modellierung und -visualisierung, um Erkenntnisse zu gewinnen und die Entscheidungsfindung zu unterstützen.
-
RPA-Plattformen (Robotic Process Automation) wie UiPath, Automation Anywhere und Blue Prism ermöglichen die Automatisierung von Geschäftsprozessen durch den Einsatz von Software-Robotern. Sie bieten Werkzeuge für die Prozessautomatisierung, -überwachung und -verwaltung.
Fazit
Obwohl diese Liste von IT-Plattformen sehr lang geworden ist, ist sie sicherlich nicht vollständig. Da ständig neue Arten und Plattformen entstehen, kann sie das auch nie sein. Dennoch sollten Sie nun einen Eindruck von der Vielfalt der IT-Plattformen gewonnen haben und zu der Erkenntnis gelangt sein, dass es die eine Plattform für alles nicht gibt. Die Auswahl und der Einsatz einer Plattform muss strategisch geplant und dem Zweck angemessen sein. Nicht in jedem Fall ist der Einsatz einer Plattform sinnvoll. Und schnell verkehrt sich der erhoffte Nutzen und die errechnete Kostenersparnis ins Gegenteil, wenn man
- eine Plattform einsetzt, die nicht zum gewünschten Zweck passt.
- sich nicht an die vorgegebenen Prozesse und Richtlinien einer Plattform hält.
- eine Plattform dort einsetzt, wo es eine einfache Anwendung auch getan hätte.