From 9bc06adb2d1380518ec33c71527f5dd675cf0ea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 14:58:37 +0200 Subject: [PATCH 01/62] kickstart v3 folder --- radar/2019-11-01/play-framework.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 radar/2019-11-01/play-framework.md diff --git a/radar/2019-11-01/play-framework.md b/radar/2019-11-01/play-framework.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/play-framework.md @@ -0,0 +1,3 @@ +--- +featured: false +--- From ae10f947f182a307bce3e4eb9ff2301546862399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 20:48:59 +0200 Subject: [PATCH 02/62] update build to deploy v3 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5758eae..1a393d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,4 +29,4 @@ deploy: local_dir: dist detect_encoding: true on: - branch: next + branch: v3 From 3a376101fb801e90b05ad5747845f7ef01eaba70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 20:49:15 +0200 Subject: [PATCH 03/62] Update classification name --- common/config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config.js b/common/config.js index 92f6702..db7f3b8 100644 --- a/common/config.js +++ b/common/config.js @@ -32,7 +32,7 @@ export const rings = [ const messages = { 'languages-and-frameworks': 'Languages & Frameworks', 'methods-and-patterns': 'Methods & Patterns', - 'platforms-and-aoe-services': 'Platforms and AOE Services', + 'platforms-and-aoe-services': 'Platforms and Operations', 'tools': 'Tools', }; From 8060a4514db72250093b8ce1eae018e3a4a2a1de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 20:49:29 +0200 Subject: [PATCH 04/62] Work on updated items --- radar/2019-11-01/container-based-builds.md | 8 ++++ radar/2019-11-01/flamingo.md | 40 +++++++++++++++++++ radar/2019-11-01/gitflow.md | 21 ++++++++++ radar/2019-11-01/gitlab-ci.md | 7 ++++ radar/2019-11-01/gitlab.md | 10 +++++ radar/2019-11-01/go-lang.md | 8 ++++ radar/2019-11-01/rabbitmq.md | 7 ++++ .../2019-11-01/self-service-infrastructure.md | 8 ++++ 8 files changed, 109 insertions(+) create mode 100644 radar/2019-11-01/container-based-builds.md create mode 100644 radar/2019-11-01/flamingo.md create mode 100644 radar/2019-11-01/gitflow.md create mode 100644 radar/2019-11-01/gitlab-ci.md create mode 100644 radar/2019-11-01/gitlab.md create mode 100644 radar/2019-11-01/go-lang.md create mode 100644 radar/2019-11-01/rabbitmq.md create mode 100644 radar/2019-11-01/self-service-infrastructure.md diff --git a/radar/2019-11-01/container-based-builds.md b/radar/2019-11-01/container-based-builds.md new file mode 100644 index 0000000..aed3b6d --- /dev/null +++ b/radar/2019-11-01/container-based-builds.md @@ -0,0 +1,8 @@ +--- +title: "Container-based builds" +ring: adopt +quadrant: methods-and-patterns + +--- + +Updated to "adopt". Container based builds has getting to the defacto standard for our pipelines in [Gitlab](/tools/gitlab.html) or other CI Tools. \ No newline at end of file diff --git a/radar/2019-11-01/flamingo.md b/radar/2019-11-01/flamingo.md new file mode 100644 index 0000000..a4d6e11 --- /dev/null +++ b/radar/2019-11-01/flamingo.md @@ -0,0 +1,40 @@ +--- +title: "Flamingo" +ring: adopt +quadrant: languages-and-frameworks + +--- +Flamingo + +Flamingo is a high productivity go based framework for rapidly building fast and pluggable web projects. +It is used to build scalable and maintainable (web)applications. + +Flamingo is: + +* open source +* written in go +* easy to learn +* fast and flexible + +Go as simple, powerful and typesafe language is great to implement and scale serverside logic. +Flamingo has a clean architecture with clear dependencies in mind and offers a typical features and support for nowadays web applications: + +* Powerful Templating Engines. E.g. support for Pug templates with reusable mixins and lightweight scripting. +* Configuration concepts using yml and support for multiple areas and contexts +* Powerful Dependency Injection +* A Module concept for building modular and pluggable applications +* Authentication concepts and security middleware +* Flexible routing with support for prefix routes and reverse routing +* Web Controller Support with: Request / Response / Form Handling etc +* Operational Readyness: Logging, (distributed) Tracing, Metrics and Healthchecks with seperate endpoint +* Localisation +* Commands +* Sessionhandling and Management +* GraphQL support and therefore support to build nice SPA and PWAs on top of it +* Resilience and Caching for external APIs calls. + +Flamingo itself does not contain ORM Mapper or libraries - instead it emphasizes "ports and adapters" architecture - so that you have a technology free (domain) model and any possible (and replaceable) persitence behind it. +That makes Flamingo useful to build microservices and applications - especially to build "frontends" or portals that require interaction with other (micro) services in a distributed architecture. +When sticking to the architectural recommendation you can build modular applications with replaceable adapters that gives you independed testability. + +With **"Flamingo Commerce"** there is an additional active projects that offer rich and flexible features to build modern e-commerce applications. diff --git a/radar/2019-11-01/gitflow.md b/radar/2019-11-01/gitflow.md new file mode 100644 index 0000000..05f3204 --- /dev/null +++ b/radar/2019-11-01/gitflow.md @@ -0,0 +1,21 @@ +--- +title: "GitFlow" +ring: hold +quadrant: methods-and-patterns + +--- +Ever since there are recurring discussions about the version control strategy that a team should use. + + + +We have also made the experience when new teams start off with using blocking or long lived feature branches (merge late once all review comments are done) it has a negative impact on team performance. + +We recommend to use trunk based development with short lived (<1day) feature branches, +because this has shown to support continuous integration and team collaboration the best. + + +See also: +* trunk based development https://trunkbaseddevelopment.com/ +* https://medium.com/@fagnerbrack/one-commit-one-change-3d10b10cebbf +* https://martinfowler.com/bliki/FeatureBranch.html +* https://www.continuousdeliveryconsulting.com/blog/organisation-antipattern-build-feature-branching/ \ No newline at end of file diff --git a/radar/2019-11-01/gitlab-ci.md b/radar/2019-11-01/gitlab-ci.md new file mode 100644 index 0000000..e9ce703 --- /dev/null +++ b/radar/2019-11-01/gitlab-ci.md @@ -0,0 +1,7 @@ +--- +title: "Gitlab CI" +ring: adopt +quadrant: tools +--- + +Moved to "adopt". \ No newline at end of file diff --git a/radar/2019-11-01/gitlab.md b/radar/2019-11-01/gitlab.md new file mode 100644 index 0000000..a63dc73 --- /dev/null +++ b/radar/2019-11-01/gitlab.md @@ -0,0 +1,10 @@ +--- +title: "Gitlab" +ring: adopt +quadrant: tools +--- + +Moved to "adopt": Gitlab has proven to be a very useful tool for code and the collaboration around it. +With [Gitlab CI](/tools/gitlab-ci.html) there is also a powerful tool to automate continuous integration and delivery. + + diff --git a/radar/2019-11-01/go-lang.md b/radar/2019-11-01/go-lang.md new file mode 100644 index 0000000..7c22249 --- /dev/null +++ b/radar/2019-11-01/go-lang.md @@ -0,0 +1,8 @@ +--- +title: "Go / Golang" +ring: adopt +quadrant: languages-and-frameworks + +--- + +We have moved Go to "adopt". \ No newline at end of file diff --git a/radar/2019-11-01/rabbitmq.md b/radar/2019-11-01/rabbitmq.md new file mode 100644 index 0000000..44ffb1c --- /dev/null +++ b/radar/2019-11-01/rabbitmq.md @@ -0,0 +1,7 @@ +--- +title: "RabbitMQ" +ring: adopt +quadrant: tools + +--- +RabbitMQ has proven to work very well for messaging in our projects, thats why we updated it to "adopt". diff --git a/radar/2019-11-01/self-service-infrastructure.md b/radar/2019-11-01/self-service-infrastructure.md new file mode 100644 index 0000000..f86f9a5 --- /dev/null +++ b/radar/2019-11-01/self-service-infrastructure.md @@ -0,0 +1,8 @@ +--- +title: "Self-service infrastructure" +ring: trial +quadrant: methods-and-patterns + +--- + +Moved to "trial". \ No newline at end of file From 4b29bc503b6bfa2dc34fd478792ace5d8f9fe715 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 20:53:16 +0200 Subject: [PATCH 05/62] fade out languages section --- radar/2019-11-01/protobuf.md | 3 +++ radar/2019-11-01/symfony-components.md | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 radar/2019-11-01/protobuf.md create mode 100644 radar/2019-11-01/symfony-components.md diff --git a/radar/2019-11-01/protobuf.md b/radar/2019-11-01/protobuf.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/protobuf.md @@ -0,0 +1,3 @@ +--- +featured: false +--- diff --git a/radar/2019-11-01/symfony-components.md b/radar/2019-11-01/symfony-components.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/symfony-components.md @@ -0,0 +1,3 @@ +--- +featured: false +--- From dbe217dfc3b8d78fef7ff38aeab0cc161a2d597b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 20:57:24 +0200 Subject: [PATCH 06/62] Historical split of Terraform and Helm --- radar/2018-03-01/helm-terraform.md | 14 -------------- radar/2018-03-01/helm.md | 8 ++++++++ radar/2018-03-01/terraform.md | 12 ++++++++++++ 3 files changed, 20 insertions(+), 14 deletions(-) delete mode 100644 radar/2018-03-01/helm-terraform.md create mode 100644 radar/2018-03-01/helm.md create mode 100644 radar/2018-03-01/terraform.md diff --git a/radar/2018-03-01/helm-terraform.md b/radar/2018-03-01/helm-terraform.md deleted file mode 100644 index 9f71e3b..0000000 --- a/radar/2018-03-01/helm-terraform.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Helm/Terraform" -ring: trial -quadrant: tools - ---- - -For the infrastructure of our OM3 projects we run multiple Kubernetes clusters, and to orchestrate the infrastructure provisioning we quickly decided to go with Terraform. -Terraform allows us to easily manage our infrastructure, from AWS EC2 instances to RabbitMQ message queues. -Also, the Kops installer for Kubernetes on AWS uses Terraform as its main building brick, and we can trigger Kops via Terraform. - -For managing deployments within Kubernetes we use Helm, which makes templating Kubernetes configuration files super easy (also known as Helm charts). - -We bring both tools together to manage similar parts of the infrastructure, for example a shared file with domainname to application mappings allows us to provision Route 53 DNS entries via Terraform and then roll out Kubernetes Ingress definitions with the appropriate hostname to service mapping via Helm. diff --git a/radar/2018-03-01/helm.md b/radar/2018-03-01/helm.md new file mode 100644 index 0000000..8e25e28 --- /dev/null +++ b/radar/2018-03-01/helm.md @@ -0,0 +1,8 @@ +--- +title: "Helm" +ring: trial +quadrant: tools + +--- + +For managing deployments within Kubernetes we use Helm, which makes templating Kubernetes configuration files super easy (also known as Helm charts). diff --git a/radar/2018-03-01/terraform.md b/radar/2018-03-01/terraform.md new file mode 100644 index 0000000..167ca78 --- /dev/null +++ b/radar/2018-03-01/terraform.md @@ -0,0 +1,12 @@ +--- +title: "Terraform" +ring: trial +quadrant: tools + +--- + +For the infrastructure of our OM3 projects we run multiple Kubernetes clusters, and to orchestrate the infrastructure provisioning we quickly decided to go with Terraform. +Terraform allows us to easily manage our infrastructure, from AWS EC2 instances to RabbitMQ message queues. +Also, the Kops installer for Kubernetes on AWS uses Terraform as its main building brick, and we can trigger Kops via Terraform. + +We bring terraform together with [Helm](/tools/helm.html) to manage similar parts of the infrastructure, for example a shared file with domainname to application mappings allows us to provision Route 53 DNS entries via Terraform and then roll out Kubernetes Ingress definitions with the appropriate hostname to service mapping via Helm. From d14b204a44e0c2008c309cbc4eaa43e0d72483a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 21:00:00 +0200 Subject: [PATCH 07/62] Updated helm terraform classification --- radar/2019-11-01/helm.md | 6 ++++++ radar/2019-11-01/terraform.md | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 radar/2019-11-01/helm.md create mode 100644 radar/2019-11-01/terraform.md diff --git a/radar/2019-11-01/helm.md b/radar/2019-11-01/helm.md new file mode 100644 index 0000000..d22668b --- /dev/null +++ b/radar/2019-11-01/helm.md @@ -0,0 +1,6 @@ +--- +title: "Helm" +ring: trial +quadrant: platforms-and-aoe-services + +--- diff --git a/radar/2019-11-01/terraform.md b/radar/2019-11-01/terraform.md new file mode 100644 index 0000000..1f231e5 --- /dev/null +++ b/radar/2019-11-01/terraform.md @@ -0,0 +1,6 @@ +--- +title: "Terraform" +ring: adopt +quadrant: platforms-and-aoe-services + +--- From 60f044015d46e0078badf0bd685793fba83a5c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 21:03:29 +0200 Subject: [PATCH 08/62] Fade out methods --- radar/2019-11-01/blameless-post-mortems.md | 3 +++ radar/2019-11-01/datadog.md | 3 +++ radar/2019-11-01/decoupling-infrastructure-via-messaging.md | 3 +++ radar/2019-11-01/explicit-test-strategy.md | 3 +++ radar/2019-11-01/hal-hateoas.md | 5 +++++ radar/2019-11-01/puppet-environments.md | 3 +++ radar/2019-11-01/styleguide-driven-development.md | 3 +++ 7 files changed, 23 insertions(+) create mode 100644 radar/2019-11-01/blameless-post-mortems.md create mode 100644 radar/2019-11-01/datadog.md create mode 100644 radar/2019-11-01/decoupling-infrastructure-via-messaging.md create mode 100644 radar/2019-11-01/explicit-test-strategy.md create mode 100644 radar/2019-11-01/hal-hateoas.md create mode 100644 radar/2019-11-01/puppet-environments.md create mode 100644 radar/2019-11-01/styleguide-driven-development.md diff --git a/radar/2019-11-01/blameless-post-mortems.md b/radar/2019-11-01/blameless-post-mortems.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/blameless-post-mortems.md @@ -0,0 +1,3 @@ +--- +featured: false +--- diff --git a/radar/2019-11-01/datadog.md b/radar/2019-11-01/datadog.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/datadog.md @@ -0,0 +1,3 @@ +--- +featured: false +--- diff --git a/radar/2019-11-01/decoupling-infrastructure-via-messaging.md b/radar/2019-11-01/decoupling-infrastructure-via-messaging.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/decoupling-infrastructure-via-messaging.md @@ -0,0 +1,3 @@ +--- +featured: false +--- diff --git a/radar/2019-11-01/explicit-test-strategy.md b/radar/2019-11-01/explicit-test-strategy.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/explicit-test-strategy.md @@ -0,0 +1,3 @@ +--- +featured: false +--- diff --git a/radar/2019-11-01/hal-hateoas.md b/radar/2019-11-01/hal-hateoas.md new file mode 100644 index 0000000..0b9d50c --- /dev/null +++ b/radar/2019-11-01/hal-hateoas.md @@ -0,0 +1,5 @@ +--- +featured: false +--- + +We use HAL in cases where we need to link ressources in payloads. HATEOAS has not proven to be very useful in our projects. \ No newline at end of file diff --git a/radar/2019-11-01/puppet-environments.md b/radar/2019-11-01/puppet-environments.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/puppet-environments.md @@ -0,0 +1,3 @@ +--- +featured: false +--- diff --git a/radar/2019-11-01/styleguide-driven-development.md b/radar/2019-11-01/styleguide-driven-development.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/styleguide-driven-development.md @@ -0,0 +1,3 @@ +--- +featured: false +--- From a9e63f59082ecf1d1a5274a66b60bc0b4d1983d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 18 Oct 2019 21:05:34 +0200 Subject: [PATCH 09/62] Fade out hold tools --- radar/2019-11-01/ant.md | 3 +++ radar/2019-11-01/bower.md | 3 +++ radar/2019-11-01/grunt.md | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 radar/2019-11-01/ant.md create mode 100644 radar/2019-11-01/bower.md create mode 100644 radar/2019-11-01/grunt.md diff --git a/radar/2019-11-01/ant.md b/radar/2019-11-01/ant.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/ant.md @@ -0,0 +1,3 @@ +--- +featured: false +--- diff --git a/radar/2019-11-01/bower.md b/radar/2019-11-01/bower.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/bower.md @@ -0,0 +1,3 @@ +--- +featured: false +--- diff --git a/radar/2019-11-01/grunt.md b/radar/2019-11-01/grunt.md new file mode 100644 index 0000000..d9c72fa --- /dev/null +++ b/radar/2019-11-01/grunt.md @@ -0,0 +1,3 @@ +--- +featured: false +--- From d3b18400086da22391ce70426f0cfcbafbf2bba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Sat, 19 Oct 2019 21:19:44 +0200 Subject: [PATCH 10/62] fade out more --- radar/2019-11-01/akeneo.md | 3 +++ radar/2019-11-01/anypoint-platform.md | 3 +++ radar/2019-11-01/asciidoc.md | 3 +++ radar/2019-11-01/aws-lambda.md | 3 +++ radar/2019-11-01/dagger.md | 3 +++ radar/2019-11-01/galen.md | 3 +++ radar/2019-11-01/hystrix.md | 5 +++++ radar/2019-11-01/job-dsl.md | 3 +++ radar/2019-11-01/npm.md | 3 +++ radar/2019-11-01/raml.md | 3 +++ radar/2019-11-01/xmlunit.md | 3 +++ radar/2019-11-01/yarn.md | 3 +++ 12 files changed, 38 insertions(+) create mode 100644 radar/2019-11-01/akeneo.md create mode 100644 radar/2019-11-01/anypoint-platform.md create mode 100644 radar/2019-11-01/asciidoc.md create mode 100644 radar/2019-11-01/aws-lambda.md create mode 100644 radar/2019-11-01/dagger.md create mode 100644 radar/2019-11-01/galen.md create mode 100644 radar/2019-11-01/hystrix.md create mode 100644 radar/2019-11-01/job-dsl.md create mode 100644 radar/2019-11-01/npm.md create mode 100644 radar/2019-11-01/raml.md create mode 100644 radar/2019-11-01/xmlunit.md create mode 100644 radar/2019-11-01/yarn.md diff --git a/radar/2019-11-01/akeneo.md b/radar/2019-11-01/akeneo.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/akeneo.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/anypoint-platform.md b/radar/2019-11-01/anypoint-platform.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/anypoint-platform.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/asciidoc.md b/radar/2019-11-01/asciidoc.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/asciidoc.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/aws-lambda.md b/radar/2019-11-01/aws-lambda.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/aws-lambda.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/dagger.md b/radar/2019-11-01/dagger.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/dagger.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/galen.md b/radar/2019-11-01/galen.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/galen.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/hystrix.md b/radar/2019-11-01/hystrix.md new file mode 100644 index 0000000..2391817 --- /dev/null +++ b/radar/2019-11-01/hystrix.md @@ -0,0 +1,5 @@ +--- +featured: false +--- + +Hystrix is not actively mainatined anymore and some of its goals can now be handled with service meshs. \ No newline at end of file diff --git a/radar/2019-11-01/job-dsl.md b/radar/2019-11-01/job-dsl.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/job-dsl.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/npm.md b/radar/2019-11-01/npm.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/npm.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/raml.md b/radar/2019-11-01/raml.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/raml.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/xmlunit.md b/radar/2019-11-01/xmlunit.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/xmlunit.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file diff --git a/radar/2019-11-01/yarn.md b/radar/2019-11-01/yarn.md new file mode 100644 index 0000000..67dddc8 --- /dev/null +++ b/radar/2019-11-01/yarn.md @@ -0,0 +1,3 @@ +--- +featured: false +--- \ No newline at end of file From 9b38cc638b47c14404860c6d38405b44016438f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Sat, 19 Oct 2019 21:33:51 +0200 Subject: [PATCH 11/62] fade out more --- js/components/PageHelp.js | 1 - js/components/Router.js | 4 ---- radar/2019-11-01/flamingo.md | 1 - radar/2019-11-01/sonarqube.md | 6 ++++++ 4 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 radar/2019-11-01/sonarqube.md diff --git a/js/components/PageHelp.js b/js/components/PageHelp.js index 8238886..d251ffe 100644 --- a/js/components/PageHelp.js +++ b/js/components/PageHelp.js @@ -39,7 +39,6 @@ export default function PageHelp({ leaving, onLeave, ...props }) {
  • Assess: We have tried it out and we find it promising. We recommend having a look at these items when you face a specific need for the technology in your project.
  • Hold: This category is a bit special. Unlike the others, we recommend to stop doing or using something. That does not mean that there are bad and it often might be ok to use them in existing projects. But we move things here if we think we shouldn't do them anymore - because we see better options or alternatives now.
  • -

    We also maintain a short list of useful tools - that are not worth putting on the radar - but that can belong in everyone's "toolbox". We call the list of these technologies the AOE Toolbox and you can find information about them here: AOE Toolbox

    Contributions and source code of the radar are on github: AOE Tech Radar on Github

    diff --git a/js/components/Router.js b/js/components/Router.js index d30b2cd..8316c13 100644 --- a/js/components/Router.js +++ b/js/components/Router.js @@ -2,7 +2,6 @@ import React from 'react'; import PageIndex from './PageIndex'; import PageOverview from './PageOverview'; import PageHelp from './PageHelp'; -import PageToolbox from './PageToolbox'; import PageQuadrant from './PageQuadrant'; import PageItem from './PageItem'; import PageItemMobile from './PageItemMobile'; @@ -18,9 +17,6 @@ const getPageByName = (items, pageName) => { if (pageName === 'help-and-about-tech-radar') { return PageHelp; } - if (pageName === 'aoe-toolbox') { - return PageToolbox; - } if (quadrants.includes(pageName)) { return PageQuadrant; } diff --git a/radar/2019-11-01/flamingo.md b/radar/2019-11-01/flamingo.md index a4d6e11..42690c4 100644 --- a/radar/2019-11-01/flamingo.md +++ b/radar/2019-11-01/flamingo.md @@ -4,7 +4,6 @@ ring: adopt quadrant: languages-and-frameworks --- -Flamingo Flamingo is a high productivity go based framework for rapidly building fast and pluggable web projects. It is used to build scalable and maintainable (web)applications. diff --git a/radar/2019-11-01/sonarqube.md b/radar/2019-11-01/sonarqube.md new file mode 100644 index 0000000..35e9642 --- /dev/null +++ b/radar/2019-11-01/sonarqube.md @@ -0,0 +1,6 @@ +--- +title: "SonarQube" +ring: trial +quadrant: tools + +--- From c3e58998dfbe156b31da87792b6e5ee6e1bc9792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Sat, 19 Oct 2019 21:35:30 +0200 Subject: [PATCH 12/62] add crosslink --- radar/2019-11-01/flamingo.md | 2 +- radar/2019-11-01/ports-and-adapters.md | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 radar/2019-11-01/ports-and-adapters.md diff --git a/radar/2019-11-01/flamingo.md b/radar/2019-11-01/flamingo.md index 42690c4..62f5022 100644 --- a/radar/2019-11-01/flamingo.md +++ b/radar/2019-11-01/flamingo.md @@ -32,7 +32,7 @@ Flamingo has a clean architecture with clear dependencies in mind and offers a t * GraphQL support and therefore support to build nice SPA and PWAs on top of it * Resilience and Caching for external APIs calls. -Flamingo itself does not contain ORM Mapper or libraries - instead it emphasizes "ports and adapters" architecture - so that you have a technology free (domain) model and any possible (and replaceable) persitence behind it. +Flamingo itself does not contain ORM Mapper or libraries - instead it emphasizes ["ports and adapters"](/methods-and-patterns/ports-and-adapters.html) architecture - so that you have a technology free (domain) model and any possible (and replaceable) persitence behind it. That makes Flamingo useful to build microservices and applications - especially to build "frontends" or portals that require interaction with other (micro) services in a distributed architecture. When sticking to the architectural recommendation you can build modular applications with replaceable adapters that gives you independed testability. diff --git a/radar/2019-11-01/ports-and-adapters.md b/radar/2019-11-01/ports-and-adapters.md new file mode 100644 index 0000000..b4b494a --- /dev/null +++ b/radar/2019-11-01/ports-and-adapters.md @@ -0,0 +1,6 @@ +--- +title: "Ports and Adapters" +ring: adopt +quadrant: methods-and-patterns + +--- \ No newline at end of file From 5fdc7038b36aec68455aee273ec343dfeb4aa9ec Mon Sep 17 00:00:00 2001 From: Henry Vogt Date: Mon, 21 Oct 2019 10:52:37 +0200 Subject: [PATCH 13/62] Add new items: cockpit, flow, flux, storybook, vuex --- radar/2019-11-01/cockpit.md | 7 +++++++ radar/2019-11-01/flowtype.md | 7 +++++++ radar/2019-11-01/flux.md | 7 +++++++ radar/2019-11-01/storybook.md | 7 +++++++ radar/2019-11-01/vuex.md | 7 +++++++ 5 files changed, 35 insertions(+) create mode 100644 radar/2019-11-01/cockpit.md create mode 100644 radar/2019-11-01/flowtype.md create mode 100644 radar/2019-11-01/flux.md create mode 100644 radar/2019-11-01/storybook.md create mode 100644 radar/2019-11-01/vuex.md diff --git a/radar/2019-11-01/cockpit.md b/radar/2019-11-01/cockpit.md new file mode 100644 index 0000000..8edcd38 --- /dev/null +++ b/radar/2019-11-01/cockpit.md @@ -0,0 +1,7 @@ +--- +title: "Cockpit" +ring: assess +quadrant: tools + +--- +[Cockpit](https://getcockpit.com/) \ No newline at end of file diff --git a/radar/2019-11-01/flowtype.md b/radar/2019-11-01/flowtype.md new file mode 100644 index 0000000..577493e --- /dev/null +++ b/radar/2019-11-01/flowtype.md @@ -0,0 +1,7 @@ +--- +title: "Flow" +ring: assess +quadrant: tools + +--- +[Flow](https://flow.org/) \ No newline at end of file diff --git a/radar/2019-11-01/flux.md b/radar/2019-11-01/flux.md new file mode 100644 index 0000000..723763e --- /dev/null +++ b/radar/2019-11-01/flux.md @@ -0,0 +1,7 @@ +--- +title: "Flux" +ring: assess +quadrant: methods-and-patterns + +--- +[Flux](https://facebook.github.io/flux/) \ No newline at end of file diff --git a/radar/2019-11-01/storybook.md b/radar/2019-11-01/storybook.md new file mode 100644 index 0000000..684560d --- /dev/null +++ b/radar/2019-11-01/storybook.md @@ -0,0 +1,7 @@ +--- +title: "Storybook" +ring: assess +quadrant: tools + +--- +[Storybook](https://storybook.js.org/) \ No newline at end of file diff --git a/radar/2019-11-01/vuex.md b/radar/2019-11-01/vuex.md new file mode 100644 index 0000000..9b2a688 --- /dev/null +++ b/radar/2019-11-01/vuex.md @@ -0,0 +1,7 @@ +--- +title: "Vuex" +ring: assess +quadrant: languages-and-frameworks + +--- +[Vuex](https://vuex.vuejs.org/) \ No newline at end of file From 9624ea62ddc3a13c19521561fd986dadadfabd85 Mon Sep 17 00:00:00 2001 From: Martin Lux Date: Mon, 21 Oct 2019 13:25:10 +0200 Subject: [PATCH 14/62] Add description cypress (assess/tool) --- radar/2019-11-01/cypress.md | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 radar/2019-11-01/cypress.md diff --git a/radar/2019-11-01/cypress.md b/radar/2019-11-01/cypress.md new file mode 100644 index 0000000..15f2bc6 --- /dev/null +++ b/radar/2019-11-01/cypress.md @@ -0,0 +1,39 @@ +--- +title: "Cypress" +ring: assess +quadrant: tools + +--- +[Cypress](https://www.cypress.io/) is a new front-end testing tool (end2end). 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. + +Good: + +* [Open source](https://github.com/cypress-io/cypress) +* [Locally installed](https://docs.cypress.io/guides/getting-started/installing-cypress.html#System-requirements) +* Straightforward (installed via npm and all tests are written in Javascript) +* Good [documentation](https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell) and learning material +* Can be run in a [headless mode](https://docs.cypress.io/guides/guides/command-line.html#cypress-run) + +Not so good: + +* No cross-browser testing (only chrome and electron) +* Scenarios with multiple browser tabs can not be tested +* Relatively new test tool, though it is becoming more popular + +Example of a test : + +```js +describe('My First Test', function() { + it('Visits the Kitchen Sink', function() { + cy.visit('https://example.cypress.io') + + cy.contains('type').click() + + cy.url().should('include', '/commands/actions') + + cy.get('.action-email') + .type('fake@email.com') + .should('have.value', 'fake@email.com') + }) +}) +``` From 1538f4e39ef4f68f2a9b0826e7303fa432cdeee9 Mon Sep 17 00:00:00 2001 From: Brian Hoffmann Date: Fri, 25 Oct 2019 08:57:56 +0200 Subject: [PATCH 15/62] Move micro frontends to trial --- radar/2019-11-01/micro-frontends.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 radar/2019-11-01/micro-frontends.md diff --git a/radar/2019-11-01/micro-frontends.md b/radar/2019-11-01/micro-frontends.md new file mode 100644 index 0000000..9c03a61 --- /dev/null +++ b/radar/2019-11-01/micro-frontends.md @@ -0,0 +1,11 @@ +--- +title: "Micro Frontends" +ring: trial +quadrant: methods-and-patterns +--- + +When deciding on a system architecture we are always striving for technology neutralism. This is to allow us to stay +flexible with future decisions. Micro Frontends can be a tool to support us with this goal. +We favor protocols and methods, such as plain HTML and HTTP, over specific technologies when designing Micro Frontends. + +Since Micro Frontends have proven to allow use move fast and agile, we moved this pattern to "trial". \ No newline at end of file From 46d2073353258f7ea9ecb2878849898d8592f355 Mon Sep 17 00:00:00 2001 From: Brian Hoffmann Date: Fri, 25 Oct 2019 09:04:43 +0200 Subject: [PATCH 16/62] Move reactive programming to adopt --- radar/2019-11-01/reactive-programming.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 radar/2019-11-01/reactive-programming.md diff --git a/radar/2019-11-01/reactive-programming.md b/radar/2019-11-01/reactive-programming.md new file mode 100644 index 0000000..76a969f --- /dev/null +++ b/radar/2019-11-01/reactive-programming.md @@ -0,0 +1,15 @@ +--- +title: "Reactive Programming" +ring: adopt +quadrant: methods-and-patterns + +--- + +The reactive style of programming promotes event-based thinking and modeling -- +and by that assists in creating more decoupled solutions. + +Synergies arise, when people understand the concepts of this pattern: by using marble diagrams, +which are a de-facto standard in visualizing algorithms in a reactive style, a common ground for communication +is available regardless of the programming language used. + +When appropriate, we choose more explicitly the Reactive Programming pattern and therefore moved this to "adopt". \ No newline at end of file From c642d7db8fe6317281de39bd40f79a3ea526afd4 Mon Sep 17 00:00:00 2001 From: Brian Hoffmann Date: Fri, 25 Oct 2019 09:10:37 +0200 Subject: [PATCH 17/62] Add Kotlin to adopt --- radar/2019-11-01/kotlin.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 radar/2019-11-01/kotlin.md diff --git a/radar/2019-11-01/kotlin.md b/radar/2019-11-01/kotlin.md new file mode 100644 index 0000000..85bb1af --- /dev/null +++ b/radar/2019-11-01/kotlin.md @@ -0,0 +1,10 @@ +--- +title: "Kotlin" +ring: adopt +quadrant: languages-and-frameworks + +--- + +Kotlin is used successfully in production by multiple teams. + +Due to its explicit type system, this language is a great replacement for Groovy or Gradle. \ No newline at end of file From a364005d49e0487f1c00870bfd56fb6c3fd9a29b Mon Sep 17 00:00:00 2001 From: Brian Hoffmann Date: Fri, 25 Oct 2019 09:20:53 +0200 Subject: [PATCH 18/62] Add event storming to assess --- radar/2019-11-01/event-storming.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 radar/2019-11-01/event-storming.md diff --git a/radar/2019-11-01/event-storming.md b/radar/2019-11-01/event-storming.md new file mode 100644 index 0000000..6016a79 --- /dev/null +++ b/radar/2019-11-01/event-storming.md @@ -0,0 +1,26 @@ +--- +title: "Event Storming" +ring: assess +quadrant: methods-and-patterns + +--- + +Event Storming is a method of modeling business processes using domain events. + +With complex business processes, people usually know their part of the process very well. +Having people from different departments in one room, allows (and requires!) a conversation. +Knowledge silos get opened up. All learnings can be directly visualized. + +We tried this method a couple of times with different sized scopes. We believe it can be of value and has potential. + +## Method Overview +It's like brainstorming - with the goal to visualize a business line or process. + +Event Storming is done in a workshop format. + +To get a business process modeled quickly and complete, it's important to get domain experts, developers, UX and +everybody else who is involved to some extend in the related business line into one room. +With virtually unlimited space for modeling using big paper rolls put onto the walls, equipped with colored stickies +and markers, the modeling workshop can start. + +During the workshop, the goal is to model the big picture, without limiting or focusing just on parts of a process. From ea43f40e2d10de9a69506e7254428f4e4f307ee5 Mon Sep 17 00:00:00 2001 From: Brian Hoffmann Date: Fri, 25 Oct 2019 09:37:13 +0200 Subject: [PATCH 19/62] Add temporal modeling to assess --- radar/2019-11-01/temporal-modeling.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 radar/2019-11-01/temporal-modeling.md diff --git a/radar/2019-11-01/temporal-modeling.md b/radar/2019-11-01/temporal-modeling.md new file mode 100644 index 0000000..a03b877 --- /dev/null +++ b/radar/2019-11-01/temporal-modeling.md @@ -0,0 +1,21 @@ +--- +title: "Temporal Modeling" +ring: assess +quadrant: methods-and-patterns + +--- + +Temporal Modeling is way of modeling software systems and components by putting events first. + +The usual way of modeling software is to find structures, things and relations. +We try to find the relevant aspects of a domain and put all properties into an object-oriented model. +Trying to create a second model for a related business process, having the structural model already in place, +might result in a process representation that is tightly coupled with the assumptions built up from the structural +model and too far away from reality. + +By focusing on the domain processes first, one can visualize all aspects of a process over time. +Having the process visualized, allows to see potential pitfalls or forgotten aspects. +With a temporal model at hand, it is easy to create a object-oriented or structural model that perfectly +represents all required information. + +We tried this method when tackling big or complex domains. \ No newline at end of file From d866bb9e235e0ce7eb1fb239df5af8e870bc8c0e Mon Sep 17 00:00:00 2001 From: Philip Feldmann Date: Tue, 29 Oct 2019 10:51:06 +0100 Subject: [PATCH 20/62] Add description for typescript. Move typescript to adopt. --- radar/2019-11-01/typescript.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 radar/2019-11-01/typescript.md diff --git a/radar/2019-11-01/typescript.md b/radar/2019-11-01/typescript.md new file mode 100644 index 0000000..250e489 --- /dev/null +++ b/radar/2019-11-01/typescript.md @@ -0,0 +1,7 @@ +--- +title: "Typescript" +ring: adopt +quadrant: languages-and-frameworks +--- + +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. We use typescript successfully at production for many projects and we are only going to use it even more in the future. We highly recommend using typescript over javascript, therefore we have decided to move it to adopt. From 5fc364df4deb1a129d2173e246ca97a477cd7ce4 Mon Sep 17 00:00:00 2001 From: "daniel.wittich" Date: Tue, 5 Nov 2019 21:25:48 +0100 Subject: [PATCH 21/62] Add BeyondCorp to assess --- radar/2019-11-01/beyondcorp.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 radar/2019-11-01/beyondcorp.md diff --git a/radar/2019-11-01/beyondcorp.md b/radar/2019-11-01/beyondcorp.md new file mode 100644 index 0000000..bb23ed1 --- /dev/null +++ b/radar/2019-11-01/beyondcorp.md @@ -0,0 +1,12 @@ +--- +title: "BeyondCorp" +ring: assess +quadrant: methods-and-patterns + +--- + +BeyondCorp is a Zero Trust framework that evolved at Google. +With the surge of cloud technologies and micro services the network perimeter is ever disappearing. +This provides challenges for authentication of subjects that used to heavily rely on network segments. +With Zero Trust no assumption is made about how far something can be trusted, everything is untrusted by default and authentication and authorisation happens all the time, not just once. +While network segments and VPN connections may still have relevance in specific areas AOE is increasingly implementing BeyondCorp in all its components and services with implementing OAuth and OpenID Connect. \ No newline at end of file From 784cb095a43d386e68ccf0bad94a143add8f800b Mon Sep 17 00:00:00 2001 From: "daniel.wittich" Date: Tue, 5 Nov 2019 21:26:14 +0100 Subject: [PATCH 22/62] Add Falco to assess --- radar/2019-11-01/falco.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 radar/2019-11-01/falco.md diff --git a/radar/2019-11-01/falco.md b/radar/2019-11-01/falco.md new file mode 100644 index 0000000..5bd55c7 --- /dev/null +++ b/radar/2019-11-01/falco.md @@ -0,0 +1,11 @@ +--- +title: "Falco" +ring: assess +quadrant: tools + +--- + +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. \ No newline at end of file From 347ba379b7efd828642d5137c3c36f4845400fff Mon Sep 17 00:00:00 2001 From: "daniel.wittich" Date: Tue, 5 Nov 2019 21:26:55 +0100 Subject: [PATCH 23/62] Amend SonarQube description --- radar/2019-11-01/sonarqube.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/radar/2019-11-01/sonarqube.md b/radar/2019-11-01/sonarqube.md index 35e9642..85adb74 100644 --- a/radar/2019-11-01/sonarqube.md +++ b/radar/2019-11-01/sonarqube.md @@ -4,3 +4,6 @@ ring: trial quadrant: tools --- + +At AOE, we are using SonarQube to get a historical overview of the code quality in our Projects. With SonarQube, you can get a quick insight into the condition of your code. It analyzes many languages and provides numerous static analysis rules. +SonarQube is also being used for Static Application Security Testing (SAST) which scans our code for potential security vulnerabilities and is an essential element of our Secure Software Development Lifecycle. \ No newline at end of file From 0a8574856cfe020e9fb1a0c9f879386fa7ebb769 Mon Sep 17 00:00:00 2001 From: "daniel.wittich" Date: Tue, 5 Nov 2019 21:27:24 +0100 Subject: [PATCH 24/62] Amend STRIDE Threat Modeling to assess --- radar/2019-11-01/stride-threat-modeling.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 radar/2019-11-01/stride-threat-modeling.md diff --git a/radar/2019-11-01/stride-threat-modeling.md b/radar/2019-11-01/stride-threat-modeling.md new file mode 100644 index 0000000..c7302c2 --- /dev/null +++ b/radar/2019-11-01/stride-threat-modeling.md @@ -0,0 +1,19 @@ +--- +title: "STRIDE Threat Modeling" +ring: assess +quadrant: methods-and-patterns + +--- + +STRIDE is a model of threat groups that helps to identify security threats to any application, component or infrastructure. + +The acronym stands for: + +* Spoofing +* Tampering +* Repudiation +* Information disclosure +* Denial of service +* Elevation of privilege + +AOE is applying the threat model in collaborative sessions using the [Elevation of Privilege Card Game](https://social.technet.microsoft.com/wiki/contents/articles/285.elevation-of-privilege-the-game.aspx) which helps to spark imagination and makes threats more tangible. \ No newline at end of file From fef695bbcb489b9ed58d10e2f0dfd8f66c8bdd4f Mon Sep 17 00:00:00 2001 From: "daniel.wittich" Date: Tue, 5 Nov 2019 21:47:03 +0100 Subject: [PATCH 25/62] add .iml to .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2a7fb10..0ab6b1a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ dist node_modules npm-debug.log -yarn-error.log \ No newline at end of file +yarn-error.log +aoe_technology_radar.iml From 4ca92201b5ef7e2b7e4c46d5602df1814d31fb25 Mon Sep 17 00:00:00 2001 From: Daniel Wittich <45591101+danielvonwi@users.noreply.github.com> Date: Wed, 6 Nov 2019 08:23:44 +0100 Subject: [PATCH 26/62] move BeyondCorp to trial --- radar/2019-11-01/beyondcorp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radar/2019-11-01/beyondcorp.md b/radar/2019-11-01/beyondcorp.md index bb23ed1..4da10b2 100644 --- a/radar/2019-11-01/beyondcorp.md +++ b/radar/2019-11-01/beyondcorp.md @@ -1,6 +1,6 @@ --- title: "BeyondCorp" -ring: assess +ring: trial quadrant: methods-and-patterns --- @@ -9,4 +9,4 @@ BeyondCorp is a Zero Trust framework that evolved at Google. With the surge of cloud technologies and micro services the network perimeter is ever disappearing. This provides challenges for authentication of subjects that used to heavily rely on network segments. With Zero Trust no assumption is made about how far something can be trusted, everything is untrusted by default and authentication and authorisation happens all the time, not just once. -While network segments and VPN connections may still have relevance in specific areas AOE is increasingly implementing BeyondCorp in all its components and services with implementing OAuth and OpenID Connect. \ No newline at end of file +While network segments and VPN connections may still have relevance in specific areas AOE is increasingly implementing BeyondCorp in all its components and services with implementing OAuth and OpenID Connect. From ac317322345f3178736aa0dd7a5810808c7d9e3f Mon Sep 17 00:00:00 2001 From: Daniel Wittich <45591101+danielvonwi@users.noreply.github.com> Date: Wed, 6 Nov 2019 08:24:56 +0100 Subject: [PATCH 27/62] move STRIDE threat modelling to trial --- radar/2019-11-01/stride-threat-modeling.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radar/2019-11-01/stride-threat-modeling.md b/radar/2019-11-01/stride-threat-modeling.md index c7302c2..cfb1f64 100644 --- a/radar/2019-11-01/stride-threat-modeling.md +++ b/radar/2019-11-01/stride-threat-modeling.md @@ -1,6 +1,6 @@ --- title: "STRIDE Threat Modeling" -ring: assess +ring: trial quadrant: methods-and-patterns --- @@ -16,4 +16,4 @@ The acronym stands for: * Denial of service * Elevation of privilege -AOE is applying the threat model in collaborative sessions using the [Elevation of Privilege Card Game](https://social.technet.microsoft.com/wiki/contents/articles/285.elevation-of-privilege-the-game.aspx) which helps to spark imagination and makes threats more tangible. \ No newline at end of file +AOE is applying the threat model in collaborative sessions using the [Elevation of Privilege Card Game](https://social.technet.microsoft.com/wiki/contents/articles/285.elevation-of-privilege-the-game.aspx) which helps to spark imagination and makes threats more tangible. From 4cd60c686ba2a7586db2beb38480db2cbc697b05 Mon Sep 17 00:00:00 2001 From: Daniel Kopp Date: Mon, 11 Nov 2019 15:22:15 +0100 Subject: [PATCH 28/62] Add Spring Boot to adopt --- radar/2019-11-01/spring-boot.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 radar/2019-11-01/spring-boot.md diff --git a/radar/2019-11-01/spring-boot.md b/radar/2019-11-01/spring-boot.md new file mode 100644 index 0000000..21189d6 --- /dev/null +++ b/radar/2019-11-01/spring-boot.md @@ -0,0 +1,10 @@ +--- +title: "Spring Boot" +ring: adopt +quadrant: languages-and-frameworks + +--- + +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". From 3b483bd7fc0a3ba6b37a14f0fb656dd8e8bd73f7 Mon Sep 17 00:00:00 2001 From: Daniel Kopp Date: Mon, 11 Nov 2019 15:44:39 +0100 Subject: [PATCH 29/62] Add more information about kotlin --- radar/2019-11-01/kotlin.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/radar/2019-11-01/kotlin.md b/radar/2019-11-01/kotlin.md index 85bb1af..fde0c40 100644 --- a/radar/2019-11-01/kotlin.md +++ b/radar/2019-11-01/kotlin.md @@ -7,4 +7,10 @@ quadrant: languages-and-frameworks Kotlin is used successfully in production by multiple teams. -Due to its explicit type system, this language is a great replacement for Groovy or Gradle. \ No newline at end of file +Kotlin is 100% interoperable with Java. It means the code can live side-by-side in one code base and interact. +From the beginning it was designed with practical thought in mind. So the IDE Support in IntelliJ is really great. + +The Spring Framework Developer put a lot of effort that Springs play well together with Kotlin. + +With it's concise syntax, null safety, +Due to its explicit type system, this language is also great replacement for Groovy usage with Gradle. From 8e736e24fa6bd43f9ca84ec9a642cc12c7476456 Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 13:21:59 +0100 Subject: [PATCH 30/62] Update RAML --- radar/2019-11-01/raml.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/radar/2019-11-01/raml.md b/radar/2019-11-01/raml.md index 67dddc8..cac353b 100644 --- a/radar/2019-11-01/raml.md +++ b/radar/2019-11-01/raml.md @@ -1,3 +1,5 @@ --- featured: false ---- \ No newline at end of file +--- + +Since the RAML ecosystem lacks further development and additional tools, we decided to not stick with it anymore. \ No newline at end of file From 09055f522bd54ffac4b684d1565ce30a70c83959 Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 13:27:04 +0100 Subject: [PATCH 31/62] Update RAML --- radar/2019-11-01/raml.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/radar/2019-11-01/raml.md b/radar/2019-11-01/raml.md index cac353b..7d2c12c 100644 --- a/radar/2019-11-01/raml.md +++ b/radar/2019-11-01/raml.md @@ -1,5 +1,8 @@ --- -featured: false +title: "RAML" +ring: hold +quadrant: languages-and-frameworks + --- Since the RAML ecosystem lacks further development and additional tools, we decided to not stick with it anymore. \ No newline at end of file From 7ea5902a93e9e3cb6110a17e8c3b891666ecd34f Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 13:30:08 +0100 Subject: [PATCH 32/62] Update Groovy --- radar/2019-11-01/groovy.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 radar/2019-11-01/groovy.md diff --git a/radar/2019-11-01/groovy.md b/radar/2019-11-01/groovy.md new file mode 100644 index 0000000..c0f40ae --- /dev/null +++ b/radar/2019-11-01/groovy.md @@ -0,0 +1,8 @@ +--- +title: "Groovy" +ring: hold +quadrant: languages-and-frameworks + +--- + +Since the rise of Kotlin, we seen no need why to still use Groovy as an alternative to Java running on the JVM. From c22e882b4baf52b2de17a62b02c5585099e4c447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 13:39:04 +0100 Subject: [PATCH 33/62] update integration tools --- radar/2019-11-01/alpakka.md | 8 ++++++++ radar/2019-11-01/anypoint-platform.md | 4 +++- radar/2019-11-01/apache-camel.md | 10 ++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 radar/2019-11-01/alpakka.md create mode 100644 radar/2019-11-01/apache-camel.md diff --git a/radar/2019-11-01/alpakka.md b/radar/2019-11-01/alpakka.md new file mode 100644 index 0000000..eaeaf53 --- /dev/null +++ b/radar/2019-11-01/alpakka.md @@ -0,0 +1,8 @@ +--- +title: "Alpakka & Akka Streams" +ring: adopt +quadrant: tools + +--- +The ["Alpakka project"](https://doc.akka.io/docs/alpakka/current/index.html) is an open source initiative to implement stream-aware and reactive integration pipelines for Java and Scala. +It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. \ No newline at end of file diff --git a/radar/2019-11-01/anypoint-platform.md b/radar/2019-11-01/anypoint-platform.md index 67dddc8..3ebbbee 100644 --- a/radar/2019-11-01/anypoint-platform.md +++ b/radar/2019-11-01/anypoint-platform.md @@ -1,3 +1,5 @@ --- featured: false ---- \ No newline at end of file +--- + +Recently our teams migrated some project from anypoint to ["Apache Camel"](/tools/apache-camel.html) or use ["Alpakka"](/tools/alpakka.html) for integration work. \ No newline at end of file diff --git a/radar/2019-11-01/apache-camel.md b/radar/2019-11-01/apache-camel.md new file mode 100644 index 0000000..4fa44c8 --- /dev/null +++ b/radar/2019-11-01/apache-camel.md @@ -0,0 +1,10 @@ +--- +title: "Apache Camel" +ring: adopt +quadrant: tools + +--- + +["Camel"](https://camel.apache.org/) is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. + +Our teams are using Apache Camel as API Gateway that offers APIs and takes care of Federation to various Backends as well as Authorisation tasks. \ No newline at end of file From e18a2ef6691a39a5c0284046d7bdb8cbf3e1af5e Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 13:40:37 +0100 Subject: [PATCH 34/62] Update Postman --- radar/2019-11-01/postman.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 radar/2019-11-01/postman.md diff --git a/radar/2019-11-01/postman.md b/radar/2019-11-01/postman.md new file mode 100644 index 0000000..bedf935 --- /dev/null +++ b/radar/2019-11-01/postman.md @@ -0,0 +1,10 @@ +--- +title: "Postman" +ring: trial +quadrant: tools + +--- +[Postman](https://www.getpostman.com/) is an API testing and documentation tool. Requests can be bundled into folders +and easily be configured to be executed against multiple environments. Responses can be evaluated using the "test" feature. + +Even automated testing is possible using [Newman](https://www.npmjs.com/package/newman) as an addition to Postman. \ No newline at end of file From 5a8563256bb10825c6b2d79dfb62147d8d6e0e36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 13:49:18 +0100 Subject: [PATCH 35/62] add open api --- radar/2019-11-01/open-api.md | 21 +++++++++++++++++++++ radar/2019-11-01/raml.md | 4 +++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 radar/2019-11-01/open-api.md diff --git a/radar/2019-11-01/open-api.md b/radar/2019-11-01/open-api.md new file mode 100644 index 0000000..c9a9dc6 --- /dev/null +++ b/radar/2019-11-01/open-api.md @@ -0,0 +1,21 @@ +--- +title: "Open API" +ring: adopt +quadrant: tools + +--- + +RAML and Swagger have been merged to OpenAPI. +The OpenAPI Specification is becoming a broadly adopted industry standard for describing modern APIs. + +OpenAPI v2 version is basically the former Swagger - and Swagger provides useful tools for OpenAPI like the online editor and viewer http://editor.swagger.io/ +We have also found that this version currently have a good tool support accross languages, so you will find API client and server generation tools for a lot of languages, which makes it quite easy to connect to an API that is described in OpenAPI standard. + + +**OpenAPI v3** + +OpenAPI v3 adds more features to the specification - for example the ability to describe APIs supporting request/callback pattern. + +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/ \ No newline at end of file diff --git a/radar/2019-11-01/raml.md b/radar/2019-11-01/raml.md index 7d2c12c..192ea92 100644 --- a/radar/2019-11-01/raml.md +++ b/radar/2019-11-01/raml.md @@ -5,4 +5,6 @@ quadrant: languages-and-frameworks --- -Since the RAML ecosystem lacks further development and additional tools, we decided to not stick with it anymore. \ No newline at end of file +Since the RAML ecosystem lacks further development and additional tools, we decided to not stick with it anymore. + +Consider using ["OpenAPI"](/tools/open-api.html) instead. \ No newline at end of file From 6677bd29bbc735215a4c7238cc6de1d964d1260d Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 13:51:40 +0100 Subject: [PATCH 36/62] Update GRPC --- radar/2019-11-01/grpc.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 radar/2019-11-01/grpc.md diff --git a/radar/2019-11-01/grpc.md b/radar/2019-11-01/grpc.md new file mode 100644 index 0000000..9bf6dc4 --- /dev/null +++ b/radar/2019-11-01/grpc.md @@ -0,0 +1,15 @@ +--- +title: "GRPC" +ring: adopt +quadrant: languages-and-frameworks + +--- + +gRPC, "A high-performance, Open Source, universal RPC framework," is a framework to easily connect clients and servers in an RPC setup. +gRPC was initially built at Google, and uses protobuf service definitions for method and payload specification. +Essentially, this makes it possible to define methods that a server exposes, with either a single payload or an incoming stream - either as a single response or a stream of responses. +The definition itself is carried out with the help of protobuf to define message types and method signatures, and then client and server interfaces are compiled for the language(s) you want. Currently there is support for languages such as C++, Java, Python, Go and many more. +The shared language-neutral protobuf definition allows you to create all code for all languages automatically and helps with the interoperability of different systems. + +From a technical point of view, gRPC uses HTTP/2 as a transport, directly benefitting from the default TLS encryption. +Besides gRPC, other frameworks also use protobuf RPC definitions. These frameworks include twirp from twitch, which makes it easy to change the transport/control layer with only very small changes to the application code. From 3cfebe6ac54d01908571119ddc912532d3daa704 Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 13:53:53 +0100 Subject: [PATCH 37/62] Update Grafana --- radar/2019-11-01/grafana.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 radar/2019-11-01/grafana.md diff --git a/radar/2019-11-01/grafana.md b/radar/2019-11-01/grafana.md new file mode 100644 index 0000000..1563237 --- /dev/null +++ b/radar/2019-11-01/grafana.md @@ -0,0 +1,9 @@ +--- +title: "Grafana" +ring: adopt +quadrant: platforms-and-aoe-services +--- + +[Grafana](https://grafana.com//) is an Open Source data visualization platform written in Go and NodeJS. It provides a vast choice of different graph types that can be easily combined into dashboards for displaying any kind of numerical or time-based data. + +At AOE, we usually use Grafana in conjunction with [Prometheus](https://prometheus.io/) or [AWS CloudWatch](https://prometheus.io/) for visualizing both application and infrastructure metrics. From 9444504c0b886baf87b9becd06d8a3ec15be7da2 Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 14:06:36 +0100 Subject: [PATCH 38/62] Update Helm --- radar/2019-11-01/helm.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/radar/2019-11-01/helm.md b/radar/2019-11-01/helm.md index d22668b..2d321ee 100644 --- a/radar/2019-11-01/helm.md +++ b/radar/2019-11-01/helm.md @@ -4,3 +4,6 @@ ring: trial quadrant: platforms-and-aoe-services --- +[Helm](https://helm.sh/) is a package manager for [Kubernetes](https://kubernetes.io/), which simplifies the deployment +of applications into a Kubernetes cluster and provides additional features like e.g. versioning and rollbacks. + From b9aecc6ec36aff7a73492413a72e015ab7a0966e Mon Sep 17 00:00:00 2001 From: Bastian Ike Date: Fri, 20 Dec 2019 14:16:40 +0100 Subject: [PATCH 39/62] add aoe sso --- radar/2019-11-01/aoe-sso.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 radar/2019-11-01/aoe-sso.md diff --git a/radar/2019-11-01/aoe-sso.md b/radar/2019-11-01/aoe-sso.md new file mode 100644 index 0000000..7ad2781 --- /dev/null +++ b/radar/2019-11-01/aoe-sso.md @@ -0,0 +1,9 @@ +--- +title: "AOE SSO" +ring: adopt +quadrant: platforms-and-aoe-services + +--- +To improve security and user experience we decided to install an organisation wide SSO and use OpenID Connect integrate with existing tools. +We use Keyclok as the SSO server, which is backed by our LDAP. +This also helps to implement new infrastructure security based on ["BeyondCorp"](/methods-and-patterns/beyondcorp.html). From 4ec6d4b36142470b300f3f9df72f506ce3f98094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 14:19:57 +0100 Subject: [PATCH 40/62] update alpakka and akka streams --- radar/2019-11-01/akka-streams.md | 7 +++++++ radar/2019-11-01/alpakka.md | 6 ++---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 radar/2019-11-01/akka-streams.md diff --git a/radar/2019-11-01/akka-streams.md b/radar/2019-11-01/akka-streams.md new file mode 100644 index 0000000..a42231a --- /dev/null +++ b/radar/2019-11-01/akka-streams.md @@ -0,0 +1,7 @@ +--- +title: "Akka Streams" +ring: adopt +quadrant: languages-and-frameworks +featured: false + +--- \ No newline at end of file diff --git a/radar/2019-11-01/alpakka.md b/radar/2019-11-01/alpakka.md index eaeaf53..bb9e2f2 100644 --- a/radar/2019-11-01/alpakka.md +++ b/radar/2019-11-01/alpakka.md @@ -1,8 +1,6 @@ --- -title: "Alpakka & Akka Streams" +title: "Alpakka" ring: adopt -quadrant: tools +quadrant: languages-and-frameworks --- -The ["Alpakka project"](https://doc.akka.io/docs/alpakka/current/index.html) is an open source initiative to implement stream-aware and reactive integration pipelines for Java and Scala. -It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. \ No newline at end of file From bbfbd4b79a0f23ee9ecb2aff442e6e9cb55a5c10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 14:20:11 +0100 Subject: [PATCH 41/62] Add graphQL and apollo --- radar/2019-11-01/apollo-client.md | 9 +++++++++ radar/2019-11-01/graphql.md | 22 ++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 radar/2019-11-01/apollo-client.md create mode 100644 radar/2019-11-01/graphql.md diff --git a/radar/2019-11-01/apollo-client.md b/radar/2019-11-01/apollo-client.md new file mode 100644 index 0000000..55fe011 --- /dev/null +++ b/radar/2019-11-01/apollo-client.md @@ -0,0 +1,9 @@ +--- +title: "Apollo Client" +ring: trial +quadrant: tools + +--- + +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. \ No newline at end of file diff --git a/radar/2019-11-01/graphql.md b/radar/2019-11-01/graphql.md new file mode 100644 index 0000000..e1f5c11 --- /dev/null +++ b/radar/2019-11-01/graphql.md @@ -0,0 +1,22 @@ +--- +title: "GraphQL" +ring: adopt +quadrant: methods-and-patterns + +--- + +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. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data. + +GraphQL was developed by Facebook around 2010 and releases 2015. +The main challenge it solves is to improve communication between browser and server on high dynamic web apps. + +The advantages are: +* schema and schema validation together with a useful type system +* the client (browser) controls what data should be send (data reduction) +* whith one request you can fetch "all" required data + +We are using it together with [Apollo Client](/tools/apollo-client.html) in our [React.js](/languages-and-frameworks/react.html) based frontend. +This way the React components have their relevant GraphQL snippet, defining what data they request or mutate from the "backend for frontend", directly coupled. +That makes it transparent what data is available. Apollo takes care of sending an aggregated GraphQL query to the backend. + +The framework [Flamingo offers support for GraphQL](https://docs.flamingo.me/3.%20Flamingo%20Modules/graphql.html) and also Flamingo Commerce offers a full featured GraphQL API for e-commerce features. ([Example GraphQL Console for Commerce](https://demoshop.flamingo.me/en/graphql-console)) \ No newline at end of file From 7424d0bf43e982567f8f8d04941e6fe567707bd7 Mon Sep 17 00:00:00 2001 From: Bastian Ike Date: Fri, 20 Dec 2019 14:23:33 +0100 Subject: [PATCH 42/62] update storybook --- radar/2019-11-01/storybook.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/radar/2019-11-01/storybook.md b/radar/2019-11-01/storybook.md index 684560d..0e34e17 100644 --- a/radar/2019-11-01/storybook.md +++ b/radar/2019-11-01/storybook.md @@ -4,4 +4,5 @@ ring: assess quadrant: tools --- -[Storybook](https://storybook.js.org/) \ No newline at end of file +[Storybook](https://storybook.js.org/) is a user interface development environment and playground for UI components. The tool enables developers to create components independently and showcase components interactively in an isolated development environment. +Storybook runs outside of the main app so users can develop UI components in isolation without worrying about app specific dependencies and requirements. From c45d54197b08ce22ca00c53a2c133e5f2fed1d0d Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 14:27:37 +0100 Subject: [PATCH 43/62] Update Next.js --- radar/2019-11-01/next-js.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 radar/2019-11-01/next-js.md diff --git a/radar/2019-11-01/next-js.md b/radar/2019-11-01/next-js.md new file mode 100644 index 0000000..418e75d --- /dev/null +++ b/radar/2019-11-01/next-js.md @@ -0,0 +1,8 @@ +--- +title: "Next.js" +ring: trial +quadrant: languages-and-frameworks + +--- + +[Next.js](https://nextjs.org/) is a JavaScript and React based framework which makes use of server side rendering. \ No newline at end of file From 61f59134af3866ed6ce5dce27dca3da473a0f3ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 14:29:15 +0100 Subject: [PATCH 44/62] add plantuml --- radar/2019-11-01/plant-uml.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 radar/2019-11-01/plant-uml.md diff --git a/radar/2019-11-01/plant-uml.md b/radar/2019-11-01/plant-uml.md new file mode 100644 index 0000000..6029bf8 --- /dev/null +++ b/radar/2019-11-01/plant-uml.md @@ -0,0 +1,12 @@ +--- +title: "Plant UML" +ring: trial +quadrant: tools + +--- + +[PlantUML](https://plantuml.com/) is an open source project that allows to create UML diagrams in a declarative way. + +Since it is integrated in tools like Confluence we use it a lot to quickly document results of software design sessions. + +Another similar tools that use just plain javascript to render the diagrams is [mermaid](https://mermaid-js.github.io/mermaid/#/) \ No newline at end of file From 6f99232d4c10a17caff0a0e71d9e5748625076fe Mon Sep 17 00:00:00 2001 From: Bastian Ike Date: Fri, 20 Dec 2019 14:30:45 +0100 Subject: [PATCH 45/62] add distributed tracing --- radar/2019-11-01/distributed-tracing.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 radar/2019-11-01/distributed-tracing.md diff --git a/radar/2019-11-01/distributed-tracing.md b/radar/2019-11-01/distributed-tracing.md new file mode 100644 index 0000000..34b03fd --- /dev/null +++ b/radar/2019-11-01/distributed-tracing.md @@ -0,0 +1,11 @@ +--- +title: "Distributed Tracing" +ring: trial +quadrant: methods-and-patterns + +--- + +Distributed Tracing creates visibility over processes spanning multiple applications. +In a microservice world where a request or operation involves multiple applications it is helpful to have an overview of what system is involved, at what point. +Also visibility of communicated data and errors helps to quickly identify issues in a microservice environment. +Our tool of choice is [Jaeger](https://www.jaegertracing.io/) with [B3 Propagation](https://github.com/openzipkin/b3-propagation). From 8924dd8177b11c99482bb6818d4e33717d9f4c91 Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 14:32:42 +0100 Subject: [PATCH 46/62] Update Vuex --- radar/2019-11-01/vuex.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radar/2019-11-01/vuex.md b/radar/2019-11-01/vuex.md index 9b2a688..87a0182 100644 --- a/radar/2019-11-01/vuex.md +++ b/radar/2019-11-01/vuex.md @@ -4,4 +4,4 @@ ring: assess quadrant: languages-and-frameworks --- -[Vuex](https://vuex.vuejs.org/) \ No newline at end of file +[Vuex](https://vuex.vuejs.org/) is a state management pattern + library for Vue.js applications. \ No newline at end of file From e724f2bcf48494290725b16832c2ce3ea7d1af7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 14:34:29 +0100 Subject: [PATCH 47/62] add NOSQL --- radar/2019-11-01/nosql.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 radar/2019-11-01/nosql.md diff --git a/radar/2019-11-01/nosql.md b/radar/2019-11-01/nosql.md new file mode 100644 index 0000000..bf33128 --- /dev/null +++ b/radar/2019-11-01/nosql.md @@ -0,0 +1,9 @@ +--- +title: "NoSQL" +ring: trial +quadrant: methods-and-patterns +featured: false +--- + +NoSQL technologies are established solutions that allows for scaling and handling big datasets. +We use Technologies like Redis, Elasticsearch and Neo4J but there are many others that are powering the NoSQL space. \ No newline at end of file From 9ad54a1f22bc6e10e2b61c2f6523f2810794acb7 Mon Sep 17 00:00:00 2001 From: Bastian Ike Date: Fri, 20 Dec 2019 14:36:22 +0100 Subject: [PATCH 48/62] update terraform --- radar/2019-11-01/terraform.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/radar/2019-11-01/terraform.md b/radar/2019-11-01/terraform.md index 1f231e5..af73061 100644 --- a/radar/2019-11-01/terraform.md +++ b/radar/2019-11-01/terraform.md @@ -4,3 +4,6 @@ ring: adopt quadrant: platforms-and-aoe-services --- +[Terraform](https://www.terraform.io/) is a tool to manage and provision infrastructure as code. + +Here at AOE we use terraform in multiple teams to provision infrastructure and manage their lifecycle on cloud platforms such as AWS and for platforms such as Kubernetes. From 48540618b0c71ddf48acd014e5fc5223a043c6b5 Mon Sep 17 00:00:00 2001 From: Bastian Ike Date: Fri, 20 Dec 2019 14:38:31 +0100 Subject: [PATCH 49/62] finish gitflow --- radar/2019-11-01/gitflow.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/radar/2019-11-01/gitflow.md b/radar/2019-11-01/gitflow.md index 05f3204..cc77899 100644 --- a/radar/2019-11-01/gitflow.md +++ b/radar/2019-11-01/gitflow.md @@ -6,13 +6,9 @@ quadrant: methods-and-patterns --- Ever since there are recurring discussions about the version control strategy that a team should use. - - We have also made the experience when new teams start off with using blocking or long lived feature branches (merge late once all review comments are done) it has a negative impact on team performance. -We recommend to use trunk based development with short lived (<1day) feature branches, -because this has shown to support continuous integration and team collaboration the best. - +We recommend to use trunk based development with short lived (<1day) feature branches, because this has shown to support continuous integration and team collaboration the best. However we do accept teams choices to use GitFlow, we just do not try to encourage them in the first place. See also: * trunk based development https://trunkbaseddevelopment.com/ From 6f9acbfe53990089a14aa5dd483df972a78a8598 Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 14:39:12 +0100 Subject: [PATCH 50/62] Update Flux --- radar/2019-11-01/flux.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/radar/2019-11-01/flux.md b/radar/2019-11-01/flux.md index 723763e..04f3fad 100644 --- a/radar/2019-11-01/flux.md +++ b/radar/2019-11-01/flux.md @@ -4,4 +4,6 @@ ring: assess quadrant: methods-and-patterns --- -[Flux](https://facebook.github.io/flux/) \ No newline at end of file +[Flux](https://facebook.github.io/flux/) is an application architecture for building client-side web applications, +which is based on React's composable view components. + From d4e1bc2529b76dfc5a0fc5ffa1278090d8fd6733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 14:42:05 +0100 Subject: [PATCH 51/62] add postgres --- radar/2019-11-01/postgres.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 radar/2019-11-01/postgres.md diff --git a/radar/2019-11-01/postgres.md b/radar/2019-11-01/postgres.md new file mode 100644 index 0000000..8f381cf --- /dev/null +++ b/radar/2019-11-01/postgres.md @@ -0,0 +1,9 @@ +--- +title: "PostgreSQL" +ring: adopt +quadrant: tools +featured: false +--- + +[PostgreSQL](https://www.postgresql.org/) is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. + From 7528dd44b942f60ee864e25c2f5da418e3e9534b Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 14:46:02 +0100 Subject: [PATCH 52/62] Update Flow --- radar/2019-11-01/flowtype.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/radar/2019-11-01/flowtype.md b/radar/2019-11-01/flowtype.md index 577493e..a7795c8 100644 --- a/radar/2019-11-01/flowtype.md +++ b/radar/2019-11-01/flowtype.md @@ -4,4 +4,5 @@ ring: assess quadrant: tools --- -[Flow](https://flow.org/) \ No newline at end of file +[Flow](https://flow.org/) is a static type checker for JavaScript code. It's goal is to make code faster, smarter, +more confidently, and to a bigger scale. \ No newline at end of file From 04c977e2fd8a18d9e12979d8f5149bdb88dda7d2 Mon Sep 17 00:00:00 2001 From: Carsten Lenz Date: Fri, 20 Dec 2019 14:46:29 +0100 Subject: [PATCH 53/62] More description for plant-uml --- radar/2019-11-01/plant-uml.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radar/2019-11-01/plant-uml.md b/radar/2019-11-01/plant-uml.md index 6029bf8..b65f907 100644 --- a/radar/2019-11-01/plant-uml.md +++ b/radar/2019-11-01/plant-uml.md @@ -5,8 +5,8 @@ quadrant: tools --- -[PlantUML](https://plantuml.com/) is an open source project that allows to create UML diagrams in a declarative way. +[PlantUML](https://plantuml.com/) is an open source project that allows to create UML diagrams in a text-based and declarative way. -Since it is integrated in tools like Confluence we use it a lot to quickly document results of software design sessions. +Since it is integrated in tools like Confluence, IntelliJ and Gitlab we use it a lot to quickly document results of software design sessions. Another similar tools that use just plain javascript to render the diagrams is [mermaid](https://mermaid-js.github.io/mermaid/#/) \ No newline at end of file From 9616ca62b6a5e95a5181df4b6024139869c866eb Mon Sep 17 00:00:00 2001 From: Carsten Lenz Date: Fri, 20 Dec 2019 14:50:39 +0100 Subject: [PATCH 54/62] Add to open-api description --- radar/2019-11-01/open-api.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/radar/2019-11-01/open-api.md b/radar/2019-11-01/open-api.md index c9a9dc6..b513a5a 100644 --- a/radar/2019-11-01/open-api.md +++ b/radar/2019-11-01/open-api.md @@ -5,8 +5,7 @@ quadrant: tools --- -RAML and Swagger have been merged to OpenAPI. -The OpenAPI Specification is becoming a broadly adopted industry standard for describing modern APIs. +The OpenAPI Specification is becoming a broadly adopted industry standard for describing modern REST APIs. Other initiatives like RAML have [joined](https://blogs.mulesoft.com/dev/api-dev/open-api-raml-better-together/) the OpenAPI Initiative. OpenAPI v2 version is basically the former Swagger - and Swagger provides useful tools for OpenAPI like the online editor and viewer http://editor.swagger.io/ We have also found that this version currently have a good tool support accross languages, so you will find API client and server generation tools for a lot of languages, which makes it quite easy to connect to an API that is described in OpenAPI standard. From f907aa0a7e9e7da304fbee483c92a0a81b25b030 Mon Sep 17 00:00:00 2001 From: Timo Fuchs Date: Fri, 20 Dec 2019 14:51:43 +0100 Subject: [PATCH 55/62] Update Cockpit --- radar/2019-11-01/cockpit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radar/2019-11-01/cockpit.md b/radar/2019-11-01/cockpit.md index 8edcd38..3432e12 100644 --- a/radar/2019-11-01/cockpit.md +++ b/radar/2019-11-01/cockpit.md @@ -4,4 +4,4 @@ ring: assess quadrant: tools --- -[Cockpit](https://getcockpit.com/) \ No newline at end of file +[Cockpit](https://getcockpit.com/) is a self-hosted headless and api-driven content management system. \ No newline at end of file From 04f13cc06fc357edfd2bfa1c035d58d0189b31c1 Mon Sep 17 00:00:00 2001 From: Bastian Ike Date: Fri, 20 Dec 2019 14:53:23 +0100 Subject: [PATCH 56/62] add jaeger --- radar/2019-11-01/distributed-tracing.md | 4 ++-- radar/2019-11-01/jaeger.md | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 radar/2019-11-01/jaeger.md diff --git a/radar/2019-11-01/distributed-tracing.md b/radar/2019-11-01/distributed-tracing.md index 34b03fd..584fc1a 100644 --- a/radar/2019-11-01/distributed-tracing.md +++ b/radar/2019-11-01/distributed-tracing.md @@ -1,11 +1,11 @@ --- title: "Distributed Tracing" ring: trial -quadrant: methods-and-patterns +quadrant: platforms-and-aoe-services --- Distributed Tracing creates visibility over processes spanning multiple applications. In a microservice world where a request or operation involves multiple applications it is helpful to have an overview of what system is involved, at what point. Also visibility of communicated data and errors helps to quickly identify issues in a microservice environment. -Our tool of choice is [Jaeger](https://www.jaegertracing.io/) with [B3 Propagation](https://github.com/openzipkin/b3-propagation). +Our tool of choice is [Jaeger](/platforms-and-aoe-services/jaeger.html) with [B3 Propagation](https://github.com/openzipkin/b3-propagation). diff --git a/radar/2019-11-01/jaeger.md b/radar/2019-11-01/jaeger.md new file mode 100644 index 0000000..27fd107 --- /dev/null +++ b/radar/2019-11-01/jaeger.md @@ -0,0 +1,11 @@ +--- +title: "Jaeger" +ring: trial +quadrant: platforms-and-aoe-services + +--- + +[Jaeger](https://www.jaegertracing.io/) is a tool for [Distributed Tracing](/platforms-and-aoe-services/distributed-tracing.html). Developed at Uber and inspired by Dapper and OpenZipkin it grew into an [Cloud Native Computing Foundation](https://www.cncf.io/) project. + +Jaeger is a great tool for troubleshooting distributed systems, such as microservice architectures. Developers and Operation can quickly see communicaiton between services, and what data is communicated where. +Errors in services can be traced to the originating system. Global trace identifiers are communicated using B3 headers. Jaeger supports Zipkin, which allows easy migration von OpenZipkin & co. From e543f7b424b8a52d974282bc6144f6920269e6d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 14:51:27 +0100 Subject: [PATCH 57/62] fade out --- radar/2019-11-01/postman.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radar/2019-11-01/postman.md b/radar/2019-11-01/postman.md index bedf935..bbf294f 100644 --- a/radar/2019-11-01/postman.md +++ b/radar/2019-11-01/postman.md @@ -2,7 +2,7 @@ title: "Postman" ring: trial quadrant: tools - +featured: false --- [Postman](https://www.getpostman.com/) is an API testing and documentation tool. Requests can be bundled into folders and easily be configured to be executed against multiple environments. Responses can be evaluated using the "test" feature. From bd6727e9cda82f9a0e3f29621650f16c2638c9b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 14:56:00 +0100 Subject: [PATCH 58/62] move stuff to new cluster --- radar/2019-11-01/aoe-sso.md | 2 +- radar/2019-11-01/infrastructure-as-code.md | 6 ++++++ radar/2019-11-01/self-service-infrastructure.md | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 radar/2019-11-01/infrastructure-as-code.md diff --git a/radar/2019-11-01/aoe-sso.md b/radar/2019-11-01/aoe-sso.md index 7ad2781..a9175d3 100644 --- a/radar/2019-11-01/aoe-sso.md +++ b/radar/2019-11-01/aoe-sso.md @@ -5,5 +5,5 @@ quadrant: platforms-and-aoe-services --- To improve security and user experience we decided to install an organisation wide SSO and use OpenID Connect integrate with existing tools. -We use Keyclok as the SSO server, which is backed by our LDAP. +We use [Keycloak](/tools/keycloak.html) as the SSO server, which is backed by our LDAP. This also helps to implement new infrastructure security based on ["BeyondCorp"](/methods-and-patterns/beyondcorp.html). diff --git a/radar/2019-11-01/infrastructure-as-code.md b/radar/2019-11-01/infrastructure-as-code.md new file mode 100644 index 0000000..79d70eb --- /dev/null +++ b/radar/2019-11-01/infrastructure-as-code.md @@ -0,0 +1,6 @@ +--- +title: "Infrastructure as Code" +ring: adopt +quadrant: platforms-and-aoe-services + +--- diff --git a/radar/2019-11-01/self-service-infrastructure.md b/radar/2019-11-01/self-service-infrastructure.md index f86f9a5..a2052fc 100644 --- a/radar/2019-11-01/self-service-infrastructure.md +++ b/radar/2019-11-01/self-service-infrastructure.md @@ -1,7 +1,7 @@ --- title: "Self-service infrastructure" ring: trial -quadrant: methods-and-patterns +quadrant: platforms-and-aoe-services --- From 6313dcaf54a053bc574906a88dcd659ee68b6c72 Mon Sep 17 00:00:00 2001 From: Carsten Lenz Date: Fri, 20 Dec 2019 14:57:52 +0100 Subject: [PATCH 59/62] Add to RAML-on-hold --- radar/2019-11-01/raml.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radar/2019-11-01/raml.md b/radar/2019-11-01/raml.md index 192ea92..62476b4 100644 --- a/radar/2019-11-01/raml.md +++ b/radar/2019-11-01/raml.md @@ -5,6 +5,6 @@ quadrant: languages-and-frameworks --- -Since the RAML ecosystem lacks further development and additional tools, we decided to not stick with it anymore. +Since the RAML project has decided to [join](https://blogs.mulesoft.com/dev/api-dev/open-api-raml-better-together/) the OpenAPI initiative and the RAML ecosystem lacks further development and additional tools, we decided to use and recommend using ["OpenAPI specififcation (OAS)"](/tools/open-api.html) as description standard instead. -Consider using ["OpenAPI"](/tools/open-api.html) instead. \ No newline at end of file +RAML still provides advantages in modeling an API through it's more expressive modeling language and can produce OAS \ No newline at end of file From 122e9c046fa7f56e2c00508d0ee6885c9d861fa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 15:00:41 +0100 Subject: [PATCH 60/62] add packer --- radar/2019-11-01/packer.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 radar/2019-11-01/packer.md diff --git a/radar/2019-11-01/packer.md b/radar/2019-11-01/packer.md new file mode 100644 index 0000000..52811d8 --- /dev/null +++ b/radar/2019-11-01/packer.md @@ -0,0 +1,10 @@ +--- +title: "Packer" +ring: adopt +quadrant: platforms-and-aoe-services + +--- + +Machine images are important for modern deployment pipelines and fast ramp of of new infrastructure. + +We are using [Packer](https://www.packer.io/intro/getting-started/build-image.html) to build so called "Golden images" that are used in our [Infrastructure as Code](/methods-and-patterns/infrastructure-as-code.html) based provisionings. From 3d4519310ed9833bcb1e51875c516c6400fa636c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=C3=B6tzinger?= Date: Fri, 20 Dec 2019 15:04:40 +0100 Subject: [PATCH 61/62] update camel --- radar/2019-11-01/apache-camel.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radar/2019-11-01/apache-camel.md b/radar/2019-11-01/apache-camel.md index 4fa44c8..037c8c4 100644 --- a/radar/2019-11-01/apache-camel.md +++ b/radar/2019-11-01/apache-camel.md @@ -1,8 +1,8 @@ --- title: "Apache Camel" ring: adopt -quadrant: tools - +quadrant: trial +featured: false --- ["Camel"](https://camel.apache.org/) is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. From 8cf885c409c7a0b5bc93888eb47c1b27b36da01c Mon Sep 17 00:00:00 2001 From: Bastian Ike Date: Fri, 20 Dec 2019 15:07:04 +0100 Subject: [PATCH 62/62] fix camel --- radar/2019-11-01/apache-camel.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radar/2019-11-01/apache-camel.md b/radar/2019-11-01/apache-camel.md index 037c8c4..9b788f9 100644 --- a/radar/2019-11-01/apache-camel.md +++ b/radar/2019-11-01/apache-camel.md @@ -1,7 +1,7 @@ --- title: "Apache Camel" -ring: adopt -quadrant: trial +ring: trial +quadrant: languages-and-frameworks featured: false ---