SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Product, Services, Support
mnedelko
VP Product
Hi!
nw
Principal Solutions Architect
WHAT WE DO
© 2020 NodeSource Confidential4
3 4 , 6 7 5 , 5 0 6
D O W N L O A D S
Q1 2020
Principal Distributor of Node.js on Linux
© 2020 NodeSource Confidential5
Our two strongest value proposition/ point of differentiation is our expertise in the Node.js
ecosystem and our ability to translate performance data into a product that makes it:
• Accessible
• Interpretable
• Actionable
• Does so in production
Product, Services, Support Product, Services, Support Product, Services, Support
Product, Services, Support Product, Services, SupportProduct, Services, Support
VALUE PROPOSITION
6
PRODUCTS | SUPPORT | SERVICES |
CERTIFICATION
Consulting
24/7 Support
Certification
© 2020 NodeSource Confidential7
Enterprise Node.js runtime
Deep metrics with negligible overhead
Perf & Sec Insights - No Instrumentation
© 2020 NodeSource Confidential8
HOW IT WORKS
NODE.JS
BINDINGS
Timing
Information
Module
Tracking
Expose Internals Relating to
I/O
Redacted
Snapshots
Event Loop
Metrics
POLICIES
Runtime Console Database
© 2020 NodeSource Confidential9
• On Premise Solution
• Drop-in replacement for the Node.js runtime
• Realtime metrics
• Visibility into lifecycle events and poor performance
NODE.JS
BINDINGS
Timing
Information
Module
Tracking
Expose Internals Relating to
I/O
Redacted
Snapshots
Event Loop
Metrics
POLICIES
© 2020 NodeSource Confidential10
DIAGNOSTICS SECURITYANALYTICS
The Need for a Solution
© 2020 NodeSource Confidential12
The NSolid Console is the centralized system for communication with and remote
control of applications running on the NSolid Runtime.
• Custom alerts
• Visual Heap Snapshots & CPU Profile
• Live Security Screening in Prod
• Console API + Stats D
Present
Future
• Vulnerability Exposure
• Memory Leak Detection
• Async tracing
Up to 3000 Processes Up to 9000 Processes
[screenshot of 9k processes]
InfluxDB InfluxDB Enterprise
The Decision Process
© 2020 NodeSource Confidential
Decisions
15
We needed a centralized analytics hub for processes.
!
© 2020 NodeSource Confidential
History
16
Launched Late 2013InfluxDB
WORK STARTED IN EARLY 2014N|Solid
We sorta drank the kool-aid….
Initial implementationetcd
© 2020 NodeSource Confidential
etcd
17
• High availability
• Trusted
• Cloud native
Pros
• Prioritizing HA so earlier
• limited - key/val store
• Feel too hard for container hype
Cons
© 2020 NodeSource Confidential18
• Work to migrate to InfluxDB happened soon after initial release
• Designed for heavy writes
• Complex and feature rich query capabilities
• Robust configuration - retention / indexes
• Self contained - single binary
In Action
© 2020 NodeSource Confidential
Integration
20
© 2020 NodeSource Confidential21
Short Demo
The Implementation
© 2020 NodeSource Confidential23
Unique Challenges
NodeSource embeds InfluxDB as part of a product offering. With
distributions to multiple environments along with 24/7 support for customer
offered a unique set of issues.
© 2020 NodeSource Confidential
Logging
24
• Verbosity
• log rotation
• considered /dev/null for some scenarios
• `INFLUXDB_HTTP_LOG_ENABLED: false`
© 2020 NodeSource Confidential
Performance & Availability
25
• Custom implementation of buffering writes internally
• Write batch sizes grew massive under load
• HTTP keep-alive support helped
• Provided relay features - slave DBs (more on this later)
• Fine tuning retention policies for use case
• “live” - 1 week
© 2020 NodeSource Confidential26
• Considered UDP for a split second
• Utilized multiple sockets to InfluxDB
• Removed / adjusted delays
• Removed record order insertion constraints
• Preventing DNS lookup
• INFLUXDB_HTTP_UNIX_SOCKET_ENABLED
• INFLUXDB_HTTP_UNIX_BIND_SOCKET
Performance & Availability
Challenges with InfluxDB
© 2020 NodeSource Confidential
Data Integrity
28
• Enforcement and careful planning of data shape
• Properly escaping
• comma-delimited string converted to array
• info records written with a unique sub millisecond timestamp to
ensure not data collisions
• Understanding cardinality for your data and plan around it
© 2020 NodeSource Confidential
Supporting Multiple Platforms
29
• Detect platform and settings (and set as needed before starting
InfluxDB)
• `kern.ipc-maxsockbuf` for example
• limiting ourselves to MTU sizes
• Different characteristics and bugs. Alpine broke for us a long time
ago. Mostly minor but added overhead
© 2020 NodeSource Confidential
Queries can be dangerous - protect yourself
30
• Pagination
• More filters
• Validation or restriction on queries to expensive indices
!
© 2020 NodeSource Confidential
Growing Pains
31
Schema Versioning
Strengths of InfluxDB
© 2020 NodeSource Confidential
Continuous Queries FTW
33
• Allows us to down sample old data
• Aggregation
• Realtime dashboards and integrations
© 2020 NodeSource Confidential
Made for Writing
34
• Fast
• Scalable
• Aggregation
© 2020 NodeSource Confidential
Testing and Debugging
35
• Easy to replay data
• Logs and tools are great if used wisely
Try it Free on
NODESOURCE.com
THANK YOU
November 10 - 11, 2020
North America Virtual Experience
www.influxdays.com/virtual-experience- /
Call for Papers is now open!
We’re looking for great speakers – submit
your speaker application today.

