Die fünf wichtigsten Softwareentwicklungstrends 2018 – Von Igor Lebedev, CTO von SONM
Veröffentlicht: 2021-08-09Bisher war 2018 ein Jahr der Transformation für Entwickler. Die Softwareentwicklung hat sich mit neuen Versionen und höherwertigen Lösungen übertroffen, die computergestützte Aufgaben einfacher und effizienter als je zuvor machen. Datenbanken sind heute in der Lage, große Informationsmengen störungsfrei zu quantifizieren, Server werden als Serien statt als Einzeleinheiten verkauft und Blockchain hat durch die Verwendung eines dezentralen Systems Türen geöffnet. Dies sind die fünf wichtigsten Softwareentwicklungstrends, die in diesem Jahr die Technologiewelt im Sturm erobern:
Große Daten
Das stetige Wachstum von Unternehmens- und öffentlichen Daten führt dazu, dass herkömmliche Datenbanken und Speicherinstrumente nicht mehr in der Lage sind, das Datenvolumen zu nutzen und zu verwalten. Die alten Ansätze funktionieren nicht mehr, nachdem man aus erster Hand gesehen hat, dass RDBMS (Relational Database Management Systems) nicht mehr in der Lage sind, alles zu halten. Dies führt zur Entstehung neuer Werkzeuge und Ansätze, aber noch wichtiger, dies führt zum Ende der Dominanz traditioneller monolithischer Datenbanken. Der neue Ansatz besteht darin, Daten zu speichern, die über mehrere Knoten hinweg gemeinsam genutzt werden. Die Kerndaten werden weiterhin in traditionellen zentralen Datenbanken gespeichert, jedoch wird mehr Datenvolumen separat gespeichert und der Anteil monolithischer Datenbanken reduziert. Die Herausforderung von Big Data im Jahr 2018 besteht darin, dass Sie Ihre herkömmlichen Anwendungen neu schreiben müssen, um mit großen Datenpools umgehen zu können.
Horizontale Skalierbarkeit
Die traditionelle Skalierungslösung bestand immer darin, einen neueren, größeren Server zu kaufen. Dieser neue Server hätte mehr Kerne, Modus-Cache, höhere Frequenzen, größere Speicherbänke, schnellere Busse und mehr Festplatten. Diese Skalierungslösung weist jedoch Beschränkungen auf, und diese Beschränkungen wurden bereits erreicht. Ein gängiges Servergehäuse kann höchstens 2 oder 4 CPUs haben, und Sie können keine CPUs unbegrenzt hinzufügen, da Sie die Frequenzen nicht erhöhen können. Irgendwann stößt die vertikale Skalierung an ihre Grenzen. Der nächste Schritt ist die horizontale Skalierung. Dies bedeutet, dass Sie, anstatt einen größeren Server zu kaufen, um den alten zu ersetzen, einen oder mehrere zusätzliche Server desselben Typs kaufen, um Ihren bestehenden Pool hinzuzufügen. Dieser Ansatz scheint flexibler zu sein, erfordert jedoch eine andere Softwarearchitektur und erfordert wiederum, dass Sie Software neu schreiben. Wenn Sie dies tun, profitieren Sie von einem besseren Ressourcenmanagement mit der Möglichkeit, Ressourcen gemeinsam zu nutzen. Hier sehen wir Microservices, Stateless Execution und Kubernetes als Trends.
Dezentralisierung
Veränderungen, die wir in der Welt sehen, bringen neue Herausforderungen mit sich. Sie können mit Politik, Lieferkosten, Vertrauen oder Marktsituationen zusammenhängen, aber der Trend bleibt, dass Unternehmen dazu neigen, ihre Dienstleistungen und Software zu dezentralisieren. Content Delivery Networks stellen Server bei Ihrem ISP bereit, SaaS-Anbieter eröffnen DCs in Ihrem Land und Unternehmen denken über die Notfallwiederherstellung nach. Dies führt dazu, dass Unternehmen nicht mehr nur ein einziges Hauptrechenzentrum haben, sondern zwei oder mehr, während ihre Ingenieure darüber nachdenken müssen, einige Aspekte ihrer Anwendungsarchitektur zu ändern.
Nebelverarbeitung
Der Einsatz der Datenverarbeitung nimmt täglich zu. IoT generiert immer mehr Daten am Rand des Netzwerks. Diese Daten werden traditionell in DCs oder in der Cloud verarbeitet. Angesichts der Tatsache, dass moderne optische Leitungen rasend schnell sind und der Netzwerkdurchsatz von Jahr zu Jahr steigt, wächst die Datenmenge jedoch um einiges schneller. Die Netzwerke sind und waren immer der „Flaschenhals“ der globalen Informationsverarbeitung. Wenn nicht technisch (nach Bandbreite und Latenz), dann wirtschaftlich (nach Preis pro Übertragung). Der schnellste und günstigste Weg, Ihr Data Warehouse auf einen anderen DC zu migrieren, besteht derzeit darin, ein Frachtfahrzeug anzurufen und HDDs buchstäblich an einen neuen Standort zu transportieren. Nein, es ist kein Witz.

