Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DMP 2024]: Performance Testing Tool/Harness for Monthly Costing & TCO of PH-EE #44

Open
3 of 11 tasks
DavidH-1 opened this issue Jun 21, 2024 · 2 comments
Open
3 of 11 tasks

Comments

@DavidH-1
Copy link
Collaborator

DavidH-1 commented Jun 21, 2024

Ticket Contents

Description

The institutions that need to deploy Payment Hub EE to connect into inclusive instant payment systems like Mojaloop or to connect into mobile money APIs are resource-constrained and need to optimize the cost of deploying Payment Hub EE as much as possible. This project would center around building out a bundled performance testing tool and harness to project and monitor monthly costs and overall total cost of ownership

Goals & Mid-Point Milestone

Goals

  • [1] [Determine the design of the environment to generate performance test load]
  • [2] [Implement environment (likely jMeter) and ship as a container to generated load against PH-EE or Mobile Wallet (exact details to come from Mojafos work]
  • [3] [Enable environment to generate reports that give a broad input for the cost estimation tools for the popular cloud platforms such as GCP. ]
  • [4] [Enable the environment to also automatically deploy and configure monitoring tools (grafana/prometheus)]
  • [5] [Create roadmap for future scope of project to easily deploy to non-Mojafos and Mifos/PH-EE deployments as focus of this project is deploying tool against Mojafos. ]
  • [6] [Performance testing tool and harness to analyze costs of using PH-EE]

Setup/Installation

.

Expected Outcome

Cost and Resource-constrained implementers will have better visiblity and control over costs of deploying valuabe tools like PH-EE

Acceptance Criteria

.

Implementation Details

Performance Testing Tool/Harness to Optimize Cost of PH-EE

Tech Skills Needed
Docker, Kubernetes, Jenkins, Bash, Java - Spring, PostgreSQL, MariaDB, Cassandra, TDD With JUnit 4, Gradle

Mockups/Wireframes

.

Product Name

Performance Testing Tool/Harness to Optimize Cost of PH-EE

Organisation Name

The Mifos Initiative

Domain

Financial Inclusion

Tech Skills Needed

Docker, Java, Jenkins, Kubernetes, Spring Boot, Other

Mentor(s)

@tdaly61

Category

Backend, CI/CD, Delpoyment, Other

Weekly Goals (Updated 25th June by T Daly mentor for Devesh Pandey)

Week 1

  • Deploy Mojafos and understand its components
  • Deploy Mojaloop vNext Beta1 with ndogo-loop
  • examine supplied Mojaloop vNext reference architecture flow diagrams

Week 2

  • Deploy Paymenthub Mojaloop connector to Mojafos deployment
  • Understand how to and actually try and run txns through Paymenthub Mojaloop connector. Report on the outcome (success or failure)

Week 3

  • deploy Prometheus to local k8s cluster and understand how to use and interact with it so as to report system util of system under test (SUT)
  • Look at open telemetry and deploy server to kubernetes and connect client to it

Week 4

  • login to the supplied Mojafos instance and try running the bulk transactions from the operations-web UI

Week 5

Week 6

@deveshpandee
Copy link

deveshpandee commented Jul 4, 2024

Weekly Learnings & Updates (To be filled by contributor)

Week 1

  • Deployment of Mojafos
  • Understanding the workings of Mojaloop, Paymenthub EE and Fineract

Week 2

  • Deployment of Mojaloop vNext Beta1 with ndogo-loop
  • Updated installation instructions of Mojaloop vNext Beta1 with ndogo-loop

Week 3

  • PR link
  • Gone through the Mojaloop vNext reference architecture flow diagram

Week 4

  • Gone through the Mojaloop vNext reference architecture flow diagram
  • deployed prometheus to local k8s cluster looked at openTelementry

Week 5

  • examined the resources for perf testing with jmeter
  • got familiar with the APIs of mojaloop and paymenthub

Week 6

  • Deployed Prometheus and Grafana on local k8s cluster

Week 7

  • worked to fix PHEE APIs
  • configured the ingresses of PHEE

Week 8

  • successful in getting response from PHEE APIs

Week 9

  • Gone through the API Documentation of PHEE
  • tested the APIs in

Week 10

  • Created the Jmeter file for PHEE API testing
  • PR Link

Week 11

  • Documented the steps to run Jmeter test for PHEE

@DavidH-1
Copy link
Collaborator Author

Weekly Goals (Updated 25th June by T Daly mentor for Devesh Pandey)

Week 1

Deploy Mojafos and understand its components
Deploy Mojaloop vNext Beta1 with ndogo-loop
examine supplied Mojaloop vNext reference architecture flow diagrams
Week 2

Deploy Paymenthub Mojaloop connector to Mojafos deployment
Understand how to and actually try and run txns through Paymenthub Mojaloop connector. Report on the outcome (success or failure)
Week 3

deploy Prometheus to local k8s cluster and understand how to use and interact with it so as to report system util of system under test (SUT)
Look at open telemetry and deploy server to kubernetes and connect client to it
Week 4

login to the supplied Mojafos instance and try running the bulk transactions from the operations-web UI
Week 5

examine and understand the existing jMeter and perf testing resources for existing Mifos/PHEE installations (see https://govstack-global.atlassian.net/wiki/spaces/GH/pages/472973316/Deliverable+6+-+Stress+Performance+testing)
Week 6

Using the learning and resources from week 5 the goal for this week is to run the postman collection at https://raw.githubusercontent.com/openMF/ph-ee-env-template/master/PostmanCollections/Payment%20Hub.json against existing Mifos/PHEE deployment so as to understand the PHEE APIs and payment flow
run this existing workload against ideally the new supplied Mojafos deployment OR alternatively the existing MIfos/PHEE deployment and crucially document the setup in bullet points so others can replicate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants