2019-01-23 Architecture and Framework Meeting
Agenda
Conceptual (cfr. wiki)
About micro-services
Load / Scalability is not primary issue
Modularity is primary issue, but can be achieved in other ways
Complexity of micro-services (for example deployment)
About NoSQL database
Suggestion of keeping a relational database for data integrity reasons + use of JSONB columns for custom JSON data
Verify if JSONB is supported by DBMS other than PostgreSQL as well
Alternatives: memo-column in each table to receive JSON format data from custom attributes
Standards
Core should keep to current model → standards should be added as adapters
Proposed migration strategy (“illustrated”)
Modularity
Loosely coupled modules
Event-based communication (Django Signals, RabbitMQ)
Webservices of current application are limited
Recommendation to not develop connectors until the architecture is stabilized (~6 months), especially relevant for Digital Square awards
Proposed technical stack (showcase)
Note: retained stack will be maintained and further detailed in Target Technology Stack
Containers (Docker):
like a virtual server with a preconfigured image of any needed combination of openIMIS Modules
could be a combination of MS .NET modules (license issues!) and modules from the new architecture
docker images with a packed openIMIS distribution can be uploaded to dockerhub
this is easy to do for the target architecture (after migration), but difficult / a lot of effort for the current application due to the dependencies to SQL server / IIS
+ Airflow for Monitoring of Batch processes
Database (SQL-Server > Postgres)
Way Forward
Follow up meeting next week (check doodle)
Everybody should engage in peer-to-peer
Developers workshop in the last week of February. Everybody should engage in peer to peer discussions on the proposed framework until then. At the workshop we'll have to decide on the framework and the work plan.
Did you encounter a problem or do you have a suggestion?
Please contact our Service Desk
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/