Massively Scalable Applications - TechFerry

TechFerry
TechFerryCEO at TechFerry
Massively Scalable
Applications
Deepansh Malik
Introductions
www.techferry.com /TechFerry /@techferry
Deepansh Malik
CEO at TechFerry
@DeepanshMalik
https://in.linkedin.com/in/deepanshmalik
TechFerry:
Analytics, IT Innovation, R&D Company
Specialization in
o Growth Analytics
o HealthCare Analytics
o Massively Scalable Applications and Rich UI
Massively Scalable Applications
Benchmark: 1 Million TRX per second
1 Million Requests per second
1 Million Messages per second
1 Million DB Transactions per second
1 Million/sec = 1 Billion TRX in 17 minutes
= 86.4 Billion TRX a day
Scale out or Scale up?
Scale out -> Add more hardware.
1 CPU Core = 1000 requests/sec
To massively scale (1 Million request/second), we need 1000 cores. 50
machines 20 cores each.
Good idea or stupid idea? Costs??
Scale up?
Can one machine scale to a million transactions per second?
The Answer is YES.
Our commodity hardware is very powerful.
What is the bottleneck then? What do we need to save tons of money being
wasted in scaling out?
Let us begin
Architecting
Massively Scalable Apps
Computing Spectrum
Symmetric Multi Processing
A single problem or a single task (eg. a DB query), it
takes 2 milliseconds on a core.
Can I use two cores and complete this single task in 1
ms?
Distributed Computing
Distribute load on multiple machines.
Make sure there are no bottlenecks or single point of
failures.
Can we achieve End to End Distribution, from
messaging to processing to databases?
Concurrent Programming
One CPU core currently handles 1000 trx/sec.
Can one core handle 1000 trx in a millisecond
instead? That is 1M trx/sec.
Can we remove context switching overheads and
synchronous, I/O idling?
Parallel Programming
● Throw more CPU cores for different
tasks.
Distributed Computing
Distribute workload between two or more computing devices or machines
connected by some type of network.
● For example, clustered architecture with multiple machines
However, in real life web applications, we need to distribute workload on
● application servers,
● database servers,
● perform real-time computations or analytics.
Distributed Computing
Distributed Storage
Distributed Messaging
Distributed Analytics
(Real Time and Batch)
Traditional vs New
Spot the Bottleneck node / single point of failure.
Traditional: Load Balancer (L), Master DB (M) | New: ??
Traditional New
Load balancing
App Servers
Master Slave
DB Architecture
Distributed Computing - Tools
➔ Distributed Messaging
◆ Apache Kafka, RabbitMQ, Apache ActiveMQ
◆ A detailed comparison from LinkedIn is available at
http://research.microsoft.com/en-us/um/people/srikanth/netdb11/netdb11papers/netdb11-final12.pdf
➔ Distributed Analytics
◆ Apache Storm (Real Time), Apache Spark (Batch)
➔ Distributed Storage
◆ Cassandra
Use Cases:
Highly Suitable for Real Time analytics of High Velocity Big Data
Machine to Machine (M2M) or Internet of Things (IoT)
M2M, IoT and real time analytics
https://www.linkedin.com/pulse/20141203105632-40354099-m2m-iot-and-real-time-analytics
Concurrent Programming
is a form of computing in which several computations are executing during
overlapping time periods –concurrently – instead of sequentially
software code that facilitates the performance of multiple computing tasks at
the same time
Architectural Concepts
Events, Threads or Actors?
Asynchronous Programming
Functional Programming
Concurrent Programming
Events vs Threads, Actors
NodeJS vs J2EE
Performance comparison of
Multithreaded synchronous
technology using Spring/Hibernate,
VS
Event based, single process, asynchronous
technology using NodeJS.
Independent Research Report from TechFerry Innovation Lab
http://www.techferry.com/eBooks/NodeJS-vs-J2EE-Stack.html
Asynchronous Programming
End to end asynchronous programming
Non blocking call-backs
not just at Application layer
but also at UI or Database layers.
Pick asynchronous programming at application,
database or UI layer based on your use-case.
Functional Programming
A programming paradigm, a style of building the
structure and elements of computer programs, that
treats computation as the evaluation of mathematical
functions and avoids changing-state and mutable data.
Routines can easily be moved to a different CPU core.
Scala/Akka Actors
Innovation Labs @ TechFerry
Symmetric Multi Processing
Symmetric Multi Processing (SMP) is the processing of programs by multiple
processors that share a common operating system and memory.
The processors share memory and the I/O bus or data path.
A single copy of the operating system is in charge of all the processors.
Asymmetric vs Symmetric
Asymmetric Multiprocessing
The different CPU take on different job
Symmetric Multi Processing (SMP)
All CPU run in parallel, doing the same job
CPUs share the same memory
+1 408-337-6607
info@techferry.com
Contact Information
www.techferry.com
Thank You
/techferry /@techferry
1 of 21

