Neuerungen in Spring 6 und Spring Boot 3

Anfang September wurde auf der SpringOne bekannt gegeben, dass eine neue Version von Spring – Spring 6 – in Planung ist. Die Änderungen sollen Spring insbesondere zukunftssicher machen. Erste Details und eine Roadmap folgen nun:

Continue reading
Posted in Spring Universe | Tagged , | Leave a comment

Deployment einer Spring Boot Anwendung mit AWS Elastic Beanstalk

AWS Elastic Beanstalk ist eine PaaS (Platform as a Service), mit der benutzerfreundlich Webanwendungen und Services bereitgestellt werden können, ohne die Infrastruktur dahinter zu kennen. Der Entwickler lädt unkompliziert die Anwendung hoch und Elastic Beanstalk erstellt eine entsprechende Umgebung, indem es AWS Ressourcen wie beispielsweise EC2 Instanzen, EC2 Sicherheitsgruppen oder ein S3 Bucket konfiguriert.

In diesem Blog werden wir eine Spring Boot Anwendung als War-File in einen Tomcat Server deployen. Ich habe mich an dieser Stelle bewusst gegen die nahe liegende Variante entschieden, die Anwendung als Jar-File auf einer Java Plattform zu deployen, um zu verdeutlichen, wie komfortabel man eine Anwendung auch als War-File in einen Tomcat Server deployen kann, auch wenn kaum praktische Erfahrungen mit Tomcat und War-Files vorhanden sind. Mit AWS Elastic Beanstalk werden wir sehen, wie einfach sich dies realisieren lässt.

Continue reading
Posted in Build, config and deploy, Java Runtimes - VM, Appserver & Cloud | Tagged , , , | Leave a comment

How provider-agnostic is Terraform really – a multi-provider approach for a Java application

There are a couple of big cloud providers, according to the Magic Quadrant for Cloud Infrastructure and Platform Services from Gartner. At the moment of writing this blog post those are Amazon with AWS (Amazon Web Services), Microsoft Azure, Google Cloud Platform, Alibaba Cloud, Oracle, IBM and Tencent Cloud. Due to the frequent and ongoing changes in this field, it might be useful to not only count on one of those big providers, but using a rather distributed multi-provider approach, when it comes to migrating to the cloud with your infrastructure and applications.

In this blogpost we will take a look on how you can use multiple providers when applying Terraform as a tool of choice for the infrastructure, as it proclaims to be provider-independent.

Which way to go

This post is not intended to align strictly with any good or best practices, rather it is just the extended documentation of the test on how easy it is to create infrastructure with an IaC-approach with Terraform as a multi-cloud provider tool, processing only basic background knowledge.

Continue reading
Posted in Java Runtimes - VM, Appserver & Cloud | Tagged , , , | Leave a comment

Optimale Java-Laufzeitumgebungen in der Cloud

Die Mehrheit der Cloud-Anbieter stellen ihre Dienste nach verschiedenen Cloud-Modellen bereit. IaaS, Paas, CaaS und FaaS sind die im Moment zu verzeichnenden Hauptmodelle. Sie alle bestehen unter der Haube nur aus Tausenden von Servern, Festplatten, Routern und Kabeln. Sie fügen lediglich Abstraktionsebenen hinzu, um die Verwaltung zu vereinfachen und die Entwicklungsgeschwindigkeit zu erhöhen.

Continue reading
Posted in Java Runtimes - VM, Appserver & Cloud | Tagged , , , , , , , | Leave a comment

Automatisierte End-To-End Tests mit Cypress

Automatisiertes Testen oder Testautomatisierung ist eine Technik für Softwaretests, bei der spezielle Softwaretools für automatisiertes Testen verwendet werden, um eine Test-Suite auszuführen. Im Gegensatz dazu wird das manuelle Testen von einem Menschen durchgeführt, der vor einem Computer sitzt und sorgfältig einzelne Testschritte ausführt. Die Software für automatisiertes Testen kann auch Testdaten in das zu testende System eingeben, erwartete und tatsächliche Ergebnisse vergleichen und detaillierte Testberichte erstellen. Testautomatisierung ist also der beste Weg, um die Effektivität, Testabdeckung und Ausführungsgeschwindigkeit beim Softwaretest zu erhöhen. Automatisierte Softwaretests sind aus folgenden Gründen wichtig:

Continue reading
Posted in Web as a Platform | Tagged , , | Leave a comment

Deployment einer Spring Boot Anwendung in der AWS Cloud mit EC2 & S3

Wenn man nach Spring und Cloud sucht, fällt einem schnell auf, dass diese Kombination kein Wunsch ambitionierter Entwickler mehr ist, sondern schon längst in Spring integriert wurde. Spring Cloud stellt Entwicklern Werkzeuge zur Verfügung, mit denen das Aufsetzen und Verwalten verteilter Systeme und typischer Anwendungsfälle vereinfacht werden soll. Hierfür hat Spring schon eine Vielzahl an Funktionen für verschiedene Cloud Dienste wie Azure und Amazon Web Services bereitgestellt. Heute sehen wir uns an, wie man eine Spring Boot Anwendung in die AWS Cloud deployen kann und wie anfängerfreundlich sich das ganze gestaltet.

Continue reading
Posted in Java Runtimes - VM, Appserver & Cloud | Tagged , , , | Leave a comment

KI in der Softwareentwicklung – Wie funktionieren Tools wie GPT-3?

Anwendungen aus dem Bereich der Künstlichen Intelligenz (KI) werden in den kommenden Jahrzehnten viele Bereiche unserer Arbeitswelt durch Automatisierung revolutionieren. Diese These wird heutzutage kaum noch bestritten. In dieser Studie wird untersucht, wann KI menschliche Fähigkeiten in unterschiedlichen Bereichen übertreffen wird, und in vielen Bereichen scheint dies kurz bevorzustehen. Die KI schafft also ein riesiges Potential im Bereich der Entwicklung smarter Software. Doch auch der Softwareentwicklung selbst steht unbestritten ein großer Wandel bevor. KI-basierte Tools werden auch hier viele Automatismen ermöglichen, die eine Programmierung wie sie heute stattfindet grundlegend verändern wird.

Pete Warden beispielsweise, einer der Chefentwickler von Tensorflow (einem der relevantesten Deep Learning Frameworks), prophezeit in seinem Blog, dass in einem Zeithorizont von zehn Jahren die Mehrzahl der Jobs im Bereich der Softwareentwicklung kein Programmieren an sich mehr erfordern wird.  Schon jetzt nutzen viele Entwickler KI-gestützte Tools wie Codota und IntelliCode, welche auf Basis von Syntax-Bäumen, Rankings und Assoziationen Code-Analysen durchführen und so die klassische Auto-Completion sehr mächtig machen. Einen sehr interessanten Beitrag zu diesem Thema lieferte unser Trivadis Kollege Dr. Martin Luckow in seinem Sparx-Talk, den man hier anschauen kann.

Continue reading
Posted in Did you know? | Tagged , , , , | Leave a comment