I'm not sure of any 'Best Practices' document per se, but can relay some of my knowledge.
- Manual Migration via 'Export Policy'
- Works good, but need to specify the dependency mappings each time and for each service
- Time Consuming if you need to migrate 100 services
- ESM Migration
- Graphical Migration tool
- doesn't support 'Encapsulated Assertions' or some of the new 'object/entity types'
- so most of the modern deployments won't be able to take advantage of ESM's migration capabilities to date.
- CLI Migration ( GMU / CMT )
- CMT ( CommandLine Migration Tool )
- was developed internally to meet the functionality gap in our migration process
- was meant to be more of a 'Toolkit', that customers could leverage and script/code around to meet their specific needs
- This toolkit was only delivered to customers via 'Professional Services'
- this toolkit doesn't have support so a Special Training would need to happen to make sure the customer was educated enough to troubleshoot and work with it.
- Based on the /wsman interface ( soap based management interface ) ( similar to Datapower's 'SOMA/AMP' interface, ( i noticed you worked with Datapower ) )
- available as a .sh and .bat
- pretty safe to use with 8.0+ versions
- does have some 'legacy' support for previous versions, but i don't have much experience with pre 8.0
- GMU ( Gateway Migration Utility )
- The productization of CMT, with official Support
- released with version 8.3 ( as you already know )
- built on the new /restman interface ( Rest Based Management )
- Supports all the newer Object/Entity types
- Available on the Support Portal
- available as a .sh and .bat
- Is being represented as the current automated 'go-to' solution for Migration
**[edit] I'm not sure about the Portal based stuff, i would assume as long as the destination environment is set up to it's portal that everything will work okay, as the 'Portal Managed Service' is just an assertion in the policy, but don't have a lot of Portal Experience to confirm.
hope this helps,
Doyle