SlideShare a Scribd company logo
1 of 51
Download to read offline
Oct 28, 2017
Hirofumi Iwasaki
Arshal Ameen
Rakuten Card Co., Ltd.
2
 Hirofumi Iwasaki @HirofumiIwasaki
 Group Manager
 Technology Strategy Group, System Strategy Department,
Rakuten Card Co., Ltd.
 Career
 Planning, designing & implementation of huge enterprise systems for financial,
manufacturing and public systems with Java EE in Japan over 18 years.
 Opus, Lectures, etc.
 Conferences: OOW 2017, 2014, JavaOne 2017, 2015, 2014, Java Day Tokyo
2014-2015, Rakuten Tech Conference 2013-2016, etc.
3
Part 1
Java EE 7 with Apache Spark for the
World’s Largest Credit Card Core
Systems
 Old Core Systems and Issues to
Solve
 Strategies and Designs of new Core
Systems
 Development and Results
Part 2
New Core Systems and Beyond
– Java EE 8 and Payara
4
 Top-level credit card
company in Japan
 Core of Rakuten eco
systems.
 3rd position of total
transaction volume in 2016.
Growing rapidly.
5
Core Systems
Web Systems
External Systems
Intra Systems
6
Mainframe
 Old architecture – over 20 years
 High cost structure
 Capacity and performance
limitation – no scale out
 Low maintainability with piled
programs and old architecture
database "NDB"
 Risk against vendor locked-in
 Limitation of the security for the
significant data
7
Business
Operations
Development
8
Old New
 Cannot scale-out  Apply scale-out enabled
architecture, with Oracle RAC
and clustered WebLogic server.
 Low connectivity to other
systems
 Apply Java EE and latest
protocol.
 Less security management on
data
 Apply Oracle database
security options.
 No latest auto testing
environment
 Introduce latest auto testing
environment.
9
Old New
 No local development  Apply Java EE and Oracle DB
for local dev.
 Hard to understand because
of its old architecture
 Apply latest Java EE for its
basement.
 Poor version control systems  Introduce git server and issue
track systems.
 No development community  Apply Java EE and join open
community.
10
Old New
 Poor automated operations  Introduce Jenkins and
automations.
 Manual error monitoring  Include Zabbix monitoring to
cover the new core system.
 Difficult to pin-point cause of
error
 Use standard Java tools: stack
traces, Flight Recorder, etc.
 Tons of unused codes  Apply automated source code
analyzing tool.
11
Phase of the improvement – 3.0
1.0
Initial phase
2.0 In-house
development
3.0
Standardization
4.0
Data Optimized
Outsource based,
just started.
Vendor locked-in.
In-house
development,
differentiate with
lower costs and
faster delivery.
Standardized
system
architecture, both
for hardware and
software.
Overwhelming
differentiation,
with enabling
architecture for
customer centric
service.
Achieved Next
Current Standard
Architecture
12
2013 2017
Web systems
Expand
Java EE 6
Core
Systems
Java EE 7
13
Oracle Exalogic
+ Exadata + ZFS Servers
13
Mainframe
Old New
Core
Systems
14
14
Oracle Exalogic
+ Exadata + ZFS Servers
Oracle Cloud Machine
(On premise private cloud)
For temporarily
request spiking
Low-Cost
Temp
Resource
New
Core
Systems
15
 Financial de-facto standard
 Java EE compliant.
 Matured, from 1997.
 Financial de-facto standard
 ISO/IEC 9075 SQL compliant
 Matured, from 1983.
COBOL
Network
DB
App Server
Database
Old New
WebLogic Server
Oracle Database
16
Hardware, OS, app
server independent,
vendor free.
Mainframe,
Japanese COBOL,
vendor locked-in
Old New
Widfly
Payara
WebLogic
hp-ux
AIXSolaris
Linux
Windows
macOS
WebSphere
Java EE 7
17
Japanese COBOL
Source code
Source code
Custom made
source code
converter
 Convert from Japanese
COBOL to Java EE
 Keep original core
business logic
Java EE
18
From Web Systems,
For New Logic
COBOL
From Old System,
converted to Java
 Ease of migration, resource re-use
 Introduce power of Java EE
 Introduce converter from YPS to Java
“Dual Source Architecture”
Japanese
COBOL
 Japanese source code
 Almost abandoned
 No books, no community
Old New
Java EE
19
BIG-IP
Real-time Servers
(WebLogic)
Batch Servers
(Spark & Java)
Façade
Rich clients Façade
Façade
Intranet
External
Intra
Exadata
Mail
Form
BIG-IP
Façade
BIG-IP
External
customers
Scheduler
CoreBusinessLogicAPIs
Operation
terminal
Web
browser
Old New
Java EE
Java
20
New Database
ISAM
VSAM
NDB
Java
Business Logics
Japanese COBOL
business logics
Common Module
Data Accessor Common Module
Database Accessor
Migrate
Web
Database
Old New
21
New Database
- Record Key
(Unique)
- Record Key
(Not Unique)
A_RDB_TABLE
----------------------------
- PRIMARY KEY
- OTHER COLUMN
Add unique
index.
Add index
only.
Old New
ISAM/VSAM
22
3. Run tests
on staging environment
2. Execute auto testing
on several times
1. Register auto test scenarios
 Automatic testing
