The last talk of #NodeConfRemote is by @sienaluke on CloudEvents - a specification from the CNCF for describing event data in a common way to help with cross service/platform communication.
This talk goes through Javascript SDK to receive and send properly formatted events. https://t.co/PpPJbenEYd
Piscina #nodejs worker thread pooling:
✅ Fast communication between threads
✅ Covers both fixed-task and variable-task scenarios
✅ Supports flexible pool sizes
✅ Proper async tracking integration
✅ Tracking statistics for run and wait times
and more...
#NodeConfRemote https://t.co/jw87YWI40n
A big thanks to @addaleax, @matteocollina and @jasnell for their work on piscina.
#NodeConfRemote https://t.co/B451hs90RR
Key questions:
➡️ What are the best uses of worker threads?
➡️ Are worker threads optimized for I/O intensive or compute intensive tasks?
➡️ How many workers threads can/should I create?
➡️ How do I know if I'm using worker threads correctly?
#NodeConfRemote https://t.co/OCScXps7hg
Every worker thread has it's own:
➡️ Node.js environment
➡️ V8 Isolate/Context
➡️ Event loop
Use them diligently! #NodeConfRemote https://t.co/XPFi6vZOqq
.@jasnell introduces a new open source Worker Thread Pool module called Piscina and discusses how and why to use it effectively in the next talk at #NodeConfRemote
#nodejs #JavaScript #OpenSource https://t.co/XB99blpzwL
One of the best things about #fastify is extensibility using plugins, decorators and hooks!
#NodeConfRemote https://t.co/A7vdx05TjK
An example Service mesh Control plane and data plane.
#NodeConfRemote https://t.co/Y7iaR8IyFj
Challenges with mesh:
➡️ Service Discovery
➡️ Service Registration
➡️ Service Version Management
➡️ AuthN/AuthZ
➡️ Service Observability
➡️ Circuit breaking and resiliency
#NodeConfRemote https://t.co/kvg2azVeRH
At #NodeConfRemote, now @lucamaraschi talks about the Service Mesh trend that has been growing in startups to traditional enterprise, and how they built a mesh using @fastifyjs and @nodejs
#nodejs #fastify #OpenSource https://t.co/vzaDHHn62S
Post-production testing tips:
➡️ Canary Testing
➡️ Controlled Test Flight
➡️ Synthetic User Testing
➡️ Fault Injection
#NodeConfRemote https://t.co/aXmZkhXPHQ
While developing, run locally:
➡️ Unit tests for critical functions
➡️ Comprehensive API tests
Before every deployment, additionally integration tests in CI/CD process.
#NodeConfRemote https://t.co/fqbnfISGE2
Integration tests expose faults in the interaction between units. But:
➡️ Take more time to write, setup and run.
➡️ Harder to locale the root cause and fault.
➡️ Higher costs due to environment setup.
➡️ Reveal faults late in the Development process.
#NodeConfRemote https://t.co/a9EnGQ11OG
API tests:
➡️ Test correction and reaction to failures.
➡️ Business Logic oriented.
➡️ Each test case to be tested independently.
➡️ Stubs and Mocks are used to assist testing in isolation.
#NodeConfRemote https://t.co/NzSXIfnRLX
Unit tests help:
➡️ Find problems early.
➡️ Easily trace location of the failure.
➡️ Provide a living documentation of the system.
➡️ Ensure modules will work after refactor/upgrade.
#NodeConfRemote https://t.co/jXv8JwZXp7
Example microservices architecture: User Interface calling an API gateway, which calls microservices.
Microservices can communicate between themselves too.
#NodeConfRemote https://t.co/EEAkmAamwX
Now at #nodeconfremote, Karin Angel talks about automated testing in microservices architectures in #NodeJS
Unit testing vs Api testing, Integration testing and other post production testing practices. https://t.co/O5N4Xdudzr
Standard practice on sharing across large organizations:
➡️ Don't make it mandatory
➡️ Don't claim it's the "best"
➡️ Base recommendations on real world experience
➡️ Ensure broad involvement and build consensus
➡️ Try to provide an answer to the question
#NodeConfRemote https://t.co/b8Wbb4BpH8
The Weather Company is also built on #nodejs
#NodeConfRemote https://t.co/6AhCg30fDU
Moving to loosely coupled microservices based on #nodejs provided flexibility, performance and improved developer productivity.
Lessons learned:
➡️ Monitoring is critical.
➡️ Microservices should not be tied to specific region.
#NodeConfRemote https://t.co/dbKgeS8lwh
IBM Cloud Console was a monolith earlier, which had performance and other issues.
#NodeConfRemote https://t.co/b2IQTPI7BF
IBM Cloud Console is built on #NodeJS
#NodeConfRemote https://t.co/YeK878lV0S
At #NodeConfRemote, @mhdawson1 talks about real-world success stories where #nodejs is being used at both large and small scale to deliver value and get the job done.
#JavaScript #OpenSource https://t.co/wwRqxyIHgI
.@lizparody23 now talks at #NodeConfRemote on examining observability in #nodejs
#observability #javascript #OpenSource https://t.co/kpkpKlE1JW
Thanks @jasnell for hosting #AmongUsGame at #NearForm virtual sponsor booth at #NodeConfRemote 🥳
Despite being new at the game @matteocollina is pretty good at being an imposter! 😼
Future rounds will be at 8am PT on 11/3.
Join at https://t.co/Jzf2zPdCLl https://t.co/QtrWKTqRMR https://t.co/b
#NodeConfRemote next talk: @poledesfetes on usage and best practices of #nodejs AsyncLocalStorage
#javascript #OpenSource https://t.co/eBG4eMp4Sh
Take aways from the #NodeConfRemote talk on #nodejs event loop utilization by @trevnorris
➡️ Using ELU is a more consistent metric for cross process comparisons.
➡️ Understand the scaling curve of your application, tracking how server responds at all levels of load. https://t.co/PdjxBrBXpb
More graphs comparing latency/req and event_per_loop
#NodeConfRemote https://t.co/35nZX77mih
Better understanding how the event loop operates leads to interesting results on how event loop metrics can be used as an estimate of an application's overall responsiveness.
#NodeConfRemote https://t.co/x6TEIlSU9G
Using ELU as the axis to compare metrics across multiple processes is a more reliable way to identify anomalies without false positives.
#NodeConfRemote https://t.co/zrgjFuxxQY