SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
ColdFusion Summit 2016
Developing High Performance and Scalable ColdFusion Applications
Using Terracotta Ehcache
By: Shailen Prasad
Product Management & Strategy
In-Memory Computing
Software AG USA, Inc.
What is this?
Growth will happen when efficiency increases. Plow did what
"In-Memory computing is doing to the human race today"
Why you (and I) are here ?
What will be covered in this presentation?
How to scale – options (pros and cons)
Caching basics (various options available)
Recent updates of Open source Ehcache project.
Ehcache, Terracotta OSS and BigMemory
The benefits of distributed caching for building applications where latency and performance is
crucial.
Advance caching techniques for scaling your current CF application using Terracotta distribution
caching (BigMemory)
To conclude, highlights on some customer use cases where caching was mission critical
In-Memory caching and data management is becoming mainstream for accelerating
business applications. This session will introduce :
SCALE OUT
SCALEUP
Scale your existing application
Also knowns as “Vertical Scaling”
Pros:
• Less power consumption than
running multiple servers
• Generally less challenging to
implement
• Less licensing costs
Cons:
• $$$ VERY EXPENSIVE
• Greater risk of hardware failure
causing bigger outages
• Generally severe vendor lock-in
and limited upgradeability in the
future.
Also knowns as “Horizontal Scaling”
Pros:
• $ Much cheaper than scaling
vertically
• Easier to run fault-tolerance
• Generally easier to upgrade
Cons:
• Bigger datacenter foot print
• Higher power consumptions
• Possibly more network resource
dependency
AddingmoreRAM/CPU
Adding more machines
In-Memory Caching – In a nutshell
On Heap Cache (also known as In-Process Cache) or L1 cache
ColdFusion Application
CF Internals
On Heap
Cache
JVM
• Fastest among all other caching tier
• Doesn’t require marshalling and un-marshalling of the
data
• Limited by Max JVM heap size (limited on 32 bit systems)
• Garbage collection – still remains the challenge
Caching – In a nutshell
Local Off Heap Cache (in-process caching) or L1 cache
ColdFusion Application
CF Internals
Local On-heap
Cache
JVM
Local Off-heap Cache
Direct memory buffers
• Access Memory outside of Application heap
• Can Scale as it is not limited by JVM heap size even on a 32
bit machine
• Application doesn’t have to worry about Garbage collection
for the data stored in off-heap
• Slower than on-heap cache, entries has to serialized and de-
serialized.
JVM
Local Off-heap Cache
Caching – In a nutshell
Distributed Off Heap Cache (also known as Out-of-Process
Cache) or L2 cache
ColdFusion
Application
CF Internals
Local On-heap
Cache
JVM
L1Off-heap Cache
JVM
L2 Off-heap Cache
• Runs outside of the Application Server JVM
• Slower than local offheap – reads/writes are over the
network
• Highly scalable with its distributed design
• Adds resiliency with more fault tolerance
JAVA’s MOST WIDELY USED CACHE
Seamless integration with many popular Java frameworks/applications
Open Source
Current in CF2016 - Ehcache 2.10.0
Ehcache 3.x (complete overhaul with lots of improvements!!
Revamped API that leverages Java generics and simplifies Cache interactions
Full compatibility with javax.cache API (JSR-107)
Offheap storage capabilities, including offheap only caches
Out of the box Spring Caching and Hibernate integration thanks to the javax.cache support
Significant improvement in performance over all its previous versions
And many more ... (more at www.ehcache.org)
90% of Data in
Memory
MODERNIZE Database
90% of Data in
Database
Memory
App Response Time
Milliseconds
App Response Time
Microseconds
Since ColdFusion 9
ColdFusion's Ehcache resources
1. CF2016 – Ehcache 2.10.0 (Latest Ehcache in 2.x line: 2.10.2)
2. CF 2016 Ehcache libs:
<CF_HOME>/cfusion/lib/ehcache-2.10.0.jar (core library)
<CF_HOME>/cfusion/lib/ehcache-web-2.0.4.jar (web content caching)
<CF_HOME>/cfusion/lib/hibernate-ehcache-4.3.10.Final.jar
3. CF 2016 Ehcache configurations:
<CF_HOME>/cfusion/lib/ehcache.xml
<CF_HOME>/cfusion/lib/auth-ehcache.xml
<CF_HOME>/cfusion/lib/ehcache-default-config.xml
ColdFusion's current use of Ehcache
• CF Authentication:
auth---ehcache.xml: authcache, authtokenmappingcache
• Internal Caching (CF templates, component paths)
• <cfcache> - Cache fragments of html
• <cfquery> - Cache DB calls
<cfquery name="myAccount“ cachedwithin=#createTimeSpan( 0, 1, 0, 0 )#>
• ORM with Ehcache 2nd level caching: Caching Hibernate queries
Entityload('BlogPost',{},{cacheable=true})
• CF Cache functions: Direct Ehcache calls
CacheGet / CachePut / CacheRemove / CacheGetAllIds
CacheGetMetadata
CacheGetProperties / CacheSetProperties
• Custom CF JAVA components using Ehcache library directly
NOTE: ALL THE ABOVE FEATURES CAN BE EASILY DISTRIBUTED USING TERRACOTTA
A Classic CF application
A common challenge
As the application user base increases the user experience starts to get questioned (?)
Lets get the plow working
A quick and simple solution – Ehcache Standalone (LOCAL CACHING)
Improved caching – Ehcache Replication
Improve Caching with some caveats
Coldfusion + Ehcache + Terracotta Opensource
=
Seamless, Powerful Distributed In-Memory
Caching with Free Open-Source Software
Just a little tweak on the Ehcache.xml
Terracotta 4.x Open Source Offering/Architecture
Standard Java
Proven TBs scale capacity
Not managed by the JVM
No Garbage Collections
Predictable latencies
No specialized appliance needed
Easy scalability: New clients can access all cached data
Powerful H/A = Automatic failover/no cache data loss
ColdFusion + Ehcache +Terracotta
Terracotta Distributed Ehcache: High Scalability Caching
Coldfusion + Ehcache + Terracotta Bigmemory
=
Seamless, Powerful Distributed In-Memory
Caching with Free Open-Source Software
Any kind of data can be stored in Terracotta BigMemory to make
an application speed up & scale out
Terracotta BigMemory has different tiers for data storage
that can be configured based on an application’s
requirements
Terracotta In-Memory Data grid - Rich data storage & Access
Terracotta BigMemory – Scale out indefinitely
Terracotta BigMemory Performance Scaling
Terracotta BigMemory Max* provides predicable latency and throughput as data volume increases
Choose your own cache read consistency
with simple config change
Terracotta Management Console
View your Terracotta servers and clients topology
Terracotta BigMemory – Manage & Monitor
Track performance trends and discovering potential issues.
Terracotta Management Console
Monitor all cache instances and their configuration and manage your cache/cache manager.
Terracotta Management Console
BigMemory SQL queries against your caches
Terracotta BigMemory – Fast Restart Store
Big Memory's disk persistence and Fast Restartability
Setting up Coldfusion 2016
with Terracotta 4.3.2
Terracotta OSS Setup is just a few steps…
1. Download Terracotta OSS (latest terracotta-4.3.2.tar.gz) at
http://www.terracotta.org/downloads/open-source/catalog
2. Extract to the location of your choice
3. Ensure JAVA_HOME is set
4. Navigate to <TERRACOTTA_INSTALL>/server/bin
5. Start with default single node config by executing:
start-tc-server.sh (or .bat)
6. Terracotta process is now accessible at IP:9510
Note: If setting up Terracotta in active/mirror setup, tc---config.xml must be created and referenced
at startup:
start-tc-server.sh (or .bat) -f <path-to-config>/tc-config.xml –n <server-name-to-start>
Connecting ColdFusion to Terracotta in few steps…
1. Copy Ehcache + Terracotta libs to <CF_HOME>/cfusion/lib
<TERRACOTTA_INSTALL>/apis/ehcache/lib/ehcache-2.10.1.jar
<TERRACOTTA_INSTALL>/apis/toolkit/lib/terracotta-toolkit-runtime-4.3.2.jar
2. Add terracotta-specifics configurations in CF ehcache configs:
<CF_HOME>/cfusion/lib/ehcache.xml
<CF_HOME>/cfusion/lib/auth-ehcache.xml
3. Restart CF
4. Notice Terracotta connection in CF logs
All the below CF caches are now in Terracotta
• CF Authentication:
auth---ehcache.xml: authcache, authtokenmappingcache
• Internal Caching (CF templates, component paths)
• <cfcache> - Cache fragments of html
• <cfquery> - Cache DB calls
<cfquery name="myAccount“ cachedwithin=#createTimeSpan( 0, 1, 0, 0 )#>
• ORM with Ehcache 2nd level caching: Caching Hibernate queries
Entityload('BlogPost',{},{cacheable=true})
• CF Cache functions: Direct Ehcache calls
CacheGet / CachePut / CacheRemove / CacheGetAllIds
CacheGetMetadata
CacheGetProperties / CacheSetProperties
• Custom CF JAVA components using Ehcache library directly
Still so much used and Distributed
The Picture says it all !!! – The power of distributed In-Memory computing.
Customer Use cases
Success Stories: Fortune 500 online payment processor
Radically Improving Profitability With Better, Faster
Fraud Detection
SPEED
What they wanted
Before BigMemory
• Dramatically boost bottom-line profit through faster, more accurate
fraud detection
• Lost 30 cents on every $100 to fraud
• With Oracle Exadata, failed to meet 800 ms
SLA around 10% of time
• Limited to 50 rules, even though each new rule generated
$12 million in profit
Success Stories: Fortune 500 online payment processor
SPEEDSPEED
After BigMemory:
 Savings of tens of millions of dollars in reduced costs from missed
SLAs and fraudulent charges
 Meeting stricter 650-millisecond SLA 99% of time
 Savings of $1 million annually in reduced database licenses
 Plans to expand from 4TB to 150TB for new applications and to
achieve 250 millisecond SLA
Success Stories: Healthcare.gov
“The team began almost immediately to
cache the data. The result was encouraging:
the site's overall response time--the time it
took a page to load--dropped on the evening
of Oct. 22 from eight seconds to two. That
was still terrible, of course, but it represented
such an improvement that it cheered the
engineers. They could see that HealthCare.gov
could be saved instead of scrapped.”
Success Stories: Healthcare.gov
Challenges
• All data access to backend database (many round-trips)
• 10+ seconds response times
• Numerous down-times due to concurrent users
Benefits
• Provide in-memory data access such as subscriber data and provider
comparison information
• Session replication of user profile info
• Performance & Scalability
Success Stories: Healthcare.gov
App
Server
App Server
App Server
App ServerApp Server
Ehcache
App Server
App Servers
App Server
Ehcache
Security Gateway
“Presentation Zone” “Application Zone”
App Server
App Servers
JMS
Individual
& Families
Issuers
3rd Parties
(B2B)
SOR
Thank you!
Not new but still makes a difference everyday!
Questions?
www.ehcache.org
www.terracotta.org
www.softwareag.com
Shailen Prasad
Sr. Mgr, Product Management & Strategy (Terracotta),
Software AG USA, Inc.
Shailendra.prasad@softwareag.com
www.linkedin.com/in/shailenprasad
www.twitter.com/shailenprasad
Thank
you!

Weitere ähnliche Inhalte

Was ist angesagt?

Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)
WordCamp Cape Town
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008
Krit Kamtuo
 
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Hostway|HOSTING
 
