SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Why Mule?
Use Case / User Stories
2
All contents Copyright © 2013, MuleSoft Inc.
File
Overview
Java
Problem Statement
Java
Challenges Why Mule?
VM
The Solution
Java
Before & After
Java
Lesions Learned Q&A
flow: Agenda
flow: conf_Solution_Architecture
Overview
3
All contents Copyright © 2013, MuleSoft Inc.
http://www.linkedin.com/in/adhishpendharkar
Problem Statement - Numbers / Numbers…..
4
All contents Copyright © 2013, MuleSoft Inc.
i
Be
rational
π
Get
Real..
Capacity in Transactions per Day
Throughput in Transactions per Second
(TPS)
Location 2011 Peak Volume Growth
2012
Capacity
2012 Capacity
+ Headroom
Aggressive Cut-off &
STP
+ Headroom in
Aggressive Cut-off &
STP
Japan 685,000 2x 1,000,000 1,500,000 556 834
China 9,800 4x 34,000 51,000 19 29
Taiwan 531 51x 26,821 40,232 15 23
Hong Kong 11,714 12x 140,568 210,852 79 118
Korea 3,846 16x 58,630 87,945 33 49
India 167,000 3x 500,000 750,000 278 417
Singapore 10,373 17x 167,000 250,500 93 140
Philippines 1,919 27x 50,100 75,150 28 42
Indonesia 7,922 17x 127,540 191,310 71 107
Malaysia 1,227 41x 50,100 75,150 28 42
Thailand 2,945 18x 50,100 75,150 28 42
Vietnam 323 156x 50,100 75,150 28 42
Australia 142,248 7x 995,736 1,493,604 554 830
New Zealand 6,416 20x 128,320 192,480 72 107
Problem Statement - Non Functional
5All contents Copyright © 2013, MuleSoft Inc.
• No single point of failure.
• RTO within a data center of 30 minutes.
• RTO to Disaster Recovery site within 2 hours
• Resilience is designed in, built for, and verified through failover testing.
• Compute capacity to support current volumes with 100% headroom at
the time of go-live.
• Application and system architecture should allow future scalability of
compute capacity to support future business forecasted peak daily
volumes with 100% headroom without the need for application
change
• Storage capacity to support current volume with 50% headroom at
launch
• Application and system architecture should allow future scalability of
storage capacity to support future business forecasted peak daily
volume with 50% headroom without the need for application change.
• Platform / OS / Infrastructure Independent.
• Average CPU utilization of the application should not exceed
2%.
• Memory usage of the application should not exceed 2%
• Database connections used by the application should not
exceed 2%
• There should be no explicit garbage collection unless
approved by architect.
• No orphan or hang sessions or processes
• Response times of the application in terms of application
loading, screen open & output on screen (2 seconds as
threshold)
• Number of out-of process creations should not exceed 5%
Problem Statement - Functional
6All contents Copyright © 2013, MuleSoft Inc.
• 2 Physical Solaris Machines humming for number of years.
• Monolithic Java Applications written 10+ years back.
• 5000+ AutoSys Jobs and same number of scripts
• 1,214,699 Lines of code
• Code Complexity of the range of 7.8 ~ 36.2
• Hardware Infrastructure availability
• H/A, Cluster, Failover capabilities
• High Speed Storage on Virtualized Platform.
• Regulatory In country requirements
• Security / Audit and AML requirements
• Cost of Developers / SME’s and time to market.
• Running costs / support
- Commodity Hardware
- User Support / Communities
- Hello Worlds!!! and lots of examples on World’s Wonderful Webites
(www)
Challenges
7All contents Copyright © 2013, MuleSoft Inc.
Why Mule?
8
Hold on your Horses, lets visit this topic in short gallop.
• Timer watches the “/download”
directory for incoming payment files.
• When a file arrives main.script.001
generates a new script under
/job/main.script.001.tmp
• main.script.001 then copies the
incoming file from the “/download”
directory to the /import directory
• main.script.001 runs the newly
generated script, which will then
process the incoming file
• main.script.001.tmp uploads the
incoming file (and its transactions) into
the database
Before…Use Case - Load Transaction Data
9All contents Copyright © 2013, MuleSoft Inc.
main.script.001
/job
main.script.001.tmp
DB
/download
[Original File]
/import
[Duplicate File]
Timer
flow: payment.file.script
• main.script.001 watches the “/download” directory for
incoming files
• main.script.001 copies any incoming files to the “/import” for
processing. It converts these file into a different format and
puts them into the same directory
• main.script.001 generates the 1st ack file and the 1st ack
email in the “/export” directory
• cntry.script.002 watches the “/export” directory for 1st ack
files
• cntry.script.002 copies the 1st ack files into the “/ack1”
directory
• cntry.script.002 sends the 1st ack files to down system via
NDM
• cntry.script.003 watches the “/export” directory for 1st ack
emails
• cntry.script.003 copies the 1st ack email to the “/email”
directory
• cntry.script.001 watches the “/import” for new files
• cntry.script.001 uploads any files (and its transactions) into
the database
Before…Use Case - Load Transaction Data / Ack
10All contents Copyright © 2013, MuleSoft Inc.
main.script.001
/download
[Original File]
/import
[Duplicate]
/export
/ack1/ndm /email
cntry.script.001
DB
cntry.script.002
cntry.script.003
flow: payment.file.ack
After.. Vendor 1
11
All contents Copyright © 2013, MuleSoft Inc.
After.. Vendor 2
12
All contents Copyright © 2013, MuleSoft Inc.
Ring Buffer
Service Bus
Service Bus 2
Service
Brokers Bus
In Memory Data
Architecture
Cascade Ring
Buffer
DB Persistence
After.. In House Team (using Mule POC’s)
13
All contents Copyright © 2013, MuleSoft Inc.
Validate
Persist & Parse
Validate
1st Ack
Persist & Parse
CSV File Flow XML File Flow
Send Ack
Send Ack (FileBase)
Send Ack
Send Ack (Email)
Product
Classification
Validation
Persist
Txn Extensions
Send Ack
2nd Ack
Txn Ack
After.. Mule
14
All contents Copyright © 2013, MuleSoft Inc.
File
File Watcher
Java
File Validation
Java
File Persistence File Parse
flow: csv_parser_flow
Java
File
File Watcher
Java
File Parse FirstAck File Parse
flow: iso20022_ack_flow
Java Java Java
File Persistence
VM
GIRO Txn
Java
Message
Classification
Java
Message
Validation
Java
Message
Persist
All
Sec. Ack
Msg
flow: giro_txn_vm_flow
Ctrl C Ctrl V
After.. How it looks on Infrastructure
15
All contents Copyright © 2013, MuleSoft Inc.
• Active-Active-Active: Application can run across data center within the country or outside the country.
• Active Data Replication across geo / metro and local capabilities using combination of SRDF and In Memory
Site A
Virtual Server Infrastructure
Scale!
VM VM VMVM
Virtualized
high-availability
infrastructure
Scale
OS OS OSOS
HA
Seamless Flip-Flop via
VMotion
App
Storage
SAN
Database
Active-Active
Applications
Primary database
across sites
Phy
OS
Phy
OS
Oracle RAC
Site B
Virtual Server Infrastructure
Scale!
VM VM VMVM Scale
OS OS OSOS
HA
App
Storage
SAN
Database
Phy
OS
Phy
OS
Oracle RAC
Shared Data volume across sites
DataGuard / GoldenGate Replication
App
Storage
SAN
App
Storage
SAN
Shared Data volume across sites
Reporting database
across sites
In Memory Architecture In Memory Architecture
Cross Site
Replication
Physical
HA
Physical Server
Infrastructure
In Memory Data
Caching
Different
Country / Data
Center
Physical
HA
Lessons Learned
16
All contents Copyright © 2013, MuleSoft Inc.
“Eight months ago I started working at MuleSoft as an intern on the SaaS ISV partner team. When I evaluate my
experience at MuleSoft, a cliche yet valid saying comes to mind: Everything happens for a reason.”
“I would recommend MuleSoft to any intelligent, dedicated individual. We work really hard here, but all that time you are
surrounded by awesome people that make working a fun and rewarding experience. If you want to work with people
who want you to succeed, while challenging yourself everyday — come work at MuleSoft”
- Source http://themuleternship.wordpress.com/ by Moira Chambers.
Q&A
17All contents Copyright © 2013, MuleSoft Inc.