using latest IBM
Rational test software.
 Regression test
enabled when
something changed.
 Reduce error
possibilities on
production release.
Testing
Server
23
Time
Sequential
Parallel
24
Cluster Node
Cluster Node
Cluster Node
Cluster Node
Cluster Node
Cluster Node
Bootstrap
SharedMemory
Scheduler
25
1. Making business logic parallel
 Independent processing
2. I/O
 Data transferred over network
3. Data ordering
 Shuffles
26
 Good for
 Heavy processing
 Independent input data records
 One input, multiple outputs
 Unordered data
 Not so great for
 Little processing
 Dependencies between data records
 Merging multiple data sources
27
vs.
28
Next Phase
1.0
Initial phase
2.0 In-house
development
3.0
Standardization
4.0
Data Optimized
Outsource based,
just started.
Vendor locked-in.
In-house
development,
differentiate with
lower costs and
faster delivery.
Standardized
system
architecture, both
for hardware and
software.
Overwhelming
differentiation,
with enabling
architecture for
customer centric
service.
Achieved Next
Current Standard
Architecture
29
 Arshal Ameen
 Web System Development
Team Manager
 Core Engineer and trainer
 Carrier
 Java EE expert
 App developer (iOS, Android and Win).
 Opus, Lectures, etc.
 Conferences: JavaOne 2015, 2014, Oracle OpenWorld 2014,
Rakuten Tech Conf 2016-2013, JJUG Tokyo(2014)
30
Part 1
Java EE 7 with Apache Spark for the
World’s Largest Credit Card Core
Systems
 Old Core Systems and Issues to
Solve
 Strategies and Designs of new Core
Systems
 Development and Results
Part 2
New Core Systems and Beyond
– Moving on to Payara
31
32
Drop in replacement for glassfish(currently orphaned)
Enhancements to GlassFish, bug fixes, patches to GlassFish server and
dependent libraries
Quarterly community releases
Open source @ www.github.com/payara (RakutenCard is already a code
contributor)
Synched with Glassfish SVN
33
GlassFish
PAYARA
EXPERTISE
34
Feature GlassFish Payara
Releases/Upgrades No plan Quarterly
Patches None after Glassfish4.0 Monthly (Licensed)
Quarterly (Community)
Security Fixes Infrequent Instant (Licensed)
ASAP (Community)
Support None ✓
Caching Shoal Shoal/Jcache/Payara scales
Clustering None Hazelcast
Admin command recorder None ✓
SQL logging/Monitoring
logging
None ✓
Healthcheck service None ✓
35
Feature Weblogic Payara
Releases/Upgrades Delayed Quarterly
Security Patches 2016 Security bugs
2 resolved
18 pending
2016 Security bugs
All resolved
Support Cost $$$$ 18750$/6 Processor
Caching OracleWebCache (buggy) Shoal/Jcache/Payara scales
Clustering Vendor specific Hazelcast
Server start time ~10 mins ~ 12 sec
Open source No ✓
Critical Hotfixes (~1hr
support)
No ✓
36
37
Need to setup a clustered domain with auto session replication ????
asadmin create-domain --nopassword --portbase 10000 example-domain
asadmin start-domain example-domain
asadmin -p 10048 create-cluster sample-cluster
asadmin -p 10048 set-hazelcast-configuration --enabled true --dynamic true –
multicastport 5000 --target sample-cluster
asadmin -p 10048 set sample-cluster-config.availability-service.web-container
availability.availability-enabled=true
asadmin -p 10048 set sample-cluster-config.availability-service.web-container
availability.persistence-type=hazelcast
 Save this as script and create ∞ domains in a jiffy(technically 33.33ps)
 Schedule automatic backups
 Restore from a backup or create new from backup
38
39
40
41
42
 healthcheck-cpool Connection Pool
 healthcheck-cpu CPU usage
 healthcheck-gc Garbage collection
 healthcheck-heap Heap memory
 healthcheck-threads Threads
 healthcheck-machinemem Machine storage
asadmin>
Step1: Enable
healthcheck-configure --enabled=true --dynamic=true
Step 2: Configure frequency
healthcheck-configure-service --serviceName=healthcheck-cpu --time=5
--unit=MINUTES
Step3: Configure threshold
healthcheck-configure-service-threshold --thresholdCritical=95 --
thresholdWarning=75 --thresholdGood=60
43
JDBC connection pools
HTTP connection pool
GC activity
Stuck threads
44
45
Hazelcast
 Hazelcast’s JCache cached In-memory
 WAN replication across multiple DCs
 Provides resilience and high availability
 Disaster recovery – multiple copies of sessions across
cluster for HA
 High Density Memory Store scales
 Standardized
