SlideShare une entreprise Scribd logo
1  sur  34
Building Highly Scalable and High Scalable
Applications using Java/JEE Technologies
Shivnarayan Varma
Sr. Architect
Tech COE, Fiserv
© 2010 Fiserv, Inc. or its affiliates.
Agenda :
• Defining and understanding scalability.
• Scalability variables & Factors
• Building our own Scalable Application
• (Scale seamlessly
• High Performance
• Unlimited storage expansion
• Reduce Network Latency
• Direct the user to nearest server
• Scale out, no Scale in
• Sweet spot: Low Cost, High Performance, Scalable
)
• Scalability Real Time Issue
© 2012 Fiserv, Inc. or its affiliates.•3
• How do I know if I have a scalability problem?
• Why we need scalability?
Defining and understanding scalability.
© 2012 Fiserv, Inc. or its affiliates.
Scalability Variables
• Scalability - Number of users / sessions / transactions / operations
the entire system can perform
• Performance – Optimal utilization of resources
• Responsiveness – Time taken per operation
• Availability - Probability of the application or a portion of the
application being available at any given point in time
• Downtime Impact - The impact of a downtime of a
server/service/resource - number of users, type of impact etc
• Cost
• Maintenance Effort
4
© 2012 Fiserv, Inc. or its affiliates.
Factors for Building Robust Scalable JEE
Application
• Platform selection
• Hardware
• Network limits
• Garbage Collection
• Application Design/ Architecture
• Database Structure and Architecture
• Deployment Architecture
• Storage Architecture
• Monitoring mechanisms
5
6
Typical JEE Reference Architecture
7
Building our own Scalable Application.
Platform selection
Hardware
Application Design
Database/Data store Structure and Architecture
Deployment Architecture
Storage Architecture
Monitoring Mechanism
© 2012 Fiserv, Inc. or its affiliates.
Identify areas of bottlenecks
• Database red/Write
• Memory Clustering
• Failover Caching
8
© 2012 Fiserv, Inc. or its affiliates.•9
Typical JEE Reference Architecture
© 2012 Fiserv, Inc. or its affiliates.
© 2012 Fiserv, Inc. or its affiliates.
JEE Scalability Points
• We will now build an example architecture for an example app using
the following iterative incremental steps –
• Inspect current Architecture
• Identify Scalability Bottlenecks
• Identify SPOFs and Availability Issues
• Identify Downtime Impact Risk Zones
• Apply one of -
• Vertical Scaling
• Vertical Partitioning
• Horizontal Scaling
• Horizontal Partitioning
• Repeat process
11
© 2012 Fiserv, Inc. or its affiliates.
JEE Scalability Points
• We will now build an example architecture for an example app using
the following iterative incremental steps –
• Inspect current Architecture
• Identify Scalability Bottlenecks
• Identify SPOFs and Availability Issues
• Identify Downtime Impact Risk Zones
• Apply one of -
• Vertical Scaling
• Vertical Partitioning
• Horizontal Scaling
• Horizontal Partitioning
• Repeat process
12
© 2012 Fiserv, Inc. or its affiliates.
Clustering factors
• High Availability
• Load balancing
• Fault Tolerance
• Failover
• Idempotent methods
13
© 2012 Fiserv, Inc. or its affiliates.
Best Practices
• Use scalable session replication mechanisms
Use collocated deployment instead of distributed one
Shared resources and services
Distributed cache
• Memcached/Terracotta
• Paralleled processing
• MapReduce
• MPI
• Using unorthodox approach to achieve high scalability
•
•
14
© 2012 Fiserv, Inc. or its affiliates.
How can I integrate multiple applications so that they work
together and can exchange information?
Remote Procedure Invocation
File Transfer Shared Database
Messaging- MOM
© 2012 Fiserv, Inc. or its affiliates.
Asynchronous MOM Element
Channels are separate from applications
Channels are asynchronous & reliable
© 2012 Fiserv, Inc. or its affiliates.
How does one application communicate with another
using messaging?
Messaging Channel -A virtual pipe that connects a sender to a
receiver application.
© 2012 Fiserv, Inc. or its affiliates.
Point To Point Channel
How can the sender be sure that exactly one
receiver will receive the message?
In point-to-point Java Message Service (JMS) , messages are
routed to an individual
consumer which maintains a queue of "incoming" messages.
This messaging type is built on the concept of message queues,
senders, and receivers
© 2012 Fiserv, Inc. or its affiliates.
Publish – Subscribe Channel
How can the sender broadcast a message to all
interested receivers?
In JMS publish – subscribe ,subscribers may register interest in
receiving messages on a particular message topic. In this model,
neither the publisher nor the subscriber knows about each other.
20
Message Routing
© 2012 Fiserv, Inc. or its affiliates.
Web Banking Page
21
• Partitioning
•HTTP Caching
•RDBMS Sharding
•NOSQL
• Distributed Caching
•Data Grids
•Concurrency
Scalability Patterns: State
© 2012 Fiserv, Inc. or its affiliates.
Advance Confirmation Page
22
• HTTP Caching
• Reverse Proxy
• • Varnish
• • Squid
• • rack-cache
• • Pound
• • Nginx
• • Apache mod_proxy
• • Traffic Server
© 2012 Fiserv, Inc. or its affiliates.
Successful Creation of RA
23
• Generate Static Content
• Precompute content
• • Homegrown + cron or Quartz
• • Spring Batch
• • Gearman
• • Hadoop
• • Google Data Protocol
• • Amazon Elastic MapReduce
© 2012 Fiserv, Inc. or its affiliates.24
© 2012 Fiserv, Inc. or its affiliates.25
HTTP Caching
Subsequent request
© 2012 Fiserv, Inc. or its affiliates.
How to scale out RDBMS?
26
• Sharding
• •Partitioning
• •Replication
© 2012 Fiserv, Inc. or its affiliates.
Sharding: Partitioning
27
© 2012 Fiserv, Inc. or its affiliates.
NOSQL in the wild
28
•Google: Bigtable
• Amazon: Dynamo
• Amazon: SimpleDB
• Yahoo: HBase
• Facebook: Cassandra
• LinkedIn: Voldemort
NOSQL in the wild
© 2012 Fiserv, Inc. or its affiliates.
Sharding: Partitioning
29
• Relational DBs (MySQL, Oracle,
Postgres)
• Object DBs (Gemstone, db4o)
• Clustering products (Coherence,
Terracotta)
• Most caching products (ehcache)
© 2012 Fiserv, Inc. or its affiliates.
Sharding: Partitioning
30
• Types of NOSQL stores
• • Key-Value databases (Voldemort, Dynomite)
• • Column databases (Cassandra, Vertica, Sybase IQ)
• • Document databases (MongoDB, CouchDB)
• • Graph databases (Neo4J, AllegroGraph)
• • Datastructure databases (Redis, Hazelcast)
© 2012 Fiserv, Inc. or its affiliates.
Distributed Caching
31
• •Write-through
• •Write-behind
• • Eviction Policies
• • Replication
• • Peer-To-Peer (P2P)
• Distributed Caching
© 2012 Fiserv, Inc. or its affiliates.
Distributed Caching
32
• Pain of Duplication
• • How do I get failover capability while avoiding
• excessive duplication of data?
© 2012 Fiserv, Inc. or its affiliates.
Distributed Caching
33
© 2012 Fiserv, Inc. or its affiliates.
References
34
• http://www.theserverside.com/news/1320914/Scaling-Your-Java-EE-
Applications-Part-2

