SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Virtual training Intro to InfluxDB & Telegraf
Virtual training  Intro to InfluxDB & TelegrafVirtual training  Intro to InfluxDB & Telegraf
Virtual training Intro to InfluxDB & TelegrafInfluxData
 
Scalable real-time processing techniques
Scalable real-time processing techniquesScalable real-time processing techniques
Scalable real-time processing techniquesLars 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. SimmonsInfluxData
 
DOWNSAMPLING DATA
DOWNSAMPLING DATADOWNSAMPLING DATA
DOWNSAMPLING DATAInfluxData
 
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 ProcessingInfluxData
 
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 FlightDatabricks
 
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 airflowDerrick 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 | InfluxDataInfluxData
 
A TRUE STORY ABOUT DATABASE ORCHESTRATION
A TRUE STORY ABOUT DATABASE ORCHESTRATIONA TRUE STORY ABOUT DATABASE ORCHESTRATION
A TRUE STORY ABOUT DATABASE ORCHESTRATIONInfluxData
 
Prometheus loves Grafana
Prometheus loves GrafanaPrometheus loves Grafana
Prometheus loves GrafanaTobias 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, DataDogRedis 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 productionPingCAP
 
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.comRenzo Tomà
 
Super Fast Gevent Introduction
Super Fast Gevent IntroductionSuper Fast Gevent Introduction
Super Fast Gevent IntroductionWalter 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 & AWSDerrick Qin
 
Elastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaElastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaSpringPeople
 

Tendances (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
 

En vedette

Time Series Database and Tick Stack
Time Series Database and Tick StackTime Series Database and Tick Stack
Time Series Database and Tick StackGianluca 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 InfluxDBleesjensen
 
job design and ergonomics
job design and ergonomicsjob design and ergonomics
job design and ergonomicspiyush11111993
 
SREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsSREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsBrendan Gregg
 

En vedette (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
 

Similaire à Tick

Case Study : InfluxDB
Case Study : InfluxDBCase Study : InfluxDB
Case Study : InfluxDBomkarpowar4
 
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 messDamien 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 toolsetReid Lai
 
Intro to InfluxDB
Intro to InfluxDBIntro to InfluxDB
Intro to InfluxDBInfluxData
 
Elasticsearch + Cascading for Scalable Log Processing
Elasticsearch + Cascading for Scalable Log ProcessingElasticsearch + Cascading for Scalable Log Processing
Elasticsearch + Cascading for Scalable Log ProcessingCascading
 
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
 
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 CloudVelocidex Enterprises
 
Time series database, InfluxDB & PHP
Time series database, InfluxDB & PHPTime series database, InfluxDB & PHP
Time series database, InfluxDB & PHPCorley S.r.l.
 
Intro to Telegraf
Intro to TelegrafIntro to Telegraf
Intro to TelegrafInfluxData
 
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 2021InfluxData
 
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 GrafanaInfluxData
 
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 OpenWhiskDaniel 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
 

Similaire à 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)
 

Plus de Vincenzo Ferrari

Plus de 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
 

Dernier

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptesrabilgic2
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 

Dernier (20)

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).ppt
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 

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’)