Recommended

Spring training by
Spring trainingSpring training
Spring trainingTechFerry
1.7K views26 slides
Hibernate training by
Hibernate trainingHibernate training
Hibernate trainingTechFerry
1.6K views30 slides
Spring annotation by
Spring annotationSpring annotation
Spring annotationRajiv Srivastava
3K views6 slides
Spring from a to Z by
Spring from  a to ZSpring from  a to Z
Spring from a to Zsang nguyen
71 views16 slides
Annotation-Based Spring Portlet MVC by
Annotation-Based Spring Portlet MVCAnnotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCJohn Lewis
5.1K views17 slides
Grails with swagger by
Grails with swaggerGrails with swagger
Grails with swaggerNexThoughts Technologies
2.2K views14 slides

More Related Content

What's hot

IoT in salsa Serverless by
IoT in salsa ServerlessIoT in salsa Serverless
IoT in salsa ServerlessMassimo Bonanni
46 views35 slides
Spring jdbc by
Spring jdbcSpring jdbc
Spring jdbcHarshit Choudhary
158 views24 slides
Code Generation idioms with Xtend by
Code Generation idioms with XtendCode Generation idioms with Xtend
Code Generation idioms with XtendHolger Schill
3.2K views60 slides
.NET Core, ASP.NET Core Course, Session 14 by
.NET Core, ASP.NET Core Course, Session 14.NET Core, ASP.NET Core Course, Session 14
.NET Core, ASP.NET Core Course, Session 14aminmesbahi
273 views49 slides
Introduction to Spring MVC by
Introduction to Spring MVCIntroduction to Spring MVC
Introduction to Spring MVCRichard Paul
6.4K views18 slides
.NET Core, ASP.NET Core Course, Session 13 by
.NET Core, ASP.NET Core Course, Session 13.NET Core, ASP.NET Core Course, Session 13
.NET Core, ASP.NET Core Course, Session 13aminmesbahi
333 views43 slides

What's hot(14)

Code Generation idioms with Xtend by Holger Schill
Code Generation idioms with XtendCode Generation idioms with Xtend
Code Generation idioms with Xtend
Holger Schill3.2K views
.NET Core, ASP.NET Core Course, Session 14 by aminmesbahi
.NET Core, ASP.NET Core Course, Session 14.NET Core, ASP.NET Core Course, Session 14
.NET Core, ASP.NET Core Course, Session 14
aminmesbahi273 views
Introduction to Spring MVC by Richard Paul
Introduction to Spring MVCIntroduction to Spring MVC
Introduction to Spring MVC
Richard Paul6.4K views
.NET Core, ASP.NET Core Course, Session 13 by aminmesbahi
.NET Core, ASP.NET Core Course, Session 13.NET Core, ASP.NET Core Course, Session 13
.NET Core, ASP.NET Core Course, Session 13
aminmesbahi333 views
Durable Functions vs Logic App : la guerra dei workflow!! by Massimo Bonanni
Durable Functions vs Logic App : la guerra dei workflow!!Durable Functions vs Logic App : la guerra dei workflow!!
Durable Functions vs Logic App : la guerra dei workflow!!
Massimo Bonanni120 views
Extending burp with python by Hoang Nguyen
Extending burp with pythonExtending burp with python
Extending burp with python
Hoang Nguyen456 views
Hibernate Developer Reference by Muthuselvam RS
Hibernate Developer ReferenceHibernate Developer Reference
Hibernate Developer Reference
Muthuselvam RS4.4K views
Tu1 1 5l by shibli009
Tu1 1 5lTu1 1 5l
Tu1 1 5l
shibli009899 views
Spring 3.x - Spring MVC - Advanced topics by Guy Nir
Spring 3.x - Spring MVC - Advanced topicsSpring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topics
Guy Nir14.4K views

Similar to Massively Scalable Applications - TechFerry

Infrastructure student by
Infrastructure studentInfrastructure student
Infrastructure studentJohn Scrugham
758 views50 slides
Symphony Driver Essay by
Symphony Driver EssaySymphony Driver Essay
Symphony Driver EssayAngie Jorgensen
2 views76 slides
Gluecon Preso: Hybrid Container Infrastructure by
Gluecon Preso: Hybrid Container InfrastructureGluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container Infrastructurerhirschfeld
552 views20 slides
Isometric Making Essay by
Isometric Making EssayIsometric Making Essay
Isometric Making EssayAlana Cartwright
2 views82 slides
5.7 Parallel Processing - Reactive Programming.pdf.pptx by
5.7 Parallel Processing - Reactive Programming.pdf.pptx5.7 Parallel Processing - Reactive Programming.pdf.pptx
5.7 Parallel Processing - Reactive Programming.pdf.pptxMohamedBilal73
8 views14 slides
OS for AI: Elastic Microservices & the Next Gen of ML by
OS for AI: Elastic Microservices & the Next Gen of MLOS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of MLNordic APIs
264 views35 slides

