To modernize your application, you first need to understand database operations and transaction processes inside the application.
Tackle-DiVA helps you do that easily with automatic data-centric code analysis. It extracts database/transaction dependencies and suggests refactored transaction processes.
Learn how this new tool contributed by IBM Research works and how you can use it in your next modernization project at this meetup.
Presenter: Yasu Katsuno, Ph.D - Research Staff Member,
IBM Research - Tokyo
Powerful Google developer tools for immediate impact! (2023-24 C)
Data-centric Application Analysis with Open-source Tool Tackle-DiVA
1. Yasu Katsuno, Ph.D.
Research Staff Member, IBM Research - Tokyo
Data-centric Application Analysis
with Open-sourced Tool Tackle-
DiVA (Data-intensive Validity Analyzer)
1
2. 2
Accelerate your journey to Kubernetes
with the Konveyor Community
A community of people passionate about
helping others modernize and migrate
their applications to the hybrid cloud by
building tools and best practices on
how to break down monoliths, adopt
containers, and embrace Kubernetes.
www.konveyor.io
5. 5
About Me
● Yasuharu (Yasu) Katsuno, Ph.D.
● Research Staff Member,
IBM Research - Tokyo
● Distributed transaction processing,
Application/Data modernization,
Microservices
● https://github.com/YasuKatsuno
At World's Tallest Restaurant in Dubai Burj Khalifa
7. 7
Rehost virtual
machines to
KubeVirt
Rehost apps
between
Kubernetes
clusters
Replatform
applications to
Kubernetes
Refactor
applications for
Kubernetes
Measure software
delivery
performance
8. FORKLIFT
CRANE
Existing
Applications
&
Infrastructure
Migrate applications between
Kubernetes clusters
Migrate virtual machines to
Kubernetes (KubeVirt)
MOVE2KUBE
Migrate applications
from other platforms
such as Cloud Foundry or
Swarm to Kubernetes
PELORUS
Measure the impact of changes
on software delivery
performance
TACKLE
Discover, Assess, and Analyze
Applications for containerization
Application refactoring
recommendations
TACKLE
Community Projects
9. 9
Tackle-DiVA (Data-intensive Validity Analyzer)
Migrate applications between
Kubernetes clusters
Migrate virtual machines to
Kubernetes (KubeVirt)
Migrate containers from
Alternative container
orchestration to Kubernetes
● Open sourced data-centric Java application analysis CLI tool in Konveyor Tackle:
https://github.com/konveyor/tackle-diva
Tackle-DiVA
Application
Source Codes
Database-to-Database Dependency
Code-to-Database Dependency
Transaction-to-Transaction Dependency
Database Inventory
Service entry Inventory
Transaction Inventory
Transaction refactoring Recommendation
Analysis
Result Files
10. 10
Database Inventory Analysis
Migrate applications between
Kubernetes clusters
Migrate virtual machines to
Kubernetes (KubeVirt)
Application
DB1 DB2 DB3 DB4 DB5
● As an application developer, I want to make an inventory of databases used in an
application.
Application
11. 11
Database-to-Database Analysis
Migrate virtual machines to
Kubernetes (KubeVirt)
● As an application developer, I want to understand dependencies among databases.
DB1 DB2 DB3 DB4 DB5
Application
DB1 DB2 DB3 DB4 DB5
Application
12. 12
Transaction Inventory Analysis
Migrate applications between
Kubernetes clusters
● As an application developer, I want to make an inventory of transaction processes
inside applications.
Transaction-1
SQL
1
SQL
2
SQL
3
Transaction-2
SQL
4
SQL
5
SQL
6
Transaction-3
SQL
7
SQL
8
SQL
9
Transaction-4
SQL
10
SQL
11
SQL
12
SQL1 SQL2 SQL3 SQL4 SQL5 SQL6 SQL7 SQL8 SQL9 SQL10 SQL11 SQL12
16. 16
Installation
Migrate applications between
Kubernetes clusters
Migrate virtual machines to
Kubernetes (KubeVirt)
● Easy! The only prerequisite is a Docker runnable environment.
$ cd /tmp
$ git clone https://github.com/konveyor/tackle-diva.git && tackle-diva
$ docker build . -t diva
17. 17
Execution
Migrate applications between
Kubernetes clusters
Migrate virtual machines to
Kubernetes (KubeVirt)
Migrate containers from
Alternative container
orchestration to Kubernetes
● Easy! The only prerequisite is to prepare application source codes.
$ cd /tmp
$ git clone https://github.com/WASdev/sample.daytrader7.git
$ cd /tmp/tackle-diva/distrib/bin/
$ ./diva_docker /tmp/sample.daytrader7/
$ ls /tmp/tackle-diva/distrib/output
contexts.yml transaction.json transaction_summary.dot
database.json transaction.yml transaction_summary.pdf