MAKING YOUR ELASTIC CLUSTER PERFORM
Created by @jettroCoenradie
WHY USE ELASTICSEARCH
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
START WITH ELASTICSEARCH
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
 
curl 'localhost:9200?pretty'
 
{
"name" : "Tatterdemalion",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.3.1",
"build_hash" : "bd980929010aef404e7cb0843e61d0665269fc39",
"build_timestamp" : "2016-04-04T12:25:05Z",
"build_snapshot" : false,
"lucene_version" : "5.5.0"
},
"tagline" : "You Know, for Search"
}
 
 
curl -XPOST 'localhost:9200/conferences/conference/1?pretty' -d '
{
"name": "Codemotion Amsterdam",
"location": "Kromhouthal"
}'
THAT WAS EASY!
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
DESIGN YOUR CLUSTER
How to install and configure?
How many nodes?
What hardware?
INSTALLATION
Just download, unzip and run
Use package manager: yum, apt
Use ansible, chef or puppet
CONFIGURATION
/etc/defaults/elasticsearch
/etc/elasticsearch/elasticsearch.yml
/ETC/DEFAULTS/ELASTICSEARCH
 
# Heap size defaults to 256m min, 1g max
# Set ES_HEAP_SIZE to 50% of available RAM, but no more than 31g
ES_HEAP_SIZE=2g
/ETC/ELASTICSEARCH/ELASTICSEARCH.YML
 
cluster.name: playground
node.name: node-1
discovery.zen.ping.unicast.hosts: ["node-1", "node-2", "node-3"]
discovery.zen.minimum_master_nodes: 2
path.repo: /opt/es_snapshots/
script.inline: true
How many nodes do I need?
Development / non-critical
Small production
Large production
What hardware do I need?
HARDWARE
Prefer cores over clock speed
Choose between 8-64Gb
Prefer SSD
DESIGN YOUR INDICES
How many shards?
How many replicas?
Time based indices?
What does an index look like?
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
How many shards do I need?
Amount of docs or terms
Indexing speeds
Not bigger than than 50Gb
Why not a lot of shards?
Start small and test
How many replicas do I need?
Should I use Types?
Should I use Aliases?
Working with time based indices?
Option to change shards per time period
Use index templates
DESIGN YOUR MAPPING
Do I need a mapping?
What do analyzers do?
Do I need an analyzer?
The default uses dynamic type mapping
Make your mapping explicit: Date, Geo_point, long
disable dynamic type mapping
 
