Simplificando la Complejidad de Node.js con InfluxDB

Rate this content
Bookmark

Aprende cómo NodeSource fortalece su ventaja competitiva construyendo su producto en InfluxDB para obtener una mayor visibilidad en las aplicaciones de producción y presenta una mejor monitorización de seguridad y alertas en su solución.

8 min
09 Jun, 2021

Video Summary and Transcription

NSolid de NodeSource simplifica Node.js para la base de datos de Windows y proporciona análisis, diagnósticos y seguridad. InfluxDB se utiliza para la agregación de datos y monitorización en tiempo real, con un mecanismo de muestreo de latencia de tres segundos. Se enfrentan desafíos con Utility Influx, pero InfluxDB maneja grandes cantidades de datos y es fácil de probar y depurar. Se recomienda Ensolve para la producción para beneficiarse de información, seguridad y diagnósticos.

Available in English

1. Introducción a NodeSource y NSolid

Short description:

Voy a hablar sobre simplificar la complejidad de Node.js para Windows DB. NodeSource es el principal distribuidor de Node.js en Linux. Hoy vamos a hablar de nuestro tiempo de ejecución empresarial de Node.js llamado NSolid, que proporciona análisis, diagnósticos, seguridad y está listo para producción. Utilizamos InfluxDB para la agregación de datos y el monitoreo en tiempo real. InfluxDB se convirtió rápidamente en nuestra opción principal debido a sus capacidades de base de datos de series temporales.

Hola a todos. Mi nombre es Mariam Bilan. Soy diseñadora de productos de pila completa en NodeSource. Y hoy voy a hablar sobre simplificar la complejidad de Node.js para Windows DB. Es importante tener en cuenta que esta charla no sería posible sin el increíble equipo de ingenieros de NodeSource que curan el contenido. Y como navegante experto, han logrado simplificar JavaScript específicamente Node.js para mí y por qué usamos InfluxDB en nuestra infraestructura. Pero entonces, empecemos. En NodeSource, somos el principal distribuidor de Node.js en Linux. Nuestro valor se centra en nuestra experiencia y en la capacidad que tenemos de traducir datos de rendimiento en un producto, accesible, interpretable, accionable, y hacerlo en producción. Somos expertos en guías de Node.js que ayudan a las organizaciones y a los desarrolladores a utilizar Node al máximo a través de nuestras herramientas y consultoría. Durante años, hemos sido conocidos como la compañía de Node, siempre enfocados en Node.js, lo que se convirtió en la idea, se convirtió en la idea. Específicamente hoy vamos a hablar de nuestro Tiempo de ejecución empresarial de Node.js llamado NSolid, que es una versión empresarial del proyecto de código abierto que está disponible en la web. Y lo que estamos haciendo es esencialmente hacer algunas implementaciones que te permiten acceder al comportamiento interno de lo que está sucediendo dentro del Tiempo de ejecución, y lo estamos exponiendo en una consola. Tenemos increíbles casos de estudio que respaldan las características únicas de NSolid. Puedes acceder a detalles de rendimiento, métricas de rendimiento, capacidades de diagnóstico, seguridad conocimientos, pero también proporcionar un mecanismo de control bidireccional para controlar lo que está sucediendo en el Tiempo de ejecución y cómo se comporta el Tiempo de ejecución. Así que con NSolid tienes análisis, diagnósticos, seguridad, y lo mejor de todo es que es directo en producción. Además, dentro de NSolid, tienes integración flexible, alertas especializadas, nativo en la nube y listo para contenedores. Y probablemente estés pensando, ¿cómo funciona? Así que estamos utilizando InfluxDB para realizar un seguimiento de todos los datos del proceso. Con todas estas métricas y análisis que estamos obteniendo, estamos buscando servir grandes instalaciones de nodos, cientos o miles de procesos ejecutándose al mismo tiempo en diferentes entornos. Y para hacer eso, estamos utilizando InfluxDB. InfluxDB se encarga de la agregación de datos. InfluxDB nos brindó un uso rico, cada proceso individual, sus métricas de suministro, datos de diagnóstico, captura de perfiles de CPU o instantáneas de memoria para detectar fugas de memoria, y también seguridad. Así que sabíamos que queríamos aprovechar una base de datos de series temporales. Y InfluxDB rápidamente se colocó en la parte superior de la lista. Así que rápidamente trabajamos para migrar a InfluxDB. Una de las cosas que fue realmente importante para nosotros es una de las propuestas de valor únicas de Ensolving es el aspecto en tiempo real. Así que hay muchas herramientas de APM en general, desde Datatank hasta New Relic y demás. Y hay una variación en términos de disponibilidad.

2. Integración de InfluxDB y Desafíos

Short description:

Queremos ser proactivos, por lo que nuestro mecanismo de muestreo tiene una latencia de tres segundos. InfluxDB simplifica la distribución e integración en nuestro producto. Ofrecemos mecanismos de configuración para que los clientes controlen la cardinalidad y los permisos. Enfrentamos desafíos con Utility Influx, pero InfluxDB satisface las demandas de manejar grandes cantidades de datos. Es fácil de probar y depurar. Recomendamos usar Ensolve para producción para beneficiarse de sus conocimientos, seguridad y diagnósticos.

