documentation: Add tags to all featured blibs (#139)
* documentation: add tags to all featured blips
This commit is contained in:
21
Readme.md
21
Readme.md
@@ -4,6 +4,27 @@ This is the location of AOE techradar content - published under: https://www.aoe
|
||||
|
||||
If you want to build your own techradar you may want to have a look at https://github.com/AOEpeople/aoe_technology_radar instead.
|
||||
|
||||
## Content Guidelines
|
||||
|
||||
New blips should be tagged. The following tags are currently established:
|
||||
|
||||
* architecture
|
||||
* security
|
||||
* devops
|
||||
* frontend
|
||||
* agile
|
||||
* coding
|
||||
* quality assurance
|
||||
* ci/cd
|
||||
* ux/ui
|
||||
* documentation
|
||||
|
||||
e.g. use like this:
|
||||
|
||||
```md
|
||||
tags: [devops, security]
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
### Host the application under a sub path
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Akka"
|
||||
ring: trial
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
With the growing adoption of microservice-based architectures, the interest in frameworks and tools that make building systems that follow the reactive manifesto possible has increased.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Client-Side Error Logging"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture, frontend]
|
||||
---
|
||||
|
||||
More and more business logic is done client-side with various web and app technologies.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Devops practices"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
DevOps is a term that has been around for some years now.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Gradle"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [ci/cd, coding]
|
||||
---
|
||||
|
||||
Gradle is a build automation tool originating in the Java space, providing declarative dependency management (like Maven) and support for custom functionality (like Ant). It has superb multi-project support and is extremely extensible via third-party plugins and also via self-written extensions and plugins that make it outstanding in its area.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Jest "
|
||||
ring: assess
|
||||
quadrant: tools
|
||||
tags: [frontend, quality assurance]
|
||||
---
|
||||
|
||||
[Jest](https://facebook.github.io/jest/) is a JavaScript testing framework by facebook to test JavaScript code **and** React applications / components.
|
||||
@@ -17,4 +18,4 @@ We started using Jest (and [watchmen](https://github.com/facebook/watchman)) ins
|
||||
|
||||
It is easy to set up.
|
||||
And even if you have a running setup with Karma/Chai you can easily replace Karma with Jest.
|
||||
With a small [workaround](https://medium.com/@RubenOostinga/combining-chai-and-jest-matchers-d12d1ffd0303#.3callo273), Chai and Jest test matchers work fine together.
|
||||
With a small [workaround](https://medium.com/@RubenOostinga/combining-chai-and-jest-matchers-d12d1ffd0303#.3callo273), Chai and Jest test matchers work fine together.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "RxJava"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [coding, architecture]
|
||||
---
|
||||
|
||||
[RxJava](https://github.com/ReactiveX/RxJava) is the Open Source Java implementation of ReactiveX. The main concept heavily relies on the Observer- (and Subscriber)-Pattern. An Observer emits a stream of data, which can be consumed by Subscribers. The Subscriber reacts (That's where the 'Rx' comes from) asynchronously to those data events. Reactive Extensions were originally developed by Mircosoft's Erik Meijer and his team and have been ported to all major programming languages after being released to the public as Open Source software. We use RxJava (but actually RxAndroid to be precise) in the Congstar Android App to let the UI layer react to changes in the underlying data layer.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Strategic Domain Driven Design"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
Design of distributed applications need to be done wisely. Strategic Domain Driven Design is an approach for modelling large-scale applications and systems and is introduced in the last part of Eric Evans' book _**Domain Driven Design**_.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "ADR"
|
||||
ring: assess
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture, documentation]
|
||||
---
|
||||
|
||||
Architecture Decision Records
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Angular"
|
||||
ring: trial
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
In addition to numerous major upgrades from version 2 to 5, which often needed a "hands-on" approach, a lot has happened in the Angular ecosystem in 2017.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Axure"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [ux/ui]
|
||||
---
|
||||
|
||||
[Axure](https://www.axure.com/) is a tool that enables the creation of flowcharts, wireframes, mockups, user journeys and more.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Invision"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [ux/ui]
|
||||
---
|
||||
|
||||
Invision is an online tool used to work and collaborate on design and prototypes and to share them between clients and the team.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Jest"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [frontend, quality assurance]
|
||||
---
|
||||
|
||||
Updated to "adopt".
|
||||
Updated to "adopt".
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Keycloak"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [security]
|
||||
---
|
||||
|
||||
Most distributed systems still face a growing demand for user management, authentication, authorization and Single sign-on. In light of a growing security demand and specialization, the Open Source project JBoss Keycloak is a perfect match.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Kubernetes"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
Kubernetes has developed into the quasi-standard for container orchestration: Nearly every cloud provider provides managed Kubernetes, and even Docker Enterprise uses Kubernetes.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Microservices"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
We continue to belief in the microservices concept and its related patterns and best practices. However, it's worth mentioning that we had to learn some lessons when it came to resilient thinking and deployment-related dependencies between microservices.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: "Pipeline as Code"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
|
||||
tags: [ci/cd]
|
||||
---
|
||||
|
||||
We moved this pattern to **adopt**, because it is used by nearly every team and project now and is an important part of our automation.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "React.js"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding, frontend]
|
||||
---
|
||||
|
||||
The past months have shown that React is still a great fit for us for frontend-heavy applications.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Webpack"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [frontend, coding]
|
||||
---
|
||||
|
||||
In the last few years, Webpack has grown to become the de-facto standard for Web bundling in the JavaScript-Ecosystem.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Alpakka"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
Updated to "adopt"
|
||||
Updated to "adopt"
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
title: "Apollo Client"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
The [Apollo Client](https://github.com/apollographql/apollo-client) is a tool to efficiently work together with an GraphQL server.
|
||||
It makes it easy to run your queries and mutations, cache results, brings tooling to download schemas and generate types to name a few of the useful features.
|
||||
It makes it easy to run your queries and mutations, cache results, brings tooling to download schemas and generate types to name a few of the useful features.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Concourse"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [ci/cd]
|
||||
---
|
||||
|
||||
[Concourse](https://concourse-ci.org/) is an open-source continuous "thing-doer".
|
||||
@@ -10,4 +11,4 @@ Concourse CI follows a strict concept that is based on idempotency, immutability
|
||||
Pipelines are built on the mechanics of resources, tasks and jobs, which are all configured in one or multiple YAML files.
|
||||
|
||||
Concourse claims to be "simple" but has a steep learning curve in the beginning till it gets simple to use.
|
||||
Concourse is used in the Congstar Team to automate infrastructure deployments.
|
||||
Concourse is used in the Congstar Team to automate infrastructure deployments.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Cypress"
|
||||
ring: assess
|
||||
quadrant: tools
|
||||
tags: [frontend, quality assurance]
|
||||
---
|
||||
|
||||
[Cypress](https://www.cypress.io/) is a front-end testing tool (E2E). It comes as a simple node package and is therefore easy to use and maintain for front-end developers and testers. Cypress has a different approach than Selenium. It runs in the browser and in the same loop as the device under test.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Distributed Tracing"
|
||||
ring: trial
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
Distributed Tracing creates visibility over processes spanning multiple applications.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Event Storming"
|
||||
ring: assess
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
Event Storming is a method of modeling business processes using domain events.
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
title: "Falco"
|
||||
ring: assess
|
||||
quadrant: tools
|
||||
tags: [security]
|
||||
---
|
||||
|
||||
Falco is an open source project for intrusion and abnormality detection for Cloud Native platforms such as Kubernetes.
|
||||
It detects abnormal application behavior and sends alerts via Slack, Fluentd, NATS, and more.
|
||||
|
||||
We are assessing Falco to add another angle to host based intrusion detection and alerting.
|
||||
We are assessing Falco to add another angle to host based intrusion detection and alerting.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Flamingo"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
Flamingo is a high productivity go based framework for rapidly building fast and pluggable web projects.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Flux"
|
||||
ring: assess
|
||||
quadrant: methods-and-patterns
|
||||
tags: [frontend]
|
||||
---
|
||||
|
||||
[Flux](https://facebook.github.io/flux/) is an application architecture for building client-side web applications,
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "GitFlow"
|
||||
ring: hold
|
||||
quadrant: methods-and-patterns
|
||||
tags: [devops, agile]
|
||||
---
|
||||
|
||||
Ever since there are recurring discussions about the version control strategy that a team should use.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Go / Golang"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
We have moved Go to "adopt".
|
||||
We have moved Go to "adopt".
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Grafana"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
Updated to "adopt"
|
||||
Updated to "adopt"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "GraphQL"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
GraphQL is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "GRPC"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [architecture, coding]
|
||||
---
|
||||
|
||||
We adopted GRPC, because it is used on multiple places within our microservice oriented architectures for internal communication.
|
||||
We adopted GRPC, because it is used on multiple places within our microservice oriented architectures for internal communication.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Infrastructure as Code"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops, ci/cd]
|
||||
---
|
||||
|
||||
Updated to "adopt"
|
||||
Updated to "adopt"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Kotlin"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
Kotlin is used successfully in production by multiple teams.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Open API"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
The OpenAPI Specification is becoming a broadly adopted industry standard for describing modern REST APIs.
|
||||
@@ -17,4 +18,4 @@ OpenAPI v3 adds more features to the specification - for example the ability to
|
||||
|
||||
There is a very good api designer https://www.apicur.io/ and a good mock generator http://microcks.github.io/index.html
|
||||
|
||||
The general tool support is excellent. See https://openapi.tools/
|
||||
The general tool support is excellent. See https://openapi.tools/
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Ports and Adapters"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
Updated to "adopt"
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Self-Service Infrastructure"
|
||||
ring: trial
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops, agile]
|
||||
---
|
||||
|
||||
Moved to "trial".
|
||||
Moved to "trial".
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Spring Boot"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
We now have several years of experiences with Spring Boot, and a big projects Microservice Environment runs completely on Spring Boot, so it's time to update it to "adopt".
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "STRIDE Threat Modeling"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
tags: [security]
|
||||
---
|
||||
|
||||
STRIDE is a model of threat groups that helps to identify security threats to any application, component or infrastructure.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Temporal Modeling"
|
||||
ring: assess
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
Temporal Modeling is way of modeling software systems and components by putting events first.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Terraform"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
[Terraform](https://www.terraform.io/) is a tool for building, changing and versioning infrastructure using the infrastructure as code pattern.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "TypeScript"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding, frontend]
|
||||
---
|
||||
|
||||
As writing frontend applications becomes more complex, [TypeScript](https://www.typescriptlang.org/) allows us to scale client side code easily, even with large code bases.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "ADR"
|
||||
quadrant: methods-and-patterns
|
||||
ring: adopt
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
[ADRs](https://adr.github.io/) have proven to be a useful tool for documentation and are commonly used in
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Apicurio Studio"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
[Apicurio Studio](https://www.apicur.io/studio/) is a browser-based, open-source API design studio. It can be used to create or modify APIs using the [OpenAPI specification](https://swagger.io/specification/). The visual editor supports collaborative development and allows to easily define example responses matching incoming requests.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Application Performance Management"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
Application performance management (APM) enables to predict and prevent performance issues before they impact your users or your business.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "ZeroTrust"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [security, architecture]
|
||||
---
|
||||
|
||||
Because this approach is more and more used and especially useful for distributed architectures, we updated this item to "adopt" and recommend using it in relevant problem areas.
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Checkov"
|
||||
ring: assess
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops, quality assurance]
|
||||
---
|
||||
|
||||
Checkov is a static code analysis tool for infrastructure-as-code.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Conventional Commits"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
tags: [coding, quality assurance, CI/CD]
|
||||
---
|
||||
|
||||
The Conventional Commits specification is a lightweight convention on top of commit messages.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "CSS-in-JS"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
tags: [frontend]
|
||||
---
|
||||
|
||||
CSS-in-JS is a method where JavaScript is used to style components. The first libraries which implemented this technique were [Styled-Components](https://styled-components.com/), [Emotion](https://emotion.sh/) & [JSS](https://cssinjs.org/).
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "DDEV"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
featured: true
|
||||
tags: [coding, ci/cd]
|
||||
---
|
||||
|
||||
[DDEV](https://www.ddev.com/ddev-local/) is an open source tool that makes it dead simple to get local PHP development environments up and running within minutes.
|
||||
@@ -13,4 +14,4 @@ At AOE, we use DDEV in a variety of PHP projects (large and small).
|
||||
It has made the onboarding process extremely easy for new developers and developers who have already worked with DDEV feel right at home in other projects.
|
||||
|
||||
DDEV makes adding needed dependencies super easy and so far has met every requirement we've ever had.
|
||||
This is mainly because DDEV is just a wrapper for existing tools like Docker-Compose. However, it does take away a lot of the complexity that is normally involved in configuring these tools.
|
||||
This is mainly because DDEV is just a wrapper for existing tools like Docker-Compose. However, it does take away a lot of the complexity that is normally involved in configuring these tools.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Dependency Update Scan"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
tags: [security, ci/cd]
|
||||
---
|
||||
|
||||
Tools for automated dependency updates continue to offer a big productivity gain when integrated well into the build workflow.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Diagrams as Code"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture, quality assurance, documentation]
|
||||
---
|
||||
|
||||
Documenting concepts and software architecture as diagrams using code offers great benefit over heavier solutions.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Amazon EKS"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
[Amazon Elastic Kubernetes Service](https://aws.amazon.com/de/eks/) (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane or workloads.
|
||||
|
||||
@@ -3,8 +3,9 @@ title: "Figma"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
featured: true
|
||||
tags: [frontend, ux/ui, agile]
|
||||
---
|
||||
|
||||
Figma became our go-to tool for the next generation collaborative design. It allowed UX/UI designers, engineers, stakeholders, product managers, and other roles to view, inspect and comment on designs and wireframes, create high- and low-fidelity prototypes, and much more.
|
||||
|
||||
Figma puts together all of the features we used in different tools (Axure, Miro, Abstract, Sketch, Anima, Invision) in one. It allowed us to make a single source of truth for our products, create design systems, and eliminate the vast majority of the pain points we faced in the past. It became beneficial, especially in remote and distributed design work, and speed up all our design-related processes. In addition to its real-time design and collaboration capabilities, Figma also offers an extensive, community-backed plugin collection and a robust API that helps to improve the DesignOps processes.
|
||||
Figma puts together all of the features we used in different tools (Axure, Miro, Abstract, Sketch, Anima, Invision) in one. It allowed us to make a single source of truth for our products, create design systems, and eliminate the vast majority of the pain points we faced in the past. It became beneficial, especially in remote and distributed design work, and speed up all our design-related processes. In addition to its real-time design and collaboration capabilities, Figma also offers an extensive, community-backed plugin collection and a robust API that helps to improve the DesignOps processes.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Graal Native Image"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
Native Image is a technology to ahead-of-time compile Java code to a standalone executable, called a native image.
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
title: "Helm"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
Helm has a fast growing community and is used in more and more projects.
|
||||
It's our default tool to manage Kubernetes resources - every other alternative has to benchmark itself with it.
|
||||
Therefore, we have updated it to "adopt".
|
||||
Therefore, we have updated it to "adopt".
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Kubernetes Operators"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
The [Kubernetes Operators](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) allow to manage application configuration within Kubernetes through [custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/).
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Loki"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
featured: true
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
Archiving indexed log data with a system like Elasticsearch can be expensive and archiving it as simple text files makes it hard to query them.
|
||||
@@ -11,4 +12,4 @@ This allows the user to query the data by pre-defined labels and keeps the costs
|
||||
|
||||
Another benefit is the fact that does not have an endpoint for mutating log data which makes the data immutable from a potential compromised system.
|
||||
|
||||
We at AOE are using it for longer term log archiving in several Kubernetes clusters.
|
||||
We at AOE are using it for longer term log archiving in several Kubernetes clusters.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Micro Frontends"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
The Micro Frontends approach continues to prove to be a valuable pattern for large-scale systems developed by several teams.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "MLOps"
|
||||
ring: assess
|
||||
quadrant: methods-and-patterns
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
After spending some time diving into the world of data science and machine learning we're realizing our existing DevOps best practices aren't a perfect fit for the specific workflows we're seeing here.
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "NATS"
|
||||
ring: assess
|
||||
quadrant: tools
|
||||
featured: true
|
||||
tags: [architecture, devops]
|
||||
---
|
||||
|
||||
[NATS](https://nats.io/) is a cloud native messaging and stream-data system for modern distributed software systems.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Next.js"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding, frontend]
|
||||
---
|
||||
|
||||
[Next.js](https://nextjs.org/) claims itself as **the** React framework for production.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "OCI Container"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
OCI-compatible containers are currently the most-used solution for creating and managing container-based infrastructures and deployments.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Open Policy Agent"
|
||||
ring: assess
|
||||
quadrant: tools
|
||||
tags: [security, architecture]
|
||||
---
|
||||
|
||||
[Open Policy Agent](https://www.openpolicyagent.org/) (OPA) is a framework which allows modelling and evaluating policy access services.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Page Composing"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
Page composing is a way to aggregate multiple independent page fragments into one combined web page.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Prometheus"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
[Prometheus](https://prometheus.io) is an open-source monitoring and alerting system.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Pulumi"
|
||||
ring: assess
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
[Pulumi](https://www.pulumi.com/) is a tool in the infrastructure-as-code space that is quite similar to [Terraform](https://www.terraform.io/) in that it also provide a declarative way to provision cloud infrastructure and services.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Python for Infrastructure Glue Code"
|
||||
ring: assess
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops, coding]
|
||||
---
|
||||
|
||||
[Python](https://www.python.org) is an easy to learn programming language that is pre-installed on most Linux distributions and CI runners.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Service Mesh"
|
||||
ring: assess
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [architecture, devops, security]
|
||||
|
||||
---
|
||||
**Service Mesh** is a solution which makes service to service communication more comfortable and more secure in large microservice architectures.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Shared Responsibility Model"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
Since introducing "Platform Engineering Team" who build, maintain and operate our Kubernetes clusters and other related platform services, the question occurs who is in charge of the various tasks like keeping things up and running, applying critical security fixes, update software in general, keeping an eye on the bill and many more topics.
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Sketch"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
featured: true
|
||||
tags: [ux/ui]
|
||||
---
|
||||
|
||||
Figma is a vector graphics editor and primarily web-based prototyping tool, with additional offline features enabled by desktop applications for macOS and Windows. The Figma Mirror companion apps for Android and iOS allow viewing Figma prototypes on mobile devices. The next step in our toolchain development comes right after the Sketch+Abstract approach. Figma enabled the next level of collaboration between designers, stakeholders, and frontend engineers.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "State Management Pattern"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture, coding]
|
||||
---
|
||||
|
||||
State Management is a design pattern with the goal of properly sharing state data across components and separating domain representation from state management.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Storybook"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [frontend, ux/ui]
|
||||
---
|
||||
|
||||
In recent years, Storybook has become the de facto standard for creating UI components in isolation.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Strapi"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [frontend]
|
||||
---
|
||||
|
||||
Strapi is a headless CMS built with Javascript on Node.js.
|
||||
@@ -13,4 +14,4 @@ Both perfectly support the [API-first design approach](/methods-and-patterns/api
|
||||
Ever since the stable release version 3.0.0 from mid-2020, the CMS reached market maturity and offers a good choice for scalable headless CMSs.
|
||||
As of the 3.6 release in April 2021, Strapi features [full internationalization support](https://strapi.io/blog/announcing-content-internationalization-v3-6), making it a viable candidate to be evaluated toe to toe with solutions like Drupal.
|
||||
|
||||
At AOE we are evaluating Strapi for various projects, appreciating its straightforward installation, setup, and use by editors in lieu of more heavy-weight solutions used in the past.
|
||||
At AOE we are evaluating Strapi for various projects, appreciating its straightforward installation, setup, and use by editors in lieu of more heavy-weight solutions used in the past.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Team Start Page"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [quality assurance, documentation]
|
||||
---
|
||||
|
||||
A team start page helps (new) members to orientate themselves.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Vue.js"
|
||||
ring: adopt
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding, frontend]
|
||||
---
|
||||
|
||||
Updated to "adopt".
|
||||
Updated to "adopt".
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "API-First Design Approach"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
The API of any software we develop shapes in which way developers, teams, customers and users interact with our software.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Argo CD"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [ci/cd]
|
||||
---
|
||||
|
||||
We've been managing the state of application deployments in YAML files via Git repositories in the past. But we still wouldn't call this GitOps. A lot of custom glue code and tools were involved. While [helmfile](https://github.com/roboll/helmfile) replaces some of our custom tooling in a nice way we've also been trying a new approach with [Argo CD](https://argoproj.github.io/cd/).
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "AWS Fargate"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
It doesn't always have to be Kubernetes. For projects with a small number of applications launching and managing a Kubernetes cluster might be just too much. AWS Fargate is a nice alternative for running your containerized applications. Everything can be provisioned via Terraform and AWS Fargate, which allows you not having to deal with clusters or nodes abstracting everything away from you.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "backstage"
|
||||
ring: assess
|
||||
quadrant: tools
|
||||
tags: [documentation, agile]
|
||||
---
|
||||
|
||||
We see a lot of clustering in teams, microservices, libraries, and so on. We think a centralized software catalog
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Bare.ID"
|
||||
ring: adopt
|
||||
quadrant: platforms-and-aoe-services
|
||||
tags: [devops, security]
|
||||
---
|
||||
|
||||
[Bare.ID](https://bare.id) is our solution to the problem of operating and maintaining a [Keycloak](https://keycloak.org) cluster: a SaaS offering for a managed Keycloak cluster.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "DGS Framework"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [frontend, architecture]
|
||||
---
|
||||
|
||||
DGS has proven to simplify the development of GraphQL server applications.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "GitLab"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [ci/cd, coding]
|
||||
---
|
||||
|
||||
We merged GitLab and GitLab CI, because we use the whole tool as one, with all the integrations between the different sections. CI is just one of them.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Inner Source"
|
||||
ring: assess
|
||||
quadrant: methods-and-patterns
|
||||
tags: [agile]
|
||||
---
|
||||
|
||||
Inner Source is a strategy to frictionless cross-team collaboration in software development inside an organization.
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
title: "Lighthouse CI"
|
||||
ring: assess
|
||||
quadrant: tools
|
||||
tags: [ci/cd, frontend]
|
||||
---
|
||||
At AOE, we want to keep a permanent eye on the metrics of the [Web Vitals](https://web.dev/learn-web-vitals/) for our projects.
|
||||
|
||||
[Lighthouse CI](https://web.dev/lighthouse-ci/) is a collection of free tools that facilitate the use of Lighthouse for performance monitoring. With Lighthouse CI we get a history of evaluation results and can compare them over time. It is also possible to set performance budgets to ensure that a website's performance does not deteriorate through regression.
|
||||
|
||||
Although performance monitoring is the most common use case for Lighthouse CI, other aspects of Lighthouse can also be monitored, such as SEO or accessibility. Thus, the use of Lighthouse CI can help ensure an overall good user experience.
|
||||
Although performance monitoring is the most common use case for Lighthouse CI, other aspects of Lighthouse can also be monitored, such as SEO or accessibility. Thus, the use of Lighthouse CI can help ensure an overall good user experience.
|
||||
|
||||
@@ -3,4 +3,7 @@ title: "Loki"
|
||||
ring: trial
|
||||
quadrant: platforms-and-aoe-services
|
||||
featured: true
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
Updated to adopt.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Mob Programming"
|
||||
ring: assess
|
||||
quadrant: methods-and-patterns
|
||||
tags: [agile, coding]
|
||||
---
|
||||
|
||||
While practising pair programming for several years now at AOE, we have started using
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Monorepo"
|
||||
ring: trial
|
||||
quadrant: methods-and-patterns
|
||||
featured: true
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
A monorepo is a single repository containing multiple projects and shared libraries with their relationships.
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "No-Code / Low-Code"
|
||||
ring: assess
|
||||
quadrant: methods-and-patterns
|
||||
featured: true
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
No-code or low-code refers to tools that allow application software to be created via graphical user interfaces and configuration - instead of (classic) text-based programming.
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "NX"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
featured: true
|
||||
tags: [coding, ci/cd]
|
||||
---
|
||||
|
||||
[Nx](https://nx.dev/) is now a daily used tool in our Monorepo setup. It takes care of everything from app creation to
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Pipeline as Code"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [devops]
|
||||
---
|
||||
|
||||
In the past years many tools have evolved and especially [Gitlab CI](https://docs.gitlab.com/ee/ci/), [Github Actions](https://github.com/features/actions) and [AWS CodeDeploy](https://aws.amazon.com/de/codedeploy/) matured or became available and widely used across many teams.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Playwright"
|
||||
ring: assess
|
||||
quadrant: tools
|
||||
tags: [coding, frontend, quality assurance]
|
||||
---
|
||||
|
||||
Playwright is a cross browser/platform/language tool to write reliable end-to-end tests. It waits for elements before performing any actions which eliminates the need for timeouts - the primary cause of flaky tests.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Remix"
|
||||
ring: trial
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding, frontend]
|
||||
---
|
||||
|
||||
Remix is a full stack web framework that lets us focus on the user interface and work with web standards.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Renovate"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [ci/cd]
|
||||
---
|
||||
|
||||
At AOE, we rely on [Renovate CLI tool](https://www.npmjs.com/package/renovate/) in the CI pipelines for most of our projects.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Resilience Thinking"
|
||||
ring: adopt
|
||||
quadrant: methods-and-patterns
|
||||
tags: [architecture]
|
||||
---
|
||||
|
||||
Resilience is the capability of an application or service to resist different error scenarios. Especially for distributed systems - where a lot of communication between different services happen - it's very important to explicitly think of implementing resilience.
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Scala 3"
|
||||
ring: "adopt"
|
||||
quadrant: "languages-and-frameworks"
|
||||
featured: true
|
||||
tags: [coding]
|
||||
---
|
||||
|
||||
Following up on the previous 'trial' we will move our existing Scala codebase to
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Semanticore"
|
||||
ring: trial
|
||||
quadrant: tools
|
||||
tags: [ci/cd, documentation, quality assurance]
|
||||
---
|
||||
|
||||
[Semanticore](https://github.com/AOEpeople/semanticore) is an open source tool fulfilling our needs for managing changelogs and semantic releases.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "SonarQube"
|
||||
ring: adopt
|
||||
quadrant: tools
|
||||
tags: [ci/cd, quality assurance]
|
||||
---
|
||||
|
||||
To track code quality of our projects and check for security issues (Static Application Security Testing), we recommend
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Spock + Geb"
|
||||
ring: hold
|
||||
quadrant: languages-and-frameworks
|
||||
tags: [coding, quality assurance]
|
||||
---
|
||||
|
||||
[spockframework.org](http://www.spockframework.org) - Spock is a testing and specification framework for Java and Groovy applications.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user