Beiträge

Die Evolution von Swift – the next level

Teil1

Es ist gut ein Jahr vergangen (Dezember 2015) seit Swift als Open-Source Programmiersprache das Licht der Welt(-Öffentlichkeit) erblickt hat. So finde ich, dass es mal wieder an der Zeit ist zu schauen, welche Evolution und Resultate diese recht junge Programmiersprache mittlerweile nach meiner ersten Bewertung und Prognose vom April 2016 in der Open-Source Entwickler Community gefunden hat. Um eine Sache vorweg zu nehmen: Mit Swift werden bereits produktive (Web-)Portal-Projekte umgesetzt (wie beispielsweise die Webseite des dänischen Triathlon-Events Ironman; Github-Source). So hat sich Swift tatsächlich in so kurzer Zeit von einer reinen Apple-Plattform Sprache (iOS, macOS, tvOS, watchOS) zu einem Linux-freundlichen Backend/Webframework-tauglichen Gesamtsystem entwickelt. Die aktuelle Version Swift3 genießt zudem große Kompatibilität im Segment der „kleinen ARM-Architektur Computer“ wie beispielsweise dem Raspberry Pi3 und dem dafür verfügbaren Ubuntu 16.04 als Betriebssystem; ergo die Software der Internet-Of-Things (IoT) kann ab jetzt tatsächlich ebenfalls mit dieser hochmodernen und performanten Programmiersprache entwickelt werden.

Weiterlesen

Wir befinden uns an einem Punkt in unserer Entwicklung, in der wir jeden Tag unvorstellbar große Mengen an Daten absichtlich oder unabsichtlich produzieren. Selbst dieser Mausklick oder der gerade geführte Telefonanruf produzierte einen Datensatz.

Diese Datenmengen nehmen exorbitant zu — ein Problem für jeden Systemadministrator (Stichwort Redundanz, Backup, Aktualität, Performance). Deshalb ist es an der Zeit, eine Speicherplatz/Nutzen Analyse zu machen. Welche Daten werden denn überhaupt benötigt, welche können aus anderen Daten generiert werden (Redundanz) und welche sind komplett überflüssig?

Weiterlesen

Der Apache Traffic Server (TS abgekürzt) ist ein stabiles und zuverlässiges Tool, um einen Reverse Proxy zu realisieren. Wir nutzen dieses Tool für alle Arten von HTTP(S) Routing und Mapping zwischen externen URLs und internen Services. Auch komplexere Einstellungen wie das Verwalten von mehreren SSL Zertifikaten pro Domain oder präzise HTTP Method Filter wird von TS unterstützt und bleibt auch unter Hochlast performant. (Der Apache TS war ursprünglich ein kommerzielles Produkt von Yahoo!, wurde aber im Nov. 2009 an die Apache Foundation gespendet)

„Handling over 400TB a day at Yahoo! both as forward and reverse proxies, Traffic Server is battled hardened.“

 

Weiterlesen

Arbeitsabläufe und Workflows zu automatisieren bzw. so weit zu vereinfachen wie möglich, ist uns ein großes Anliegen. Aufgaben, die ein Script übernehmen kann, müssen nicht wie ein Mantra wiederholt werden. In unserem Continuous Integration System wird Sourcecode automatisiert compiliert und zu einem installierbaren Paket geschnürt. Einer der Trigger ist das Anlegen eines Tags in der Versionsverwaltung. Wird ein neuer Tag angelegt, wird die Software automatisch in dieser Version compiliert. Weiterlesen

„Mal schnell ein Script geschrieben“ — Das ist im ersten Moment trivial. Ein oft wiederholender Task soll automatisiert werden, eigentlich keine große Sache. Das Script ist schnell erstellt und läuft die ersten 2 Wochen ohne Probleme.

Doch dann ändern sich die äußeren Einflüsse geringfügig; Ein Ordner wird umbenannt, eine Server-IP ändert sich, eine Datei enthält Leerzeichen oder Sonderzeichen, die Festplatte läuft voll, oder die Netzwerkverbindung zum Backup-Server ist temporär nicht vorhanden. Fälle, die im ersten Moment nicht bedacht wurden, führen bei Shell-Scripts nicht selten zu weitreichenderen Problemen als man anfangs vermutet. Weiterlesen