SlideShare uma empresa Scribd logo
1 de 21
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

Mais conteúdo relacionado

Mais procurados

Java Server Faces (JSF) - advanced
Java Server Faces (JSF) - advancedJava Server Faces (JSF) - advanced
Java Server Faces (JSF) - advanced
BG Java EE Course
 

Mais procurados (14)

IoT in salsa Serverless
IoT in salsa ServerlessIoT in salsa Serverless
IoT in salsa Serverless
 
Spring jdbc
Spring jdbcSpring jdbc
Spring jdbc
 
Code Generation idioms with Xtend
Code Generation idioms with XtendCode Generation idioms with Xtend
Code Generation idioms with Xtend
 
.NET Core, ASP.NET Core Course, Session 14
.NET Core, ASP.NET Core Course, Session 14.NET Core, ASP.NET Core Course, Session 14
.NET Core, ASP.NET Core Course, Session 14
 
Introduction to Spring MVC
Introduction to Spring MVCIntroduction to Spring MVC
Introduction to Spring MVC
 
.NET Core, ASP.NET Core Course, Session 13
.NET Core, ASP.NET Core Course, Session 13.NET Core, ASP.NET Core Course, Session 13
.NET Core, ASP.NET Core Course, Session 13
 
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!!
Durable Functions vs Logic App : la guerra dei workflow!!
 
Extending burp with python
Extending burp with pythonExtending burp with python
Extending burp with python
 
Hibernate Developer Reference
Hibernate Developer ReferenceHibernate Developer Reference
Hibernate Developer Reference
 
Tu1 1 5l
Tu1 1 5lTu1 1 5l
Tu1 1 5l
 
Hibernate Advance Interview Questions
Hibernate Advance Interview QuestionsHibernate Advance Interview Questions
Hibernate Advance Interview Questions
 
Spring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topicsSpring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topics
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Java Server Faces (JSF) - advanced
Java Server Faces (JSF) - advancedJava Server Faces (JSF) - advanced
Java Server Faces (JSF) - advanced
 

Semelhante a Massively Scalable Applications - TechFerry

Lean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big DataLean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big Data
Stylight
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
VMware Tanzu
 
Achieve Sub-Second Analytics on Apache Kafka with Confluent and Imply
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
confluent
 

Semelhante a Massively Scalable Applications - TechFerry (20)

Infrastructure student
Infrastructure studentInfrastructure student
Infrastructure student
 
Symphony Driver Essay
Symphony Driver EssaySymphony Driver Essay
Symphony Driver Essay
 
Gluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container InfrastructureGluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container Infrastructure
 
Isometric Making Essay
Isometric Making EssayIsometric Making Essay
Isometric Making Essay
 
5.7 Parallel Processing - Reactive Programming.pdf.pptx
5.7 Parallel Processing - Reactive Programming.pdf.pptx5.7 Parallel Processing - Reactive Programming.pdf.pptx
5.7 Parallel Processing - Reactive Programming.pdf.pptx
 
OS for AI: Elastic Microservices & the Next Gen of ML
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
 
Essay On Workplace Telecommunications
Essay On Workplace TelecommunicationsEssay On Workplace Telecommunications
Essay On Workplace Telecommunications
 
HP Enterprises in Hana Pankaj Jain May 2016
HP Enterprises in Hana Pankaj Jain May 2016HP Enterprises in Hana Pankaj Jain May 2016
HP Enterprises in Hana Pankaj Jain May 2016
 
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...
Atmosphere 2014: Switching from monolithic approach to modular cloud computin...
 
Lean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big DataLean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big Data
 
Resume
ResumeResume
Resume
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
 
Achieve Sub-Second Analytics on Apache Kafka with Confluent and Imply
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
 
Containerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptxContainerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptx
 
"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...
"New Dataflow Architecture for Machine Learning," a Presentation from Wave Co...
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
 
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
 
Internet Scale Architecture
Internet Scale ArchitectureInternet Scale Architecture
Internet Scale Architecture
 
CC LECTURE NOTES (1).pdf
CC LECTURE NOTES (1).pdfCC LECTURE NOTES (1).pdf
CC LECTURE NOTES (1).pdf
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

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