[midPoint] Blog: Introducing MidScale

Radovan Semancik radovan.semancik at evolveum.com
Mon Oct 19 19:27:54 CEST 2020


Dear midPoint community,

Ladies and gentlemen, please welcome midScale 
<https://docs.evolveum.com/midpoint/midscale/>. MidScale is a project to 
significantly improve scalability of midPoint. The goal is to support 
midPoint deployments with millions or tens of millions of identities.

MidPoint is almost 10 years old. When we started midPoint project, the 
primary goal was a mid-size enterprise. We designed midPoint components 
to fit that evironment. Also, that was early 2010s. The world was a 
different place. We have to prioritize support for many databases. We 
need to write a generic code that would fit several databases, which 
means we were not able to fully utilize the power of any of them. We had 
to make compromises and trade-offs. And, of course, we also did some 
mistakes in early design.

Over the years midPoint grew, the deployments got bigger and more 
ambitious. Fortunately, we expected that this could happen.
Therefore the repository layer in midPoint is replaceable. The plan for 
midScale is to replace the generic multi-database implementation with a 
code that will be written specifically for PostgreSQL. We also plan to 
redesign the structure of database tables to make them more scalable. 
This should give us a lot of boost in performance and scalability.

Database-related improvements are at the heart of midScale project. 
However, there is so much more to do to make the entire system scalable. 
We will need to review user interface code to improve performance. 
Prism, the data modeling foundation of midPoint, needs to be improved as 
well. Task management needs to be made much more “cluster native”. And 
there is a huge effort that we need to invest in testing and the 
infrastrucuture to make sure that we have reached our goals.

MidScale project offically started few days ago. MidScale is mid-term 
project that will span two midPoint releases: 4.3 and 4.4. Some of the 
improvements will be delivered in midPoint 4.3 release, but all the work 
will be finished in midPoint 4.4. MidPoint 4.4 is also meant to be a 
long-term support (LTS) release, therefore the plan seems to fit nicely. 
We will be publishing all the midScale material on project web pages 
<https://docs.evolveum.com/midpoint/midscale/> for anyone to follow the 
progress of the project.

This is significant project that we have planned for several years. 
However, we were not able to secure sufficient funding up until now. 
Fortunately, we have been successful in NGI_TRUST open call, which 
provided partial funding for the project. We are very grateful to NGI 
and European Union for this opportunity. Even though most of the cost of 
this project will be covered by Evolveum, this project would not be 
possible without European community money. Creating and maintaining open 
source projects is a hard work, yet it provides value to a broad 
community. We are glad that European Union recognizes the value of open 
source software and contributes to its development.

This project has received funding from the European Union’s Horizon 2020 
research and innovation programme under the NGI_TRUST grant agreement no 
825618.

(Reposted from Evolveum blog <https://evolveum.com/introducing-midscale/>)

-- 
Radovan Semancik
Software Architect
evolveum.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20201019/4b648c19/attachment.htm>


More information about the midPoint mailing list