Más contenido relacionado

La actualidad más candente

Accelerate Your Apache Spark with Intel Optane DC Persistent Memory
Accelerate Your Apache Spark with Intel Optane DC Persistent MemoryAccelerate Your Apache Spark with Intel Optane DC Persistent Memory
Accelerate Your Apache Spark with Intel Optane DC Persistent Memory
Databricks
 
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 Best Practice of Compression/Decompression Codes in Apache Spark with Sophia... Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Databricks
 
How to use Parquet as a Sasis for ETL and Analytics
How to use Parquet as a Sasis for ETL and AnalyticsHow to use Parquet as a Sasis for ETL and Analytics
How to use Parquet as a Sasis for ETL and Analytics
DataWorks Summit
 

La actualidad más candente (20)

Accelerate Your Apache Spark with Intel Optane DC Persistent Memory
Accelerate Your Apache Spark with Intel Optane DC Persistent MemoryAccelerate Your Apache Spark with Intel Optane DC Persistent Memory
Accelerate Your Apache Spark with Intel Optane DC Persistent Memory
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
 
SAM—streaming analytics made easy
SAM—streaming analytics made easySAM—streaming analytics made easy
SAM—streaming analytics made easy
 
Present and future of unified, portable, and efficient data processing with A...
Present and future of unified, portable, and efficient data processing with A...Present and future of unified, portable, and efficient data processing with A...
Present and future of unified, portable, and efficient data processing with A...
 
Real-time Analytics with Trino and Apache Pinot
Real-time Analytics with Trino and Apache PinotReal-time Analytics with Trino and Apache Pinot
Real-time Analytics with Trino and Apache Pinot
 
Case Study : InfluxDB
Case Study : InfluxDBCase Study : InfluxDB
Case Study : InfluxDB
 
Unified, Efficient, and Portable Data Processing with Apache Beam
Unified, Efficient, and Portable Data Processing with Apache BeamUnified, Efficient, and Portable Data Processing with Apache Beam
Unified, Efficient, and Portable Data Processing with Apache Beam
 
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 Best Practice of Compression/Decompression Codes in Apache Spark with Sophia... Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 
Bridging the gap of Relational to Hadoop using Sqoop @ Expedia
Bridging the gap of Relational to Hadoop using Sqoop @ ExpediaBridging the gap of Relational to Hadoop using Sqoop @ Expedia
Bridging the gap of Relational to Hadoop using Sqoop @ Expedia
 
