Get in touch

Loading...

We use HubSpot CRM to process and manage contact and information requests. Please accept the "Functional Cookies" and reload the page to load the contact form.
Insights / Technology

Insights into the 4th AOE Tech Radar

July 13, 2021
About the author Daniel PötzingerDaniel Pötzinger
CTO

For the fourth time, the AOE Tech Radar provides an overview of technologies for the development of software solutions.

Technologies and methods form the basis for efficient and successful development work. At AOE, we always keep an eye on innovation – and regularly question established technologies and methods. We regularly collect and share our findings from this process: The AOE Tech Radar provides an overview of technologies for the development of software solutions and contains assessments and recommendations resulting from our practical work.

AOE Tech Radar Version #4: What's new?

The continued increase in complexity of software calls for solutions that help to facilitate development. We see this trend reflected in many topics of this Tech Radar. In recent months, teams have chosen solutions above all that increase automation and make complexity more manageable. Another focus are distributed software architectures – in addition to the appropriate methods, especially the topics of cybersecurity and cloud computing.

And that’s not all: As part of the current release, we have also updated the technology radar itself as an Open Source tool: It can be used by other organizations to visualize their own view of the technology landscape.

Overview

  • 36 technologies are new in Tech Radar (N as in New).
  • 28 technologies changed their positions due to our reassessment (C as in Changed).

Languages & Frameworks

In emerging languages such as Rust, we see potential especially for Cloud Computing applications. We also see great potential in Flutter and its Dart language, which allows to develop applications targeting different platforms.

Tailwind CSS surprised us with its uncommon CSS class approach, in which it allows highly flexible results with little code and an easy to understand concept.

With Scala 3, many areas of the popular language have been completely reworked and yet it has a high level of compatibility with Scala 2.

Furthermore, we have updated other established JavaScript/TypeScript frameworks like Angular, Next.js or Vue.js to „Adopt”.

Methods & Patterns

In the „Methods and Patterns” section, we collect best practices and development and architecture patterns that provide helpful approaches to typical problems in software development, rather independently of concrete technologies. Many of them have a longer validity, so it's worth browsing through articles of recent versions of our Tech Radar.

The methods that have gained in importance are those that help us automate development steps and ensure transparency and quality during operations as well as support the handling of the variety of tools used.

We combine Conventional Commits and Semantic Versioning for automated generation of related documentations. Regular automated updates ensure the integration of the latest versions of external libraries without requiring attention by the development team.

For monitoring cloud applications, we are increasingly using Application Performance Management solutions. With a proper tool selection and when applied early in the development process, we can ensure high quality with distributed system in the long run.

Our experience with DevOps approaches has positively influenced our engagement in the area of Machine Learning and Data Sciences. With MLOps we make use of best practices to cope with large data sets and deploy Machine Learning workflows efficiently. In addition, we use Kubernetes Operators to further automate our deployments and follow up processes.

It is becoming more and more apparent that micro frontends are a valuable pattern for large and complex systems, as many small teams can develop them independently. Page composing has established itself as one possible variation that combines independently developed page fragments on the server side to form a web page.

This year, we have also included an article on complexity management and communication patterns in collaboration – a topic from the systems theory perspective that is becoming increasingly important, especially in larger IT organizations.

Platforms & Operations

Cloud applications and the operation in container-based infrastructures is still trending. In the field of DevOps, we rely on the Operator Pattern to reduce manual work, and also increasingly on Python and tools like Pulumi and Checkov to simplify management of Infrastructure as Code (IaC).

We put increased value on OCI-compatible containers to ensure the greatest flexibility possible during development and for operations.

Tools

For Load and Performance Tests, K6 is a promising tool which is being assessed. It promises a modern and comfortable way for test development. The potential for reduced development efforts and high flexibility with the integration options we see in it is greater than what we have seen so far from Gatling, for example.

With Drupal and Strapi, two strong headless Content Management systems have established themselves with us. Drupal stands out for us as a very mature CMS due to its large community and wide range of functionality. Strapi, on the other hand, is much more lightweight and convinces with its data-centric approach and high flexibility.

In the area of logging, we increasingly use Fluentd to collect and convert logs. For long-term archiving, Loki is a good choice, in which data can easily be found through predefined labels, even though it is stored as a blob in an S3 bucket.

With the DGS framework, we are investigating a GraphQL server framework based on Spring Boot. In addition, Apicurio Studio has served us well, enabling collaborative development of an API in the browser based on the OpenAPI specification.