Similar to Massively Scalable Applications - TechFerry(20)

Gluecon Preso: Hybrid Container Infrastructure by rhirschfeld
Gluecon Preso: Hybrid Container InfrastructureGluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container Infrastructure
rhirschfeld552 views
5.7 Parallel Processing - Reactive Programming.pdf.pptx by MohamedBilal73
5.7 Parallel Processing - Reactive Programming.pdf.pptx5.7 Parallel Processing - Reactive Programming.pdf.pptx
5.7 Parallel Processing - Reactive Programming.pdf.pptx
MohamedBilal738 views
OS for AI: Elastic Microservices & the Next Gen of ML by Nordic APIs
OS for AI: Elastic Microservices & the Next Gen of MLOS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of ML
Nordic APIs264 views
HP Enterprises in Hana Pankaj Jain May 2016 by INDUSCommunity
HP Enterprises in Hana Pankaj Jain May 2016HP Enterprises in Hana Pankaj Jain May 2016
HP Enterprises in Hana Pankaj Jain May 2016
INDUSCommunity1.1K views
Atmosphere 2014: Switching from monolithic approach to modular cloud computin... by PROIDEA
Atmosphere 2014: Switching from monolithic approach to modular cloud computin...Atmosphere 2014: Switching from monolithic approach to modular cloud computin...
Atmosphere 2014: Switching from monolithic approach to modular cloud computin...
PROIDEA354 views
Lean Enterprise, Microservices and Big Data by Stylight
Lean Enterprise, Microservices and Big DataLean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big Data
Stylight4.9K views
Project Energy Efficient Database Management Systems Essay by April Wbnd
Project Energy Efficient Database Management Systems EssayProject Energy Efficient Database Management Systems Essay
Project Energy Efficient Database Management Systems Essay
April Wbnd2 views
How to Migrate Applications Off a Mainframe by VMware Tanzu
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
VMware Tanzu6.2K views
Achieve Sub-Second Analytics on Apache Kafka with Confluent and Imply by confluent
Achieve Sub-Second Analytics on Apache Kafka with Confluent and ImplyAchieve Sub-Second Analytics on Apache Kafka with Confluent and Imply
Achieve Sub-Second Analytics on Apache Kafka with Confluent and Imply
confluent1.6K views
Containerizing couchbase with microservice architecture on mesosphere.pptx by Ravi Yadav
Containerizing couchbase with microservice architecture on mesosphere.pptxContainerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptx
Ravi Yadav159 views
"New Dataflow Architecture for Machine Learning," a Presentation from Wave Co... by Edge AI and Vision Alliance
"New Dataflow Architecture for Machine Learning," a Presentation from Wave Co..."New Dataflow Architecture for Machine Learning," a Presentation from Wave Co...
"New Dataflow Architecture for Machine Learning," a Presentation from Wave Co...
Microservices Architecture - Cloud Native Apps by Araf Karsh Hamid
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid1.4K views
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb... by Dr. Thippeswamy S.
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
A Comparative Study Of Risc, Mainframe, And Vector... by Robyn Martin
A Comparative Study Of Risc, Mainframe, And Vector...A Comparative Study Of Risc, Mainframe, And Vector...
A Comparative Study Of Risc, Mainframe, And Vector...
Robyn Martin3 views
Internet Scale Architecture by RightScale
Internet Scale ArchitectureInternet Scale Architecture
Internet Scale Architecture
RightScale4.4K views

Recently uploaded

Voice Logger - Telephony Integration Solution at Aegis by
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at AegisNirmal Sharma
31 views1 slide
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
257 views86 slides
Case Study Copenhagen Energy and Business Central.pdf by
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdfAitana
16 views3 slides
The Research Portal of Catalonia: Growing more (information) & more (services) by
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)CSUC - Consorci de Serveis Universitaris de Catalunya
79 views25 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
55 views21 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
33 views69 slides

Recently uploaded(20)

Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma31 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software257 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker33 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 views
Lilypad @ Labweek, Istanbul, 2023.pdf by Ally339821
Lilypad @ Labweek, Istanbul, 2023.pdfLilypad @ Labweek, Istanbul, 2023.pdf
Lilypad @ Labweek, Istanbul, 2023.pdf
Ally3398219 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman30 views
From chaos to control: Managing migrations and Microsoft 365 with ShareGate! by sammart93
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
sammart939 views
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang37 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb13 views
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada126 views
Web Dev - 1 PPT.pdf by gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet60 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson66 views