Big data at United Airlines
Big data at United AirlinesBig data at United Airlines
Big data at United Airlines
 
Docker data science pipeline
Docker data science pipelineDocker data science pipeline
Docker data science pipeline
 
Bootstrapping state in Apache Flink
Bootstrapping state in Apache FlinkBootstrapping state in Apache Flink
Bootstrapping state in Apache Flink
 
OLTP+OLAP=HTAP
 OLTP+OLAP=HTAP OLTP+OLAP=HTAP
OLTP+OLAP=HTAP
 
A machine learning and data science pipeline for real companies
A machine learning and data science pipeline for real companiesA machine learning and data science pipeline for real companies
A machine learning and data science pipeline for real companies
 
Quality for the Hadoop Zoo
Quality for the Hadoop ZooQuality for the Hadoop Zoo
Quality for the Hadoop Zoo
 
How to use Parquet as a Sasis for ETL and Analytics
How to use Parquet as a Sasis for ETL and AnalyticsHow to use Parquet as a Sasis for ETL and Analytics
How to use Parquet as a Sasis for ETL and Analytics
 
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
 
Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...
Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...
Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...
 
Admiral Group
Admiral GroupAdmiral Group
Admiral Group
 
GPORCA: Query Optimization as a Service
GPORCA: Query Optimization as a ServiceGPORCA: Query Optimization as a Service
GPORCA: Query Optimization as a Service
 

Similar a How InfluxDB Enables NodeSource to Run Extreme Levels of Node.js Processes

Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Geir Høydalsvik
 
Choosing The Right Database For Your Cloud Application
Choosing The Right Database For Your Cloud ApplicationChoosing The Right Database For Your Cloud Application
Choosing The Right Database For Your Cloud Application
NuoDB
 
Gaurav Singh-resume
Gaurav Singh-resumeGaurav Singh-resume
Gaurav Singh-resume
gaurav singh
 

Similar a How InfluxDB Enables NodeSource to Run Extreme Levels of Node.js Processes (20)

VisiQuate: Azure cloud migration case study
VisiQuate: Azure cloud migration case studyVisiQuate: Azure cloud migration case study
VisiQuate: Azure cloud migration case study
 
Rethinking the Database in the IoT Era
Rethinking the Database in the IoT EraRethinking the Database in the IoT Era
Rethinking the Database in the IoT Era
 
OpenContrail Silicon Valley Meetup Aug 25 2015
OpenContrail Silicon Valley Meetup Aug 25 2015OpenContrail Silicon Valley Meetup Aug 25 2015
OpenContrail Silicon Valley Meetup Aug 25 2015
 
Presentation data center transformation cisco’s virtualization and cloud jo...
Presentation   data center transformation cisco’s virtualization and cloud jo...Presentation   data center transformation cisco’s virtualization and cloud jo...
Presentation data center transformation cisco’s virtualization and cloud jo...
 
2012-08-21 NRO GED Industry Day
2012-08-21 NRO GED Industry Day2012-08-21 NRO GED Industry Day
2012-08-21 NRO GED Industry Day
 
DEVNET-1149 Leveraging Rapid Development with PaaS on Cisco Cloud
DEVNET-1149	Leveraging Rapid Development with PaaS on Cisco CloudDEVNET-1149	Leveraging Rapid Development with PaaS on Cisco Cloud
DEVNET-1149 Leveraging Rapid Development with PaaS on Cisco Cloud
 
Cisco UCS Invicta accelerated storage
Cisco UCS Invicta accelerated storageCisco UCS Invicta accelerated storage
Cisco UCS Invicta accelerated storage
 
Delivering Composable NFV Services for Business, Residential and Mobile Edge
Delivering Composable NFV Services for Business, Residential and Mobile EdgeDelivering Composable NFV Services for Business, Residential and Mobile Edge
Delivering Composable NFV Services for Business, Residential and Mobile Edge
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
 
Data platform modernization with Databricks.pptx
Data platform modernization with Databricks.pptxData platform modernization with Databricks.pptx
Data platform modernization with Databricks.pptx
 