46
• Standard Java API for Caching
JSR107
• API and CDI binding
• Supported by Many Cache Providers
• Hazelcast, EhCache, Coherence, Infinispan,
Apache Ignite
• Built in to Payara Server
Uses Hazelcast
47
• In‐Memory DataGrid(IMDG)
• Clustering and highly scalable
data distribution solution forJava
• Distributed Data Structures for Java
• Distributed Hashtable(DHT) and more
48
• Open source(ApacheLicense)
• Superlight,simple,no‐dependency
• Distributed/partioned implementation of map,queue,set,list,lock
and executor service
• Transactional(JCAsupport)
• Dynamic clustering,backup,fail‐over
• Partion/Share data across cluster
• Send/receive messages
• Scaling and load balancing
• Process in parallel on many JVM
49
50
Java ee7 with apache spark for the world's largest credit card core systems, and beyond

More Related Content

What's hot

Containerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesContainerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesCodemotion Tel Aviv
 
analytic engine - a common big data computation service on the aws
analytic engine - a common big data computation service on the awsanalytic engine - a common big data computation service on the aws
analytic engine - a common big data computation service on the awsScott Miao
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codesriram_rajan
 
Simplify and Boost Spark 3 Deployments with Hypervisor-Native Kubernetes
Simplify and Boost Spark 3 Deployments with Hypervisor-Native KubernetesSimplify and Boost Spark 3 Deployments with Hypervisor-Native Kubernetes
Simplify and Boost Spark 3 Deployments with Hypervisor-Native KubernetesDatabricks
 
Migrating ETL Workflow to Apache Spark at Scale in Pinterest
Migrating ETL Workflow to Apache Spark at Scale in PinterestMigrating ETL Workflow to Apache Spark at Scale in Pinterest
Migrating ETL Workflow to Apache Spark at Scale in PinterestDatabricks
 
Managing Millions of Tests Using Databricks
Managing Millions of Tests Using DatabricksManaging Millions of Tests Using Databricks
Managing Millions of Tests Using DatabricksDatabricks
 
High Performance Python on Apache Spark
High Performance Python on Apache SparkHigh Performance Python on Apache Spark
High Performance Python on Apache SparkWes McKinney
 
Accelerating the Hadoop data stack with Apache Ignite, Spark and Bigtop
Accelerating the Hadoop data stack with Apache Ignite, Spark and BigtopAccelerating the Hadoop data stack with Apache Ignite, Spark and Bigtop
Accelerating the Hadoop data stack with Apache Ignite, Spark and BigtopIn-Memory Computing Summit
 
A Journey through the JDKs (Java 9 to Java 11)
A Journey through the JDKs (Java 9 to Java 11)A Journey through the JDKs (Java 9 to Java 11)
A Journey through the JDKs (Java 9 to Java 11)Markus Günther
 
Spark Summit EU talk by Jorg Schad
Spark Summit EU talk by Jorg SchadSpark Summit EU talk by Jorg Schad
Spark Summit EU talk by Jorg SchadSpark Summit
 
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...Amazon Web Services
 
Hadoop {Submarine} Project: Running Deep Learning Workloads on YARN
Hadoop {Submarine} Project: Running Deep Learning Workloads on YARNHadoop {Submarine} Project: Running Deep Learning Workloads on YARN
Hadoop {Submarine} Project: Running Deep Learning Workloads on YARNDataWorks Summit
 
Whirlpools in the Stream with Jayesh Lalwani
 Whirlpools in the Stream with Jayesh Lalwani Whirlpools in the Stream with Jayesh Lalwani
Whirlpools in the Stream with Jayesh LalwaniDatabricks
 
Prediction io 架構與整合 -DataCon.TW-2017
Prediction io 架構與整合 -DataCon.TW-2017Prediction io 架構與整合 -DataCon.TW-2017
Prediction io 架構與整合 -DataCon.TW-2017William Lee
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAAndrew Morgan
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksGoDataDriven
 
Supporting Over a Thousand Custom Hive User Defined Functions
Supporting Over a Thousand Custom Hive User Defined FunctionsSupporting Over a Thousand Custom Hive User Defined Functions
Supporting Over a Thousand Custom Hive User Defined FunctionsDatabricks
 
Reactive Streams, Linking Reactive Application To Spark Streaming
Reactive Streams, Linking Reactive Application To Spark StreamingReactive Streams, Linking Reactive Application To Spark Streaming
Reactive Streams, Linking Reactive Application To Spark StreamingSpark Summit
 

What's hot (20)

Containerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesContainerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with Kubernetes
 
analytic engine - a common big data computation service on the aws
analytic engine - a common big data computation service on the awsanalytic engine - a common big data computation service on the aws
analytic engine - a common big data computation service on the aws
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as code
 
Simplify and Boost Spark 3 Deployments with Hypervisor-Native Kubernetes
Simplify and Boost Spark 3 Deployments with Hypervisor-Native KubernetesSimplify and Boost Spark 3 Deployments with Hypervisor-Native Kubernetes
Simplify and Boost Spark 3 Deployments with Hypervisor-Native Kubernetes
 
