Drupal is a web-based content management system that's popular with small and large businesses. It can handle complex workflows, multilingual content, enterprise integrations, and other requirements. Every year, more organizations are switching to Drupal from their existing systems.
With Drupal adding richer features and plans for 10, this growth will only increase. Migrations from Drupal 7 to Drupal 8 is a popular topic. Drupal is a flexible and powerful migration tool that allows us to "write" migrations declaratively.
The migration framework can be used to support a wide range of sources, and you can also specify your own sources and destinations. The framework also allows for a powerful pipelined transformation process, which allows us to map source content to destination fields declaratively.
This framework makes migration more of a business problem than a technical challenge. The process or workflow of the migration can vary depending on the business requirements and attributes of the source system.
We may reuse existing migrations (in the core or contribution), adapt migrations from other sources, or create new migrations depending on the type of migrating. Depending on the source, we might choose to migrate either incrementally or one-time.
Drupal's migration framework is modular, so it can be used in many situations. Migration is the basic building entity, not to be confused with Drupal entities. Each migration is responsible to bring over a specific piece of content from the source and the destination.
This is a more technical definition than a business one, as Drupal's internal content model defines what constitutes a "discrete part" of content. It may not be the same as what an editor might expect.