Weitere ähnliche Inhalte

Was ist angesagt?

R12.2.5 new features
R12.2.5 new featuresR12.2.5 new features
R12.2.5 new featuresTahirGhafoor
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessEd Burns
 
Weblogic configuration & administration
Weblogic   configuration & administrationWeblogic   configuration & administration
Weblogic configuration & administrationMuhammad Mansoor
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesChris Bailey
 
Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsJames Bayer
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...WASdev Community
 
Monitoring and Tuning Oracle FMW 11g
Monitoring and Tuning Oracle FMW 11gMonitoring and Tuning Oracle FMW 11g
Monitoring and Tuning Oracle FMW 11gMatthias Furrer
 
Anatomy of Autoconfig in Oracle E-Business Suite
Anatomy of Autoconfig in Oracle E-Business SuiteAnatomy of Autoconfig in Oracle E-Business Suite
Anatomy of Autoconfig in Oracle E-Business Suitevasuballa
 
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...WASdev Community
 
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)Andrejs Prokopjevs
 
Application Continuity
Application ContinuityApplication Continuity
Application ContinuitySean Braymen
 
Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015andreas kuncoro
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapterMaarten Smeets
 
WebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload ProtectionWebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload ProtectionJames Bayer
 
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...Jeffrey West
 
Editioning use in ebs
Editioning use in  ebsEditioning use in  ebs
Editioning use in ebspasalapudi123
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerAndrejs Karpovs
 