Migrating ETL Workflow to Apache Spark at Scale in Pinterest
Migrating ETL Workflow to Apache Spark at Scale in PinterestMigrating ETL Workflow to Apache Spark at Scale in Pinterest
Migrating ETL Workflow to Apache Spark at Scale in Pinterest
 
Managing Millions of Tests Using Databricks
Managing Millions of Tests Using DatabricksManaging Millions of Tests Using Databricks
Managing Millions of Tests Using Databricks
 
High Performance Python on Apache Spark
High Performance Python on Apache SparkHigh Performance Python on Apache Spark
High Performance Python on Apache Spark
 
Accelerating the Hadoop data stack with Apache Ignite, Spark and Bigtop
Accelerating the Hadoop data stack with Apache Ignite, Spark and BigtopAccelerating the Hadoop data stack with Apache Ignite, Spark and Bigtop
Accelerating the Hadoop data stack with Apache Ignite, Spark and Bigtop
 
A Journey through the JDKs (Java 9 to Java 11)
A Journey through the JDKs (Java 9 to Java 11)A Journey through the JDKs (Java 9 to Java 11)
A Journey through the JDKs (Java 9 to Java 11)
 
Spark Summit EU talk by Jorg Schad
Spark Summit EU talk by Jorg SchadSpark Summit EU talk by Jorg Schad
Spark Summit EU talk by Jorg Schad
 
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...
 
Hadoop {Submarine} Project: Running Deep Learning Workloads on YARN
Hadoop {Submarine} Project: Running Deep Learning Workloads on YARNHadoop {Submarine} Project: Running Deep Learning Workloads on YARN
Hadoop {Submarine} Project: Running Deep Learning Workloads on YARN
 
Whirlpools in the Stream with Jayesh Lalwani
 Whirlpools in the Stream with Jayesh Lalwani Whirlpools in the Stream with Jayesh Lalwani
Whirlpools in the Stream with Jayesh Lalwani
 
Prediction io 架構與整合 -DataCon.TW-2017
Prediction io 架構與整合 -DataCon.TW-2017Prediction io 架構與整合 -DataCon.TW-2017
Prediction io 架構與整合 -DataCon.TW-2017
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
Supporting Over a Thousand Custom Hive User Defined Functions
Supporting Over a Thousand Custom Hive User Defined FunctionsSupporting Over a Thousand Custom Hive User Defined Functions
Supporting Over a Thousand Custom Hive User Defined Functions
 
Reactive Streams, Linking Reactive Application To Spark Streaming
Reactive Streams, Linking Reactive Application To Spark StreamingReactive Streams, Linking Reactive Application To Spark Streaming
Reactive Streams, Linking Reactive Application To Spark Streaming
 
Big data and Kubernetes
Big data and KubernetesBig data and Kubernetes
Big data and Kubernetes
 
Data Stores @ Netflix
Data Stores @ NetflixData Stores @ Netflix
Data Stores @ Netflix
 

Viewers also liked

cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platformcloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
cloudera Apache Kudu Updatable Analytical Storage for Modern Data PlatformRakuten Group, Inc.
 
Value Delivery through RakutenBig Data Intelligence Ecosystem and Technology
Value Delivery through RakutenBig Data Intelligence Ecosystem  and  TechnologyValue Delivery through RakutenBig Data Intelligence Ecosystem  and  Technology
Value Delivery through RakutenBig Data Intelligence Ecosystem and TechnologyRakuten Group, Inc.
 
Life of an enginner in rakuten osaka diarmaid lindsay
Life of an enginner in rakuten osaka diarmaid lindsayLife of an enginner in rakuten osaka diarmaid lindsay
Life of an enginner in rakuten osaka diarmaid lindsayRakuten Group, Inc.
 
Rakuten app productivity initiative for developers marcus saw
Rakuten app productivity initiative for developers marcus sawRakuten app productivity initiative for developers marcus saw
Rakuten app productivity initiative for developers marcus sawRakuten Group, Inc.
 
What i learned from translation of the sre ryuji tamagawa
What i learned from translation of the sre ryuji tamagawaWhat i learned from translation of the sre ryuji tamagawa
What i learned from translation of the sre ryuji tamagawaRakuten Group, Inc.
 
時間がないといって、オペレーション改善を怠るな~オペレーション改善奮闘記~ Emi muroya
時間がないといって、オペレーション改善を怠るな~オペレーション改善奮闘記~ Emi muroya時間がないといって、オペレーション改善を怠るな~オペレーション改善奮闘記~ Emi muroya
時間がないといって、オペレーション改善を怠るな~オペレーション改善奮闘記~ Emi muroyaRakuten Group, Inc.
 
Rakutenとsreと私 yanagimoto koichi
Rakutenとsreと私 yanagimoto koichiRakutenとsreと私 yanagimoto koichi
Rakutenとsreと私 yanagimoto koichiRakuten Group, Inc.
 
