[
https://issues.apache.org/jira/browse/FINERACT-1584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rahul Goel updated FINERACT-1584:
---------------------------------
Labels: gsoc2022 mentor part-time (was: gsoc2022 part-time)
> Make Fineract.dev (~Mifos X) demo server multi tenant aware, more Cloud
> Native, and Performance Tested
> ------------------------------------------------------------------------------------------------------
>
> Key: FINERACT-1584
> URL: https://issues.apache.org/jira/browse/FINERACT-1584
> Project: Apache Fineract
> Issue Type: Improvement
> Reporter: Rahul Goel
> Priority: Minor
> Labels: gsoc2022, mentor, part-time
>
> Mifos X was built to be cloud ready from the ground up. One of the most
> popular deployment environments for MifosX has been on Amazon EC2, however
> due to country specific regulation, many implementors are forced to seek
> alternative models that can scale as effectively. The aim of this project is
> two-fold:
> * Propose a scalable deployment model for Mifos on Google Cloud. Your
> application should highlight a starting point with some details of your
> planned deployment architecture, as Mentors would be not giving you
> step-by-step instructions in this project, just "nudge" you along; you would
> be expected to learn about how to deploy Mifos yourself and by autonomously
> using the documentation available and help from the public mailing list and
> IRC channel, and figure out the details of the Cloud deployment.
> * Propose how the above proposed model could be contributed to Mifos in the
> form of e.g. ready-to-run "configurations" etc. allowing ANYONE to deploy THE
> LATEST VERSION of Mifos in the Cloud themselves, and then implement this
> approach in practice. (Contrast this with a "one-off exercise", e.g. taking
> the current Mifos X WAR file, and UI, and manually making some changes to it,
> and then manually deploying that to some Cloud PaaS - this would not be
> sufficient for this project's expectations.)
> * Implement a Continuous Deployment "Devops" EXAMPLE instance of this
> scalable blueprint using the latest nightly Mifos build artifacts.
> * Publish a high level whitepaper of the same, which can be used as a
> reference for local implementors, who would additionally take care of
> provisioning their own hardware. This documentation should be ideally
> high-level, and what it described much be automated; only providing lengthy
> step-by-step manual instructions would not be sufficient for this project's
> expectations.
> To prepare for this project, applying contibutors must demonstrate at least
> that they have already successfully locally built and ran a Mifos X REST
> back-end server and UI, populated the database etc. as well as provided a
> simple pull request proposing some minimal deployment related improvement.
> Note that we now believe that a Platform as a Service (PaaS) is a more
> suitable foundation for this project than a raw Cloud Infrastructure as a
> Service (IaaS) platform (such as Openstack, offered by public cloud provider
> such as e.g. Rackspace; or Azure, or raw Amazon EC2). This is because a PaaS,
> such OpenShift, already come with relevant features such as built-in,
> managed, supported and monitored HTTP load balancing (e.g. OpenShift comes
> with HAProxy).
> The MariaDB (MySQL) database used by Apache Fineract/Mifos does not offer
> clustering. We believe that this would not be required, and that proper
> configuration of the already existing cache facility (incl. distributed cache
> invalidation) available in Mifos X will add more value at signficantly less
> operational complexity.
> You may need to develop some minor "adjustments" for Mifos X to work well in
> a PaaS. For example, writeable directories may be limited, and configuration
> changes may be needed to pick up allowed data directories from an environment
> variable configuration (but consider multi node distribution in this cluster
> setup!). Also a cloud PaaS like OpenShift may not support "always running"
> instances, and scheduled jobs may have to be configured to be kicked off via
> an explicit HTTP "wake up" request from a cron job.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)