Kiosk-Artikel

Java – die Vierzehnte: Die Neuerungen der aktuellen Version auf einen Blick

„Languages must evolve, or they risk becoming irrelevant“, sagte Brian Goetz (Oracle) im November 2019 während seiner Präsentation „Java Language Futures“ bei der Devoxx in Belgien. Er ist als Java Language Architect maßgeblich daran beteiligt, dass Java trotz seiner 25 Jahre noch lange nicht zum alten Eisen gehört. In diesem Artikel werfen wir einen Blick auf die Neuerungen des JDK 14.

Logging leicht gemacht: Elastic Stack aus Containern betreiben

Serverlogs wachsen einem schnell über den Kopf, vor allem bei im großen Maßstab ausgerollten Applikationen. Der Elastic Stack bietet ausgereifte Komponenten für das Einsammeln und zentrale Auswerten von Logmessages, in dessen Zentrum die Big-Data-Suchmaschine Elasticsearch steht. Dieser Artikel zeigt, wie Sie eine einfache Log Shipping Pipeline mit Elastic-Elementen aus Docker-Containern heraus aufsetzen.

Going Serverless: Migration nach AWS

Im dritten Teil dieser Serie haben wir unsere monolithische Anwendung durch die Zerlegung in verteilte Microservices wartbarer gemacht. Das ermöglicht es uns, diese unabhängig voneinander zu skalieren. Der Einsatz von verwalteten Services wie dem Application Load Balancer (ALB) [1], dem Amazon Relational Database Service (RDS) [2], Amazon ElastiCache [3] und Containern, die in AWS Fargate [4] laufen, hat uns bereits erhebliche Vorteile in Bezug auf den Betrieb, die Wartung und die Skalierbarkeit der Anwendung gebracht. Wir haben ebenfalls aufgezeigt, wie durch die Verwendung von asynchroner Kommunikation zwischen den einzelnen Microservices die Ausfallsicherheit erhöht werden kann.

Die Golumne: Nebenläufige Funktionen in Go

Go wurde vor etwas über 10 Jahren durch das Google-Team rund um Robert Griesemer, Rob Pike und Ken Thompson vorgestellt. Die Sprache wurde von der Entwicklergemeinde unterschiedlich aufgenommen. Für viele war es eine Art neues C, große Neuigkeiten waren nicht enthalten. Ein wenig aufgeräumter, eine Garbage Collection wie in Java, aber keine vollwertige Objektorientierung. Und dann war da noch diese Nebenläufigkeit. Wozu soll die gut sein, es gab ja das Multithreading, und mit Pools und Semaphoren hatte man es gut im Griff.

Nur Buzzwords oder Heiliger Gral? Terraforming Minecraft mit AWS Lambda

Cloud-native Architecture, Terraform und Serverless – wer in der Softwareindustrie hat diese Schlagworte nicht schon mal in den letzten Jahren gehört? Nur ist oft schwieriger auszumachen, was sich hinter diesen Worten verbirgt. Ist es nur ein Hype, während der Großteil der Softwareentwickler noch immer von seinen VM-zentrischen Datenzentren neidisch auf die Cloud schaut? Und während die, die den Sprung in die Cloud gewagt haben, gerade noch mittendrin sind, die Folgen von Docker, Kubernetes und Service Mesh zu operationalisieren. Also nur die letzten Buzzwords, oder doch endlich der Heilige Gral der Softwareentwicklung?

Die Golumne: Netter Versuch

Wer kennt es nicht? Man gibt sich Mühe, entwirft, programmiert sorgfältig, testet sowohl manuell als auch automatisch, hat also ein gefühlt perfektes Programm. Und doch kommt es immer wieder zur Laufzeit zu Fehlern. Es sind Dateien beim Öffnen nicht vorhanden, sie haben ein falsches Format, sind wegen fehlender Rechte nicht les- oder schreibbar oder können wegen eines gefüllten Dateisystems nicht geschrieben werden. Gleiches gilt auch für das Netz. Adressen sind nicht zu erreichen, Latenzen zu groß, Zugriff wird nicht gestattet und Verbindungen brechen ab. Datenbanken oder Verzeichnisdienste liefern nicht die gesuchten Daten. Und wenn, dann enthalten sie vielleicht ungültige Werte. Die Liste der möglichen Bedrohungen ist unendlich.

Serverless Java: Infrastrukturoverhead reduzieren

