This is the slide deck from the popular "Introduction to Node.js" webinar with AMD and DevelopIntelligence, presented by Joshua McNeese. Watch our AMD Developer Central YouTube channel for the replay at https://www.youtube.com/user/AMDDevCentral.
A presentation to explain the microservices architecture, the pro and the cons, with a view on how to migrate from a monolith to a SOA architecture. Also, we'll show the benefits of the microservices architecture also for the frontend side with the microfrontend architecture.
This is the slide deck from the popular "Introduction to Node.js" webinar with AMD and DevelopIntelligence, presented by Joshua McNeese. Watch our AMD Developer Central YouTube channel for the replay at https://www.youtube.com/user/AMDDevCentral.
A presentation to explain the microservices architecture, the pro and the cons, with a view on how to migrate from a monolith to a SOA architecture. Also, we'll show the benefits of the microservices architecture also for the frontend side with the microfrontend architecture.
Dot net platform and dotnet core fundamentalsLalit Kale
This is the presentation deck, I did for LimerickDotNet-Azure User group.
Event Url: https://www.meetup.com/Limerick-DotNet/events/240897689/
Session Details:
This session represented .NET journey of almost 17 years. Through this slid-deck, I narrated .NET platform progression till .NET Standards 2.0.
This session was accompanied by a small demo of running small dotnet program on alpine linux with docker container.
Kevin Huang: AWS San Francisco Startup Day, 9/7/17
Architecture: When, how, and if to adopt microservices - Microservices are not for everyone! If you're a small shop, a monolith provides a great amount of value and reduces the complexities involved. However as your company grows, this monolith becomes more difficult to maintain. We’ll look at how microservices allow you to easily deploy and debug atomic pieces of infrastructure which allows for increased velocity in reliable, tested, and consistent deploys. We’ll look into key metrics you can use to identify the right time to begin the transition from monolith to microservices.
Intro to MongoDB
Get a jumpstart on MongoDB, use cases, and next steps for building your first app with Buzz Moschetti, MongoDB Enterprise Architect.
@BuzzMoschetti
An intro to React Native using react-native cli, styled components, react-navigation, and an an introduction to the react native ecosystem.
Example repo: https://github.com/ladyleet/fluentConf2
Have questions? Tweet me http://twitter.com/ladyleet
Learn how to build RESTful API using Node JS with Express Js Framework. Database used is Mongo DB (Mongoose Library). Learn Step by step what is Node JS, Express, API and Mongo DB. Explain and sample code step to build RESTful API
Spring Web Service, Spring Integration and Spring BatchEberhard Wolff
This presentation shows Spring Web Services, Spring Integration and Spring Batch applied to a typical scenario. It walks through the advantages of the technologies and their sweet spots.
Dot net platform and dotnet core fundamentalsLalit Kale
This is the presentation deck, I did for LimerickDotNet-Azure User group.
Event Url: https://www.meetup.com/Limerick-DotNet/events/240897689/
Session Details:
This session represented .NET journey of almost 17 years. Through this slid-deck, I narrated .NET platform progression till .NET Standards 2.0.
This session was accompanied by a small demo of running small dotnet program on alpine linux with docker container.
Kevin Huang: AWS San Francisco Startup Day, 9/7/17
Architecture: When, how, and if to adopt microservices - Microservices are not for everyone! If you're a small shop, a monolith provides a great amount of value and reduces the complexities involved. However as your company grows, this monolith becomes more difficult to maintain. We’ll look at how microservices allow you to easily deploy and debug atomic pieces of infrastructure which allows for increased velocity in reliable, tested, and consistent deploys. We’ll look into key metrics you can use to identify the right time to begin the transition from monolith to microservices.
Intro to MongoDB
Get a jumpstart on MongoDB, use cases, and next steps for building your first app with Buzz Moschetti, MongoDB Enterprise Architect.
@BuzzMoschetti
An intro to React Native using react-native cli, styled components, react-navigation, and an an introduction to the react native ecosystem.
Example repo: https://github.com/ladyleet/fluentConf2
Have questions? Tweet me http://twitter.com/ladyleet
Learn how to build RESTful API using Node JS with Express Js Framework. Database used is Mongo DB (Mongoose Library). Learn Step by step what is Node JS, Express, API and Mongo DB. Explain and sample code step to build RESTful API
Spring Web Service, Spring Integration and Spring BatchEberhard Wolff
This presentation shows Spring Web Services, Spring Integration and Spring Batch applied to a typical scenario. It walks through the advantages of the technologies and their sweet spots.
An presentation on how and why KrakenJS was built, as well as an overview of many useful features of what makes Kraken different from other frameworks.
Just about all of my current technical content in one 364 slide mega-deck. Source files at https://github.com/adrianco/slides
Sections on:
Scene Setting
State of the Cloud
What Changes?
Product Processes
Microservices
State of the Art
Segmentation
What’s Missing?
Monitoring
Challenges
Migration
Response Times
Serverless
Lock-In
Teraservices
Wrap-Up
MicroServices at Netflix - challenges of scaleSudhir Tonse
MicroServices has caught on as the design pattern of choice for many companies at scale. While MicroServices and SOA in general have many positives compared to Monolithic apps, it does come with its own challenges - especially when running at scale. These slides were for a 15 min Meetup talk hosted at Cisco
The Node.js Foundation has consolidated all the best thinking around why enterprises should consider Node.js for their systems of engagement in this short presentation.
Microservices are small services with independent lifecycles that work together. There is an underlying tension in that definition – how independent can you be when you have to be part of a whole? I’ve spent much of the last couple of years trying to understand how to find the right balance, and in this talk/tutorial I’ll be presenting the core seven principles that I think represent what makes microservices tick.
After a brief introduction of what microservices are and why they are important, we’ll spend the bulk of the time looking at the principles themselves, wherever possible covering real-world examples and technology:
- Modelled around business domain – using techniques from domain-driven design to find service boundaries leads to better team alignment and more stable service boundaries, avoiding expensive cross-service changes.
- Culture of automation – all organisations that use microservices at scale have strong cultures of automation. We’ll look at some of their stories and think about which sort of automation is key.
- Hide implementation details – how do you hide the detail inside each service to avoid coupling, and ensure each service retains its autonomous nature?
- Decentralize all the things! – we have to push power down as far as we can, and this goes for both the system and organisational architecture. We’ll look at everything from autonomous self-contained teams and internal open source, to using choreographed systems to handle long-lived business transactions.
- Deploy independently – this is all about being able to deploy safely. So we’ll cover everything from deployment models to consumer-driven contracts and the importance of separating deployment from release.
- Isolate failure – just making a system distributed doesn’t make it more stable than a monolithic application. So what do you need to look for?
- Highly observable – we need to understand the health of a single service, but also the whole ecosystem. How?
In terms of learning outcomes, beginners will get a sense of what microservices are and what makes them different, whereas more experienced practitioners will get insight and practical advice into how to implement them.
1> What is node
2> What is node.js
3> Installation steps
4> Create first Node application
5> How it works ?
6> Why node is so popular ?
7> Where to use ?
8> Advantages
9> Disadvantages
10> Statistics
Understanding the Single Thread Event LoopTorontoNodeJS
Node JS was built on Google's JavaScript V8 Engine and it was engineered to preform optimally for the web. Learn what Node JS's single thread event loop is and how it empowers Node to out preform its competitors.
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Node.js is an open source command line tool built for the server side JavaScript code.
These are the slides to a talk I gave at Pittsburgh techFest 2012. The topic was an overview of the Node.js framework, and how you can use it to build amazing things.
* See more of my work at http://www.codehenge.net
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
3. 3 HY NODEJS?
Little’s Law for Scalability and Fault Tolerance
L = λW
λ - Average request arrival rate W -Average time each request is processed by the system
L - Number of concurrent requests handled by the system
In our system, 1000 requests, on average, arrive each second
Each takes 0.5 seconds to process
How many requests does our system need to handle concurrently?
1000*0.5 = 500
1. If we know and we can figure out the rate of requests we can support
2.To handle more requests, we need to increase , our capacity, or decrease , our processing time, or latency
4. 4 HY NODEJS?
Time
WEB CLIENT
SERVER
FOO
BAR
MICROSERVICES
HTTP SERVICE
•FOO and BAR, each take 500ms on average to return a response,
•Processing latency, is 1 second. That’s our
•We’ve allowed the web server to spawn up to 2000 threads (that’s now our )
How many requests can our system handle per second ?
λ = L/W = 2000/1 = 2000
5. 5 HY NODEJS?
L is a feature of the environment (hardware, OS, etc.) and its limiting factors.
It is the minimum of all limits constraining the number of concurrent requests.
What Dominates the Capacity (L) ? A server can support several tens-of-thousands requests A server can support 100K to over a million concurrent requests Assuming a request size of 1 MB this can be over several hundreds-of- thousands requests Again, this can be over several hundreds-of-thousands requests So, L is somewhere between 100K and 1 million requests? Oh no no… Wait a minute… It usually has somewhere between 2K and 15K threads. With thread- per-connection model a server can serve < 20K requests
L = MIN(1,2,3,4,5 ) L is completely dominated by the number of threads the OS can support without adding latency
6. 6 HY NODEJS?
Time
WEB CLIENT
SERVER
FOO
BAR
MICROSERVICES
HTTP SERVICE
•FOO and BAR, each take 500ms on average to return a response,
•Processing latency, is 1 second. That’s our
•We’ve allowed the web server to spawn up to 2000 threads (that’s now our )
If we call FOO and BAR parallely or asynchronously
How many requests can our system handle per second ?
λ = 2000/500 = 4000 per second
7. 7 HY NODEJS?
•Even with multiple threads Context switching is not free
•Execution stacks(threads) take up memory
•Cannot use an OS thread for each connection
Problem 1
Problem 2
We do I/O which is or synchronous Typical blocking things:-
•Calls out to web services
•Reads/Writes on the Database
8. 8 HAT IS NODEJS?
•Server side Javascript runtime
•It has Google Chrome’s V8 under the hood
•Nodejs.org: “Node.js is a platform built on Chrome’s JavaScript runtime for easily building fastnetwork applications. Node.js uses an , model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.”
Little’s Law...huh
9. 9
NodeJS under the hood…
Callbacks + Polling Epoll, POSIX AIO,Kqueue …
Socket,http etc…
Open source JavaScript engine, platform Optimizer, JIT, inline caching, GC
Cross-platform asychronous I/O. Event Loop,Worker Thread Pool
11. ultithreaded Server | Architecture Summary
Synchronous, blocking I/O = simpler way of performing I/O. More threads because of the direct association to connections. This causes more memory and higher CPU usage due to more context switching among threads
13. inglethreaded Server | Architecture Summary
Event loop (main thread) at the front and asynchronous I/O at the kernel level. By not directly associating connections and threads, needs only a main event loop thread and (kernel) threads to perform I/O. Fewer threads , consequently yield , it uses less memory and also less CPU.
17. 17
THE PAYPAL STORY
•On November 22, 2013 PayPal's engineering team posted on the PayPal engineering blog a post about PayPal's move from Java back end to Node.js back end for its web applications.
•The first web application to get the node treatment was the
•Two teams were building the same application with the exact same functionality one in Java and other in Javascript.
•The application contained three routes and each route made a between 2-5 API requests, orchestrated the data and rendered the page.
18. 18
The PAYPAL STORY
•Double the requests per second vs. the Java application.
•35% decrease in the average response time for the same page. This resulted in the pages being served 200ms faster— something users will definitely notice.
19. 19
THE BENEFITS Using JavaScript on both the front- end and the back-end removed an artificial boundary between the browser and server, allowing engineers to code both.
2.Built almost
3.Written in
4.Constructed with vs. the Java application. time for the same page
22. 22
NODE.JS SCALES ON A PER PROCESSOR BASIS AS WELL AS ACROSS SERVERS.
Independently scale the subsystems A JavaEE 3-tier app is actually not written with Horizontal clustering in mind
23. 23
Case Study - The Playfield
Reference: http://www.techferry.com/eBooks/NodeJS-vs-J2EE- Stack.html Two small applications simulating following use cases were written. One using Spring/Hibernate running on Tomcat with MySQL database at backend and another application using NodeJS with MySQL database at backend. Jmeter has been used to fire similar test load with varying load patterns to both the applications. 1.Use Case - Write a record : A module to insert a record into one single DB table and the backend returns a success/decline json response. 2.Use Case - Read a record : A module to read the same record by passing a query parameter and the backend returns the record as json string.
24. 24
BENCHMARKING – CPU & MEMORY
Average CPU and memory usage were very low for NodeJS for serving same load pattern
WRITE A RECORD - User/Loops (100/1000)
READ A RECORD - User/Loops (100/1000)
25. 25
BENCHMARKING – HITS PER SEC(Scales may differ)
NodeJs was able to server better hits per second smoothly over time
WRITE A RECORD - User/Loops (100/1000)
26. 26
BENCHMARKING – Response Times vs Threads (Scales may differ)
NodeJs was able to server better hits per second smoothly over time.(Scales below are different)
READ A RECORD - User/Loops (100/1000)
27. 27
Scenario
NODE JS
JAVA/J2EE
System Resource usage
NodeJS consistently uses comparatively very low CPU and Memory because of fewer threads used for processing
J2EE model scales with threads and hence it is CPU and memory hungry. CPU and Memory usage was comparatively very high
Simple URL based read/writes and increasing User Load
As the load and concurrency grow , NodeJS's scalability potential for lightweight operations improves
Since each request executes as thread, thread pool size can not be set infinite so with a given thread pool size requests will have to wait for their turn which work well on moderate load but performance degrades on extremely high Twitter kind of loads.
NodeJS vs JEE - Comparison Summary
28. 28
Scenario
NODE JS
JAVA/J2EE
CPU Intensive operations
Should be very carefully chosen in this scenario.
Should be preferred due to multi threading capabilities that can execute such operations in parallel without blocking other requests.
Independent and Blocking Asynchronous I/O operations. Like mix of DB calls, Web Service calls, File Read/Write etc.
Such operations can be executed in parallel while NodeJS instead of waiting on blocking I/O operations can process more requests
Performance degrades on higher loads. All sub operations in each request will be performed sequentially even though they are independent. So initially it may scale up to some parallel threads or requests after which waiting time will keep most of the threads waiting (blocking resources)
NodeJS vs JEE - Comparison Summary
30. 30
ECOSYSTEM 1-1
NODEJS (Upcoming)
JAVA/J2EE(Mature)
Language
Javascript
Java
Runtime
Node JS
JVM
Server/Middleware
Express.JS(Async)
J2EE compliant Web Server(Non Async)
Module Repository
Node Packaged Modules
Mostly Maven
Paas Support
Multiple…
•Cloudbees
•GoGrid
•Cloudcat
Full Stack
Javascript
all across
•No Java only stack
Libraries
MODULES Package.json
JARS
MANIFEST.MF
31. 31
NODEJS (Upcoming)
JAVA/J2EE(Mature)
Unit Testing Frameworks
NodeUnit
Mocha(TDD) + Chai(assertion library)
Nock(Mock Http Services)
Junit
EasyMock
Build Tools
•Grunt
•node-ant (Apache Ant adapter )
Ant, Maven, Gradle
Configuration
config-js
Mostly XML based
Standardization of Code Structure
KrakenJS
Maven/ pattern based
Auto Restart
•forever
•Supervisor
•Needs to be explicitly scripted
ECOSYSTEM 1-1
32. 32
NODEJS (Upcoming)
JAVA/J2EE(Mature)
Web MVC
Angular.js
Ember.js
Backbone.js
• Struts
•Spring MVC
•JSF
IOC Framework
Event loop and handlers yield an IOC
Spring
ORM frameworks
Support exists all across, but still nascent
•JPA
•Hibernate
•EJB Entity Beans
IDE Support
•Sublime Text
•Eclipse
•Eclipse
•IntelliJ
Debugging
•Cluster2 – Live Production Debugging
•node-inspector
•Eclipse v8 Plugin
•JDT
Profiling
•V8-profiler
•node -profiler
•JProfiler
•JMeter
ECOSYSTEM 1-1
33. 33
ECOSYSTEM 1-1
NODEJS (Upcoming)
JAVA/J2EE(Mature)
Logging frameworks
Winston
Bunyan
Log4Js
log4j
logback slf4j
Monitoring
node-monitor
APPDynamics
Dynatrace, JMX console
API Support(Persistance, Cache, MQ/File System)
HTTP
File System
Socket.io
Redis
MongoDB
MySQL
PostgreSQL
Memcached
Cassandra
RabbitMQ
Riak
Oracle etc.. and counting…
Most backend systems
36. 36
NODE IS GOOD FOR…
CHAT
JSON API on top of an object
based DB (such as MongoDB).
QUEUED
INPUTS
DATA STREAMING
PROXY
APPLICATION MONITORING DASHBOARD
BROKERAGE - STOCK TRADER’S DASHBOARD
SYSTEM MONITORING DASHBOARD
40. 40
Can Node be used for Compute Intensive tasks?
41. 41
COMPUTE INTENSIVE WITH NODE
*Courtesy: http://neilk.net/blog/2013/04/30/why-you-should-use-nodejs-for-CPU-bound-tasks/
Yohooo!!…Worker pools, Cluster, Web Workers to the rescue..
43. 43
NODE.JS TRANSACTION/CONNECTION POOLING SUPPORT
Knex.js is a "batteries included" SQL query builder for Postgres, MySQL, MariaDB and SQLite3, designed to be flexible, portable, and fun to use. It features both traditional node style callbacks as well as a promise interface for cleaner async flow control, a stream interface, full featured query and schema builders, transaction support, connection pooling and standardized responses between different query clients and dialects.
Still unconquered
to the rescue…
45. 45
WHY JAVA NIO FAILS
Java still has downsides compared to Node.js in that many core Java libraries are not non-blocking friendly (such as JDBC).
Async in Node.js is completely different. Everything is non-blocking, from file reads to database access
51. 51
BUSINESS BENEFITS
Motivation
•Fast Prototyping
•Continuous Delivery Productivity
•An Enterprise Scale Web Server In 5 Lines
•>80K Modules On NPM (Growing Ecosystem) Developer Joy More Happy, Works Better, More Developers Join Cost Savings
•Fewer Developers
•Smaller Iterations
•Less Hardware footprint