Contenu connexe

Tendances

Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Running Oracle EBS in the cloud (UKOUG APPS16 edition)Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Running Oracle EBS in the cloud (UKOUG APPS16 edition)Andrejs Prokopjevs
 
VMworld 2013: Implementing a Holistic BC/DR Strategy with VMware - Part One
VMworld 2013: Implementing a Holistic BC/DR Strategy with VMware - Part OneVMworld 2013: Implementing a Holistic BC/DR Strategy with VMware - Part One
VMworld 2013: Implementing a Holistic BC/DR Strategy with VMware - Part OneVMworld
 
Datasheet was pluginforrd
Datasheet was pluginforrdDatasheet was pluginforrd
Datasheet was pluginforrdMidVision
 
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?Guido Schmutz
 
Accelerate Your Migration to "Application-Centric" Storage-as-a-Service from ...
Accelerate Your Migration to "Application-Centric" Storage-as-a-Service from ...Accelerate Your Migration to "Application-Centric" Storage-as-a-Service from ...
Accelerate Your Migration to "Application-Centric" Storage-as-a-Service from ...VMware
 
Data Caching Strategies for Oracle Mobile Application Framework
Data Caching Strategies for Oracle Mobile Application FrameworkData Caching Strategies for Oracle Mobile Application Framework
Data Caching Strategies for Oracle Mobile Application Frameworkandrejusb
 
