<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Dear midPoint community,</p>
    <p><span class="byline"><span class="author vcard"></span></span></p>
    <div class="entry-content">
      <p> Ladies and gentlemen, please welcome <a
          href="https://docs.evolveum.com/midpoint/midscale/">midScale</a>.
        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.<span id="more-6965"></span></p>
      <p> 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.</p>
      <p> Over the years midPoint grew, the deployments got bigger and
        more ambitious. Fortunately, we expected that this could happen.<br>
        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.</p>
      <p> 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.</p>
      <p> 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 <a
          href="https://docs.evolveum.com/midpoint/midscale/">project
          web pages</a> for anyone to follow the progress of the
        project.</p>
      <p> 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.</p>
    </div>
    <span class="byline"><span class="author vcard"></span></span>
    <div class="entry-content"><span class="byline"><span class="author
          vcard"></span></span>This project has received funding from
      the European Union’s Horizon 2020 research and innovation
      programme under the NGI_TRUST grant agreement no 825618. </div>
    <p>(Reposted from <a moz-do-not-send="true"
        href="https://evolveum.com/introducing-midscale/">Evolveum blog</a>)</p>
    <pre class="moz-signature" cols="72">-- 
Radovan Semancik
Software Architect
evolveum.com</pre>
  </body>
</html>