A common base, independent tours
You don't have to implement the entire platform to get value from a part. Each tour is complete by itself, from data entry to result.
The complete system
The data enter four ways with the same contract, are based on a shared base and feed routes that are sold separately.
Decisions that avoid redoing the core
Most of these decisions are not noticed when everything goes well. They are noticed the day that we have to grow, migrate or audit.
Modular core, not microservices by default
The modules are separated by domain limits and can be deployed separately when the load justifies it. Convert each module to a service from day one adds operation without adding value.
Continue in the diagramAPI does not expose topology
How the processes are distributed inside is our business. The public contract does not change because we decide to separate or join a module.
See APINo table is a contract
Applications consume versioned contracts, not the database scheme, which allows for the migration of storage without breaking up consumers.
See APIInterchangeable routing engines
The route API is own and the engine that solves it is replaceable. The choice is made by measurement, not by preference.
See productivityMigration that does not break who is offline
Compatible fields are added, unfolds, mixes the data and only then the old ones are removed. A phone without a signal must be able to synchronize during the agreed window.
See DromiviaSecurity at the base, not above
Identity, permissions, segmentation, data limits and recovery are checked separately. Failure of a barrier must not deliver the entire system.
See securityReady to grow, not paid in advance
The platform is designed with contracts that allow to grow, and the infrastructure is adopted when the measured load justifies it. Install a stack of tools for prestige adds operating cost and failure surface before there is the problem that would solve.
This means two concrete things. The first: contracts and migrations are prepared from the design, so that adopting a line of events, an analytical warehouse or an orchestrator later on is hard work and not a rewriting. The second: we do not promise that migration is free, because it is not.
A single server is still a single failure domain, however well configured it is. When the availability offered requires it, the separation is actually made and documented; replicas of the same process on the same machine do not show availability between failure domains.
Preguntas frecuentes
You want to check with your technical team?
We can enter into the details of contracts, migration and data model with whom we will be integrated.