AI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XV
AI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XVAI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XV
AI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XVRakuten Group, Inc.
 
Predictions and Hard Problems With AI
Predictions and Hard Problems With AIPredictions and Hard Problems With AI
Predictions and Hard Problems With AIRakuten Group, Inc.
 
トラブルシューティングのあれこれ Yoshihiko kamata
トラブルシューティングのあれこれ Yoshihiko kamataトラブルシューティングのあれこれ Yoshihiko kamata
トラブルシューティングのあれこれ Yoshihiko kamataRakuten Group, Inc.
 
WannaEat: A computer vision-based, multi-platform restaurant lookup app
WannaEat: A computer vision-based, multi-platform restaurant lookup appWannaEat: A computer vision-based, multi-platform restaurant lookup app
WannaEat: A computer vision-based, multi-platform restaurant lookup appRakuten Group, Inc.
 
はてなのインフラの歴史、そしてMackerelへ至る道とこれから
はてなのインフラの歴史、そしてMackerelへ至る道とこれから はてなのインフラの歴史、そしてMackerelへ至る道とこれから
はてなのインフラの歴史、そしてMackerelへ至る道とこれから Rakuten Group, Inc.
 
AI based language learning tools
AI based language learning toolsAI based language learning tools
AI based language learning toolsRakuten Group, Inc.
 
Challenge for statup's cto from big company nagaaki hoshi
Challenge for statup's cto from big company nagaaki hoshiChallenge for statup's cto from big company nagaaki hoshi
Challenge for statup's cto from big company nagaaki hoshiRakuten Group, Inc.
 
絶望と最後の希望
絶望と最後の希望絶望と最後の希望
絶望と最後の希望Tatsuya Sato
 
20140823 devlove甲子園
20140823 devlove甲子園20140823 devlove甲子園
20140823 devlove甲子園Mitsuo Hangai
 

Viewers also liked (20)

Don't manage too hard!
Don't manage too hard! Don't manage too hard!
Don't manage too hard!
 
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platformcloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
cloudera Apache Kudu Updatable Analytical Storage for Modern Data Platform
 
Value Delivery through RakutenBig Data Intelligence Ecosystem and Technology
Value Delivery through RakutenBig Data Intelligence Ecosystem  and  TechnologyValue Delivery through RakutenBig Data Intelligence Ecosystem  and  Technology
Value Delivery through RakutenBig Data Intelligence Ecosystem and Technology
 
Life of an enginner in rakuten osaka diarmaid lindsay
Life of an enginner in rakuten osaka diarmaid lindsayLife of an enginner in rakuten osaka diarmaid lindsay
Life of an enginner in rakuten osaka diarmaid lindsay
 
Rakuten app productivity initiative for developers marcus saw
Rakuten app productivity initiative for developers marcus sawRakuten app productivity initiative for developers marcus saw
Rakuten app productivity initiative for developers marcus saw
 
What i learned from translation of the sre ryuji tamagawa
What i learned from translation of the sre ryuji tamagawaWhat i learned from translation of the sre ryuji tamagawa
What i learned from translation of the sre ryuji tamagawa
 
時間がないといって、オペレーション改善を怠るな~オペレーション改善奮闘記~ Emi muroya
時間がないといって、オペレーション改善を怠るな~オペレーション改善奮闘記~ Emi muroya時間がないといって、オペレーション改善を怠るな~オペレーション改善奮闘記~ Emi muroya
時間がないといって、オペレーション改善を怠るな~オペレーション改善奮闘記~ Emi muroya
 
COBOL to Apache Spark
COBOL to Apache SparkCOBOL to Apache Spark
COBOL to Apache Spark
 
Human-Centric Machine Learning
Human-Centric Machine LearningHuman-Centric Machine Learning
Human-Centric Machine Learning
 
Rakutenとsreと私 yanagimoto koichi
Rakutenとsreと私 yanagimoto koichiRakutenとsreと私 yanagimoto koichi
Rakutenとsreと私 yanagimoto koichi
 
AI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XV
AI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XVAI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XV
AI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XV
 
Predictions and Hard Problems With AI
Predictions and Hard Problems With AIPredictions and Hard Problems With AI
Predictions and Hard Problems With AI
 
トラブルシューティングのあれこれ Yoshihiko kamata
トラブルシューティングのあれこれ Yoshihiko kamataトラブルシューティングのあれこれ Yoshihiko kamata
トラブルシューティングのあれこれ Yoshihiko kamata
 
WannaEat: A computer vision-based, multi-platform restaurant lookup app
WannaEat: A computer vision-based, multi-platform restaurant lookup appWannaEat: A computer vision-based, multi-platform restaurant lookup app
WannaEat: A computer vision-based, multi-platform restaurant lookup app
 
One Hundred Languages
One Hundred LanguagesOne Hundred Languages
One Hundred Languages
 