Introduction to ThousandEyes
Introduction to ThousandEyesIntroduction to ThousandEyes
Introduction to ThousandEyes
 
Introduction to ThousandEyes
Introduction to ThousandEyesIntroduction to ThousandEyes
Introduction to ThousandEyes
 
Geek Sync | Linux, Containers, and SQL Server—Get Ready for Big Data Clusters...
Geek Sync | Linux, Containers, and SQL Server—Get Ready for Big Data Clusters...Geek Sync | Linux, Containers, and SQL Server—Get Ready for Big Data Clusters...
Geek Sync | Linux, Containers, and SQL Server—Get Ready for Big Data Clusters...
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
Choosing The Right Database For Your Cloud Application
Choosing The Right Database For Your Cloud ApplicationChoosing The Right Database For Your Cloud Application
Choosing The Right Database For Your Cloud Application
 
Announcing: Native MQTT Integration with HiveMQ and InfluxDB Cloud
Announcing: Native MQTT Integration with HiveMQ and InfluxDB Cloud Announcing: Native MQTT Integration with HiveMQ and InfluxDB Cloud
Announcing: Native MQTT Integration with HiveMQ and InfluxDB Cloud
 
Lenovo and Red Hat: Changing the Economics of Cloud Computing
Lenovo and Red Hat: Changing the Economics of Cloud ComputingLenovo and Red Hat: Changing the Economics of Cloud Computing
Lenovo and Red Hat: Changing the Economics of Cloud Computing
 
Ryan Betts [InfluxData] | Influxdays Keynote: Engineering Update | InfluxDays...
Ryan Betts [InfluxData] | Influxdays Keynote: Engineering Update | InfluxDays...Ryan Betts [InfluxData] | Influxdays Keynote: Engineering Update | InfluxDays...
Ryan Betts [InfluxData] | Influxdays Keynote: Engineering Update | InfluxDays...
 
Gaurav Singh-resume
Gaurav Singh-resumeGaurav Singh-resume
Gaurav Singh-resume
 
Connext DDS Professional 5.1.0 Overview
Connext DDS Professional 5.1.0 OverviewConnext DDS Professional 5.1.0 Overview
Connext DDS Professional 5.1.0 Overview
 

Más de InfluxData

How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
InfluxData
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
InfluxData
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
InfluxData
 

Más de InfluxData (20)

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB Clustered
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow Ecosystem
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDB
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING Stack
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using Rust
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud Dedicated
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage Engine
 
Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage Engine
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