Was ist angesagt? (20)

R12.2.5 new features
R12.2.5 new featuresR12.2.5 new features
R12.2.5 new features
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
 
Weblogic configuration & administration
Weblogic   configuration & administrationWeblogic   configuration & administration
Weblogic configuration & administration
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic Concepts
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 
Monitoring and Tuning Oracle FMW 11g
Monitoring and Tuning Oracle FMW 11gMonitoring and Tuning Oracle FMW 11g
Monitoring and Tuning Oracle FMW 11g
 
Anatomy of Autoconfig in Oracle E-Business Suite
Anatomy of Autoconfig in Oracle E-Business SuiteAnatomy of Autoconfig in Oracle E-Business Suite
Anatomy of Autoconfig in Oracle E-Business Suite
 
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
AAI-2013 Preparing to Fail: Practical WebSphere Application Server High Avail...
 
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
 
Seminar - JBoss Migration
Seminar - JBoss MigrationSeminar - JBoss Migration
Seminar - JBoss Migration
 
Application Continuity
Application ContinuityApplication Continuity
Application Continuity
 
Indexes overview
Indexes overviewIndexes overview
Indexes overview
 
Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapter
 
WebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload ProtectionWebLogic Server Work Managers and Overload Protection
WebLogic Server Work Managers and Overload Protection
 
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
 
Editioning use in ebs
Editioning use in  ebsEditioning use in  ebs
Editioning use in ebs
 
Dmz aa aioug
Dmz aa aiougDmz aa aioug
Dmz aa aioug
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
 

Ähnlich wie High Volume Payments using Mule

KACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewKACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewDell World
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on BluemixRam Vennam
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by OracleAkash Pramanik
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrdMidVision
 
FOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptxFOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptxssuser20fcbe
 
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
 
Microsoft Windows Server AppFabric
Microsoft Windows Server AppFabricMicrosoft Windows Server AppFabric
Microsoft Windows Server AppFabricMark Ginnebaugh
 
How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.Renzo Tomà
 
Google Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionGoogle Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionDaniel Zivkovic
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )senthil0809
 