はてなのインフラの歴史、そしてMackerelへ至る道とこれから
はてなのインフラの歴史、そしてMackerelへ至る道とこれから はてなのインフラの歴史、そしてMackerelへ至る道とこれから
はてなのインフラの歴史、そしてMackerelへ至る道とこれから
 
AI based language learning tools
AI based language learning toolsAI based language learning tools
AI based language learning tools
 
Challenge for statup's cto from big company nagaaki hoshi
Challenge for statup's cto from big company nagaaki hoshiChallenge for statup's cto from big company nagaaki hoshi
Challenge for statup's cto from big company nagaaki hoshi
 
絶望と最後の希望
絶望と最後の希望絶望と最後の希望
絶望と最後の希望
 
20140823 devlove甲子園
20140823 devlove甲子園20140823 devlove甲子園
20140823 devlove甲子園
 

Similar to Java ee7 with apache spark for the world's largest credit card core systems, and beyond

Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...Hirofumi Iwasaki
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And ScalabilityJason Ragsdale
 
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...Hirofumi Iwasaki
 
Windows Azure Acid Test
Windows Azure Acid TestWindows Azure Acid Test
Windows Azure Acid Testexpanz
 
Provisioning Servers Made Easy
Provisioning Servers Made EasyProvisioning Servers Made Easy
Provisioning Servers Made EasyAll Things Open
 
Architecting with power vm
Architecting with power vmArchitecting with power vm
Architecting with power vmCharlie Cler
 
Kevin Slade - CV
Kevin Slade - CVKevin Slade - CV
Kevin Slade - CVKevin Slade
 
Drizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceDrizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceBrian Aker
 
Performance Analysis of Idle Programs
Performance Analysis of Idle ProgramsPerformance Analysis of Idle Programs
Performance Analysis of Idle Programsgreenwop
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld
 
Clement_Okoro_Jr_Resume2016j
Clement_Okoro_Jr_Resume2016jClement_Okoro_Jr_Resume2016j
Clement_Okoro_Jr_Resume2016jtexas80
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015Mario Beck
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld
 
Systems oracle overview_hardware
Systems oracle overview_hardwareSystems oracle overview_hardware
Systems oracle overview_hardwareFran Navarro
 
MySQL Alta Disponibilidade com Replicação
 MySQL Alta Disponibilidade com Replicação MySQL Alta Disponibilidade com Replicação
MySQL Alta Disponibilidade com ReplicaçãoMySQL Brasil
 
Webinar: Automating the Creation and Use of Virtual Testing Environments
Webinar: Automating the Creation and Use of Virtual Testing Environments Webinar: Automating the Creation and Use of Virtual Testing Environments
Webinar: Automating the Creation and Use of Virtual Testing Environments Skytap Cloud
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018harvraja
 

Similar to Java ee7 with apache spark for the world's largest credit card core systems, and beyond (20)

Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
 
Windows Azure Acid Test
Windows Azure Acid TestWindows Azure Acid Test
Windows Azure Acid Test
 
Provisioning Servers Made Easy
Provisioning Servers Made EasyProvisioning Servers Made Easy
Provisioning Servers Made Easy
 
Architecting with power vm
Architecting with power vmArchitecting with power vm
Architecting with power vm
 
Profile narendraredy
Profile narendraredyProfile narendraredy
Profile narendraredy
 
Kevin Slade - CV
Kevin Slade - CVKevin Slade - CV
Kevin Slade - CV
 
Drizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceDrizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's Conference
 
Performance Analysis of Idle Programs
Performance Analysis of Idle ProgramsPerformance Analysis of Idle Programs
Performance Analysis of Idle Programs
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing Databases
 
Clement_Okoro_Jr_Resume2016j
Clement_Okoro_Jr_Resume2016jClement_Okoro_Jr_Resume2016j
Clement_Okoro_Jr_Resume2016j
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
Systems oracle overview_hardware
Systems oracle overview_hardwareSystems oracle overview_hardware
Systems oracle overview_hardware
 
11g R2
11g R211g R2
11g R2
 
MySQL Alta Disponibilidade com Replicação
 MySQL Alta Disponibilidade com Replicação MySQL Alta Disponibilidade com Replicação
MySQL Alta Disponibilidade com Replicação
 
Webinar: Automating the Creation and Use of Virtual Testing Environments
Webinar: Automating the Creation and Use of Virtual Testing Environments Webinar: Automating the Creation and Use of Virtual Testing Environments
Webinar: Automating the Creation and Use of Virtual Testing Environments
 
SAP virtualization
SAP virtualizationSAP virtualization
SAP virtualization
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018
 