AMER Webcast: VMware Virtual SAN
AMER Webcast: VMware Virtual SANAMER Webcast: VMware Virtual SAN
AMER Webcast: VMware Virtual SANVMware
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationChris Muir
 
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...Robert Mederer
 
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaAAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaWASdev Community
 
Ibm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guideIbm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guideKhemnath Chauhan
 
Citrix XenApp 6.5 Performance - How To Ensure a Great End User Experience Bef...
Citrix XenApp 6.5 Performance - How To Ensure a Great End User Experience Bef...Citrix XenApp 6.5 Performance - How To Ensure a Great End User Experience Bef...
Citrix XenApp 6.5 Performance - How To Ensure a Great End User Experience Bef...eG Innovations
 
Le soluzioni tecnologiche per il Copy Data Management
Le soluzioni tecnologiche per il Copy Data ManagementLe soluzioni tecnologiche per il Copy Data Management
Le soluzioni tecnologiche per il Copy Data ManagementJürgen Ambrosi
 
VMworld Europe 2014: What’s New in End User Computing: Full Desktop Automatio...
VMworld Europe 2014: What’s New in End User Computing: Full Desktop Automatio...VMworld Europe 2014: What’s New in End User Computing: Full Desktop Automatio...
VMworld Europe 2014: What’s New in End User Computing: Full Desktop Automatio...VMworld
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By DesignTim Morrow
 
WebCenter as a Cloud App on Exalogic – A Case Study on Virtualization and Per...
WebCenter as a Cloud App on Exalogic – A Case Study on Virtualization and Per...WebCenter as a Cloud App on Exalogic – A Case Study on Virtualization and Per...
WebCenter as a Cloud App on Exalogic – A Case Study on Virtualization and Per...TEAM Informatics
 

Tendances (20)

Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Running Oracle EBS in the cloud (UKOUG APPS16 edition)Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Running Oracle EBS in the cloud (UKOUG APPS16 edition)
 
VMworld 2013: Implementing a Holistic BC/DR Strategy with VMware - Part One
VMworld 2013: Implementing a Holistic BC/DR Strategy with VMware - Part OneVMworld 2013: Implementing a Holistic BC/DR Strategy with VMware - Part One
VMworld 2013: Implementing a Holistic BC/DR Strategy with VMware - Part One
 
Datasheet was pluginforrd
Datasheet was pluginforrdDatasheet was pluginforrd
Datasheet was pluginforrd
 
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
 
Accelerate Your Migration to "Application-Centric" Storage-as-a-Service from ...
Accelerate Your Migration to "Application-Centric" Storage-as-a-Service from ...Accelerate Your Migration to "Application-Centric" Storage-as-a-Service from ...
Accelerate Your Migration to "Application-Centric" Storage-as-a-Service from ...
 
Data Caching Strategies for Oracle Mobile Application Framework
Data Caching Strategies for Oracle Mobile Application FrameworkData Caching Strategies for Oracle Mobile Application Framework
Data Caching Strategies for Oracle Mobile Application Framework
 
Troubleshooting Storage Devices Using vRealize Operations (formerly vC Ops)
Troubleshooting Storage Devices Using vRealize Operations (formerly vC Ops)Troubleshooting Storage Devices Using vRealize Operations (formerly vC Ops)
Troubleshooting Storage Devices Using vRealize Operations (formerly vC Ops)
 
AMER Webcast: VMware Virtual SAN
AMER Webcast: VMware Virtual SANAMER Webcast: VMware Virtual SAN
AMER Webcast: VMware Virtual SAN
 
The Age of Network Operations Management in Software Defined Data Centers
The Age of Network Operations Management in Software Defined Data CentersThe Age of Network Operations Management in Software Defined Data Centers
The Age of Network Operations Management in Software Defined Data Centers
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
 