Nach wie vor ist Java die erste Wahl, wenn es um Softwareentwicklung für den Unternehmenseinsatz geht [1]. Allein mit der Entwicklung einer Java-Software ist es allerdings nicht getan: Für den Produktiveinsatz werden Maschinen, Betriebssysteme, JREs, Application Server etc. benötigt – und als Grundlage für die eigentliche Funktionalität im Code auch große Frameworks und Bibliotheken. Dieser Overhead schmerzt umso mehr, je einfacher die eigentlich benötigte Funktionalität ist, denn er erschwert Entwicklung, Tests und Betrieb. Der Gegenentwurf: Serverless.

Spaß mit Spaßbremsen: Programmieren mit dem TI-84

Grafische Taschenrechner kommen normalerweise nicht aus freien Stücken ins Leben des Entwicklers – wer kein Examen zu bestehen hat, bleibt bei CAS und App. Dass die kleinen Rechner programmierbar sind, erkennt man erst auf den zweiten Blick. Wir schauen uns an, was mit einem TI-84 so alles möglich ist.

Alles Agile! PRINCE2: Die Managementebenen

Die sieben Themen in PRINCE2 [1] Business Case, Organisation, Qualität, Pläne, Risiken, Änderungen und Fortschritt habe ich in der letzten Ausgabe der Kolumne mit dem Thema „Fortschritt“ abschlossen. Ebenso die sieben Grundprinzipien: fortlaufende geschäftliche Rechtfertigung, Lernen aus Erfahrung, definierte Rollen und Verantwortlichkeiten, Steuern über Managementphasen, Steuern nach dem Ausnahmeprinzip, Produktorientierung und Anpassen an die Projektumgebung wurden dargelegt. Neben den sieben Grundprinzipien und Themen beinhaltet PRINCE2 sieben Prozesse, die Aktivitäten beschreiben, die für ein erfolgreiches Projektmanagement nötig sind. Diese Aktivitäten finden auf verschiedenen Managementebenen statt.

FaaS or not to FaaS: Sichtbare und nicht sichtbare Vorteile des Serverless-Paradigmas

In Zeiten, in denen immer größere Datenmengen verarbeitet werden und die Entwicklungsgeschwindigkeit in der IT – um mit der Konkurrenz mithalten zu können – einen zunehmenden Stellenwert hat, wird es immer wichtiger, skalierbar auf ein wachsendes Geschäftsvolumen reagieren zu können und einen schnellen Entwicklungs- und Innovationszyklus zu etablieren. Genau dabei kann Serverless helfen, da ein großer Teil der Komplexität des Betriebs entfällt und man dadurch Geschwindigkeit in die Entwicklung bringen kann.

Vom Backend ins Frontend: Microservices mit Micro Frontends ins Frontend bringen

Micro Frontends oder auch Micro Apps werden in letzter Zeit häufiger diskutiert. Nachdem Microservices-Architekturen im Backend wachsenden Anklang finden, schwappt dieser Architekturansatz auch immer öfter ins Frontend. Das erste Mal wurden Micro Frontends im ThoughtWorks Technology Radar Ende 2016 erwähnt. Seit dieser Zeit haben sich zahlreiche Bibliotheken und Hilfsmittel rund um diesen Architekturansatz entwickelt.

Classic Games Reloaded: Willkommen im Abenteuerland

In unserem heutigen Artikel werden wir uns mit einem der wohl ältesten Spielegenres überhaupt auseinandersetzen – den Abenteuerspielen. Auch wenn es sich bei den in den frühen 1980er-Jahren veröffentlichten Titeln lediglich um rein textbasierte Programme (Text-Adventures) handelte, erfreuten sich diese Spiele nichtsdestotrotz einer großen Beliebtheit unter den damaligen Heimcomputerbesitzern.

FaaS or not to FaaS: Vorteile des Serverless-Paradigmas

In Zeiten, in denen immer größere Datenmengen verarbeitet werden und die Entwicklungsgeschwindigkeit in der IT – um mit der Konkurrenz mithalten zu können – einen zunehmenden Stellenwert hat, wird es immer wichtiger, skalierbar auf ein wachsendes Geschäftsvolumen reagieren zu können und einen schnellen Entwicklungs- und Innovationszyklus zu etablieren. Genau dabei kann Serverless helfen, da ein großer Teil der Komplexität des Betriebs entfällt und man dadurch Geschwindigkeit in die Entwicklung bringen kann.