More from Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のりRakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みRakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャーRakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfRakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfRakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technologyRakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャーRakuten Group, Inc.
 

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Java ee7 with apache spark for the world's largest credit card core systems, and beyond

  • 1. Oct 28, 2017 Hirofumi Iwasaki Arshal Ameen Rakuten Card Co., Ltd.
  • 2. 2  Hirofumi Iwasaki @HirofumiIwasaki  Group Manager  Technology Strategy Group, System Strategy Department, Rakuten Card Co., Ltd.  Career  Planning, designing & implementation of huge enterprise systems for financial, manufacturing and public systems with Java EE in Japan over 18 years.  Opus, Lectures, etc.  Conferences: OOW 2017, 2014, JavaOne 2017, 2015, 2014, Java Day Tokyo 2014-2015, Rakuten Tech Conference 2013-2016, etc.
  • 3. 3 Part 1 Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems  Old Core Systems and Issues to Solve  Strategies and Designs of new Core Systems  Development and Results Part 2 New Core Systems and Beyond – Java EE 8 and Payara
  • 4. 4  Top-level credit card company in Japan  Core of Rakuten eco systems.  3rd position of total transaction volume in 2016. Growing rapidly.
  • 5. 5 Core Systems Web Systems External Systems Intra Systems
  • 6. 6 Mainframe  Old architecture – over 20 years  High cost structure  Capacity and performance limitation – no scale out  Low maintainability with piled programs and old architecture database "NDB"  Risk against vendor locked-in  Limitation of the security for the significant data
  • 8. 8 Old New  Cannot scale-out  Apply scale-out enabled architecture, with Oracle RAC and clustered WebLogic server.  Low connectivity to other systems  Apply Java EE and latest protocol.  Less security management on data  Apply Oracle database security options.  No latest auto testing environment  Introduce latest auto testing environment.
  • 9. 9 Old New  No local development  Apply Java EE and Oracle DB for local dev.  Hard to understand because of its old architecture  Apply latest Java EE for its basement.  Poor version control systems  Introduce git server and issue track systems.  No development community  Apply Java EE and join open community.
  • 10. 10 Old New  Poor automated operations  Introduce Jenkins and automations.  Manual error monitoring  Include Zabbix monitoring to cover the new core system.  Difficult to pin-point cause of error  Use standard Java tools: stack traces, Flight Recorder, etc.  Tons of unused codes  Apply automated source code analyzing tool.
  • 11. 11 Phase of the improvement – 3.0 1.0 Initial phase 2.0 In-house development 3.0 Standardization 4.0 Data Optimized Outsource based, just started. Vendor locked-in. In-house development, differentiate with lower costs and faster delivery. Standardized system architecture, both for hardware and software. Overwhelming differentiation, with enabling architecture for customer centric service. Achieved Next Current Standard Architecture
  • 12. 12 2013 2017 Web systems Expand Java EE 6 Core Systems Java EE 7
  • 13. 13 Oracle Exalogic + Exadata + ZFS Servers 13 Mainframe Old New Core Systems
  • 14. 14 14 Oracle Exalogic + Exadata + ZFS Servers Oracle Cloud Machine (On premise private cloud) For temporarily request spiking Low-Cost Temp Resource New Core Systems
  • 15. 15  Financial de-facto standard  Java EE compliant.  Matured, from 1997.  Financial de-facto standard  ISO/IEC 9075 SQL compliant  Matured, from 1983. COBOL Network DB App Server Database Old New WebLogic Server Oracle Database
  • 16. 16 Hardware, OS, app server independent, vendor free. Mainframe, Japanese COBOL, vendor locked-in Old New Widfly Payara WebLogic hp-ux AIXSolaris Linux Windows macOS WebSphere Java EE 7
  • 17. 17 Japanese COBOL Source code Source code Custom made source code converter  Convert from Japanese COBOL to Java EE  Keep original core business logic Java EE
  • 18. 18 From Web Systems, For New Logic COBOL From Old System, converted to Java  Ease of migration, resource re-use  Introduce power of Java EE  Introduce converter from YPS to Java “Dual Source Architecture” Japanese COBOL  Japanese source code  Almost abandoned  No books, no community Old New Java EE
  • 19. 19 BIG-IP Real-time Servers (WebLogic) Batch Servers (Spark & Java) Façade Rich clients Façade Façade Intranet External Intra Exadata Mail Form BIG-IP Façade BIG-IP External customers Scheduler CoreBusinessLogicAPIs Operation terminal Web browser Old New Java EE Java
  • 20. 20 New Database ISAM VSAM NDB Java Business Logics Japanese COBOL business logics Common Module Data Accessor Common Module Database Accessor Migrate Web Database Old New
  • 21. 21 New Database - Record Key (Unique) - Record Key (Not Unique) A_RDB_TABLE ---------------------------- - PRIMARY KEY - OTHER COLUMN Add unique index. Add index only. Old New ISAM/VSAM
  • 22. 22 3. Run tests on staging environment 2. Execute auto testing on several times 1. Register auto test scenarios  Automatic testing using latest IBM Rational test software.  Regression test enabled when something changed.  Reduce error possibilities on production release. Testing Server
  • 24. 24 Cluster Node Cluster Node Cluster Node Cluster Node Cluster Node Cluster Node Bootstrap SharedMemory Scheduler
  • 25. 25 1. Making business logic parallel  Independent processing 2. I/O  Data transferred over network 3. Data ordering  Shuffles
  • 26. 26  Good for  Heavy processing  Independent input data records  One input, multiple outputs  Unordered data  Not so great for  Little processing  Dependencies between data records  Merging multiple data sources
  • 28. 28 Next Phase 1.0 Initial phase 2.0 In-house development 3.0 Standardization 4.0 Data Optimized Outsource based, just started. Vendor locked-in. In-house development, differentiate with lower costs and faster delivery. Standardized system architecture, both for hardware and software. Overwhelming differentiation, with enabling architecture for customer centric service. Achieved Next Current Standard Architecture
  • 29. 29  Arshal Ameen  Web System Development Team Manager  Core Engineer and trainer  Carrier  Java EE expert  App developer (iOS, Android and Win).  Opus, Lectures, etc.  Conferences: JavaOne 2015, 2014, Oracle OpenWorld 2014, Rakuten Tech Conf 2016-2013, JJUG Tokyo(2014)
  • 30. 30 Part 1 Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems  Old Core Systems and Issues to Solve  Strategies and Designs of new Core Systems  Development and Results Part 2 New Core Systems and Beyond – Moving on to Payara
  • 31. 31
  • 32. 32 Drop in replacement for glassfish(currently orphaned) Enhancements to GlassFish, bug fixes, patches to GlassFish server and dependent libraries Quarterly community releases Open source @ www.github.com/payara (RakutenCard is already a code contributor) Synched with Glassfish SVN
  • 34. 34 Feature GlassFish Payara Releases/Upgrades No plan Quarterly Patches None after Glassfish4.0 Monthly (Licensed) Quarterly (Community) Security Fixes Infrequent Instant (Licensed) ASAP (Community) Support None ✓ Caching Shoal Shoal/Jcache/Payara scales Clustering None Hazelcast Admin command recorder None ✓ SQL logging/Monitoring logging None ✓ Healthcheck service None ✓
  • 35. 35 Feature Weblogic Payara Releases/Upgrades Delayed Quarterly Security Patches 2016 Security bugs 2 resolved 18 pending 2016 Security bugs All resolved Support Cost $$$$ 18750$/6 Processor Caching OracleWebCache (buggy) Shoal/Jcache/Payara scales Clustering Vendor specific Hazelcast Server start time ~10 mins ~ 12 sec Open source No ✓ Critical Hotfixes (~1hr support) No ✓
  • 36. 36
  • 37. 37 Need to setup a clustered domain with auto session replication ???? asadmin create-domain --nopassword --portbase 10000 example-domain asadmin start-domain example-domain asadmin -p 10048 create-cluster sample-cluster asadmin -p 10048 set-hazelcast-configuration --enabled true --dynamic true – multicastport 5000 --target sample-cluster asadmin -p 10048 set sample-cluster-config.availability-service.web-container availability.availability-enabled=true asadmin -p 10048 set sample-cluster-config.availability-service.web-container availability.persistence-type=hazelcast  Save this as script and create ∞ domains in a jiffy(technically 33.33ps)  Schedule automatic backups  Restore from a backup or create new from backup
  • 38. 38
  • 39. 39
  • 40. 40
  • 41. 41
  • 42. 42  healthcheck-cpool Connection Pool  healthcheck-cpu CPU usage  healthcheck-gc Garbage collection  healthcheck-heap Heap memory  healthcheck-threads Threads  healthcheck-machinemem Machine storage asadmin> Step1: Enable healthcheck-configure --enabled=true --dynamic=true Step 2: Configure frequency healthcheck-configure-service --serviceName=healthcheck-cpu --time=5 --unit=MINUTES Step3: Configure threshold healthcheck-configure-service-threshold --thresholdCritical=95 -- thresholdWarning=75 --thresholdGood=60
  • 43. 43 JDBC connection pools HTTP connection pool GC activity Stuck threads
  • 44. 44
  • 45. 45 Hazelcast  Hazelcast’s JCache cached In-memory  WAN replication across multiple DCs  Provides resilience and high availability  Disaster recovery – multiple copies of sessions across cluster for HA  High Density Memory Store scales  Standardized
  • 46. 46 • Standard Java API for Caching JSR107 • API and CDI binding • Supported by Many Cache Providers • Hazelcast, EhCache, Coherence, Infinispan, Apache Ignite • Built in to Payara Server Uses Hazelcast
  • 47. 47 • In‐Memory DataGrid(IMDG) • Clustering and highly scalable data distribution solution forJava • Distributed Data Structures for Java • Distributed Hashtable(DHT) and more
  • 48. 48 • Open source(ApacheLicense) • Superlight,simple,no‐dependency • Distributed/partioned implementation of map,queue,set,list,lock and executor service • Transactional(JCAsupport) • Dynamic clustering,backup,fail‐over • Partion/Share data across cluster • Send/receive messages • Scaling and load balancing • Process in parallel on many JVM
  • 49. 49
  • 50. 50