Dmz aa aioug
Dmz aa aiougDmz aa aioug
Dmz aa aioug
 
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaAAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
 
Ibm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guideIbm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guide
 
Citrix XenApp 6.5 Performance - How To Ensure a Great End User Experience Bef...
Citrix XenApp 6.5 Performance - How To Ensure a Great End User Experience Bef...Citrix XenApp 6.5 Performance - How To Ensure a Great End User Experience Bef...
Citrix XenApp 6.5 Performance - How To Ensure a Great End User Experience Bef...
 
Le soluzioni tecnologiche per il Copy Data Management
Le soluzioni tecnologiche per il Copy Data ManagementLe soluzioni tecnologiche per il Copy Data Management
Le soluzioni tecnologiche per il Copy Data Management
 
VMworld Europe 2014: What’s New in End User Computing: Full Desktop Automatio...
VMworld Europe 2014: What’s New in End User Computing: Full Desktop Automatio...VMworld Europe 2014: What’s New in End User Computing: Full Desktop Automatio...
VMworld Europe 2014: What’s New in End User Computing: Full Desktop Automatio...
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 
DevOps and DBA- Delphix
DevOps and DBA-  DelphixDevOps and DBA-  Delphix
DevOps and DBA- Delphix
 
WebCenter as a Cloud App on Exalogic – A Case Study on Virtualization and Per...
WebCenter as a Cloud App on Exalogic – A Case Study on Virtualization and Per...WebCenter as a Cloud App on Exalogic – A Case Study on Virtualization and Per...
WebCenter as a Cloud App on Exalogic – A Case Study on Virtualization and Per...
 

Similaire à Build highly scalable_low_latency_applications

Deploying Containers in Production and at Scale
Deploying Containers in Production and at ScaleDeploying Containers in Production and at Scale
Deploying Containers in Production and at ScaleMesosphere Inc.
 
Applying systems thinking to AWS enterprise application migration
Applying systems thinking to AWS enterprise application migrationApplying systems thinking to AWS enterprise application migration
Applying systems thinking to AWS enterprise application migrationKacy Clarke
 
IMS capabilities today
IMS capabilities todayIMS capabilities today
IMS capabilities todayKyle Charlet
 
Webinar | Data Management for Hybrid and Multi-Cloud: A Four-Step Journey
Webinar | Data Management for Hybrid and Multi-Cloud: A Four-Step JourneyWebinar | Data Management for Hybrid and Multi-Cloud: A Four-Step Journey
Webinar | Data Management for Hybrid and Multi-Cloud: A Four-Step JourneyDataStax
 
Managing ScaleIO as Software on Mesos
Managing ScaleIO as Software on MesosManaging ScaleIO as Software on Mesos
Managing ScaleIO as Software on MesosDavid vonThenen
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Jagadish Prasath
 
Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...XebiaLabs
 
Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017
Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017
Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017{code} by Dell EMC
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2Raul Chong
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit sessionSanjeev Sharma
 
Eclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in BluemixEclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in BluemixEclipse Day India
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...jaxconf
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352sflynn073
 
Soa 22 software as a service and soa
Soa 22 software as a service and soaSoa 22 software as a service and soa
Soa 22 software as a service and soaVaibhav Khanna
 
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Microsoft Décideurs IT
 
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Microsoft Technet France
 

Similaire à Build highly scalable_low_latency_applications (20)

Deploying Containers in Production and at Scale
Deploying Containers in Production and at ScaleDeploying Containers in Production and at Scale
Deploying Containers in Production and at Scale
 
Applying systems thinking to AWS enterprise application migration
Applying systems thinking to AWS enterprise application migrationApplying systems thinking to AWS enterprise application migration
Applying systems thinking to AWS enterprise application migration
 
IMS capabilities today
IMS capabilities todayIMS capabilities today
IMS capabilities today
 
hadoop_bigdata
hadoop_bigdatahadoop_bigdata
hadoop_bigdata
 
Webinar | Data Management for Hybrid and Multi-Cloud: A Four-Step Journey
Webinar | Data Management for Hybrid and Multi-Cloud: A Four-Step JourneyWebinar | Data Management for Hybrid and Multi-Cloud: A Four-Step Journey
Webinar | Data Management for Hybrid and Multi-Cloud: A Four-Step Journey
 