How InfluxDB Enables NodeSource to Run Extreme Levels of Node.js Processes

  • 4. © 2020 NodeSource Confidential4 3 4 , 6 7 5 , 5 0 6 D O W N L O A D S Q1 2020 Principal Distributor of Node.js on Linux
  • 5. © 2020 NodeSource Confidential5 Our two strongest value proposition/ point of differentiation is our expertise in the Node.js ecosystem and our ability to translate performance data into a product that makes it: • Accessible • Interpretable • Actionable • Does so in production Product, Services, Support Product, Services, Support Product, Services, Support Product, Services, Support Product, Services, SupportProduct, Services, Support VALUE PROPOSITION
  • 6. 6 PRODUCTS | SUPPORT | SERVICES | CERTIFICATION Consulting 24/7 Support Certification
  • 7. © 2020 NodeSource Confidential7 Enterprise Node.js runtime Deep metrics with negligible overhead Perf & Sec Insights - No Instrumentation
  • 8. © 2020 NodeSource Confidential8 HOW IT WORKS NODE.JS BINDINGS Timing Information Module Tracking Expose Internals Relating to I/O Redacted Snapshots Event Loop Metrics POLICIES Runtime Console Database
  • 9. © 2020 NodeSource Confidential9 • On Premise Solution • Drop-in replacement for the Node.js runtime • Realtime metrics • Visibility into lifecycle events and poor performance NODE.JS BINDINGS Timing Information Module Tracking Expose Internals Relating to I/O Redacted Snapshots Event Loop Metrics POLICIES
  • 10. © 2020 NodeSource Confidential10 DIAGNOSTICS SECURITYANALYTICS
  • 11. The Need for a Solution
  • 12. © 2020 NodeSource Confidential12 The NSolid Console is the centralized system for communication with and remote control of applications running on the NSolid Runtime. • Custom alerts • Visual Heap Snapshots & CPU Profile • Live Security Screening in Prod • Console API + Stats D Present Future • Vulnerability Exposure • Memory Leak Detection • Async tracing
  • 13. Up to 3000 Processes Up to 9000 Processes [screenshot of 9k processes] InfluxDB InfluxDB Enterprise
  • 15. © 2020 NodeSource Confidential Decisions 15 We needed a centralized analytics hub for processes. !
  • 16. © 2020 NodeSource Confidential History 16 Launched Late 2013InfluxDB WORK STARTED IN EARLY 2014N|Solid We sorta drank the kool-aid…. Initial implementationetcd
  • 17. © 2020 NodeSource Confidential etcd 17 • High availability • Trusted • Cloud native Pros • Prioritizing HA so earlier • limited - key/val store • Feel too hard for container hype Cons
  • 18. © 2020 NodeSource Confidential18 • Work to migrate to InfluxDB happened soon after initial release • Designed for heavy writes • Complex and feature rich query capabilities • Robust configuration - retention / indexes • Self contained - single binary
  • 20. © 2020 NodeSource Confidential Integration 20
  • 21. © 2020 NodeSource Confidential21 Short Demo
  • 23. © 2020 NodeSource Confidential23 Unique Challenges NodeSource embeds InfluxDB as part of a product offering. With distributions to multiple environments along with 24/7 support for customer offered a unique set of issues.
  • 24. © 2020 NodeSource Confidential Logging 24 • Verbosity • log rotation • considered /dev/null for some scenarios • `INFLUXDB_HTTP_LOG_ENABLED: false`
  • 25. © 2020 NodeSource Confidential Performance & Availability 25 • Custom implementation of buffering writes internally • Write batch sizes grew massive under load • HTTP keep-alive support helped • Provided relay features - slave DBs (more on this later) • Fine tuning retention policies for use case • “live” - 1 week
  • 26. © 2020 NodeSource Confidential26 • Considered UDP for a split second • Utilized multiple sockets to InfluxDB • Removed / adjusted delays • Removed record order insertion constraints • Preventing DNS lookup • INFLUXDB_HTTP_UNIX_SOCKET_ENABLED • INFLUXDB_HTTP_UNIX_BIND_SOCKET Performance & Availability
  • 28. © 2020 NodeSource Confidential Data Integrity 28 • Enforcement and careful planning of data shape • Properly escaping • comma-delimited string converted to array • info records written with a unique sub millisecond timestamp to ensure not data collisions • Understanding cardinality for your data and plan around it
  • 29. © 2020 NodeSource Confidential Supporting Multiple Platforms 29 • Detect platform and settings (and set as needed before starting InfluxDB) • `kern.ipc-maxsockbuf` for example • limiting ourselves to MTU sizes • Different characteristics and bugs. Alpine broke for us a long time ago. Mostly minor but added overhead
  • 30. © 2020 NodeSource Confidential Queries can be dangerous - protect yourself 30 • Pagination • More filters • Validation or restriction on queries to expensive indices !
  • 31. © 2020 NodeSource Confidential Growing Pains 31 Schema Versioning
  • 33. © 2020 NodeSource Confidential Continuous Queries FTW 33 • Allows us to down sample old data • Aggregation • Realtime dashboards and integrations
  • 34. © 2020 NodeSource Confidential Made for Writing 34 • Fast • Scalable • Aggregation
  • 35. © 2020 NodeSource Confidential Testing and Debugging 35 • Easy to replay data • Logs and tools are great if used wisely
  • 36. Try it Free on NODESOURCE.com
  • 38. November 10 - 11, 2020 North America Virtual Experience www.influxdays.com/virtual-experience- / Call for Papers is now open! We’re looking for great speakers – submit your speaker application today.