los datos están. No es necesariamente en tiempo real. Hay un período de preparación real. Y lo que veremos a veces es un retraso de uno a cinco minutos antes de que realmente veas esos resultados. Lo que queremos ver es ser proactivos. Por lo tanto, nuestro mecanismo de muestreo es cada tres segundos. Por lo tanto, hay una latencia de tres segundos entre lo que está sucediendo y lo que realmente estás viendo y en lo que te están alertando. Debido a que hay una gran cantidad de procesos ocurriendo, InfluxDB está realmente preparado para ofrecer eso. Un solo binario es todo lo que necesitas para ejecutar InfluxDB en realidad. Por lo tanto, la facilidad de distribución fue un aspecto crítico para nosotros también. Simplificó muchos de los pasos. Entonces, al usar InfluxDB, ¿cómo integramos esto en nuestro producto? En realidad, intentamos limitar lo que el cliente tiene que hacer con la configuración de InfluxDB. Por defecto, nuestro producto simplemente funciona. Y InfluxDB está ahí de forma mágica y se proporciona. Sin embargo, desde un punto de vista de seguridad, desde una configuración, tenemos muchos mecanismos de configuración diferentes que los clientes pueden utilizar para controlar la cardinalidad, cambiar sus permisos e incluso cambiar cómo funciona el indexado con InfluxDB.

Es importante resaltar y reiterar que somos un usuario único en cuanto al tamaño, ya que estamos integrando InfluxDB en un producto. Y como resultado, ofrecemos soporte las 24 horas, los 7 días de la semana a nuestros clientes en un conjunto único de problemas. Por lo tanto, no soportamos los problemas que puedan surgir con InfluxDB relacionados con nuestro producto y tenemos que cubrir otras cosas. Entonces, una de las grandes cosas de Influx es que realmente ofrece. Creo que la curva de aprendizaje es realmente buena. Es muy fácil de empezar. La documentación es excelente. La comunidad es excelente. Pero si necesitas esas características avanzadas y profundizar un poco más, hay todo tipo de opciones y banderas para ajustarlo a tus necesidades. Por lo tanto, podemos decir que cuando observamos algunas de esas cosas en nuestro caso de uso, ¿cuáles son algunos de los desafíos que enfrentamos con Utility Influx? Creo que la integridad es una de esas cosas contra las que constantemente estamos luchando. Entonces, al observar Utility Influx, es realmente importante. Y esto se trata más de comprender tu aplicación, comprender a tus clientes o tu caso de uso y la forma de tus datos y cómo quieres acceder a eso. Influx está ahí y realmente puede satisfacer esas demandas de grandes cantidades de datos que se proporcionan. Todo lo que Influx DB ofrece es realmente fácil de probar y depurar. El lado bueno de una buena implementación de base de datos es que el usuario no necesariamente lo sabe o necesita construir lo que no está ahí. Así que estamos contentos de usar Influx. En general, si los usuarios están interesados en visitar Nodesource.com y echar un vistazo, creemos firmemente que Ensolve es el único nodo que deberían ejecutar en producción porque te brinda todos los conocimientos, la magia y la bondad de seguridad y también diagnósticos. Entonces, si las personas quieren ir allí, pueden registrarse fácilmente, echar un vistazo, ejecutar un par de procesos, tomar un par de capturas de CPU y comenzar ahora mismo en Ensolve. Gracias por ver. tú

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Node Congress 2022Node Congress 2022
26 min
It's a Jungle Out There: What's Really Going on Inside Your Node_Modules Folder
Top Content
Do you know what’s really going on in your node_modules folder? Software supply chain attacks have exploded over the past 12 months and they’re only accelerating in 2022 and beyond. We’ll dive into examples of recent supply chain attacks and what concrete steps you can take to protect your team from this emerging threat.
You can check the slides for Feross' talk here.
Node Congress 2022Node Congress 2022
34 min
Out of the Box Node.js Diagnostics
In the early years of Node.js, diagnostics and debugging were considerable pain points. Modern versions of Node have improved considerably in these areas. Features like async stack traces, heap snapshots, and CPU profiling no longer require third party modules or modifications to application source code. This talk explores the various diagnostic features that have recently been built into Node.
You can check the slides for Colin's talk here. 
JSNation 2023JSNation 2023
22 min
ESM Loaders: Enhancing Module Loading in Node.js
Native ESM support for Node.js was a chance for the Node.js project to release official support for enhancing the module loading experience, to enable use cases such as on the fly transpilation, module stubbing, support for loading modules from HTTP, and monitoring.
While CommonJS has support for all this, it was never officially supported and was done by hacking into the Node.js runtime code. ESM has fixed all this. We will look at the architecture of ESM loading in Node.js, and discuss the loader API that supports enhancing it. We will also look into advanced features such as loader chaining and off thread execution.
JSNation Live 2021JSNation Live 2021
19 min
Multithreaded Logging with Pino
Top Content
Almost every developer thinks that adding one more log line would not decrease the performance of their server... until logging becomes the biggest bottleneck for their systems! We created one of the fastest JSON loggers for Node.js: pino. One of our key decisions was to remove all "transport" to another process (or infrastructure): it reduced both CPU and memory consumption, removing any bottleneck from logging. However, this created friction and lowered the developer experience of using Pino and in-process transports is the most asked feature our user.In the upcoming version 7, we will solve this problem and increase throughput at the same time: we are introducing pino.transport() to start a worker thread that you can use to transfer your logs safely to other destinations, without sacrificing neither performance nor the developer experience.