HotLink DR Express
HotLink DR ExpressHotLink DR Express
HotLink DR Express
dean1609
 

Was ist angesagt? (20)

Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
 
Cfml features modern_coding
Cfml features modern_codingCfml features modern_coding
Cfml features modern_coding
 
Locking Down CF Servers
Locking Down CF ServersLocking Down CF Servers
Locking Down CF Servers
 
Securing applications
Securing applicationsSecuring applications
Securing applications
 
Hey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the ProblemHey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the Problem
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using Caching
 
Introduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomiIntroduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomi
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
 
The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)
 
Php Performance On Windows
Php Performance On WindowsPhp Performance On Windows
Php Performance On Windows
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance Optimizations
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
 
CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013
 
Battling the WSOD - A Tech Support Tale
Battling the WSOD - A Tech Support TaleBattling the WSOD - A Tech Support Tale
Battling the WSOD - A Tech Support Tale
 
This is how we REST
This is how we RESTThis is how we REST
This is how we REST
 
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
 
HotLink DR Express
HotLink DR ExpressHotLink DR Express
HotLink DR Express
 

Andere mochten auch

Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
elliando dias
 
Intro To Sap Netweaver Java
Intro To Sap Netweaver JavaIntro To Sap Netweaver Java
Intro To Sap Netweaver Java
Leland Bartlett
 