Managing ScaleIO as Software on Mesos
Managing ScaleIO as Software on MesosManaging ScaleIO as Software on Mesos
Managing ScaleIO as Software on Mesos
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
 
Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...Automating and Accelerating Application Deployments to IBM WebSphere without ...
Automating and Accelerating Application Deployments to IBM WebSphere without ...
 
Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017
Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017
Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017
 
IBM - Introduction to Cloudant
IBM - Introduction to CloudantIBM - Introduction to Cloudant
IBM - Introduction to Cloudant
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
 
Eclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in BluemixEclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in Bluemix
 
DevOps for the DBA- Jax Style!
DevOps for the DBA-  Jax Style!DevOps for the DBA-  Jax Style!
DevOps for the DBA- Jax Style!
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352
 
Soa 22 software as a service and soa
Soa 22 software as a service and soaSoa 22 software as a service and soa
Soa 22 software as a service and soa
 
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
 
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
 

Dernier

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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 productivityPrincipled Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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 DevelopmentsTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Dernier (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Build highly scalable_low_latency_applications

  • 1. Building Highly Scalable and High Scalable Applications using Java/JEE Technologies Shivnarayan Varma Sr. Architect Tech COE, Fiserv
  • 2. © 2010 Fiserv, Inc. or its affiliates. Agenda : • Defining and understanding scalability. • Scalability variables & Factors • Building our own Scalable Application • (Scale seamlessly • High Performance • Unlimited storage expansion • Reduce Network Latency • Direct the user to nearest server • Scale out, no Scale in • Sweet spot: Low Cost, High Performance, Scalable ) • Scalability Real Time Issue
  • 3. © 2012 Fiserv, Inc. or its affiliates.•3 • How do I know if I have a scalability problem? • Why we need scalability? Defining and understanding scalability.
  • 4. © 2012 Fiserv, Inc. or its affiliates. Scalability Variables • Scalability - Number of users / sessions / transactions / operations the entire system can perform • Performance – Optimal utilization of resources • Responsiveness – Time taken per operation • Availability - Probability of the application or a portion of the application being available at any given point in time • Downtime Impact - The impact of a downtime of a server/service/resource - number of users, type of impact etc • Cost • Maintenance Effort 4
  • 5. © 2012 Fiserv, Inc. or its affiliates. Factors for Building Robust Scalable JEE Application • Platform selection • Hardware • Network limits • Garbage Collection • Application Design/ Architecture • Database Structure and Architecture • Deployment Architecture • Storage Architecture • Monitoring mechanisms 5
  • 6. 6 Typical JEE Reference Architecture
  • 7. 7 Building our own Scalable Application. Platform selection Hardware Application Design Database/Data store Structure and Architecture Deployment Architecture Storage Architecture Monitoring Mechanism
  • 8. © 2012 Fiserv, Inc. or its affiliates. Identify areas of bottlenecks • Database red/Write • Memory Clustering • Failover Caching 8
  • 9. © 2012 Fiserv, Inc. or its affiliates.•9 Typical JEE Reference Architecture
  • 10. © 2012 Fiserv, Inc. or its affiliates.
  • 11. © 2012 Fiserv, Inc. or its affiliates. JEE Scalability Points • We will now build an example architecture for an example app using the following iterative incremental steps – • Inspect current Architecture • Identify Scalability Bottlenecks • Identify SPOFs and Availability Issues • Identify Downtime Impact Risk Zones • Apply one of - • Vertical Scaling • Vertical Partitioning • Horizontal Scaling • Horizontal Partitioning • Repeat process 11
  • 12. © 2012 Fiserv, Inc. or its affiliates. JEE Scalability Points • We will now build an example architecture for an example app using the following iterative incremental steps – • Inspect current Architecture • Identify Scalability Bottlenecks • Identify SPOFs and Availability Issues • Identify Downtime Impact Risk Zones • Apply one of - • Vertical Scaling • Vertical Partitioning • Horizontal Scaling • Horizontal Partitioning • Repeat process 12
  • 13. © 2012 Fiserv, Inc. or its affiliates. Clustering factors • High Availability • Load balancing • Fault Tolerance • Failover • Idempotent methods 13
  • 14. © 2012 Fiserv, Inc. or its affiliates. Best Practices • Use scalable session replication mechanisms Use collocated deployment instead of distributed one Shared resources and services Distributed cache • Memcached/Terracotta • Paralleled processing • MapReduce • MPI • Using unorthodox approach to achieve high scalability • • 14
  • 15. © 2012 Fiserv, Inc. or its affiliates. How can I integrate multiple applications so that they work together and can exchange information? Remote Procedure Invocation File Transfer Shared Database Messaging- MOM
  • 16. © 2012 Fiserv, Inc. or its affiliates. Asynchronous MOM Element Channels are separate from applications Channels are asynchronous & reliable
  • 17. © 2012 Fiserv, Inc. or its affiliates. How does one application communicate with another using messaging? Messaging Channel -A virtual pipe that connects a sender to a receiver application.
  • 18. © 2012 Fiserv, Inc. or its affiliates. Point To Point Channel How can the sender be sure that exactly one receiver will receive the message? In point-to-point Java Message Service (JMS) , messages are routed to an individual consumer which maintains a queue of "incoming" messages. This messaging type is built on the concept of message queues, senders, and receivers
  • 19. © 2012 Fiserv, Inc. or its affiliates. Publish – Subscribe Channel How can the sender broadcast a message to all interested receivers? In JMS publish – subscribe ,subscribers may register interest in receiving messages on a particular message topic. In this model, neither the publisher nor the subscriber knows about each other.
  • 21. © 2012 Fiserv, Inc. or its affiliates. Web Banking Page 21 • Partitioning •HTTP Caching •RDBMS Sharding •NOSQL • Distributed Caching •Data Grids •Concurrency Scalability Patterns: State
  • 22. © 2012 Fiserv, Inc. or its affiliates. Advance Confirmation Page 22 • HTTP Caching • Reverse Proxy • • Varnish • • Squid • • rack-cache • • Pound • • Nginx • • Apache mod_proxy • • Traffic Server
  • 23. © 2012 Fiserv, Inc. or its affiliates. Successful Creation of RA 23 • Generate Static Content • Precompute content • • Homegrown + cron or Quartz • • Spring Batch • • Gearman • • Hadoop • • Google Data Protocol • • Amazon Elastic MapReduce
  • 24. © 2012 Fiserv, Inc. or its affiliates.24
  • 25. © 2012 Fiserv, Inc. or its affiliates.25 HTTP Caching Subsequent request
  • 26. © 2012 Fiserv, Inc. or its affiliates. How to scale out RDBMS? 26 • Sharding • •Partitioning • •Replication
  • 27. © 2012 Fiserv, Inc. or its affiliates. Sharding: Partitioning 27
  • 28. © 2012 Fiserv, Inc. or its affiliates. NOSQL in the wild 28 •Google: Bigtable • Amazon: Dynamo • Amazon: SimpleDB • Yahoo: HBase • Facebook: Cassandra • LinkedIn: Voldemort NOSQL in the wild
  • 29. © 2012 Fiserv, Inc. or its affiliates. Sharding: Partitioning 29 • Relational DBs (MySQL, Oracle, Postgres) • Object DBs (Gemstone, db4o) • Clustering products (Coherence, Terracotta) • Most caching products (ehcache)
  • 30. © 2012 Fiserv, Inc. or its affiliates. Sharding: Partitioning 30 • Types of NOSQL stores • • Key-Value databases (Voldemort, Dynomite) • • Column databases (Cassandra, Vertica, Sybase IQ) • • Document databases (MongoDB, CouchDB) • • Graph databases (Neo4J, AllegroGraph) • • Datastructure databases (Redis, Hazelcast)
  • 31. © 2012 Fiserv, Inc. or its affiliates. Distributed Caching 31 • •Write-through • •Write-behind • • Eviction Policies • • Replication • • Peer-To-Peer (P2P) • Distributed Caching
  • 32. © 2012 Fiserv, Inc. or its affiliates. Distributed Caching 32 • Pain of Duplication • • How do I get failover capability while avoiding • excessive duplication of data?
  • 33. © 2012 Fiserv, Inc. or its affiliates. Distributed Caching 33
  • 34. © 2012 Fiserv, Inc. or its affiliates. References 34 • http://www.theserverside.com/news/1320914/Scaling-Your-Java-EE- Applications-Part-2