PUT /_settings
{
"index.mapper.dynamic":false
}
A mapping is persistent, can only add new things.
Use multi field mapping: name
PUT /conferences
{
"mappings": {
"conference": {
"properties": {
"name": {
"type": "string",
"analyzer": "standard",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}}}}
An analyzer creates terms out of data
Has three components:
Character filter - replace & with and
Tokenizer - on whitespace, regexp, ngrams
Filters - ascii folding, language specific, lowercase, stop words
CHOOSE THE RIGHT ANALYZER FOR THE JOB
Custom using tokenizer and filters combinations
Use the multi field approach for special analyzers.
Do not analyze if you don't need it.
INDEXING DOCUMENTS
How to improve indexing performance?
What happens when we index a document?
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
TIPS
DISABLE OR DECREASE REFRESH RATE
curl -XGET 'http://localhost:9200/meetups/_settings' -d '{
"index" : {
"refresh_interval" : "-1"
} }'
INDEX WITHOUT REPLICAS
curl -XGET 'http://localhost:9200/meetups/_settings' -d '{
"index" : {
"number_of_replicas" : 0
} }'
USE BULK
Bulk request should be between 5-15Mb max
Round robin requests over nodes
QUERYING DOCUMENTS
How to make queries faster?
curl -XGET 'http://localhost:9200/_search'
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
curl -XGET 'http://localhost:9200/meetups/_search?
q=venue.city:amsterdam%20AND%20description:elasticsearch
&pretty'
curl -XGET "http://localhost:9200/meetups/_search" -d'
{
"query": {
"bool": {
"must": [
{
"match": {
"venue.city": "amsterdam"
}
},
{
"match": {
"description": "elasticsearch"
}
}
]
}}}'
How to make a query Faster?
curl -XGET "http://localhost:9200/meetups/_search" -d'
{
"query": {
"bool": {
"must": [
{
"match": {
"description": "elasticsearch"
}
}
],
"filter": {
"term": {
"venue.city.raw": "Amsterdam"
}
}
}}}'
Query context Filter context
How well does it match? Does it match?
Calculates score true/false
Not-cacheable Cacheable
Use filter context if you do not need a score
Don't ask for hits if you do not use them
Request only the fields that you need
curl -XGET "http://localhost:9200/meetups/_search" -d'
{
"_source": {
"include": ["venue.*", "group.name", "name"]
},
"query": {
"simple_query_string": {
"query": "elastic OR elasticsearch"
}
}
}'
Profile api to learn about the performance
"profile": true
ANALYTICS FROM DOCUMENTS
Why use not_analyzed fields?
Aggregations, maybe the reason why elasticsearch became so popular
curl -XGET "http://localhost:9200/meetups/_search" -d'
{
"size": 0,
"aggs": {
"byCity": {
"terms": {
"field": "venue.city.raw",
"size": 10
}
}
}
}'
"buckets": [
{
"key": "Amsterdam",
"doc_count": 8
},
{
"key": "Ede",
"doc_count": 1
},
{
"key": "Leidschendam",
"doc_count": 1
},
{
"key": "Rotterdam",
"doc_count": 1
}
]
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
Inverted index not suitable for aggregations
DOC_VALUES
Stored on disk during indexing
All fields except analyzed strings
FIELDDATA
For analyzed strings
Stored in the heap
MONITORING THE CLUSTER
How can I see what elastic is doing?
What numbers are important?
GET /_cluster/health
{
"cluster_name": "playground",
"status": "yellow",
"timed_out": false,
"number_of_nodes": 1,
"number_of_data_nodes": 1,
"active_primary_shards": 55,
"active_shards": 55,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 16,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 77.46478873239437
}
GET /_cluster/health?level=indices
"indices": {
"conferences": {
"status": "yellow",
"number_of_shards": 5,
"number_of_replicas": 1,
"active_primary_shards": 5,
"active_shards": 5,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 5
}
}
indices - field_data, filter_cache
os - cpu, memory, load
process - file descriptors, cpu, memory
jvm - memory, garbage collection
thread_pool - threads, rejected
fs - disk space
GET /_nodes/stats?human
_CAT API
GET /_cat/health?v
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks ma
1462882362 14:12:42 playground yellow 1 1 56 56 0 0
GET /_cat/indices?v
health status index pri rep docs.count docs.deleted store.size pri.store.size
green open gridshore-logs-2016.01.19 5 0 1007 0 1.2mb
green open .kibana 1 0 100 1 100.2kb
yellow open topbeat-2016.05.04 5 1 170264 0 44.4mb
green open meetups-20160509113909 1 0 11 0 67.3kb
GET /_cat/fielddata?v
id host ip node total
aqj9L-DPR86J8CgYitcHsA 127.0.0.1 127.0.0.1 node-JC 0b
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016
CLUSTER LOGS
How to configure what is logged?
LOGGING
Can be changed dynamically
PUT /_cluster/settings
{
"transient" : {
"logger.discovery" : "DEBUG"
}
}
SLOWLOG
PUT /meetups/_settings
{
"index.search.slowlog.threshold.query.warn" : "10s",
"index.search.slowlog.threshold.fetch.debug": "500ms",
"index.indexing.slowlog.threshold.index.info": "5s"
}
PUT /_cluster/settings
{
"transient" : {
"logger.index.search.slowlog" : "DEBUG",
"logger.index.indexing.slowlog" : "WARN"
}
}
[2016-05-11 16:25:02,105][DEBUG][index.search.slowlog.query]
[meetups-20160509113909]took[518.5micros],took_millis[0],
types[], stats[], search_type[QUERY_AND_FETCH], total_shards[1]
, source[{"size":0,"aggs":{"byCity":{"terms":{"field":
"venue.city.raw","size":10}}}}], extra_source[],
QUESTIONS?
Twitter: @jettroCoenradie
Github: https://github.com/jettro
Blog: https://amsterdam.luminis.eu/news/
Licence: http://creativecommons.org/licenses/by-nc-sa/3.0/