Sap java connector / Hybris RFC
Sap java connector / Hybris RFCSap java connector / Hybris RFC
Sap java connector / Hybris RFC
Monsif Elaissoussi
 

Andere mochten auch (13)

SAP and Red Hat JBoss Partner Webinar
SAP and Red Hat JBoss Partner WebinarSAP and Red Hat JBoss Partner Webinar
SAP and Red Hat JBoss Partner Webinar
 
Predicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience ReportPredicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience Report
 
Sap java
Sap javaSap java
Sap java
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologies
 
The new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spiThe new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spi
 
Intro To Sap Netweaver Java
Intro To Sap Netweaver JavaIntro To Sap Netweaver Java
Intro To Sap Netweaver Java
 
Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java apps
 
Sap java connector / Hybris RFC
Sap java connector / Hybris RFCSap java connector / Hybris RFC
Sap java connector / Hybris RFC
 
Overview of the ehcache
Overview of the ehcacheOverview of the ehcache
Overview of the ehcache
 
Building low latency java applications with ehcache
Building low latency java applications with ehcacheBuilding low latency java applications with ehcache
Building low latency java applications with ehcache
 

Ähnlich wie Developing High Performance and Scalable ColdFusion Application Using Terracotta Ehcache

Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionAdvanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
ColdFusionConference
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabric
Wim Van den Broeck
 
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
Nuno Godinho
 
Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environment
vmaximiuk
 