(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle Cloud(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle CloudRuggero Citton
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Prolifics
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogicRakuten Group, Inc.
 
Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016Sanjay Mane
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...Lightbend
 
Automic Empowering Business Through Automation
Automic Empowering Business Through AutomationAutomic Empowering Business Through Automation
Automic Empowering Business Through AutomationCA | Automic Software
 

Ähnlich wie High Volume Payments using Mule (20)

IUG ATL PC 9.5
IUG ATL PC 9.5IUG ATL PC 9.5
IUG ATL PC 9.5
 
KACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewKACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting Overview
 
CV_RishabhDixit
CV_RishabhDixitCV_RishabhDixit
CV_RishabhDixit
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrd
 
FOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptxFOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptx
 
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
 
Upgrading Em13c Collaborate 2016
Upgrading Em13c Collaborate 2016Upgrading Em13c Collaborate 2016
Upgrading Em13c Collaborate 2016
 
Microsoft Windows Server AppFabric
Microsoft Windows Server AppFabricMicrosoft Windows Server AppFabric
Microsoft Windows Server AppFabric
 
How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.
 
Google Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionGoogle Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data edition
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle Cloud(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle Cloud
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
 
Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
Automic Empowering Business Through Automation
Automic Empowering Business Through AutomationAutomic Empowering Business Through Automation
Automic Empowering Business Through Automation
 

Kürzlich hochgeladen

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

High Volume Payments using Mule

  • 1. Why Mule? Use Case / User Stories
  • 2. 2 All contents Copyright © 2013, MuleSoft Inc. File Overview Java Problem Statement Java Challenges Why Mule? VM The Solution Java Before & After Java Lesions Learned Q&A flow: Agenda flow: conf_Solution_Architecture
  • 3. Overview 3 All contents Copyright © 2013, MuleSoft Inc. http://www.linkedin.com/in/adhishpendharkar
  • 4. Problem Statement - Numbers / Numbers….. 4 All contents Copyright © 2013, MuleSoft Inc. i Be rational π Get Real.. Capacity in Transactions per Day Throughput in Transactions per Second (TPS) Location 2011 Peak Volume Growth 2012 Capacity 2012 Capacity + Headroom Aggressive Cut-off & STP + Headroom in Aggressive Cut-off & STP Japan 685,000 2x 1,000,000 1,500,000 556 834 China 9,800 4x 34,000 51,000 19 29 Taiwan 531 51x 26,821 40,232 15 23 Hong Kong 11,714 12x 140,568 210,852 79 118 Korea 3,846 16x 58,630 87,945 33 49 India 167,000 3x 500,000 750,000 278 417 Singapore 10,373 17x 167,000 250,500 93 140 Philippines 1,919 27x 50,100 75,150 28 42 Indonesia 7,922 17x 127,540 191,310 71 107 Malaysia 1,227 41x 50,100 75,150 28 42 Thailand 2,945 18x 50,100 75,150 28 42 Vietnam 323 156x 50,100 75,150 28 42 Australia 142,248 7x 995,736 1,493,604 554 830 New Zealand 6,416 20x 128,320 192,480 72 107
  • 5. Problem Statement - Non Functional 5All contents Copyright © 2013, MuleSoft Inc. • No single point of failure. • RTO within a data center of 30 minutes. • RTO to Disaster Recovery site within 2 hours • Resilience is designed in, built for, and verified through failover testing. • Compute capacity to support current volumes with 100% headroom at the time of go-live. • Application and system architecture should allow future scalability of compute capacity to support future business forecasted peak daily volumes with 100% headroom without the need for application change • Storage capacity to support current volume with 50% headroom at launch • Application and system architecture should allow future scalability of storage capacity to support future business forecasted peak daily volume with 50% headroom without the need for application change.
  • 6. • Platform / OS / Infrastructure Independent. • Average CPU utilization of the application should not exceed 2%. • Memory usage of the application should not exceed 2% • Database connections used by the application should not exceed 2% • There should be no explicit garbage collection unless approved by architect. • No orphan or hang sessions or processes • Response times of the application in terms of application loading, screen open & output on screen (2 seconds as threshold) • Number of out-of process creations should not exceed 5% Problem Statement - Functional 6All contents Copyright © 2013, MuleSoft Inc.
  • 7. • 2 Physical Solaris Machines humming for number of years. • Monolithic Java Applications written 10+ years back. • 5000+ AutoSys Jobs and same number of scripts • 1,214,699 Lines of code • Code Complexity of the range of 7.8 ~ 36.2 • Hardware Infrastructure availability • H/A, Cluster, Failover capabilities • High Speed Storage on Virtualized Platform. • Regulatory In country requirements • Security / Audit and AML requirements • Cost of Developers / SME’s and time to market. • Running costs / support - Commodity Hardware - User Support / Communities - Hello Worlds!!! and lots of examples on World’s Wonderful Webites (www) Challenges 7All contents Copyright © 2013, MuleSoft Inc.
  • 8. Why Mule? 8 Hold on your Horses, lets visit this topic in short gallop.
  • 9. • Timer watches the “/download” directory for incoming payment files. • When a file arrives main.script.001 generates a new script under /job/main.script.001.tmp • main.script.001 then copies the incoming file from the “/download” directory to the /import directory • main.script.001 runs the newly generated script, which will then process the incoming file • main.script.001.tmp uploads the incoming file (and its transactions) into the database Before…Use Case - Load Transaction Data 9All contents Copyright © 2013, MuleSoft Inc. main.script.001 /job main.script.001.tmp DB /download [Original File] /import [Duplicate File] Timer flow: payment.file.script
  • 10. • main.script.001 watches the “/download” directory for incoming files • main.script.001 copies any incoming files to the “/import” for processing. It converts these file into a different format and puts them into the same directory • main.script.001 generates the 1st ack file and the 1st ack email in the “/export” directory • cntry.script.002 watches the “/export” directory for 1st ack files • cntry.script.002 copies the 1st ack files into the “/ack1” directory • cntry.script.002 sends the 1st ack files to down system via NDM • cntry.script.003 watches the “/export” directory for 1st ack emails • cntry.script.003 copies the 1st ack email to the “/email” directory • cntry.script.001 watches the “/import” for new files • cntry.script.001 uploads any files (and its transactions) into the database Before…Use Case - Load Transaction Data / Ack 10All contents Copyright © 2013, MuleSoft Inc. main.script.001 /download [Original File] /import [Duplicate] /export /ack1/ndm /email cntry.script.001 DB cntry.script.002 cntry.script.003 flow: payment.file.ack
  • 11. After.. Vendor 1 11 All contents Copyright © 2013, MuleSoft Inc.
  • 12. After.. Vendor 2 12 All contents Copyright © 2013, MuleSoft Inc. Ring Buffer Service Bus Service Bus 2 Service Brokers Bus In Memory Data Architecture Cascade Ring Buffer DB Persistence
  • 13. After.. In House Team (using Mule POC’s) 13 All contents Copyright © 2013, MuleSoft Inc. Validate Persist & Parse Validate 1st Ack Persist & Parse CSV File Flow XML File Flow Send Ack Send Ack (FileBase) Send Ack Send Ack (Email) Product Classification Validation Persist Txn Extensions Send Ack 2nd Ack Txn Ack
  • 14. After.. Mule 14 All contents Copyright © 2013, MuleSoft Inc. File File Watcher Java File Validation Java File Persistence File Parse flow: csv_parser_flow Java File File Watcher Java File Parse FirstAck File Parse flow: iso20022_ack_flow Java Java Java File Persistence VM GIRO Txn Java Message Classification Java Message Validation Java Message Persist All Sec. Ack Msg flow: giro_txn_vm_flow Ctrl C Ctrl V
  • 15. After.. How it looks on Infrastructure 15 All contents Copyright © 2013, MuleSoft Inc. • Active-Active-Active: Application can run across data center within the country or outside the country. • Active Data Replication across geo / metro and local capabilities using combination of SRDF and In Memory Site A Virtual Server Infrastructure Scale! VM VM VMVM Virtualized high-availability infrastructure Scale OS OS OSOS HA Seamless Flip-Flop via VMotion App Storage SAN Database Active-Active Applications Primary database across sites Phy OS Phy OS Oracle RAC Site B Virtual Server Infrastructure Scale! VM VM VMVM Scale OS OS OSOS HA App Storage SAN Database Phy OS Phy OS Oracle RAC Shared Data volume across sites DataGuard / GoldenGate Replication App Storage SAN App Storage SAN Shared Data volume across sites Reporting database across sites In Memory Architecture In Memory Architecture Cross Site Replication Physical HA Physical Server Infrastructure In Memory Data Caching Different Country / Data Center Physical HA
  • 16. Lessons Learned 16 All contents Copyright © 2013, MuleSoft Inc. “Eight months ago I started working at MuleSoft as an intern on the SaaS ISV partner team. When I evaluate my experience at MuleSoft, a cliche yet valid saying comes to mind: Everything happens for a reason.” “I would recommend MuleSoft to any intelligent, dedicated individual. We work really hard here, but all that time you are surrounded by awesome people that make working a fun and rewarding experience. If you want to work with people who want you to succeed, while challenging yourself everyday — come work at MuleSoft” - Source http://themuleternship.wordpress.com/ by Moira Chambers.
  • 17. Q&A 17All contents Copyright © 2013, MuleSoft Inc.

Hinweis der Redaktion

  1. Overview: Me / Myself / Adhish (its all about me) Problem Statement: Numbers (business bat) / Non Functional / Functional Challenges: Weight Loss / Developer Debt (Sonar / SQUEL) Before & After : Vendor Solutions Vs. Mule/Inhouse
  2. That’s me, yehey!!!
  3. Numbers: This project started in 2011 as a 5 year transformation.
  4. Current Volumes: This project was started in 2012 (planning in 2011) with 5 years to go live. Recover Time Objective: was twisted by business to Recover Time Operate. Future business: 2015 and beyond, as this was a 5 year plan, it started back in 2011. Storage: Played a critical aspect of the solution, we had to cut down on logging, implement other mechanism i.e. Splunk etc.
  5. Average CPU: was based line on the older application which was in production. Memory: same as the older application Use of GC: … DB Connections / MQ / Qpid etc.
  6. Talk about the Cash Business, file based, low value, large amount of data. Compound the problem with Country / Client / Time of transmission et`c.
  7. Talk about the complex of multiple files / clean up / data files / security / regulation(s) etc.
  8. Mule Shipped a trainer from Antwerp (Tom) to help us get the team in Hong Kong up and running, it was a 5 days intense course with hands on lab.