Skip to content

DataSeeder

During the suite development lifecycle we've encountered ourselves, time and time again, before two recurrent challenges:

  • The need to deploy our development environments and have them up and running from scratch, this including all the initialization data required to run the applications.
  • An efficient way of creating test data which is required in most cases for developing our business features.

Our first attempts on addressing these requirements also revealed a few constraints:

  • The required data would vary depending on the environment being deployed (we don't need the same users for a localdev environment and a client-specific test environment).
  • Adding or modifying specific data on the fly would become a common use-case and therefore it should be accomplished in a fast, seamless way.
  • Delegating the responsibility of seeding data to our business microservices would throw us into a very non pleasant scenario where we need to deal with deployment, coordination and temporality.

All these conditions (and a couple more not worth mentioning now) left us with a clear definition of the artifact we needed: it should be somewhat centralized, easily customizable and be seamlessly attachable to the deployment process without becoming a dead weight.

The DataSeeder service is, at this point in time, that artifact.