Ähnlich wie Developing High Performance and Scalable ColdFusion Application Using Terracotta Ehcache (20)

Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionAdvanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
 
VMworld 2013: Extreme Performance Series: Storage in a Flash
VMworld 2013: Extreme Performance Series: Storage in a Flash VMworld 2013: Extreme Performance Series: Storage in a Flash
VMworld 2013: Extreme Performance Series: Storage in a Flash
 
Mini-Training: To cache or not to cache
Mini-Training: To cache or not to cacheMini-Training: To cache or not to cache
Mini-Training: To cache or not to cache
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabric
 
Caching objects-in-memory
Caching objects-in-memoryCaching objects-in-memory
Caching objects-in-memory
 
Application Scalability in Server Farms - NCache
Application Scalability in Server Farms - NCacheApplication Scalability in Server Farms - NCache
Application Scalability in Server Farms - NCache
 
Building High Performance and Scalable Applications Using AppFabric Cache- Im...
Building High Performance and Scalable Applications Using AppFabric Cache- Im...Building High Performance and Scalable Applications Using AppFabric Cache- Im...
Building High Performance and Scalable Applications Using AppFabric Cache- Im...
 
phptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialphptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorial
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
cache concepts and varnish-cache
cache concepts and varnish-cachecache concepts and varnish-cache
cache concepts and varnish-cache
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Sitecore Personalization on websites cached on CDN servers
Sitecore Personalization on websites cached on CDN serversSitecore Personalization on websites cached on CDN servers
Sitecore Personalization on websites cached on CDN servers
 
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
TechDays 2010 Portugal - Scaling your data tier with app fabric 16x9
 
ASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache ExtensibilityASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache Extensibility
 
Four Ways to Improve ASP .NET Performance and Scalability
 Four Ways to Improve ASP .NET Performance and Scalability Four Ways to Improve ASP .NET Performance and Scalability
