SlideShare a Scribd company logo
TICK
THE TIME-SERIES STACK
WELCOME
FIRST THINGS FIRST
WHO ARE WE?
GOLANG MEETUP MILANO
▸ we are gophers
▸ we produce golang-related events
▸ we’re looking for more gophers (I
mean, speaking gophers!)
WHO AM I?
VINCENZO {WILK} FERRARI
▸ early adopter
▸ fullstack developer
▸ software engineer @ ibuildings
▸ open source producer/consumer
IBUILDINGS
WEB & MOBILE APP
DEVELOPMENT
TAG
TALENT GARDEN
GDG
GOOGLE DEVELOPERS
GROUP
TIME SERIES
WHAT ARE TIME SERIES?
TIME SERIES EXPLAINED
▸ A time series is a series of data
points indexed (or listed or
graphed) in time order
▸ Time series are used in statistics,
signal processing, pattern
recognition, weather forecasting
and largely in any domain of
applied science and engineering
▸ Time series are used for analysis
and forecasting
SOME QUESTIONS
TIME SERIES IN PRACTICE
▸ What offer is best to present to a visitor based on their behaviour, in real-time?
▸ What patterns can I detect in financial markets that I can use to execute faster, more
intelligent transactions?
▸ Can I predict how long visitors will stay and why they’ll drop off?
▸ Can I track sensors on my fleet vehicles over time to optimise delivery schedules and
fuel economy?
▸ Can I predict if my elastic infrastructure will scale on events like Black Friday?
▸ Can I weave through petabytes of machine to machine data over time to detect
malicious patterns in my network?
▸ Can I increase the yield of my crops and lower my costs by adjusting water and
fertiliser in real-time, based on environmental conditions?
USE CASES
A CONCRETE
APPLICATION
USE CASES
IN THE REAL LIFE
▸ eBay’s Experimentation environment enables users to
answer important analytics and business questions.
▸ Mozilla uses InfluxDB to store important metrics about the
performance of applications and devices running Firefox
OS
▸ Facile.it collects a huge amount of data from their
customers that trigger a number of actions that are an
order of magnitude bigger than the data itself
INFLUXDATA
INTRODUCING
WHY INFLUXDATA?
INFLUXDATA FEATURES
▸ Ease of Use – up and running in minutes, not days or weeks
▸ Scalable – write thousand of points per second, store billions of points for analysis
▸ Open Source – MIT licensed, extensible by design
▸ Integrated – Data collection, storage, visualisation and alerting designed to work together seamlessly
▸ Highly Available – Platform components can be distributed and clustered
▸ Real-Time Downsampling – Continuous queries precompute large amounts of data on-the-fly before
being written
▸ Efficient Storage – High compression and retention polices lower storage footprints and costs
▸ Purpose Built – InfluxData is designed from the ground up to do one thing, manage time-series data
at scale
▸ Choice of Deployment – Run InfluxData in your datacenter, a public cloud or on our managed hosting
service
TICK STACK
ONE STACK TO RULE THEM ALL
TICK: TELEGRAF
TELEGRAF
▸ Telegraf is an agent written in Go
for collecting metrics and writing
them into InfluxDB or other
possible outputs.
▸ It’s a standalone module
▸ It can be customised with a
configuration file
TICK: TELEGRAF
TELEGRAF INPUTS
▸ Apache
▸ CouchDB
▸ Graylog
▸ httpjson
▸ phpfpm
▸ Varnish
▸ system
TICK: TELEGRAF
TELEGRAF SERVICE INPUTS
▸ Kafka consumer
▸ MQTT consumer
▸ TCP listener
▸ UDP listener
▸ GitHub WebHooks
TICK: TELEGRAF
TELEGRAF OUTPUTS
▸ InfluxDB
▸ AMQP
▸ AWS CloudWatch
▸ File
▸ Kafka
▸ MQTT
▸ Graylog
TICK: TELEGRAF
TELEGRAF CONFIGURATION SAMPLE
[agent]
interval = “10s”
metric_batch_size = 1000
metric_buffer_limit = 10000
flush_interval = “10s”
[[outputs.influxdb]]
urls = [“http://influxdb:8086"]
database = “kapacitor_example”
timeout = “5s”
[[inputs.cpu]]
percpu = true
totalcpu = true
fielddrop = [“time_*”]
TICK: INFLUXDB
INFLUXDB
▸ InfluxDB is a time series database
built from the ground up to handle
high write and query loads.
▸ InfluxDB is meant to be used as a
backing store for any use case
involving large amounts of
timestamped data, including
DevOps monitoring, application
metrics, IoT sensor data, and real-
time analytics.
TICK: INFLUXDB
FEATURES
▸ Specific query language (Influx Query Language)
▸ NO-SQL and schemaless database
▸ Retention policies for single measurements
▸ Replication policies for each database
▸ HTTP REST API
TICK: INFLUXDB
QUERY LANGUAGE
▸ InfluxDB has its own DSL (Domain Specific Language) to
query and explore data
▸ It has a set of functions to use in conjunction with the
common SELECT statement
▸ Mathematical operations can be done right into the query
▸ Continuous Queries are InfluxQL queries that run
automatically and periodically on realtime data and store
query results in a specified measurement.
TICK: INFLUXDB
TOOLS
▸ REST API
▸ CLI/Shell
▸ Web Admin Interface
TICK: CHRONOGRAF
CHRONOGRAF
▸ Chronograf is a graphing and
visualization application that you
use to perform ad hoc exploration
of your InfluxDB data.
▸ It’s a standalone module used in
conjunction with InfluxDB
TICK: CHRONOGRAF
KEY FEATURES
▸ Simple installation
▸ Smart query builder designed to work with large datasets
▸ Collect multiple graphs into dashboards
▸ Support for templates
TICK: KAPACITOR
KAPACITOR
▸ Kapacitor is an open source data
processing framework that makes
it easy to create alerts, run ETL jobs
and detect anomalies.
▸ It’s a standalone module
▸ It can be configured with a Domain
Specific Language (DSL)
TICK: KAPACITOR
KEY FEATURES
▸ Process both streaming data and batch data.
▸ Query data from InfluxDB on a schedule, and receive data via
the line protocol and any other method InfluxDB supports.
▸ Perform any transformation currently possible in InfluxQL.
▸ Store transformed data back in InfluxDB.
▸ Add custom user defined functions to detect anomalies.
▸ Integrate with HipChat, OpsGenie, Alerta, Sensu, PagerDuty,
Slack, and more.
TICK: KAPACITOR
TICKSCRIPT
▸ The TICKscript language is an invocation chaining
language. Each script has a flat scope and each variable in
the scope defines methods that can be called on it.
▸ Kapacitor uses TICKscripts to define data processing
pipelines. A pipeline is set of nodes that process data and
edges that connect the nodes. Pipelines in Kapacitor are
directed acyclic graphs (DAGs) meaning each edge has a
direction that data flows and there cannot be any cycles in
the pipeline.
TICK: KAPACITOR
EXAMPLE
stream
|from()
.measurement(‘app’)
|eval(lambda: "errors" / “total")
.as(‘error_percent’)
|influxDBOut()
.database(‘mydb’)
.retentionPolicy(‘myrp’)
.measurement(‘errors’)
.tag('kapacitor', ‘true’)
.tag('version', ‘0.2’)
TICK
WORKFLOW
LET’S COMBINE
EVERY PIECES
DEMO TIME
LET’S BREAK SOMETHING

More Related Content

What's hot

Virtual training Intro to InfluxDB & Telegraf
Virtual training  Intro to InfluxDB & TelegrafVirtual training  Intro to InfluxDB & Telegraf
Virtual training Intro to InfluxDB & Telegraf
InfluxData
 
InfluxDb
InfluxDbInfluxDb
InfluxDb
Guamaral Vasil
 
Scalable real-time processing techniques
Scalable real-time processing techniquesScalable real-time processing techniques
Scalable real-time processing techniques
Lars Albertsson
 
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxDB 2.0: Dashboarding 101 by David G. SimmonsInfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxData
 
DOWNSAMPLING DATA
DOWNSAMPLING DATADOWNSAMPLING DATA
DOWNSAMPLING DATA
InfluxData
 
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
InfluxData
 
Kapacitor Stream Processing
Kapacitor Stream ProcessingKapacitor Stream Processing
Kapacitor Stream Processing
InfluxData
 
Airflow introduction
Airflow introductionAirflow introduction
Airflow introduction
Chandler Huang
 
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
The Data Lake Engine Data Microservices in Spark using Apache Arrow FlightThe Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
Databricks
 
From business requirements to working pipelines with apache airflow
From business requirements to working pipelines with apache airflowFrom business requirements to working pipelines with apache airflow
From business requirements to working pipelines with apache airflow
Derrick Qin
 
InfluxData Architecture for IoT | Noah Crowley | InfluxData
InfluxData Architecture for IoT | Noah Crowley | InfluxDataInfluxData Architecture for IoT | Noah Crowley | InfluxData
InfluxData Architecture for IoT | Noah Crowley | InfluxData
InfluxData
 
A TRUE STORY ABOUT DATABASE ORCHESTRATION
A TRUE STORY ABOUT DATABASE ORCHESTRATIONA TRUE STORY ABOUT DATABASE ORCHESTRATION
A TRUE STORY ABOUT DATABASE ORCHESTRATION
InfluxData
 
Apache airflow
Apache airflowApache airflow
Apache airflow
Purna Chander
 
Prometheus loves Grafana
Prometheus loves GrafanaPrometheus loves Grafana
Prometheus loves Grafana
Tobias Schmidt
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Redis Labs
 
The Dark Side Of Go -- Go runtime related problems in TiDB in production
The Dark Side Of Go -- Go runtime related problems in TiDB  in productionThe Dark Side Of Go -- Go runtime related problems in TiDB  in production
The Dark Side Of Go -- Go runtime related problems in TiDB in production
PingCAP
 
Scaling an ELK stack at bol.com
Scaling an ELK stack at bol.comScaling an ELK stack at bol.com
Scaling an ELK stack at bol.com
Renzo Tomà
 
Super Fast Gevent Introduction
Super Fast Gevent IntroductionSuper Fast Gevent Introduction
Super Fast Gevent Introduction
Walter Liu
 
Orchestrating workflows Apache Airflow on GCP & AWS
Orchestrating workflows Apache Airflow on GCP & AWSOrchestrating workflows Apache Airflow on GCP & AWS
Orchestrating workflows Apache Airflow on GCP & AWS
Derrick Qin
 
Elastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaElastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & Kibana
SpringPeople
 

What's hot (20)

Virtual training Intro to InfluxDB & Telegraf
Virtual training  Intro to InfluxDB & TelegrafVirtual training  Intro to InfluxDB & Telegraf
Virtual training Intro to InfluxDB & Telegraf
 
InfluxDb
InfluxDbInfluxDb
InfluxDb
 
Scalable real-time processing techniques
Scalable real-time processing techniquesScalable real-time processing techniques
Scalable real-time processing techniques
 
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxDB 2.0: Dashboarding 101 by David G. SimmonsInfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
 
DOWNSAMPLING DATA
DOWNSAMPLING DATADOWNSAMPLING DATA
DOWNSAMPLING DATA
 
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
 
Kapacitor Stream Processing
Kapacitor Stream ProcessingKapacitor Stream Processing
Kapacitor Stream Processing
 
Airflow introduction
Airflow introductionAirflow introduction
Airflow introduction
 
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
The Data Lake Engine Data Microservices in Spark using Apache Arrow FlightThe Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
 
From business requirements to working pipelines with apache airflow
From business requirements to working pipelines with apache airflowFrom business requirements to working pipelines with apache airflow
From business requirements to working pipelines with apache airflow
 
InfluxData Architecture for IoT | Noah Crowley | InfluxData
InfluxData Architecture for IoT | Noah Crowley | InfluxDataInfluxData Architecture for IoT | Noah Crowley | InfluxData
InfluxData Architecture for IoT | Noah Crowley | InfluxData
 
A TRUE STORY ABOUT DATABASE ORCHESTRATION
A TRUE STORY ABOUT DATABASE ORCHESTRATIONA TRUE STORY ABOUT DATABASE ORCHESTRATION
A TRUE STORY ABOUT DATABASE ORCHESTRATION
 
Apache airflow
Apache airflowApache airflow
Apache airflow
 
Prometheus loves Grafana
Prometheus loves GrafanaPrometheus loves Grafana
Prometheus loves Grafana
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 
The Dark Side Of Go -- Go runtime related problems in TiDB in production
The Dark Side Of Go -- Go runtime related problems in TiDB  in productionThe Dark Side Of Go -- Go runtime related problems in TiDB  in production
The Dark Side Of Go -- Go runtime related problems in TiDB in production
 
Scaling an ELK stack at bol.com
Scaling an ELK stack at bol.comScaling an ELK stack at bol.com
Scaling an ELK stack at bol.com
 
Super Fast Gevent Introduction
Super Fast Gevent IntroductionSuper Fast Gevent Introduction
Super Fast Gevent Introduction
 
Orchestrating workflows Apache Airflow on GCP & AWS
Orchestrating workflows Apache Airflow on GCP & AWSOrchestrating workflows Apache Airflow on GCP & AWS
Orchestrating workflows Apache Airflow on GCP & AWS
 
Elastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaElastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & Kibana
 

Viewers also liked

Time Series Database and Tick Stack
Time Series Database and Tick StackTime Series Database and Tick Stack
Time Series Database and Tick Stack
Gianluca Arbezzano
 
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Seungmin Yu
 
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Hakka Labs
 
Beautiful Monitoring With Grafana and InfluxDB
Beautiful Monitoring With Grafana and InfluxDBBeautiful Monitoring With Grafana and InfluxDB
Beautiful Monitoring With Grafana and InfluxDB
leesjensen
 
Grafana
GrafanaGrafana
Grafana
NoelMc Grath
 
job design and ergonomics
job design and ergonomicsjob design and ergonomics
job design and ergonomics
piyush11111993
 
SREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsSREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREs
Brendan Gregg
 

Viewers also liked (7)

Time Series Database and Tick Stack
Time Series Database and Tick StackTime Series Database and Tick Stack
Time Series Database and Tick Stack
 
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
 
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
 
Beautiful Monitoring With Grafana and InfluxDB
Beautiful Monitoring With Grafana and InfluxDBBeautiful Monitoring With Grafana and InfluxDB
Beautiful Monitoring With Grafana and InfluxDB
 
Grafana
GrafanaGrafana
Grafana
 
job design and ergonomics
job design and ergonomicsjob design and ergonomics
job design and ergonomics
 
SREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsSREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREs
 

Similar to Tick

Case Study : InfluxDB
Case Study : InfluxDBCase Study : InfluxDB
Case Study : InfluxDB
omkarpowar4
 
Ontrack - Keeping track of your CI/CD mess
Ontrack - Keeping track of your CI/CD messOntrack - Keeping track of your CI/CD mess
Ontrack - Keeping track of your CI/CD mess
Damien Coraboeuf
 
Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...
Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...
Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...
HostedbyConfluent
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
Reid Lai
 
Intro to InfluxDB
Intro to InfluxDBIntro to InfluxDB
Intro to InfluxDB
InfluxData
 
Elasticsearch + Cascading for Scalable Log Processing
Elasticsearch + Cascading for Scalable Log ProcessingElasticsearch + Cascading for Scalable Log Processing
Elasticsearch + Cascading for Scalable Log Processing
Cascading
 
Industrialization, be fast be furious!
Industrialization, be fast be furious!Industrialization, be fast be furious!
Industrialization, be fast be furious!
Patrick Morin
 
The world of Docker and Kubernetes
The world of Docker and Kubernetes The world of Docker and Kubernetes
The world of Docker and Kubernetes
vty
 
Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and Terraform
Venkat NaveenKashyap Devulapally
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
Velocidex Enterprises
 
Time series database, InfluxDB & PHP
Time series database, InfluxDB & PHPTime series database, InfluxDB & PHP
Time series database, InfluxDB & PHP
Corley S.r.l.
 
Intro to Telegraf
Intro to TelegrafIntro to Telegraf
Intro to Telegraf
InfluxData
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 
How to Design a Backend for IoT
How to Design a Backend for IoTHow to Design a Backend for IoT
How to Design a Backend for IoT
İbrahim Gürses
 
Getting Started: Intro to Telegraf - July 2021
Getting Started: Intro to Telegraf - July 2021Getting Started: Intro to Telegraf - July 2021
Getting Started: Intro to Telegraf - July 2021
InfluxData
 
How Crosser Built a Modern Industrial Data Historian with InfluxDB and Grafana
How Crosser Built a Modern Industrial Data Historian with InfluxDB and GrafanaHow Crosser Built a Modern Industrial Data Historian with InfluxDB and Grafana
How Crosser Built a Modern Industrial Data Historian with InfluxDB and Grafana
InfluxData
 
Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhisk
Daniel Krook
 
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
confluent
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
Ludovic Piot
 
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
Spark Summit
 

Similar to Tick (20)

Case Study : InfluxDB
Case Study : InfluxDBCase Study : InfluxDB
Case Study : InfluxDB
 
Ontrack - Keeping track of your CI/CD mess
Ontrack - Keeping track of your CI/CD messOntrack - Keeping track of your CI/CD mess
Ontrack - Keeping track of your CI/CD mess
 
Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...
Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...
Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
 
Intro to InfluxDB
Intro to InfluxDBIntro to InfluxDB
Intro to InfluxDB
 
Elasticsearch + Cascading for Scalable Log Processing
Elasticsearch + Cascading for Scalable Log ProcessingElasticsearch + Cascading for Scalable Log Processing
Elasticsearch + Cascading for Scalable Log Processing
 
Industrialization, be fast be furious!
Industrialization, be fast be furious!Industrialization, be fast be furious!
Industrialization, be fast be furious!
 
The world of Docker and Kubernetes
The world of Docker and Kubernetes The world of Docker and Kubernetes
The world of Docker and Kubernetes
 
Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and Terraform
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
 
Time series database, InfluxDB & PHP
Time series database, InfluxDB & PHPTime series database, InfluxDB & PHP
Time series database, InfluxDB & PHP
 
Intro to Telegraf
Intro to TelegrafIntro to Telegraf
Intro to Telegraf
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
 
How to Design a Backend for IoT
How to Design a Backend for IoTHow to Design a Backend for IoT
How to Design a Backend for IoT
 
Getting Started: Intro to Telegraf - July 2021
Getting Started: Intro to Telegraf - July 2021Getting Started: Intro to Telegraf - July 2021
Getting Started: Intro to Telegraf - July 2021
 
How Crosser Built a Modern Industrial Data Historian with InfluxDB and Grafana
How Crosser Built a Modern Industrial Data Historian with InfluxDB and GrafanaHow Crosser Built a Modern Industrial Data Historian with InfluxDB and Grafana
How Crosser Built a Modern Industrial Data Historian with InfluxDB and Grafana
 
Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhisk
 
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
 

More from Vincenzo Ferrari

Microjob
MicrojobMicrojob
AngularJS - Javascript framework for superheroes
AngularJS - Javascript framework for superheroesAngularJS - Javascript framework for superheroes
AngularJS - Javascript framework for superheroes
Vincenzo Ferrari
 
Time management
Time managementTime management
Time management
Vincenzo Ferrari
 
ExtJS: a powerful Javascript framework
ExtJS: a powerful Javascript frameworkExtJS: a powerful Javascript framework
ExtJS: a powerful Javascript framework
Vincenzo Ferrari
 

More from Vincenzo Ferrari (6)

Microjob
MicrojobMicrojob
Microjob
 
AngularJS - Javascript framework for superheroes
AngularJS - Javascript framework for superheroesAngularJS - Javascript framework for superheroes
AngularJS - Javascript framework for superheroes
 
Time management
Time managementTime management
Time management
 
Angularjs
AngularjsAngularjs
Angularjs
 
ExtJS framework
ExtJS frameworkExtJS framework
ExtJS framework
 
ExtJS: a powerful Javascript framework
ExtJS: a powerful Javascript frameworkExtJS: a powerful Javascript framework
ExtJS: a powerful Javascript framework
 

Recently uploaded

Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 

Recently uploaded (20)

Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 

Tick

  • 3. WHO ARE WE? GOLANG MEETUP MILANO ▸ we are gophers ▸ we produce golang-related events ▸ we’re looking for more gophers (I mean, speaking gophers!)
  • 4. WHO AM I? VINCENZO {WILK} FERRARI ▸ early adopter ▸ fullstack developer ▸ software engineer @ ibuildings ▸ open source producer/consumer
  • 5.
  • 6. IBUILDINGS WEB & MOBILE APP DEVELOPMENT
  • 10. WHAT ARE TIME SERIES? TIME SERIES EXPLAINED ▸ A time series is a series of data points indexed (or listed or graphed) in time order ▸ Time series are used in statistics, signal processing, pattern recognition, weather forecasting and largely in any domain of applied science and engineering ▸ Time series are used for analysis and forecasting
  • 11. SOME QUESTIONS TIME SERIES IN PRACTICE ▸ What offer is best to present to a visitor based on their behaviour, in real-time? ▸ What patterns can I detect in financial markets that I can use to execute faster, more intelligent transactions? ▸ Can I predict how long visitors will stay and why they’ll drop off? ▸ Can I track sensors on my fleet vehicles over time to optimise delivery schedules and fuel economy? ▸ Can I predict if my elastic infrastructure will scale on events like Black Friday? ▸ Can I weave through petabytes of machine to machine data over time to detect malicious patterns in my network? ▸ Can I increase the yield of my crops and lower my costs by adjusting water and fertiliser in real-time, based on environmental conditions?
  • 12.
  • 14. USE CASES IN THE REAL LIFE ▸ eBay’s Experimentation environment enables users to answer important analytics and business questions. ▸ Mozilla uses InfluxDB to store important metrics about the performance of applications and devices running Firefox OS ▸ Facile.it collects a huge amount of data from their customers that trigger a number of actions that are an order of magnitude bigger than the data itself
  • 16. WHY INFLUXDATA? INFLUXDATA FEATURES ▸ Ease of Use – up and running in minutes, not days or weeks ▸ Scalable – write thousand of points per second, store billions of points for analysis ▸ Open Source – MIT licensed, extensible by design ▸ Integrated – Data collection, storage, visualisation and alerting designed to work together seamlessly ▸ Highly Available – Platform components can be distributed and clustered ▸ Real-Time Downsampling – Continuous queries precompute large amounts of data on-the-fly before being written ▸ Efficient Storage – High compression and retention polices lower storage footprints and costs ▸ Purpose Built – InfluxData is designed from the ground up to do one thing, manage time-series data at scale ▸ Choice of Deployment – Run InfluxData in your datacenter, a public cloud or on our managed hosting service
  • 17. TICK STACK ONE STACK TO RULE THEM ALL
  • 18. TICK: TELEGRAF TELEGRAF ▸ Telegraf is an agent written in Go for collecting metrics and writing them into InfluxDB or other possible outputs. ▸ It’s a standalone module ▸ It can be customised with a configuration file
  • 19. TICK: TELEGRAF TELEGRAF INPUTS ▸ Apache ▸ CouchDB ▸ Graylog ▸ httpjson ▸ phpfpm ▸ Varnish ▸ system
  • 20. TICK: TELEGRAF TELEGRAF SERVICE INPUTS ▸ Kafka consumer ▸ MQTT consumer ▸ TCP listener ▸ UDP listener ▸ GitHub WebHooks
  • 21. TICK: TELEGRAF TELEGRAF OUTPUTS ▸ InfluxDB ▸ AMQP ▸ AWS CloudWatch ▸ File ▸ Kafka ▸ MQTT ▸ Graylog
  • 22. TICK: TELEGRAF TELEGRAF CONFIGURATION SAMPLE [agent] interval = “10s” metric_batch_size = 1000 metric_buffer_limit = 10000 flush_interval = “10s” [[outputs.influxdb]] urls = [“http://influxdb:8086"] database = “kapacitor_example” timeout = “5s” [[inputs.cpu]] percpu = true totalcpu = true fielddrop = [“time_*”]
  • 23. TICK: INFLUXDB INFLUXDB ▸ InfluxDB is a time series database built from the ground up to handle high write and query loads. ▸ InfluxDB is meant to be used as a backing store for any use case involving large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real- time analytics.
  • 24. TICK: INFLUXDB FEATURES ▸ Specific query language (Influx Query Language) ▸ NO-SQL and schemaless database ▸ Retention policies for single measurements ▸ Replication policies for each database ▸ HTTP REST API
  • 25. TICK: INFLUXDB QUERY LANGUAGE ▸ InfluxDB has its own DSL (Domain Specific Language) to query and explore data ▸ It has a set of functions to use in conjunction with the common SELECT statement ▸ Mathematical operations can be done right into the query ▸ Continuous Queries are InfluxQL queries that run automatically and periodically on realtime data and store query results in a specified measurement.
  • 26. TICK: INFLUXDB TOOLS ▸ REST API ▸ CLI/Shell ▸ Web Admin Interface
  • 27. TICK: CHRONOGRAF CHRONOGRAF ▸ Chronograf is a graphing and visualization application that you use to perform ad hoc exploration of your InfluxDB data. ▸ It’s a standalone module used in conjunction with InfluxDB
  • 28. TICK: CHRONOGRAF KEY FEATURES ▸ Simple installation ▸ Smart query builder designed to work with large datasets ▸ Collect multiple graphs into dashboards ▸ Support for templates
  • 29.
  • 30. TICK: KAPACITOR KAPACITOR ▸ Kapacitor is an open source data processing framework that makes it easy to create alerts, run ETL jobs and detect anomalies. ▸ It’s a standalone module ▸ It can be configured with a Domain Specific Language (DSL)
  • 31. TICK: KAPACITOR KEY FEATURES ▸ Process both streaming data and batch data. ▸ Query data from InfluxDB on a schedule, and receive data via the line protocol and any other method InfluxDB supports. ▸ Perform any transformation currently possible in InfluxQL. ▸ Store transformed data back in InfluxDB. ▸ Add custom user defined functions to detect anomalies. ▸ Integrate with HipChat, OpsGenie, Alerta, Sensu, PagerDuty, Slack, and more.
  • 32. TICK: KAPACITOR TICKSCRIPT ▸ The TICKscript language is an invocation chaining language. Each script has a flat scope and each variable in the scope defines methods that can be called on it. ▸ Kapacitor uses TICKscripts to define data processing pipelines. A pipeline is set of nodes that process data and edges that connect the nodes. Pipelines in Kapacitor are directed acyclic graphs (DAGs) meaning each edge has a direction that data flows and there cannot be any cycles in the pipeline.
  • 33. TICK: KAPACITOR EXAMPLE stream |from() .measurement(‘app’) |eval(lambda: "errors" / “total") .as(‘error_percent’) |influxDBOut() .database(‘mydb’) .retentionPolicy(‘myrp’) .measurement(‘errors’) .tag('kapacitor', ‘true’) .tag('version', ‘0.2’)