Massively Scalable Applications - TechFerry

  • 2. Introductions www.techferry.com /TechFerry /@techferry Deepansh Malik CEO at TechFerry @DeepanshMalik https://in.linkedin.com/in/deepanshmalik TechFerry: Analytics, IT Innovation, R&D Company Specialization in o Growth Analytics o HealthCare Analytics o Massively Scalable Applications and Rich UI
  • 3. Massively Scalable Applications Benchmark: 1 Million TRX per second 1 Million Requests per second 1 Million Messages per second 1 Million DB Transactions per second 1 Million/sec = 1 Billion TRX in 17 minutes = 86.4 Billion TRX a day
  • 4. Scale out or Scale up? Scale out -> Add more hardware. 1 CPU Core = 1000 requests/sec To massively scale (1 Million request/second), we need 1000 cores. 50 machines 20 cores each. Good idea or stupid idea? Costs??
  • 5. Scale up? Can one machine scale to a million transactions per second? The Answer is YES. Our commodity hardware is very powerful. What is the bottleneck then? What do we need to save tons of money being wasted in scaling out?
  • 7. Computing Spectrum Symmetric Multi Processing A single problem or a single task (eg. a DB query), it takes 2 milliseconds on a core. Can I use two cores and complete this single task in 1 ms? Distributed Computing Distribute load on multiple machines. Make sure there are no bottlenecks or single point of failures. Can we achieve End to End Distribution, from messaging to processing to databases? Concurrent Programming One CPU core currently handles 1000 trx/sec. Can one core handle 1000 trx in a millisecond instead? That is 1M trx/sec. Can we remove context switching overheads and synchronous, I/O idling? Parallel Programming ● Throw more CPU cores for different tasks.
  • 8. Distributed Computing Distribute workload between two or more computing devices or machines connected by some type of network. ● For example, clustered architecture with multiple machines However, in real life web applications, we need to distribute workload on ● application servers, ● database servers, ● perform real-time computations or analytics.
  • 9. Distributed Computing Distributed Storage Distributed Messaging Distributed Analytics (Real Time and Batch)
  • 10. Traditional vs New Spot the Bottleneck node / single point of failure. Traditional: Load Balancer (L), Master DB (M) | New: ?? Traditional New Load balancing App Servers Master Slave DB Architecture
  • 11. Distributed Computing - Tools ➔ Distributed Messaging ◆ Apache Kafka, RabbitMQ, Apache ActiveMQ ◆ A detailed comparison from LinkedIn is available at http://research.microsoft.com/en-us/um/people/srikanth/netdb11/netdb11papers/netdb11-final12.pdf ➔ Distributed Analytics ◆ Apache Storm (Real Time), Apache Spark (Batch) ➔ Distributed Storage ◆ Cassandra
  • 12. Use Cases: Highly Suitable for Real Time analytics of High Velocity Big Data Machine to Machine (M2M) or Internet of Things (IoT) M2M, IoT and real time analytics https://www.linkedin.com/pulse/20141203105632-40354099-m2m-iot-and-real-time-analytics
  • 13. Concurrent Programming is a form of computing in which several computations are executing during overlapping time periods –concurrently – instead of sequentially software code that facilitates the performance of multiple computing tasks at the same time
  • 14. Architectural Concepts Events, Threads or Actors? Asynchronous Programming Functional Programming Concurrent Programming
  • 15. Events vs Threads, Actors NodeJS vs J2EE Performance comparison of Multithreaded synchronous technology using Spring/Hibernate, VS Event based, single process, asynchronous technology using NodeJS. Independent Research Report from TechFerry Innovation Lab http://www.techferry.com/eBooks/NodeJS-vs-J2EE-Stack.html
  • 16. Asynchronous Programming End to end asynchronous programming Non blocking call-backs not just at Application layer but also at UI or Database layers. Pick asynchronous programming at application, database or UI layer based on your use-case.
  • 17. Functional Programming A programming paradigm, a style of building the structure and elements of computer programs, that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. Routines can easily be moved to a different CPU core. Scala/Akka Actors
  • 18. Innovation Labs @ TechFerry
  • 19. Symmetric Multi Processing Symmetric Multi Processing (SMP) is the processing of programs by multiple processors that share a common operating system and memory. The processors share memory and the I/O bus or data path. A single copy of the operating system is in charge of all the processors.
  • 20. Asymmetric vs Symmetric Asymmetric Multiprocessing The different CPU take on different job Symmetric Multi Processing (SMP) All CPU run in parallel, doing the same job CPUs share the same memory