Four Ways to Improve ASP .NET Performance and Scalability
 
Peer Cache for Configuration Manager clients
Peer Cache for Configuration Manager clientsPeer Cache for Configuration Manager clients
Peer Cache for Configuration Manager clients
 
Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environment
 
VMworld 2013: vSphere Flash Read Cache Technical Overview
VMworld 2013: vSphere Flash Read Cache Technical Overview VMworld 2013: vSphere Flash Read Cache Technical Overview
VMworld 2013: vSphere Flash Read Cache Technical Overview
 

Mehr von ColdFusionConference

Mehr von ColdFusionConference (20)

Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandbox
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
Enterprise Knowledge
 
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
Earley Information Science
 

Kürzlich hochgeladen (20)

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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
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
 
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
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
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
 
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)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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...
 
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
 
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 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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Developing High Performance and Scalable ColdFusion Application Using Terracotta Ehcache

  • 2. Developing High Performance and Scalable ColdFusion Applications Using Terracotta Ehcache By: Shailen Prasad Product Management & Strategy In-Memory Computing Software AG USA, Inc.
  • 3. What is this? Growth will happen when efficiency increases. Plow did what "In-Memory computing is doing to the human race today"
  • 4. Why you (and I) are here ?
  • 5. What will be covered in this presentation? How to scale – options (pros and cons) Caching basics (various options available) Recent updates of Open source Ehcache project. Ehcache, Terracotta OSS and BigMemory The benefits of distributed caching for building applications where latency and performance is crucial. Advance caching techniques for scaling your current CF application using Terracotta distribution caching (BigMemory) To conclude, highlights on some customer use cases where caching was mission critical In-Memory caching and data management is becoming mainstream for accelerating business applications. This session will introduce :
  • 6. SCALE OUT SCALEUP Scale your existing application Also knowns as “Vertical Scaling” Pros: • Less power consumption than running multiple servers • Generally less challenging to implement • Less licensing costs Cons: • $$$ VERY EXPENSIVE • Greater risk of hardware failure causing bigger outages • Generally severe vendor lock-in and limited upgradeability in the future. Also knowns as “Horizontal Scaling” Pros: • $ Much cheaper than scaling vertically • Easier to run fault-tolerance • Generally easier to upgrade Cons: • Bigger datacenter foot print • Higher power consumptions • Possibly more network resource dependency AddingmoreRAM/CPU Adding more machines
  • 7. In-Memory Caching – In a nutshell On Heap Cache (also known as In-Process Cache) or L1 cache ColdFusion Application CF Internals On Heap Cache JVM • Fastest among all other caching tier • Doesn’t require marshalling and un-marshalling of the data • Limited by Max JVM heap size (limited on 32 bit systems) • Garbage collection – still remains the challenge
  • 8. Caching – In a nutshell Local Off Heap Cache (in-process caching) or L1 cache ColdFusion Application CF Internals Local On-heap Cache JVM Local Off-heap Cache Direct memory buffers • Access Memory outside of Application heap • Can Scale as it is not limited by JVM heap size even on a 32 bit machine • Application doesn’t have to worry about Garbage collection for the data stored in off-heap • Slower than on-heap cache, entries has to serialized and de- serialized.
  • 9. JVM Local Off-heap Cache Caching – In a nutshell Distributed Off Heap Cache (also known as Out-of-Process Cache) or L2 cache ColdFusion Application CF Internals Local On-heap Cache JVM L1Off-heap Cache JVM L2 Off-heap Cache • Runs outside of the Application Server JVM • Slower than local offheap – reads/writes are over the network • Highly scalable with its distributed design • Adds resiliency with more fault tolerance
  • 10. JAVA’s MOST WIDELY USED CACHE
  • 11.
  • 12. Seamless integration with many popular Java frameworks/applications
  • 13. Open Source Current in CF2016 - Ehcache 2.10.0 Ehcache 3.x (complete overhaul with lots of improvements!! Revamped API that leverages Java generics and simplifies Cache interactions Full compatibility with javax.cache API (JSR-107) Offheap storage capabilities, including offheap only caches Out of the box Spring Caching and Hibernate integration thanks to the javax.cache support Significant improvement in performance over all its previous versions And many more ... (more at www.ehcache.org)
  • 14. 90% of Data in Memory MODERNIZE Database 90% of Data in Database Memory App Response Time Milliseconds App Response Time Microseconds
  • 16. ColdFusion's Ehcache resources 1. CF2016 – Ehcache 2.10.0 (Latest Ehcache in 2.x line: 2.10.2) 2. CF 2016 Ehcache libs: <CF_HOME>/cfusion/lib/ehcache-2.10.0.jar (core library) <CF_HOME>/cfusion/lib/ehcache-web-2.0.4.jar (web content caching) <CF_HOME>/cfusion/lib/hibernate-ehcache-4.3.10.Final.jar 3. CF 2016 Ehcache configurations: <CF_HOME>/cfusion/lib/ehcache.xml <CF_HOME>/cfusion/lib/auth-ehcache.xml <CF_HOME>/cfusion/lib/ehcache-default-config.xml
  • 17. ColdFusion's current use of Ehcache • CF Authentication: auth---ehcache.xml: authcache, authtokenmappingcache • Internal Caching (CF templates, component paths) • <cfcache> - Cache fragments of html • <cfquery> - Cache DB calls <cfquery name="myAccount“ cachedwithin=#createTimeSpan( 0, 1, 0, 0 )#> • ORM with Ehcache 2nd level caching: Caching Hibernate queries Entityload('BlogPost',{},{cacheable=true}) • CF Cache functions: Direct Ehcache calls CacheGet / CachePut / CacheRemove / CacheGetAllIds CacheGetMetadata CacheGetProperties / CacheSetProperties • Custom CF JAVA components using Ehcache library directly NOTE: ALL THE ABOVE FEATURES CAN BE EASILY DISTRIBUTED USING TERRACOTTA
  • 18. A Classic CF application
  • 19. A common challenge As the application user base increases the user experience starts to get questioned (?)
  • 20. Lets get the plow working A quick and simple solution – Ehcache Standalone (LOCAL CACHING)
  • 21. Improved caching – Ehcache Replication Improve Caching with some caveats
  • 22. Coldfusion + Ehcache + Terracotta Opensource = Seamless, Powerful Distributed In-Memory Caching with Free Open-Source Software
  • 23. Just a little tweak on the Ehcache.xml
  • 24. Terracotta 4.x Open Source Offering/Architecture Standard Java Proven TBs scale capacity Not managed by the JVM No Garbage Collections Predictable latencies No specialized appliance needed
  • 25. Easy scalability: New clients can access all cached data
  • 26. Powerful H/A = Automatic failover/no cache data loss
  • 27. ColdFusion + Ehcache +Terracotta Terracotta Distributed Ehcache: High Scalability Caching
  • 28. Coldfusion + Ehcache + Terracotta Bigmemory = Seamless, Powerful Distributed In-Memory Caching with Free Open-Source Software
  • 29. Any kind of data can be stored in Terracotta BigMemory to make an application speed up & scale out Terracotta BigMemory has different tiers for data storage that can be configured based on an application’s requirements Terracotta In-Memory Data grid - Rich data storage & Access
  • 30. Terracotta BigMemory – Scale out indefinitely
  • 31. Terracotta BigMemory Performance Scaling Terracotta BigMemory Max* provides predicable latency and throughput as data volume increases
  • 32. Choose your own cache read consistency with simple config change
  • 33. Terracotta Management Console View your Terracotta servers and clients topology
  • 34. Terracotta BigMemory – Manage & Monitor Track performance trends and discovering potential issues.
  • 35. Terracotta Management Console Monitor all cache instances and their configuration and manage your cache/cache manager.
  • 36. Terracotta Management Console BigMemory SQL queries against your caches
  • 37. Terracotta BigMemory – Fast Restart Store Big Memory's disk persistence and Fast Restartability
  • 38. Setting up Coldfusion 2016 with Terracotta 4.3.2
  • 39. Terracotta OSS Setup is just a few steps… 1. Download Terracotta OSS (latest terracotta-4.3.2.tar.gz) at http://www.terracotta.org/downloads/open-source/catalog 2. Extract to the location of your choice 3. Ensure JAVA_HOME is set 4. Navigate to <TERRACOTTA_INSTALL>/server/bin 5. Start with default single node config by executing: start-tc-server.sh (or .bat) 6. Terracotta process is now accessible at IP:9510 Note: If setting up Terracotta in active/mirror setup, tc---config.xml must be created and referenced at startup: start-tc-server.sh (or .bat) -f <path-to-config>/tc-config.xml –n <server-name-to-start>
  • 40. Connecting ColdFusion to Terracotta in few steps… 1. Copy Ehcache + Terracotta libs to <CF_HOME>/cfusion/lib <TERRACOTTA_INSTALL>/apis/ehcache/lib/ehcache-2.10.1.jar <TERRACOTTA_INSTALL>/apis/toolkit/lib/terracotta-toolkit-runtime-4.3.2.jar 2. Add terracotta-specifics configurations in CF ehcache configs: <CF_HOME>/cfusion/lib/ehcache.xml <CF_HOME>/cfusion/lib/auth-ehcache.xml 3. Restart CF 4. Notice Terracotta connection in CF logs
  • 41. All the below CF caches are now in Terracotta • CF Authentication: auth---ehcache.xml: authcache, authtokenmappingcache • Internal Caching (CF templates, component paths) • <cfcache> - Cache fragments of html • <cfquery> - Cache DB calls <cfquery name="myAccount“ cachedwithin=#createTimeSpan( 0, 1, 0, 0 )#> • ORM with Ehcache 2nd level caching: Caching Hibernate queries Entityload('BlogPost',{},{cacheable=true}) • CF Cache functions: Direct Ehcache calls CacheGet / CachePut / CacheRemove / CacheGetAllIds CacheGetMetadata CacheGetProperties / CacheSetProperties • Custom CF JAVA components using Ehcache library directly
  • 42. Still so much used and Distributed The Picture says it all !!! – The power of distributed In-Memory computing.
  • 44. Success Stories: Fortune 500 online payment processor Radically Improving Profitability With Better, Faster Fraud Detection SPEED What they wanted Before BigMemory • Dramatically boost bottom-line profit through faster, more accurate fraud detection • Lost 30 cents on every $100 to fraud • With Oracle Exadata, failed to meet 800 ms SLA around 10% of time • Limited to 50 rules, even though each new rule generated $12 million in profit
  • 45. Success Stories: Fortune 500 online payment processor SPEEDSPEED After BigMemory:  Savings of tens of millions of dollars in reduced costs from missed SLAs and fraudulent charges  Meeting stricter 650-millisecond SLA 99% of time  Savings of $1 million annually in reduced database licenses  Plans to expand from 4TB to 150TB for new applications and to achieve 250 millisecond SLA
  • 47. “The team began almost immediately to cache the data. The result was encouraging: the site's overall response time--the time it took a page to load--dropped on the evening of Oct. 22 from eight seconds to two. That was still terrible, of course, but it represented such an improvement that it cheered the engineers. They could see that HealthCare.gov could be saved instead of scrapped.” Success Stories: Healthcare.gov
  • 48. Challenges • All data access to backend database (many round-trips) • 10+ seconds response times • Numerous down-times due to concurrent users Benefits • Provide in-memory data access such as subscriber data and provider comparison information • Session replication of user profile info • Performance & Scalability Success Stories: Healthcare.gov
  • 49. App Server App Server App Server App ServerApp Server Ehcache App Server App Servers App Server Ehcache Security Gateway “Presentation Zone” “Application Zone” App Server App Servers JMS Individual & Families Issuers 3rd Parties (B2B) SOR
  • 50. Thank you! Not new but still makes a difference everyday!
  • 51. Questions? www.ehcache.org www.terracotta.org www.softwareag.com Shailen Prasad Sr. Mgr, Product Management & Strategy (Terracotta), Software AG USA, Inc. Shailendra.prasad@softwareag.com www.linkedin.com/in/shailenprasad www.twitter.com/shailenprasad