fade out items and adjust description of updated items

This commit is contained in:
Daniel Pötzinger
2018-05-09 11:46:06 +02:00
parent ab121fae6d
commit eb27cbfdef
23 changed files with 52 additions and 78 deletions

View File

@@ -6,4 +6,4 @@ quadrant: platforms-and-aoe-services
--- ---
Elasticsearch is a REST-based search and analytics engine based on Lucene. Unlike its competitor Apache Solr, it was developed in the beginning with clustering and scaling in mind. It allows you to create complex queries while still delivering results very fast. Elasticsearch is a REST-based search and analytics engine based on Lucene. Unlike its competitor Apache Solr, it was developed in the beginning with clustering and scaling in mind. It allows you to create complex queries while still delivering results very fast.
At AOE, we use Elasticsearch for logging as well as our own search solution [Searchperience](http://www.searchperience.com/). We recently moved the Searchperience stack from Solr to Elasticsearch and think this was the right decision. Especially in terms of scaling, ease of use and performance, Elasticsearch really shines. Also, the API design took some of the learnings from Apache SOLR into account - for example, the queryDSL is a powerful way of describing different search use cases with highly flexible support of aggregations, etc. At AOE, we use Elasticsearch for logging as well as our own search solution [Searchperience®](http://www.searchperience.com/). We recently moved the Searchperience stack from Solr to Elasticsearch and think this was the right decision. Especially in terms of scaling, ease of use and performance, Elasticsearch really shines. Also, the API design took some of the learnings from Apache SOLR into account - for example, the queryDSL is a powerful way of describing different search use cases with highly flexible support of aggregations, etc.

View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -4,6 +4,7 @@ ring: adopt
quadrant: platforms-and-aoe-services quadrant: platforms-and-aoe-services
--- ---
Elasticsearch is a REST-based search and analytics engine based on Lucene. Unlike its competitor Apache Solr, it was developed in the beginning with clustering and scaling in mind. It allows you to create complex queries while still delivering results very fast. We are continue using Elasticsearch in the [Searchperience®] with success and benefited from the aggregation features for related use cases like rendering category trees.
Also we use Elasticsearch for some Microservices as Persistence solution.
At AOE, we use Elasticsearch for logging as well as our own search solution [Searchperience](http://www.searchperience.com/). We recently moved the Searchperience stack from Solr to Elasticsearch and think this was the right decision. Especially in terms of scaling, ease of use and performance, Elasticsearch really shines. Also, the API design took some of the learnings from Apache SOLR into account - for example, the queryDSL is a powerful way of describing different search use cases with highly flexible support of aggregations, etc. That is why we updated it to "adopt".

3
radar/2017-10-01/flow.md Normal file
View File

@@ -0,0 +1,3 @@
---
featured: false
---

3
radar/2017-10-01/gulp.md Normal file
View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -4,15 +4,3 @@ ring: adopt
quadrant: tools quadrant: tools
--- ---
[Jest](https://facebook.github.io/jest/) is a javascript testing framework by facebook to test javascript code **and** react applications / components.
We started using Jest (and [watchmen](https://github.com/facebook/watchman)) instead of Karma because it:
- gives us integrated mocking library
- gives us integrated support for testing "promises"
- gives us integrated code coverage report
- automatically runs tests related to changed files (instead of all tests)
- gives us parallel test execution
- gives us snapshot testing for react components
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.

View File

@@ -5,6 +5,9 @@ quadrant: platforms-and-aoe-services
--- ---
Kubernetes is a container orchestration platform, which supports many different infrastructure providers. It allows you to deploy containers and takes care of running, scaling or self-healing your applications based on configurations you provide. It's based on years of knowledge and experience Google gained by using containers. Kubernetes has developed to the quasi standard for container orchestration: Nearly every cloud provider provides managed Kubernetes and even Docker Enterprise uses Kubernetes.
We are running several production systems with Kubernetes and we are using it concepts like:
At AOE, we started Kubernetes in a test environment on bare metal to experiment with it. It's currently used for running AOE internal apps such as dashboards as well as running builds in containers. We also started to use it for upcoming projects to run and manage several services. There are Tools to automate the setup of kubernetes in AWS like [Cops](https://kubernetes.io/docs/getting-started-guides/kops/). Another helpful tool is [Minikube](https://github.com/kubernetes/minikube), which allows to test and run kubernetes locally. * "secrets" and "configmaps" to manage configurations for the applications. By updating this ressources with an automated configuration pipeline you have a great way for configuration management.
* Autoscaling of Kubernetes nodes and the usage of "horizontal pod scaling" inside Kubernetes allows elastic scaling
* The support of managing permissions with OAuth allows to secure Kubernetes with [Keycloak](/tools/keycloak.html) (SSO)
* Kubernetes extensibility and API can be used to automate and customize it to your needs

View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -9,4 +9,4 @@ We still stick to the microservices concept. But it's worth to mention, that we
came to resilient thinking and deployment related dependencies between microservices. came to resilient thinking and deployment related dependencies between microservices.
We feel that our microservice based applications are more robust than monolithic ones have been. Thanks to the We feel that our microservice based applications are more robust than monolithic ones have been. Thanks to the
complexity of the services, new employees or team members are getting productive within days or a few weeks. split of the overall complexity into multiple services, new employees or team members are getting productive within days or a few weeks.

View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -0,0 +1,3 @@
---
featured: false
---

3
radar/2017-10-01/phan.md Normal file
View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -5,8 +5,6 @@ quadrant: methods-and-patterns
--- ---
Continuous Integration and Delivery is a critical part of our development and deployment process at AOE. Using Jenkins for many years the "instructions" how to build, test and deploy applications were scattered between many custom scripts and the pipeline was often maintained by manual maintenance of Jenkins jobs. Soon, we realized that we need a more native way to express the full CI/CD pipeline process in code and manage it in version control. 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.
Being an important part of each project, the pipeline configuration should be managed as code and rolled out automatically - this also allows us to manage the pipeline itself applying the same standards that apply to application code. For Jenkins we often use a mix of Job DSL and Jenkins Pipelines and recently also Gitlab Pipelines.
While some teams started using Jenkins' [JobDSL plugin,](https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin) others explored the new [Jenkins Pipeline](https://jenkins.io/doc/book/pipeline/) - in both ways, the build artifacts should be published to an artifact repository such as [Artifactory.](/platforms-and-aoe-services/artifactory.html)

View File

@@ -5,18 +5,4 @@ quadrant: platforms-and-aoe-services
--- ---
Puppet Puppet Environments has proven to work good for our projects using puppet.
------
Puppet is an Open Source configuration management tool. It is used by a wide range of different companies world-wide, e.g. the Wikimedia Foundation, Mozilla, Reddit, CERN, Dell, Rackspace, Twitter, the New York Stock Exchange, PayPal, Disney, Citrix Systems, Spotify, Oracle, the University of California Los Angeles, the University of North Texas, QVC, Intel, Google and others.
Puppet has been the basic tool to address Continuous Configuration Automation (CCA) in AOE's [Infrastructure as Code](/methods-and-patterns/infrastructure-as-code.html) strategy (IaC) for more than 4 years.
Puppet Environments
-------------------
Intended to give projects the means to develop and maintain their own infrastructure, separated and not influenced by other projects, Puppet environments, together with Puppet module versioning and ENC, have been introduced.\
Puppet Environments are rated "Trial". It supports our strategy of Infrastructure as Code (IaC) and links it to our DevOps approach, enabling project teams to set up and customize their own infrastructure. 
Teams that want to use the Puppet Environments service from the AOE IT Team will find detailed information about the implemented CI/CD process for this.

View File

@@ -1,14 +0,0 @@
---
title: "Redux"
ring: trial
quadrant: languages-and-frameworks
---
[Redux](http://redux.js.org/) helps us to maintain state in our frontend applications in a more predictable and clearer way. It is extendable though middleware, it has a great documentation and some awesome [devtools](https://github.com/gaearon/redux-devtools) that are especially helpful when you are new to Redux.
The functional concepts for updating the state, combined with immutable data, lead to extremely easy and enjoyable [unit tests](http://redux.js.org/docs/recipes/WritingTests.html) - this is maybe the biggest plus for us developers.
The official [react-redux bindings](https://github.com/reactjs/react-redux) also made it straightforward to weave Redux into our React applications. For asynchronous actions we use [redux-sagas](https://redux-saga.github.io/redux-saga/) which has proven itself as a better alternative for [redux-thunk](https://github.com/gaearon/redux-thunk).
Currently, we use Redux only in our React projects, but we are evaluating it together with other frameworks such as Angular or Vue.js, as well.

View File

@@ -6,11 +6,3 @@ quadrant: languages-and-frameworks
--- ---
Scala is used in many projects here at AOE and therefore we moved it into the adopt level. Scala is used in many projects here at AOE and therefore we moved it into the adopt level.
Besides Java, Scala is the most mature language on the Java Virtual Machine. Its unique blend of object-oriented and functional language features and rich type system with advanced type inference enables one to write concise code.
It is fully interoperable with Java but has a big ecosystem of tools and frameworks on its own.
Scala provides one of the best high-level concurrency- and async features on the language level as well as on the framework level, making it the default choice of twitter and the like.
At AOE, we already use Scala in various projects to create scalable backend systems (Play, Akka) or for batch processing (Spark).

View File

@@ -0,0 +1,3 @@
---
featured: false
---

View File

@@ -3,14 +3,4 @@ title: "Styleguide Driven Development"
ring: adopt ring: adopt
quadrant: methods-and-patterns quadrant: methods-and-patterns
--- ---
The goal of Styleguide Driven Development is to develop your application user Interface independently and reusable in a Pattern Library.
In the old days, the frontend was developed based on page-centric Photoshop files which made it hard to change things afterwards.
With styleguide driven development you build smaller elements, which are reusable in all of your frontends.
You can start developing your UI components (HTML/CSS/JavaScript) very early in the production phase without having to wait for a ready-to-use development system.
Designers and Testers can give feedback early and you can share the documentation and code with external teams.
Also Developers can suggest to reuse a component for new layouts so that the Designer does not have to build a new Variant of an existing component.
At AOE, we use [Hologram](https://trulia.github.io/hologram/) to build a living documentation right from the source files. Whenever a new UI Element is needed, a developer starts building it in the styleguide -- not in the actual application code. By writing the code for the new component, the documentation for it is created instantly. Any other developer can easily see which elements exist and how it can be used in the code.

View File

@@ -3,10 +3,4 @@ title: "Vue.js"
ring: trial ring: trial
quadrant: languages-and-frameworks quadrant: languages-and-frameworks
--- ---
Vue is a progressive, incrementally adoptable framework for building user interfaces maintained by Evan You. Unlike [other monolithic frameworks](http://vuejs.org/v2/guide/comparison.html), the core library is focused on the view layer only and is very easy to pick up and integrate with other libraries or existing projects. Vue is also perfectly capable of powering sophisticated single-page applications when used in combination with modern tooling and supporting libraries such as [vuex](https://vuex.vuejs.org/en/) and [vue-router](http://router.vuejs.org/en/).
Vue uses an HTML-based template syntax that allows you to declaratively bind the rendered DOM to the underlying Vue instances data. Under the hood, Vue compiles the templates into Virtual DOM render functions. Combined with the [reactivity system](http://vuejs.org/v2/guide/reactivity.html) Vue is able to intelligently figure out the minimal amount of components to re-render and apply the minimal amount of DOM manipulations when the app state changes, which provides for very high performance.
Applications can be split into [Single File Components](http://vuejs.org/v2/guide/single-file-components.html) - a single file containing the template (HTML), style (CSS) and functionality (JS) - which simplifies maintainability and testability of the code and promotes reusability across other projects.

View File

@@ -0,0 +1,3 @@
---
featured: false
---