Workshops on related topic

Remix Conf Europe 2022Remix Conf Europe 2022
195 min
How to Solve Real-World Problems with Remix
Featured Workshop
- Errors? How to render and log your server and client errorsa - When to return errors vs throwb - Setup logging service like Sentry, LogRocket, and Bugsnag- Forms? How to validate and handle multi-page formsa - Use zod to validate form data in your actionb - Step through multi-page forms without losing data- Stuck? How to patch bugs or missing features in Remix so you can move ona - Use patch-package to quickly fix your Remix installb - Show tool for managing multiple patches and cherry-pick open PRs- Users? How to handle multi-tenant apps with Prismaa - Determine tenant by host or by userb - Multiple database or single database/multiple schemasc - Ensures tenant data always separate from others
GraphQL Galaxy 2020GraphQL Galaxy 2020
106 min
Relational Database Modeling for GraphQL
Top Content
WorkshopFree
In this workshop we'll dig deeper into data modeling. We'll start with a discussion about various database types and how they map to GraphQL. Once that groundwork is laid out, the focus will shift to specific types of databases and how to build data models that work best for GraphQL within various scenarios.
Table of contentsPart 1 - Hour 1      a. Relational Database Data Modeling      b. Comparing Relational and NoSQL Databases      c. GraphQL with the Database in mindPart 2 - Hour 2      a. Designing Relational Data Models      b. Relationship, Building MultijoinsTables      c. GraphQL & Relational Data Modeling Query Complexities
Prerequisites      a. Data modeling tool. The trainer will be using dbdiagram      b. Postgres, albeit no need to install this locally, as I'll be using a Postgres Dicker image, from Docker Hub for all examples      c. Hasura
Node Congress 2023Node Congress 2023
109 min
Node.js Masterclass
Top Content
Workshop
Have you ever struggled with designing and structuring your Node.js applications? Building applications that are well organised, testable and extendable is not always easy. It can often turn out to be a lot more complicated than you expect it to be. In this live event Matteo will show you how he builds Node.js applications from scratch. You’ll learn how he approaches application design, and the philosophies that he applies to create modular, maintainable and effective applications.

Level: intermediate
JSNation 2023JSNation 2023
104 min
Build and Deploy a Backend With Fastify & Platformatic
WorkshopFree
Platformatic allows you to rapidly develop GraphQL and REST APIs with minimal effort. The best part is that it also allows you to unleash the full potential of Node.js and Fastify whenever you need to. You can fully customise a Platformatic application by writing your own additional features and plugins. In the workshop, we’ll cover both our Open Source modules and our Cloud offering:- Platformatic OSS (open-source software) — Tools and libraries for rapidly building robust applications with Node.js (https://oss.platformatic.dev/).- Platformatic Cloud (currently in beta) — Our hosting platform that includes features such as preview apps, built-in metrics and integration with your Git flow (https://platformatic.dev/). 
In this workshop you'll learn how to develop APIs with Fastify and deploy them to the Platformatic Cloud.
Node Congress 2023Node Congress 2023
63 min
0 to Auth in an Hour Using NodeJS SDK
WorkshopFree
Passwordless authentication may seem complex, but it is simple to add it to any app using the right tool.
We will enhance a full-stack JS application (Node.JS backend + React frontend) to authenticate users with OAuth (social login) and One Time Passwords (email), including:- User authentication - Managing user interactions, returning session / refresh JWTs- Session management and validation - Storing the session for subsequent client requests, validating / refreshing sessions
At the end of the workshop, we will also touch on another approach to code authentication using frontend Descope Flows (drag-and-drop workflows), while keeping only session validation in the backend. With this, we will also show how easy it is to enable biometrics and other passwordless authentication methods.
Table of contents- A quick intro to core authentication concepts- Coding- Why passwordless matters
Prerequisites- IDE for your choice- Node 18 or higher
JSNation Live 2021JSNation Live 2021
156 min
Building a Hyper Fast Web Server with Deno
WorkshopFree
Deno 1.9 introduced a new web server API that takes advantage of Hyper, a fast and correct HTTP implementation for Rust. Using this API instead of the std/http implementation increases performance and provides support for HTTP2. In this workshop, learn how to create a web server utilizing Hyper under the hood and boost the performance for your web apps.