More Related Content

PDF
Higher order infrastructure: from Docker basics to cluster management - Nicol...
PPTX
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
PDF
Terraform: Configuration Management for Cloud Services
PDF
Terraform in action
PPTX
Terraform day02
PDF
Declarative & workflow based infrastructure with Terraform
PDF
Building infrastructure with Terraform (Google)
PDF
Buzzwords 2014 / Overview / part1
Higher order infrastructure: from Docker basics to cluster management - Nicol...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Terraform: Configuration Management for Cloud Services
Terraform in action
Terraform day02
Declarative & workflow based infrastructure with Terraform
Building infrastructure with Terraform (Google)
Buzzwords 2014 / Overview / part1

What's hot (20)

PPTX
To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...
PPT
Real-Time Streaming with Apache Spark Streaming and Apache Storm
PDF
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
PDF
Terraform in deployment pipeline
PPTX
Terraform day03
PPTX
Docker in OpenStack
PPTX
Terraform Modules Restructured
PPTX
Infrastructure as Code: Introduction to Terraform
PDF
Intro to Terraform
PDF
Hashidays London 2017 - Evolving your Infrastructure with Terraform By Nicki ...
PDF
Infrastructure as code with Terraform
PPTX
Big data lambda architecture - Streaming Layer Hands On
PDF
Infrastructure as Code with Terraform
PDF
Terraform introduction
PDF
Terraform Introduction
PDF
Terraform: Cloud Configuration Management (WTC/IPC'16)
PPTX
Terraform Modules and Continuous Deployment
PDF
Using Terraform.io (Human Talks Montpellier, Epitech, 2014/09/09)
PDF
Terraform at Scale - All Day DevOps 2017
PPTX
Comprehensive Terraform Training
To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...
Real-Time Streaming with Apache Spark Streaming and Apache Storm
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
Terraform in deployment pipeline
Terraform day03
Docker in OpenStack
Terraform Modules Restructured
Infrastructure as Code: Introduction to Terraform
Intro to Terraform
Hashidays London 2017 - Evolving your Infrastructure with Terraform By Nicki ...
Infrastructure as code with Terraform
Big data lambda architecture - Streaming Layer Hands On
Infrastructure as Code with Terraform
Terraform introduction
Terraform Introduction
Terraform: Cloud Configuration Management (WTC/IPC'16)
Terraform Modules and Continuous Deployment
Using Terraform.io (Human Talks Montpellier, Epitech, 2014/09/09)
Terraform at Scale - All Day DevOps 2017
Comprehensive Terraform Training
Ad

Viewers also liked (20)

PDF
Microsoft <3 Open Source: Un anno dopo!
PDF
Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016
PDF
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
PDF
Maker Experience: user centered toolkit for makers
PDF
Demistifying the 3D Web
PPTX
Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016
PDF
The rise and fall and rise of Virtual Reality - Adriaan Rijkens - Codemotion...
PDF
Engage and retain users in the mobile world
PDF
Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016
PDF
Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016
PDF
F# for the curly brace developer - Michael Newton - Codemotion Amsterdam 2016
ODP
If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...
PDF
NoSQL on the move
PDF
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
PDF
Customize and control connected devices
PDF
Everything you always wanted to know about highly available distributed datab...
PDF
Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...
PDF
Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016
PPTX
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
PDF
Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...
Microsoft <3 Open Source: Un anno dopo!
Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
Maker Experience: user centered toolkit for makers
Demistifying the 3D Web
Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016
The rise and fall and rise of Virtual Reality - Adriaan Rijkens - Codemotion...
Engage and retain users in the mobile world
Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016
Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016
F# for the curly brace developer - Michael Newton - Codemotion Amsterdam 2016
If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...
NoSQL on the move
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
Customize and control connected devices
Everything you always wanted to know about highly available distributed datab...
Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...
Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...
Ad

Similar to Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016 (20)

PDF
Elasticsearch speed is key
PDF
Elasticsearch Introduction at BigData meetup
PDF
Is your Elastic Cluster Stable and Production Ready?
PDF
Elasticsearch, a distributed search engine with real-time analytics
PPTX
Dev nexus 2017
PDF
Optimizing Elastic for Search at McQueen Solutions
PDF
Introduction to Elasticsearch
PPTX
Elastic search Walkthrough
PPTX
Real time analytics using Hadoop and Elasticsearch
PPTX
About elasticsearch
ODP
Elastic search
PPTX
Elastic pivorak
PPTX
Elasticsearch - Scalability and Multitenancy
PPSX
Elasticsearch - basics and beyond
ODP
Elasticsearch for beginners
PPTX
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
PPTX
Elasticsearch { "Meetup" : "talk" }
PDF
ElasticSearch: Distributed Multitenant NoSQL Datastore and Search Engine
PPTX
Elasticsearch - DevNexus 2015
PDF
Elasticsearch
Elasticsearch speed is key
Elasticsearch Introduction at BigData meetup
Is your Elastic Cluster Stable and Production Ready?
Elasticsearch, a distributed search engine with real-time analytics
Dev nexus 2017
Optimizing Elastic for Search at McQueen Solutions
Introduction to Elasticsearch
Elastic search Walkthrough
Real time analytics using Hadoop and Elasticsearch
About elasticsearch
Elastic search
Elastic pivorak
Elasticsearch - Scalability and Multitenancy
Elasticsearch - basics and beyond
Elasticsearch for beginners
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
Elasticsearch { "Meetup" : "talk" }
ElasticSearch: Distributed Multitenant NoSQL Datastore and Search Engine
Elasticsearch - DevNexus 2015
Elasticsearch

More from Codemotion (20)

PDF
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
PDF
Pompili - From hero to_zero: The FatalNoise neverending story
PPTX
Pastore - Commodore 65 - La storia
PPTX
Pennisi - Essere Richard Altwasser
PPTX
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
PPTX
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
PPTX
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
PPTX
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
PDF
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
PDF
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
PDF
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
PDF
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
PDF
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
PDF
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
PPTX
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
PPTX
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
PDF
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
PDF
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
PDF
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Pompili - From hero to_zero: The FatalNoise neverending story
Pastore - Commodore 65 - La storia
Pennisi - Essere Richard Altwasser
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019

Recently uploaded (20)

PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
Decision Optimization - From Theory to Practice
PDF
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PPTX
Internet of Everything -Basic concepts details
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PDF
Examining Bias in AI Generated News Content.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
Electrocardiogram sequences data analytics and classification using unsupervi...
PDF
CEH Module 2 Footprinting CEH V13, concepts
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
Advancing precision in air quality forecasting through machine learning integ...
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
Connector Corner: Transform Unstructured Documents with Agentic Automation
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Decision Optimization - From Theory to Practice
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Lung cancer patients survival prediction using outlier detection and optimize...
Internet of Everything -Basic concepts details
Auditboard EB SOX Playbook 2023 edition.
4 layer Arch & Reference Arch of IoT.pdf
Rapid Prototyping: A lecture on prototyping techniques for interface design
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Examining Bias in AI Generated News Content.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
Electrocardiogram sequences data analytics and classification using unsupervi...
CEH Module 2 Footprinting CEH V13, concepts
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
Advancing precision in air quality forecasting through machine learning integ...
Build automations faster and more reliably with UiPath ScreenPlay

Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam 2016