Daraus ergibt sich die Gründungsidee der Branche der Edge- und Fog-Verarbeitung – das heißt, möglichst viele Daten müssen lokal verarbeitet werden. Führende IT-Unternehmen arbeiten an Lösungen zur Verarbeitung und Bereitstellung von Daten in der Nähe von Geräten. Diese Art der Verarbeitung ist der Nebel. Dies ist mit Schwierigkeiten verbunden. Sie können nicht einfach Code aus der Cloud kopieren und hoffen, dass es funktioniert, denn in der Cloud sind alle Daten lokal zugänglich, während im Nebel kein einzelner Knoten alle Daten hat und andere Knoten nach den erforderlichen Informationen fragen müssen. Es erfordert, dass Anwendungsentwickler ihre Architektur übernehmen und Code neu schreiben, damit Aufgaben im MPP-Stil (massive parallel processing) gelöst werden können. Dies ist ein weiterer Grund, Code und dezentrales IaaS neu zu schreiben. bis es zu einer attraktiven Plattform für Ihre Neugeborenenanwendung wird.
Fehlertoleranz
Wir leben in einer Zeit, in der es schwieriger ist, etwas zu verkaufen als zu produzieren. Die Marktkonkurrenz nimmt zu und Unternehmen, die Software einsetzen, denken über bessere SLA nach, um einen Vorteil zu haben und das Vertrauen der Benutzer aufzubauen. Mit den zuvor genannten Punkten steigt die Wahrscheinlichkeit des Ausfalls einer einzelnen Systemkomponente kritisch an. Man kann sich nicht auf die Fähigkeit des Oracle-Datenbankclusters verlassen, einen Absturz zu verhindern, da ein Großteil der Daten außerhalb liegt. Anstatt ein paar superzuverlässige Server mit doppelter Stromversorgung zu haben, kann es jetzt 10 oder sogar 100 Server geben und die mathematische Erwartung eines Ausfalls eines einzelnen Knotens liegt nahe bei 1 (einer, 100%). Wahrscheinlich wird etwas schiefgehen und Unternehmen müssen sich erneut darauf einstellen, indem sie ihre Anwendungsarchitektur betrachten. Die Welt und insbesondere die IT verändert sich ständig und bewegt sich unglaublich schnell. Ältere Ansätze funktionieren nicht. Unternehmen schreiben ihre Software mit Big Data, horizontaler Skalierbarkeit, Dezentralisierung und Nebelverarbeitung neu. Ingenieure berücksichtigen ständig Fehlertoleranzen auf der Anwendungsseite.
Diese Softwareentwicklungstrends haben zu neuen Anforderungen an Hardware und deren Verfügbarkeit geführt, die für den Ausfall einzelner Knoten weniger kritisch ist und mehr Möglichkeiten der horizontalen Skalierung bietet. Mit Blick in die Zukunft erwarten wir einen Überschuss an sich weiterentwickelnden Trends, die hoffentlich mit unserer sich weiterentwickelnden Technologie und dem Bedarf an mehr Hardware-Unterstützung Schritt halten werden.
Über Igor Lebedew:
Igor Lebedev ist Spezialist für Informatik mit mehr als 15 Jahren IT-Erfahrung. Seine Expertise liegt in klassischen Systemarchitekturen, Systemklassen, Datenbanken, Fog Computing, automatisierten Handelssystemen, Smart Contracts und Mikroelektronik. Igor ist derzeit seit Juli 2017 als CTO und Leiter des SONM-Entwicklungsteams tätig. Als CTO liefert Igor Einblicke und einen wertvollen Beitrag zur Produktvision und dem gesamten Entwicklungsprozess, während er kontinuierlich ein Entwicklerteam aufbaut, das das Fog-Computing-Projekt SONM entwickelt .