So it is one thing that you might want to assess if the patterns that were described in the article actually fit your use case and then adopt the one that fits better.
But putting this sentiment to the extreme, you could also say: For very "small" use cases, that is systems where scalability might not be an issue (right now and in the future), you might want to dispense with any kind of distributed system altogether and just program a monolith. Because if you have tightly-coupled parts of a more complex system that cannot really function if at least one is down, you might as well put them in the same program.
Again, the main drawback will be horizontal scalability. But in a small enough company your "process engine" can probably be run a small VM anyway.
But putting this sentiment to the extreme, you could also say: For very "small" use cases, that is systems where scalability might not be an issue (right now and in the future), you might want to dispense with any kind of distributed system altogether and just program a monolith. Because if you have tightly-coupled parts of a more complex system that cannot really function if at least one is down, you might as well put them in the same program.
Again, the main drawback will be horizontal scalability. But in a small enough company your "process engine" can probably be run a small VM anyway.