docs: set v6 release date (#168)

This commit is contained in:
Stefan Rotsch
2023-02-23 10:47:58 +01:00
committed by GitHub
parent 94f368249e
commit 3288d65beb
28 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
---
title: "Ansible"
ring: trial
quadrant: platforms-and-aoe-services
tags: [devops]
---
[Ansible](https://www.ansible.com/) is a tool used to describe infrastructure and applications and their configuration
as code. It covers both the configuration and provisioning aspects of infrastructure and applications.
It is a radically simple IT automation system based on SSH so that it can work without agents or exposed APIs. It
handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation,
and multi-node orchestration.
It comes in handy when the client currently uses some virtual machines with docker/docker-compose, and no full-blown
Kubernetes cluster is available or needed.

View File

@@ -0,0 +1,17 @@
---
title: "Apache APISIX"
ring: assess
quadrant: tools
tags: [devops]
---
[Apache APISIX](https://apisix.apache.org/) is an open-source, high-performance API gateway, designed for
microservices, cloud-native and container-based architecture. It provides a wide range of features to manage
and secure API services:
- Scalability: Load balancing and routing, dynamic scaling
- Performance: Fast and reliable, supports caching and rate limiting
- Multi-Protocol Support: Supports HTTP, HTTPS, WebSockets and gRPC
- Customization: Plugins for authentication, authorization and traffic management
At AOE, we are currently assessing Apache APISIX in one of our cloud infrastructure projects.

View File

@@ -0,0 +1,7 @@
---
title: "Apollo Client"
ring: trial
quadrant: tools
tags: [architecture]
featured: false
---

View File

@@ -0,0 +1,7 @@
---
title: "ZeroTrust"
ring: adopt
quadrant: methods-and-patterns
tags: [security, architecture]
featured: false
---

View File

@@ -0,0 +1,7 @@
---
title: "Checkov"
ring: assess
quadrant: platforms-and-aoe-services
tags: [devops, quality assurance]
featured: false
---

View File

@@ -0,0 +1,8 @@
---
title: "Client-Side Error Logging"
ring: adopt
quadrant: methods-and-patterns
tags: [architecture, frontend]
---
Updated to adopt.

View File

@@ -0,0 +1,7 @@
---
title: "Concourse"
ring: trial
quadrant: tools
tags: [ci/cd]
featured: false
---

View File

@@ -0,0 +1,11 @@
---
title: "C#"
ring: adopt
quadrant: "languages-and-frameworks"
tags: [coding]
---
C# is a statically, strongly typed and object-oriented language.
After PHP and several JVM languages, we also have projects with C#. We value all features of this highly developed
language.

7
radar/2023-02-23/ddev.md Normal file
View File

@@ -0,0 +1,7 @@
---
title: "DDEV"
ring: adopt
quadrant: tools
tags: [coding, ci/cd]
featured: false
---

View File

@@ -0,0 +1,21 @@
---
title: "Design System"
ring: trial
quadrant: "methods-and-patterns"
tags: [ux/ui, frontend, coding, architecture, documentation]
---
A Design System is a collection of reusable design components, guidelines and standards that serve as the foundation for
creating a consistent user experience across a product or a whole brand.
It helps to create a unified visual language, improve collaboration among design and development teams, and streamline
the design and development process.
Design Systems also increase the maintainability of the design of products, making it easier for teams to make updates
and add new features over time.
We are in the process to implement a design system in close cooperation with one of our customers.
Tools we use for this are [zeroheight](https://zeroheight.com/) as a documentation hub,
[Style Dictionary](https://amzn.github.io/style-dictionary) for the token generation,
[Storybook](https://storybook.js.org/) to document the components and [Figma](https://www.figma.com/) for the Designs.

7
radar/2023-02-23/dgs.md Normal file
View File

@@ -0,0 +1,7 @@
---
title: "DGS Framework"
ring: assess
quadrant: tools
tags: [frontend, architecture]
featured: false
---

View File

@@ -0,0 +1,32 @@
---
title: "Flutter"
ring: trial
quadrant: languages-and-frameworks
tags: [coding, frontend, ux/ui]
---
[Flutter](https://flutter.dev/) is an open-source SDK developed by Google that allows you to write native applications
for different platforms with a single code base in [Dart](https://dart.dev/).
Flutter provides stable platform implementations for both major mobile platforms iOS and Android. Besides the mobile
platforms, it also supports stable builds for Web with multiple rendering engines (DOM and canvas-render). Flutter also
support builds for all Desktop environments, including Mac, Windows and Linux.
The compilation into native platform code prevents from bottleneck-issues due context switching and runtime bridging,
which can be found in other cross-platform frameworks like React Native.
Flutter is using a reactive programming model, where widgets rebuild when their state changes. Based on a declarative
approach like SwiftUI it is really easy to build UI components (widgets). Meanwhile, Flutter has a big community with a
lot of support and pre-build widgets.
Flutter has made significant improvements and is becoming more and more popular in recent years. Big companies,
including Alibaba, Tencent and BMW adopted Flutter to develop their apps. This is also shown in
a [blog post by Stackoverflow](https://stackoverflow.blog/2022/02/21/why-flutter-is-the-most-popular-cross-platform-mobile-sdk/)
where it shows the increase in popularity in comparison to React Native
Based on these facts, we decided to get a deeper look on Flutter. We were able to prove that Flutter is more performant
than, React Native by building an identical Prototype application with both Frameworks.
In addition to the Framework itself, Flutter does a lot to improve the developer experience (DX) due to its hot reload
and various debugging tools which are very handy and missing in other Frameworks like React Native. There are also a lot
of plugins for WebStorm and Visual Studio Code which also improves the DX a lot.

View File

@@ -0,0 +1,13 @@
---
title: "GraphQL"
ring: adopt
quadrant: methods-and-patterns
tags: [architecture]
---
For [Spring Boot](https://spring.io/projects/spring-boot/) based backends [DGS](https://netflix.github.io/dgs/) provides
a nice framework featuring:
- an annotation-based programming model for Spring
- a test framework for writing query tests as unit tests
- a [Gradle](https://gradle.org/) code generation plugin to create types from a GraphQL schema in Java or Kotlin

View File

@@ -0,0 +1,14 @@
---
title: "Harbor"
ring: trial
quadrant: platforms-and-aoe-services
tags: [devops]
---
[Harbor](https://goharbor.io) is a CNCF-graduated open-source container registry. We use it to host custom-built
container images from our projects. Key benefits for us are:
- Harbor automatically scans all container images with [Trivy](https://trivy.dev)
- fine-grained access control allows Harbor to be used in a multi-team environment
- its extensive API allows easy adaption to custom needs, like retention policies
- support for image signing with [Cosign](https://github.com/SigStore/cosign)

15
radar/2023-02-23/helm.md Normal file
View File

@@ -0,0 +1,15 @@
---
title: "Helm"
ring: adopt
quadrant: platforms-and-aoe-services
tags: [devops]
---
At AOE, we have adopted [Helmfile](https://github.com/helmfile/helmfile) as a complementary tool to Helm. It is
a declarative spec for deploying helm charts providing additional functionality such as:
- Separation between environment specific and general values
- Simplified secrets management with support for external applications, e.g. Vault
- Remote state storage in e.g. S3, similar to Terraform
Overall, Helmfile makes it a lot easier to manage and maintain multiple Helm charts and releases.

View File

@@ -0,0 +1,10 @@
---
title: "Hot Chocolate"
ring: assess
quadrant: "languages-and-frameworks"
tags: [coding]
---
[Hot Chocolate](https://chillicream.com/docs/hotchocolate/v12) is an open-source GraphQL server for .NET.
It is compatible to many GraphQL clients and tools and is really easy to set up and use. We assess it in one of our
projects as an alternative to [GraphQL .NET](https://graphql-dotnet.github.io/docs/getting-started/introduction/).

19
radar/2023-02-23/java.md Normal file
View File

@@ -0,0 +1,19 @@
---
title: "Java"
ring: adopt
quadrant: languages-and-frameworks
tags: [coding, backend]
---
[Java](https://www.java.com) is a versatile and widely-used programming language.
It is scalable and platform-independent, making it the ideal choice for businesses looking to streamline their
operations and reach a wider audience. With its broad library of tools, frameworks and modules, Java provides developers
with the resources they need to create dynamic, feature-rich applications that can be easily integrated into existing
systems. Additionally, Java has a large community of developers, ensuring that support and resources are available when
needed.
With an extensive expertise at AOE we successfully run lots of Java projects in production. As it is very stable, has
great support from the open source community and lots of other big advantages, we often we use
[Spring Boot](https://spring.io/projects/spring-boot) combined with the strengths of java to develop web services that
fits the needs of our customers.

View File

@@ -0,0 +1,15 @@
---
title: "LDAP Login"
ring: hold
quadrant: platforms-and-aoe-services
tags: [devops, security]
---
For years, we used LDAP Login mechanisms to authenticate our employees.
While this worked as some kind of "single credential" model, it does not support extended Security features such as
WebAuthN, Multi-Factor Authentication, etc.
These we do prefer to use integrations using OpenID Connect into SSO solutions such
as [Bare.ID](/platforms-and-aoe-services/bareid.html) or [Keycloak](/tools/keycloak.html), which provide proper
authentication and federation for multiple identity sources.

View File

@@ -0,0 +1,19 @@
---
title: "Open Digital Architecture"
ring: assess
quadrant: methods-and-patterns
tags: [architecture]
---
[TM Forum Open Digital Architecture (ODA)](https://www.tmforum.org/oda/) provides architectural blueprints for
communication service providers (CSPs), based on modern patterns and technologies such as microservices or
cloud-native solutions. It offers a number of benefits, including:
- open, standards-based reference architecture for software development in the telco domain
- faster time-to-market through a modular and flexible architecture
- simplified management and updates to reduce cost and the risk of downtimes
- enhanced customer experience by delivering personalized, high-quality services
As a [TM Forum member](https://www.tmforum.org/membership/current-members/), AOE has signed [both the Open API and
the ODA Manifesto](https://www.tmforum.org/oda-interactive-map/open-digital-architecture-open-api-manifesto/) and is
strongly committed to the values and visions behind these open standards.

View File

@@ -0,0 +1,24 @@
---
title: "Playwright"
ring: trial
quadrant: "languages-and-frameworks"
tags: [coding, frontend, quality assurance]
---
[Playwright](https://playwright.dev) is a cross browser/platform/language tool to write reliable end-to-end tests. It's
easy to get started with and offers a broad variety of functionalities out of the box. Playwright supports Windows,
macOS and Linux and works with the most popular testing frameworks such as Jest, Mocha and Jasmine.
The playwright configuration offers plenty of helpful options, for instance native mobile emulation of Chrome for
Android and Safari for iOS. If needed playwright can be extended by BDD tools like Cucumber or SpecFlow to enable
non-technical contributors to collaborate.
Playwright test are resilient. It waits for elements before performing any actions which eliminates the need for
timeouts - the primary cause of flaky tests.
Other than Cypress Playwright can interact with different origins and multiple tabs. Also, you can create scenarios with
different contexts to handle multiple users within one test. Contexts allow saving an authentication state to reuse it
in other tests. By isolating tests within a separate browser context for each test, the tests are fully independent,
although reusing an authentication state. This prevents you from performing repetitive log-in operations in each test.
As Playwright is developed and maintained by Microsoft there are some great extensions for Visual Studio Code to
develop, run and debug tests.

12
radar/2023-02-23/pnpm.md Normal file
View File

@@ -0,0 +1,12 @@
---
title: "pnpm"
ring: assess
quadrant: tools
tags: [coding, frontend]
---
[pnpm](https://pnpm.io/motivation) is an alternative tool to manage your frontend dependencies. Unlike yarn 1 it manages
all packages in a central place and creates symbolic links only inside the npm_modules of a project. This results in
considerably less usage of disk space and reduces build-times, when a package is already available.
Additionally, a cache server can be setup and used during pipeline builds to decrease network traffic and build times.

View File

@@ -0,0 +1,24 @@
---
title: "Policy as Code"
ring: trial
quadrant: methods-and-patterns
tags: [devops, ci/cd]
---
With the rise of cloud infrastructure and DevOps practices, traditional methods of policy enforcement such as manual
reviews and audits are no longer sufficient. By using code to express policies for the entire infrastructure and
application stack, automated compliance checks become a natural part of the software development lifecycle,
e.g. via integration into a projects' CI/CD pipeline and could even prevent a configuration change or deployment
if a critical issue was found.
One of the key benefits of Policy as Code is the ability to catch potential issues before they become risks. For
example, a policy could be defined to ensure that all S3 buckets are encrypted, or that all EC2 instances have a
specific set of tags.
There are a number of tools and frameworks available for implementing Policy as Code. At AOE, we are mainly relying on
[Checkov](https://www.checkov.io/), [Kyverno](https://kyverno.io/) and [AWS Config](https://aws.amazon.com/config/)
at the time of writing. Each tool provides a way to define policies in code and then automate policy enforcement.
They also provide visibility into the compliance status of infrastructure and application configurations.
By defining policies as code, development teams can ensure that policies are version-controlled, easily auditable,
and consistent across all environments.

View File

@@ -0,0 +1,8 @@
---
title: "Remix"
ring: adopt
quadrant: languages-and-frameworks
tags: [coding, frontend]
---
Updated to "adopt"

View File

@@ -0,0 +1,8 @@
---
title: "Semanticore"
ring: adopt
quadrant: tools
tags: [ci/cd, documentation, quality assurance]
---
Updated to adopt.

View File

@@ -0,0 +1,11 @@
---
title: "SpecFlow"
ring: assess
quadrant: "languages-and-frameworks"
tags: [coding, quality assurance]
---
[SpecFlow](https://specflow.org) is a free and open source BDD-framework for .NET
BDD frameworks in general enable teams to better collaborate on test automation by using for instance the Gherkin syntax
to make tests readable to everyone. SpecFlow is the most popular BDD framework for .NET projects.

View File

@@ -0,0 +1,12 @@
---
title: "Svelte"
ring: assess
quadrant: "languages-and-frameworks"
tags: [coding, frontend]
---
[Svelte](https://svelte.dev/) is neither a language nor a framework, but actually a compiler. It compiles HTML templates
to specialized code that manipulates the DOM directly, which may reduce the size of transferred files and give better
client performance.
It is surprisingly easy to work with, and we currently assess it in an internal project.

15
radar/2023-02-23/trivy.md Normal file
View File

@@ -0,0 +1,15 @@
---
title: "Trivy"
ring: adopt
quadrant: tools
tags: [ci/cd,devops,security]
---
[Trivy](https://trivy.dev/) is an open-source vulnerability scanner for containers and other targets. It utilizes
an extensive vulnerability database to scan for CVEs, software dependencies in use and common misconfigurations.
Trivy is lightweight and has no external dependencies, making it suitable for use in CI/CD pipelines. Additionally,
it can support developers by providing actionable remediation advice, making it easier to fix vulnerabilities.
As it has proven to be a good fit for both our needs and into our development pipelines, we strongly recommend to
give it a try in your own projects.

View File

@@ -0,0 +1,12 @@
---
title: "Turborepo"
ring: trial
quadrant: "tools"
tags: [build, frontend]
---
[Turborepo](https://turbo.build/repo) is a build system for JavaScript and TypeScript project,
which uses a [Monorepo](https://www.aoe.com/techradar/methods-and-patterns/monorepo.html) structure for their codebase.
It helps to build projects efficiently by clever caching and resolving dependencies.
At the same time, Turborepo is very easy and fast to use and doesn't get in the way.