Flexibilität, Anpassungsfähigkeit, Elastizität, Biegsamkeit – alles Synonyme, die sich in ihrer Bedeutung teilweise unterscheiden, aber doch eines vom Sinn her gemeinsam haben: Es geht um Veränderung und Beweglichkeit. Umstände und Situationen verändern sich stetig, egal ob im privaten Leben, in der Wirtschaft, der Politik oder der Technologie. Dabei wird der Anspruch an Flexibilität immer bedeutender.
Auch im Bereich der IT kommt dem Begriff Flexibilität eine gewisse Bedeutung zu. Hier geht es besonders um die Skalierbarkeit von Prozessen.
Zunächst klären wir, was hinter dem Begriff Skalierbarkeit steckt. Skalierbarkeit bedeutet, dass eine IT-Anlage oder ein System sich neuen Anforderungen eines Betreibers anpassen und die Vorteile der neuen Situation auszunutzen kann. Demnach gelten Prozesse als skalierbar, wenn sie nach Änderungen in Größe oder Volumen weiterhin funktionieren, um die Anforderungen zu erfüllen. So ist es beispielsweise durch Skalierbarkeit möglich, dass eine Anwendung von einer kleineren auf eine größere Software-Umgebung übertragen werden kann.
Es wird zwischen vertikaler und horizontaler Skalierung unterschieden:
- vertikale Skalierung (Scale up): Leistungssteigerung durch das Hinzufügen von Ressourcen zu einem Knoten/Rechner innerhalb des Systems (z.B. Vergrößern von Speicherplatz oder Hinzufügen von CPU)
- horizontale Skalierung (Scale out): Leistungssteigerung eines Systems durch das Hinzufügen von zusätzlichen Knoten/Rechnern
Warum ist Skalierbarkeit wichtig?
Ein einzelner Server, auf dem die entsprechende Anwendung läuft, ist heutzutage längst nicht mehr ausreichend. Die zu verarbeitenden Datenmengen steigen exponentiell. Wenn Ihre Anwendung wächst, also deutlich mehr Speicher verbraucht, ist der Server ab einem bestimmten Zeitpunkt ausgelastet und die Anwendung funktioniert nicht mehr reibungslos. Es besteht die Gefahr, dass der Server ausfällt, und somit Ihr Produkt nicht mehr verfügbar ist.
Eine Möglichkeit das Problem zu beheben ist, die Hardware zu erweitern: Also beispielsweise einen größeren Server zu kaufen oder weitere Festplatten zu installieren. Allerdings bürden Sie sich damit auch gleichzeitig deutlich mehr Arbeit auf. Denn es kommen Personal, Management, Überwachung, sowie möglicherweise noch weitere, zusätzliche Kosten auf Sie zu. Außerdem können Sie nicht ohne Weiteres auf die 10-, 20- oder 100-fache Größe anwachsen.
Probleme, die ohne eine skalierbare Infrastruktur auftreten, sind beispielsweise:
- Fehlerhafte oder verzögerte Ausführung von Funktionen (bspw. Warn-Emails)
- Überlastung des Speichers bei zu großen Datenmengen
- erschwerte Wachstumsmöglichkeiten
Um diese Probleme zu vermeiden und Flexibilität sicherzustellen ist Skalierbarkeit notwendig.
Warum Skalierbarkeit von Anfang an wichtig ist
Um zu verdeutlichen, warum Skalierbarkeit schon zu Beginn eines Industrial Internet of Things-Projektes (kurz: IIoT-Projekt) eine Rolle spielt, stellen wir uns folgendes Szenario vor:
Ein mittelgroßes Unternehmen, das Lebensmittelverpackungen herstellt, entscheidet sich den Schritt in Richtung IIoT zu gehen. Die Produktion ist mit alten SPS-Steuerungen, ein bis zwei Leitrechnern und einem Server ausgestattet. Der Geschäftsführung ist bewusst, dass das Unternehmen über eine eher schlechte Infrastruktur verfügt und es wird nun überlegt, wie man diese Infrastruktur ausbauen kann. Nach einigen Überlegungen werden IT-Fachkräfte angestellt, die für die nächsten ein bis zwei Jahre an einer Lösung arbeiten sollen. Leider muss nach zwei Jahren festgestellt werden, dass die Lösung nicht zukunftsfähig ist, da die Ressourcen der Firma nicht ausreichend sind.
Das Szenario verdeutlicht, wie wichtig es ist, von Beginn an Skalierbarkeit sicherzustellen. Beispielsweise hätte sich das oben genannte Unternehmen durch Nutzung der Cloud, den Aufwand und die hohen Kosten für das Backend sparen können. Denn durch die Nutzung einer Cloud ist es Ihnen möglich, sich der Infrastruktur des Cloud-Anbieters zu bedienen, anstatt diese eigenhändig aufzusetzen und zu warten.
Setzen Sie sich ein klares Ziel zu Beginn Ihres IIoT-Projekts, beispielsweise Machine Learning zu erreichen. So können Sie nun das Projekt vom gewünschten Endergebnis her betrachten und sich überlegen, welche Daten gesammelt werden müssen, um das Ziel zu erreichen und ob die Ressourcen in Ihrem Unternehmen dafür ausreichen. Durch diese frühzeitigen Überlegungen zur Skalierbarkeit verhindern Sie, dass Sie nach einigen Jahren an die Grenzen Ihrer Ressourcen stoßen und das Projekt nicht zufriedenstellend verläuft.
Unendlich skalieren – Mit dem scitis.io Framework basierend auf der Google Cloud Infrastruktur
Das scitis.io Framework basiert zu 100% auf der Google Cloud Infrastruktur. Der große Vorteil dabei ist, dass die Tools sogenannte Fully Managed Services sind. Dadurch können sich Anwender*innen auf ihren Code und ihre Applikation konzentrieren, während sich Google um das Backend kümmert. Eine weitere Eigenschaft ist das Autoscaling, das eine hohe Skalierbarkeit ermöglicht. Hierbei sind je nach aufkommendem Traffic bereits weitere Instanzen (= Recheneinheiten, die beschäftigt werden) vorbereitet. Diese vorbereiteten Instanzen passen sich im Hintergrund je nach Traffic immer automatisch an.
Wenn Sie beispielsweise vier aktive Instanzen haben, werden durch das Autoscaling schon mehr als das doppelte an Instanzen bereitgehalten, falls der Traffic ansteigt. So laufen Sie keine Gefahr, die Grenzen Ihrer Ressourcen zu erreichen und ein Ausfall bei der Verfügbarkeit des Portals kann verhindert werden.
Zusammengefasst gibt es einige Vorteile, die für Skalierbarkeit in der Cloud sprechen:
- Kosten:
- Sie zahlen nur für die Instanzen, die Sie wirklich nutzen
- Cloud Kosten sind günstiger als die IT-Infrastruktur selbst aufzusetzen und zu warten
- Arbeitsaufwand: IT-Fachkräfte können ihre Zeit sinnvoll investieren und müssen sie nicht auf Routine-Tätigkeiten verwenden
- Konzentration auf das Wesentliche: Sie müssen sich nicht um das Backend kümmern, sondern können sich auf das Programmieren konzentrieren
Stellen Sie Flexibilität sicher!
Bedenken Sie die Skalierbarkeit Ihres Systems so früh wie möglich. Denn durch eine skalierbare Infrastruktur stehen Ihnen im weiteren Verlauf Ihres Projektes alle Türen offen. Besonders wenn Sie zu Beginn noch keine genaue Vorstellung haben, welche Ausmaße das Projekt annimmt, ist es zudem von Vorteil, wenn Sie sich nicht an festgelegte Ressourcen binden.
Starten Sie flexibel mit der Aussicht auf große Erfolge!