{"id":291,"date":"2026-04-13T12:41:22","date_gmt":"2026-04-13T12:41:22","guid":{"rendered":"https:\/\/www.devopsschool.com\/tutorials\/aws-migration-hub-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-migration-and-transfer\/"},"modified":"2026-04-13T12:41:22","modified_gmt":"2026-04-13T12:41:22","slug":"aws-migration-hub-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-migration-and-transfer","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/tutorials\/aws-migration-hub-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-migration-and-transfer\/","title":{"rendered":"AWS Migration Hub Tutorial: Architecture, Pricing, Use Cases, and Hands-On Guide for Migration and transfer"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Category<\/h2>\n\n\n\n<p>Migration and transfer<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p>AWS Migration Hub is AWS\u2019s central place to <strong>track, manage, and coordinate application migrations<\/strong> to AWS. It does not replace migration tools that actually move servers or databases. Instead, it <strong>organizes your migration program<\/strong> by giving you a consistent view of progress across applications, migration waves, and integrated tools.<\/p>\n\n\n\n<p>In simple terms: <strong>AWS Migration Hub is a \u201csingle pane of glass\u201d for migrations<\/strong>. If you are using AWS services like AWS Application Migration Service (MGN) for servers or AWS Database Migration Service (DMS) for databases, Migration Hub helps you see what is happening, what is done, what is stuck, and what is next\u2014at an application level.<\/p>\n\n\n\n<p>Technically, AWS Migration Hub provides a <strong>console experience and APIs<\/strong> to:\n&#8211; Group resources into applications\n&#8211; Track migration tasks and their status over time\n&#8211; Orchestrate migration steps (via Migration Hub Orchestrator)\n&#8211; Generate migration strategy recommendations (via Migration Hub Strategy Recommendations)\n&#8211; Support incremental modernization patterns (via Migration Hub Refactor Spaces)<\/p>\n\n\n\n<p>The problem it solves: most migrations fail or run over budget not because the tools can\u2019t move workloads, but because teams struggle with <strong>program governance<\/strong>\u2014visibility, sequencing, ownership, repeatability, and auditability. AWS Migration Hub addresses these program-level gaps by providing a structured way to plan and track migrations across tools and teams.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. What is AWS Migration Hub?<\/h2>\n\n\n\n<p><strong>Official purpose:<\/strong> AWS Migration Hub helps you <strong>track the progress of application migrations<\/strong> to AWS across multiple AWS and partner migration tools, and provides capabilities to plan, orchestrate, and modernize as part of your migration journey.<\/p>\n\n\n\n<p><strong>Core capabilities (at a practical level):<\/strong>\n&#8211; <strong>Application-centric tracking:<\/strong> Track migration status by application, not just by server.\n&#8211; <strong>Tool aggregation:<\/strong> Bring migration signals from multiple AWS services and partner tools into one place.\n&#8211; <strong>Orchestration (optional):<\/strong> Coordinate multi-step migrations using workflows and runbooks (Migration Hub Orchestrator).\n&#8211; <strong>Strategy (optional):<\/strong> Generate recommendations for how to migrate\/modernize workloads (Migration Hub Strategy Recommendations).\n&#8211; <strong>Refactoring support (optional):<\/strong> Support incremental application refactoring patterns (Migration Hub Refactor Spaces).<\/p>\n\n\n\n<p><strong>Major components you\u2019ll encounter:<\/strong>\n&#8211; <strong>AWS Migration Hub console<\/strong> (visual dashboard for migration status)\n&#8211; <strong>Migration Hub APIs<\/strong> (track tasks, update status, attach attributes)\n&#8211; <strong>Migration Hub Orchestrator<\/strong> (workflow-based orchestration for application migrations)\n&#8211; <strong>Migration Hub Strategy Recommendations<\/strong> (analysis and recommendations)\n&#8211; <strong>Migration Hub Refactor Spaces<\/strong> (support for incremental refactoring; modernization)<\/p>\n\n\n\n<p><strong>Service type:<\/strong> A <strong>management and governance service<\/strong> for migrations (Migration and transfer category), plus optional components for orchestration and modernization.<\/p>\n\n\n\n<p><strong>Scope (important):<\/strong>\n&#8211; <strong>Account-scoped:<\/strong> Migration Hub data is associated with an AWS account. If you use multiple accounts, you typically manage migrations per account or use a centralized migration account with clear governance.\n&#8211; <strong>Region-scoped:<\/strong> Migration Hub is used in an AWS Region. Your \u201cmigration program\u201d should standardize on a Region for tracking.<br\/>\n<em>Verify region behavior and \u201chome region\u201d requirements in official docs for the specific Migration Hub capability you\u2019re using (tracking vs strategy vs orchestrator).<\/em><\/p>\n\n\n\n<p><strong>How it fits into the AWS ecosystem:<\/strong>\nAWS Migration Hub sits \u201cabove\u201d execution tools:\n&#8211; Discovery\/assessment tools (for example, AWS Application Discovery Service, Migration Evaluator) help you <strong>understand what you have<\/strong>.\n&#8211; Migration execution tools (for example, AWS Application Migration Service and AWS DMS) help you <strong>move<\/strong> workloads.\n&#8211; Migration Hub helps you <strong>track, coordinate, and govern<\/strong> the end-to-end program.<\/p>\n\n\n\n<p>Official docs entry point: https:\/\/docs.aws.amazon.com\/migrationhub\/<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Why use AWS Migration Hub?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Business reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Portfolio visibility:<\/strong> Executives and program managers need a credible view of what is migrated, what is at risk, and what\u2019s next.<\/li>\n<li><strong>Reduced migration risk:<\/strong> Better tracking and orchestration reduces missed steps during cutover.<\/li>\n<li><strong>Faster time to value:<\/strong> Teams can execute migration waves more consistently.<\/li>\n<li><strong>Standardization:<\/strong> A single tracking method reduces chaos from spreadsheets and fragmented reporting.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Technical reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Application-level mapping:<\/strong> Migrations succeed at the application boundary, not at the individual server boundary.<\/li>\n<li><strong>Integration with AWS migration tooling:<\/strong> Migration Hub can reflect status from AWS migration services and partner tools (where integrated).<\/li>\n<li><strong>Repeatable orchestration:<\/strong> Orchestrator workflows reduce manual runbooks for common migration patterns.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operational reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Clear ownership and status:<\/strong> Track migration tasks by application, wave, and team.<\/li>\n<li><strong>Auditability:<\/strong> Integrates with AWS auditing patterns (for example, AWS CloudTrail for API activity).<\/li>\n<li><strong>Consistency across environments:<\/strong> Use repeatable templates\/workflows where applicable.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Security\/compliance reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Controlled access via IAM:<\/strong> You can control who can see or update migration status.<\/li>\n<li><strong>Audit trails:<\/strong> CloudTrail can record API actions for governance and compliance.<\/li>\n<li><strong>Reduced ad-hoc data sharing:<\/strong> Less need for uncontrolled spreadsheets emailed around.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scalability\/performance reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Program scale:<\/strong> Helps track migrations across dozens to thousands of servers when integrated with discovery\/migration tools.<\/li>\n<li><strong>Scalable tracking model:<\/strong> Use APIs and structured task updates for automation.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should choose it<\/h3>\n\n\n\n<p>Choose AWS Migration Hub if:\n&#8211; You are migrating <strong>multiple applications<\/strong> (not just one server)\n&#8211; You need <strong>program-level tracking<\/strong> across teams\/tools\n&#8211; You want <strong>repeatability<\/strong> and workflow-based coordination (Orchestrator)\n&#8211; You are building a migration factory (waves, cutovers, standard operating procedures)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should not choose it<\/h3>\n\n\n\n<p>Migration Hub may be unnecessary if:\n&#8211; You are migrating a <strong>single small workload<\/strong> and can track progress informally\n&#8211; You need a tool that <strong>moves data\/servers<\/strong> (Migration Hub does not perform data replication itself)\n&#8211; Your migration execution is entirely outside AWS tooling and you can\u2019t integrate status updates (though you can still use APIs if you build your own updates)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Where is AWS Migration Hub used?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Industries<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Financial services (regulated migrations, strict audit trails)<\/li>\n<li>Healthcare (PHI-sensitive programs with governance needs)<\/li>\n<li>Retail\/e-commerce (wave-based migrations with seasonal constraints)<\/li>\n<li>Manufacturing (legacy estate modernization)<\/li>\n<li>SaaS and software companies (multi-tenant platform migrations)<\/li>\n<li>Public sector (structured programs, reporting requirements)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Team types<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cloud Center of Excellence (CCoE)<\/li>\n<li>Platform engineering teams<\/li>\n<li>DevOps\/SRE teams coordinating cutovers<\/li>\n<li>Migration factories \/ professional services teams<\/li>\n<li>Security and compliance teams supporting governance<\/li>\n<li>Application owners and product teams coordinating modernization<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Workloads<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VM-based applications (VMware or other hypervisors) moving to EC2<\/li>\n<li>Three-tier web apps (web\/app\/db)<\/li>\n<li>COTS apps (including Windows-based estates)<\/li>\n<li>Data platform migrations (when paired with DMS and database modernization work)<\/li>\n<li>Hybrid estates with phased migrations<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Architectures and deployment contexts<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Landing zone \/ multi-account AWS Organizations setups<\/li>\n<li>Hub-and-spoke network patterns with shared services<\/li>\n<li>Central migration account coordinating execution accounts<\/li>\n<li>Environments where discovery and dependency mapping inform sequencing<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Production vs dev\/test usage<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Production migrations:<\/strong> Most common, because tracking and governance matter most during production cutovers.<\/li>\n<li><strong>Dev\/test migrations:<\/strong> Useful for dry runs and pilot waves to establish repeatable workflows and reporting.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Top Use Cases and Scenarios<\/h2>\n\n\n\n<p>Below are realistic scenarios where AWS Migration Hub is a strong fit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) Application migration portfolio dashboard<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Leadership needs a reliable view of progress across dozens of applications and teams.<\/li>\n<li><strong>Why it fits:<\/strong> Migration Hub centralizes application migration status across integrated tools.<\/li>\n<li><strong>Example:<\/strong> A company migrates 120 applications in 10 waves and uses Migration Hub as the reporting system of record.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2) Track AWS Application Migration Service (MGN) server migrations by application<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Server replication status exists, but app owners need application-level readiness.<\/li>\n<li><strong>Why it fits:<\/strong> Migration Hub focuses on applications and can surface migration progress.<\/li>\n<li><strong>Example:<\/strong> 40 EC2 cutovers are grouped into 8 applications; Migration Hub shows which apps are ready for cutover.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3) Coordinate database migrations alongside application cutover<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> App cutover depends on database replication, schema changes, and validation.<\/li>\n<li><strong>Why it fits:<\/strong> Migration Hub provides a single place to track tasks across services (for example, DMS plus app tasks).<\/li>\n<li><strong>Example:<\/strong> DMS replication tasks and app deployment tasks are tracked under one application entry.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4) Migration factory operations (waves and workstreams)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Multiple teams (network, IAM, app, DBA, security) must complete steps per wave.<\/li>\n<li><strong>Why it fits:<\/strong> Migration Hub Orchestrator can codify workflows and provide status visibility.<\/li>\n<li><strong>Example:<\/strong> Each wave uses the same workflow template: prechecks \u2192 replication \u2192 test \u2192 cutover \u2192 validation.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5) Build a custom migration tracker for non-integrated tools<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A partner or in-house tool performs some migration steps but doesn\u2019t show up in AWS dashboards.<\/li>\n<li><strong>Why it fits:<\/strong> Migration Hub APIs let you import tasks and update status programmatically.<\/li>\n<li><strong>Example:<\/strong> A custom on-prem discovery tool sends status updates to Migration Hub so teams can use one dashboard.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6) Strategy planning and rationalization (6Rs)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You need to decide which workloads to rehost, replatform, refactor, retire, or retain.<\/li>\n<li><strong>Why it fits:<\/strong> Migration Hub Strategy Recommendations can provide structured recommendations based on collected data.<\/li>\n<li><strong>Example:<\/strong> 600 servers are analyzed; low-complexity apps are flagged for rehost, others for refactor\/retire.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7) Migrate and modernize using incremental refactoring (strangler pattern)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You can\u2019t refactor a monolith in one big-bang release.<\/li>\n<li><strong>Why it fits:<\/strong> Migration Hub Refactor Spaces supports patterns for gradually routing traffic to new services.<\/li>\n<li><strong>Example:<\/strong> An API endpoint is carved out of a monolith and implemented as a new service while legacy remains in place.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8) Governance and audit for regulated migrations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You must demonstrate who changed migration status and when.<\/li>\n<li><strong>Why it fits:<\/strong> API actions can be audited through CloudTrail; access can be controlled through IAM.<\/li>\n<li><strong>Example:<\/strong> A regulated firm requires evidence of change control for each cutover stage.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9) Operational readiness tracking and cutover checklists<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Migration fails due to missed operational tasks (monitoring, backups, patching, runbooks).<\/li>\n<li><strong>Why it fits:<\/strong> Orchestrated workflows and consistent task tracking reduce missed steps.<\/li>\n<li><strong>Example:<\/strong> A workflow includes enabling CloudWatch alarms, backup policies, and access reviews before \u201cgo-live.\u201d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">10) Multi-team collaboration and handoffs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Status is unclear during handoffs between teams and time zones.<\/li>\n<li><strong>Why it fits:<\/strong> Migration Hub provides a shared, near-real-time status view.<\/li>\n<li><strong>Example:<\/strong> APAC team completes replication; EU team performs validation; US team performs cutover\u2014tracked centrally.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. Core Features<\/h2>\n\n\n\n<p>AWS Migration Hub includes multiple capabilities. Not every organization uses all of them; many start with tracking and add orchestration\/strategy later.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 1: Centralized migration tracking dashboard<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Provides a consolidated view of migration status across applications and tasks.<\/li>\n<li><strong>Why it matters:<\/strong> You need a single source of truth to run migration waves.<\/li>\n<li><strong>Practical benefit:<\/strong> Faster reporting, fewer status meetings, fewer spreadsheet conflicts.<\/li>\n<li><strong>Limitations\/caveats:<\/strong> The dashboard is only as good as the data feeding it; non-integrated tools require API-based updates.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 2: Application grouping (application-centric view)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Lets you represent migrations as \u201capplications\u201d rather than isolated servers.<\/li>\n<li><strong>Why it matters:<\/strong> Cutovers are planned at the application level (dependencies, change windows, rollback).<\/li>\n<li><strong>Practical benefit:<\/strong> Aligns technical migration with business ownership.<\/li>\n<li><strong>Limitations\/caveats:<\/strong> You must define what \u201capplication\u201d means in your org (naming, boundaries, ownership).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 3: Migration task tracking via APIs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Enables programmatic creation and updates of migration tasks and statuses.<\/li>\n<li><strong>Why it matters:<\/strong> Automation and integration are essential at scale.<\/li>\n<li><strong>Practical benefit:<\/strong> Integrate CI\/CD, ITSM, or partner tools with Migration Hub.<\/li>\n<li><strong>Limitations\/caveats:<\/strong> Requires IAM permissions and consistent conventions (streams, task names, status mapping).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 4: Integration with AWS migration services (tracking signals)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Surfaces migration progress from AWS migration tools where supported.<\/li>\n<li><strong>Why it matters:<\/strong> Reduces duplicated reporting; aligns execution tooling with program tracking.<\/li>\n<li><strong>Practical benefit:<\/strong> Less manual work to maintain status.<\/li>\n<li><strong>Limitations\/caveats:<\/strong> Integration scope depends on the tool and region; verify current integration support in official docs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 5: Migration Hub Orchestrator (workflow coordination)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Helps orchestrate multi-step migrations with workflows\/templates and task assignments.<\/li>\n<li><strong>Why it matters:<\/strong> Real migrations have many steps (prechecks, replication, DNS, validation, rollback).<\/li>\n<li><strong>Practical benefit:<\/strong> Repeatability, fewer missed steps, clearer run-state visibility.<\/li>\n<li><strong>Limitations\/caveats:<\/strong> Not a universal orchestrator for every tool; templates and integration vary\u2014verify supported templates and steps in official docs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 6: Migration Hub Strategy Recommendations (planning support)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Analyzes collected server\/application data and provides migration strategy recommendations.<\/li>\n<li><strong>Why it matters:<\/strong> Reduces time spent manually classifying workloads and identifying modernization paths.<\/li>\n<li><strong>Practical benefit:<\/strong> Portfolio segmentation and planning acceleration.<\/li>\n<li><strong>Limitations\/caveats:<\/strong> Recommendations depend on data quality and coverage; treat as guidance, not absolute truth.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 7: Migration Hub Refactor Spaces (incremental modernization support)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Supports patterns for incremental refactoring of applications (often aligned to strangler-pattern approaches).<\/li>\n<li><strong>Why it matters:<\/strong> Many orgs need to modernize gradually while keeping legacy stable.<\/li>\n<li><strong>Practical benefit:<\/strong> Controlled transition from monolith to services without big-bang rewrites.<\/li>\n<li><strong>Limitations\/caveats:<\/strong> It\u2019s a modernization component, not required for lift-and-shift; it introduces architectural complexity\u2014use intentionally.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feature 8: Governance and audit alignment (via AWS-native controls)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Leverages AWS IAM for authorization and AWS CloudTrail for auditing API actions.<\/li>\n<li><strong>Why it matters:<\/strong> Migration programs must satisfy compliance and change management requirements.<\/li>\n<li><strong>Practical benefit:<\/strong> Traceability and separation of duties.<\/li>\n<li><strong>Limitations\/caveats:<\/strong> You must enable and retain CloudTrail logs appropriately; Migration Hub is not itself a GRC tool.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">7. Architecture and How It Works<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">High-level architecture<\/h3>\n\n\n\n<p>AWS Migration Hub sits at the \u201ccoordination layer\u201d:\n1. <strong>Migration execution tools<\/strong> (AWS and partner tools) perform replication, conversion, and cutover actions.\n2. Those tools (or your automation) <strong>publish status<\/strong> to Migration Hub (directly via integration or via APIs).\n3. Migration Hub <strong>organizes status<\/strong> by application and tasks.\n4. Users and automation systems <strong>read status<\/strong> from the console\/APIs for reporting and governance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Control flow vs data flow<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Control flow:<\/strong> Users\/automation update tasks and statuses; Orchestrator triggers steps (where used).<\/li>\n<li><strong>Data flow:<\/strong> Migration Hub stores metadata about tasks, applications, and statuses\u2014not your application payload data.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Integrations with related AWS services (common patterns)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AWS Application Migration Service (MGN):<\/strong> Server migration execution (replication, test, cutover). Migration Hub can be used for tracking at the program level.<\/li>\n<li><strong>AWS Database Migration Service (DMS):<\/strong> Database replication and migration tasks that can be tracked as part of an application migration.<\/li>\n<li><strong>AWS Application Discovery Service:<\/strong> Discovery and inventory that can inform planning and grouping.<\/li>\n<li><strong>AWS IAM:<\/strong> Access control (who can view\/update migration tracking).<\/li>\n<li><strong>AWS CloudTrail:<\/strong> Audit API actions and console activity.<\/li>\n<li><strong>AWS Organizations (common pattern):<\/strong> Multi-account governance. Migration Hub itself is account-scoped; cross-account visibility typically requires role switching or centralized patterns you design.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Security\/authentication model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Authentication:<\/strong> AWS Identity and Access Management (IAM) users\/roles.<\/li>\n<li><strong>Authorization:<\/strong> IAM policies granting access to Migration Hub APIs and related resources.<\/li>\n<li><strong>Audit:<\/strong> CloudTrail logs can record API calls.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Networking model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Migration Hub is a managed AWS service accessed via:<\/li>\n<li>AWS Management Console (HTTPS)<\/li>\n<li>AWS APIs (HTTPS)<\/li>\n<li>No VPC deployment is required for the tracking service itself. If you use collectors\/agents or Orchestrator steps, those may require VPC connectivity to your environments and targets.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Monitoring\/logging\/governance considerations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Logging:<\/strong> Use CloudTrail for API auditing.<\/li>\n<li><strong>Operational monitoring:<\/strong> Migration Hub is not primarily a metrics service; operational monitoring usually happens in the execution tools (MGN\/DMS) and in CloudWatch for migrated workloads.<\/li>\n<li><strong>Governance:<\/strong> Standardize naming, tagging (where applicable), and wave definitions outside and inside Migration Hub.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Simple architecture diagram (conceptual)<\/h3>\n\n\n\n<pre><code class=\"language-mermaid\">flowchart LR\n  subgraph Sources[\"Migration Status Sources\"]\n    MGN[\"AWS Application Migration Service (MGN)\"]\n    DMS[\"AWS Database Migration Service (DMS)\"]\n    PT[\"Partner \/ Custom Tools\"]\n    API[\"Your Automation (Migration Hub APIs)\"]\n  end\n\n  HUB[\"AWS Migration Hub\\n(Tracking + Apps + Tasks)\"]\n  CONSOLE[\"Migration Hub Console\\n(Portfolio View)\"]\n  USERS[\"Program Teams\\n(App owners \/ Ops \/ PMO)\"]\n\n  Sources --&gt; HUB\n  HUB --&gt; CONSOLE\n  CONSOLE --&gt; USERS\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Production-style architecture diagram (program scale)<\/h3>\n\n\n\n<pre><code class=\"language-mermaid\">flowchart TB\n  subgraph Org[\"AWS Organizations (typical)\"]\n    subgraph MigAcct[\"Migration Program Account\"]\n      HUB[\"AWS Migration Hub\"]\n      ORCH[\"Migration Hub Orchestrator (optional)\"]\n      CT[\"AWS CloudTrail\"]\n      IAM[\"IAM \/ Identity Center (common)\"]\n    end\n\n    subgraph WorkloadAccts[\"Workload Accounts (per app\/team)\"]\n      MGN[\"AWS Application Migration Service (MGN)\"]\n      DMS[\"AWS Database Migration Service (DMS)\"]\n      CW[\"Amazon CloudWatch (workload monitoring)\"]\n    end\n  end\n\n  OnPrem[\"On-Prem \/ Data Center\\n(servers, DBs)\"] --&gt; MGN\n  OnPrem --&gt; DMS\n\n  MGN --&gt; HUB\n  DMS --&gt; HUB\n\n  ORCH --&gt; MGN\n  ORCH --&gt; DMS\n\n  IAM --&gt; HUB\n  HUB --&gt; CT\n\n  HUB --&gt; \"Portfolio dashboards &amp; reporting\\n(inside console \/ via APIs)\"\n  WorkloadAccts --&gt; CW\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">8. Prerequisites<\/h2>\n\n\n\n<p>Before you start using AWS Migration Hub (especially for API-based tracking and labs), make sure you have the following.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Account and billing<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An <strong>AWS account<\/strong> with billing enabled.<\/li>\n<li>Permission to use AWS Migration Hub in at least one AWS Region.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Permissions \/ IAM roles<\/h3>\n\n\n\n<p>You need IAM permissions to:\n&#8211; Access the Migration Hub console\n&#8211; Call Migration Hub APIs (if doing automation)\n&#8211; (Optional) Use Orchestrator, Strategy Recommendations, or Refactor Spaces capabilities<\/p>\n\n\n\n<p>AWS provides managed policies for some migration services. Prefer least privilege where possible:\n&#8211; Start by reviewing available managed policies (search in IAM for \u201cMigrationHub\u201d).<br\/>\n  Verify current managed policy names and scope in official IAM documentation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tools<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AWS CLI<\/strong> (recommended for the hands-on lab): https:\/\/docs.aws.amazon.com\/cli\/<\/li>\n<li>A terminal with access to the internet<\/li>\n<li>(Optional) <code>jq<\/code> for JSON formatting<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Region availability<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>AWS Migration Hub is not necessarily available in every region with identical capabilities (tracking vs strategy vs orchestrator vs refactor spaces can differ).<br\/>\n  Verify in the official docs and region tables for the specific Migration Hub capability you plan to use:<\/li>\n<li>https:\/\/docs.aws.amazon.com\/migrationhub\/<\/li>\n<li>https:\/\/aws.amazon.com\/about-aws\/global-infrastructure\/regional-product-services\/<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Quotas \/ limits<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Expect limits around the number of applications, tasks, and update rates (varies by capability).<\/li>\n<li>Check <strong>Service Quotas<\/strong> and Migration Hub documentation for current limits.<br\/>\n  If you can\u2019t find a quota in Service Quotas, rely on the service\u2019s API\/documentation limits.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisite services (optional, depending on your use)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you are executing migrations: MGN, DMS, discovery tooling, etc.<\/li>\n<li>If you are orchestrating: permissions to run underlying steps and access target accounts\/resources.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">9. Pricing \/ Cost<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Current pricing model (how to think about it)<\/h3>\n\n\n\n<p>AWS Migration Hub is primarily a <strong>management\/tracking layer<\/strong>. Historically, AWS has stated that Migration Hub tracking is available <strong>at no additional charge<\/strong>, and you pay for the AWS services you use for discovery, replication, compute, storage, and data transfer.<\/p>\n\n\n\n<p>However, AWS Migration Hub also includes capabilities that can create costs indirectly (and some capabilities may have their own pricing rules). Always confirm the latest pricing and any capability-specific charges.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Official pricing page (verify current details): https:\/\/aws.amazon.com\/migration-hub\/pricing\/<\/li>\n<li>AWS Pricing Calculator: https:\/\/calculator.aws\/<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Pricing dimensions (what you pay for)<\/h3>\n\n\n\n<p>You typically pay for <strong>related services<\/strong> used alongside Migration Hub, such as:\n&#8211; <strong>AWS Application Migration Service (MGN):<\/strong> replication infrastructure, staging resources, snapshots, EBS, etc. (pricing rules vary)\n&#8211; <strong>AWS Database Migration Service (DMS):<\/strong> replication instances, storage, I\/O, logs\n&#8211; <strong>Discovery tooling:<\/strong> collectors, compute\/storage for data retention, analytics\n&#8211; <strong>Orchestrator dependencies:<\/strong> any AWS resources created or run as part of workflows (for example, automation steps that run compute)\n&#8211; <strong>Refactor Spaces dependencies:<\/strong> resources used to route traffic and run services (exact components depend on your design)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cost drivers<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Number of servers\/databases migrated:<\/strong> more replication, more staging capacity, more data moved<\/li>\n<li><strong>Data transfer volumes:<\/strong> on-prem \u2192 AWS, inter-region, cross-AZ, and internet egress<\/li>\n<li><strong>Parallelism:<\/strong> migrating many apps simultaneously increases peak infrastructure needs<\/li>\n<li><strong>Duration:<\/strong> longer replication windows and extended coexistence periods cost more<\/li>\n<li><strong>Logging and retention:<\/strong> CloudTrail, log storage, and analytics costs<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Hidden or indirect costs to watch<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Data transfer charges<\/strong> (especially cross-region or internet egress)<\/li>\n<li><strong>Staging resources<\/strong> for replication and testing (MGN\/DMS)<\/li>\n<li><strong>Snapshots and storage growth<\/strong> during extended migration windows<\/li>\n<li><strong>Temporary double-running<\/strong> (on-prem + AWS) during coexistence<\/li>\n<li><strong>Tooling overhead<\/strong>: CI\/CD, monitoring, security scanning, and compliance tooling<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">How to optimize cost<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Standardize migration waves:<\/strong> reduce idle staging time.<\/li>\n<li><strong>Right-size replication infrastructure:<\/strong> avoid overprovisioning replication instances.<\/li>\n<li><strong>Shorten coexistence:<\/strong> plan cutovers tightly to reduce dual-running costs.<\/li>\n<li><strong>Use tagging and cost allocation:<\/strong> track costs per application\/wave.<\/li>\n<li><strong>Use AWS Budgets and Cost Explorer:<\/strong> monitor anomalies during waves.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Example low-cost starter estimate (conceptual)<\/h3>\n\n\n\n<p>A minimal starter lab that uses only Migration Hub APIs (no replication) will usually incur:\n&#8211; <strong>$0 or near $0<\/strong> for Migration Hub tracking itself (verify pricing page)\n&#8211; Standard API and logging costs are typically minimal, but:\n  &#8211; If CloudTrail data events or extra trails are configured, logging may have small costs\n  &#8211; Your existing account baseline (for example, CloudTrail, Config, GuardDuty) may incur costs unrelated to this lab<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example production cost considerations (realistic)<\/h3>\n\n\n\n<p>A production migration program cost model should include:\n&#8211; Replication service costs (MGN\/DMS)\n&#8211; Temporary EC2\/EBS usage (staging, test environments)\n&#8211; Data transfer (DX\/VPN\/Internet)\n&#8211; Security and compliance tooling\n&#8211; Operations overhead (monitoring\/logging)\n&#8211; Team time and partner services<\/p>\n\n\n\n<p>The key point: <strong>AWS Migration Hub improves visibility and reduces program risk<\/strong>, but it does not eliminate the underlying infrastructure and data movement costs of migration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Step-by-Step Hands-On Tutorial<\/h2>\n\n\n\n<p>This lab demonstrates AWS Migration Hub\u2019s <strong>tracking APIs<\/strong> in a safe, low-cost way by creating a progress update stream and a sample migration task, then updating task status over time and verifying it in the console.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Objective<\/h3>\n\n\n\n<p>Create and track a sample \u201capplication migration task\u201d in <strong>AWS Migration Hub<\/strong> using the AWS CLI:\n&#8211; Create a Progress Update Stream\n&#8211; Import a Migration Task\n&#8211; Update task status from NOT_STARTED \u2192 IN_PROGRESS \u2192 COMPLETED\n&#8211; Verify in the AWS Migration Hub console\n&#8211; Clean up resources<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lab Overview<\/h3>\n\n\n\n<p>You will simulate status updates as if they were coming from a migration tool.<\/p>\n\n\n\n<p>What you\u2019ll build:\n&#8211; A <strong>Progress Update Stream<\/strong> (a logical channel that groups updates from a tool or integration)\n&#8211; A <strong>Migration Task<\/strong> (represents the thing being migrated\u2014server\/app component)\n&#8211; Status updates with timestamps<\/p>\n\n\n\n<p>Expected outcome:\n&#8211; You can see your migration task and its latest status in Migration Hub.\n&#8211; You understand the mechanics behind integrating custom tools with Migration Hub tracking.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Choose a Region and verify CLI access<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p>Configure your AWS CLI credentials:\n   &#8211; https:\/\/docs.aws.amazon.com\/cli\/latest\/userguide\/cli-configure-quickstart.html<\/p>\n<\/li>\n<li>\n<p>Pick a region (example uses <code>us-east-1<\/code>). Set environment variables:<\/p>\n<\/li>\n<\/ol>\n\n\n\n<pre><code class=\"language-bash\">export AWS_REGION=\"us-east-1\"\nexport AWS_DEFAULT_REGION=\"us-east-1\"\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>Verify identity:<\/li>\n<\/ol>\n\n\n\n<pre><code class=\"language-bash\">aws sts get-caller-identity\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> You see your AWS account and ARN.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Confirm you can call Migration Hub APIs<\/h3>\n\n\n\n<p>List existing progress update streams (may be empty):<\/p>\n\n\n\n<pre><code class=\"language-bash\">aws migrationhub list-progress-update-streams\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> Command succeeds. If access is denied, fix IAM permissions (see Troubleshooting).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Create a Progress Update Stream<\/h3>\n\n\n\n<p>Create a stream to represent a tool or integration (example: <code>tutorial-stream<\/code>).<\/p>\n\n\n\n<pre><code class=\"language-bash\">STREAM_NAME=\"tutorial-stream\"\n\naws migrationhub create-progress-update-stream \\\n  --progress-update-stream-name \"$STREAM_NAME\"\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> The stream is created successfully.<\/p>\n\n\n\n<p>Verify it exists:<\/p>\n\n\n\n<pre><code class=\"language-bash\">aws migrationhub list-progress-update-streams\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Import a Migration Task<\/h3>\n\n\n\n<p>Now create a migration task (example: <code>webapp-server-01<\/code>).<\/p>\n\n\n\n<pre><code class=\"language-bash\">TASK_NAME=\"webapp-server-01\"\n\naws migrationhub import-migration-task \\\n  --progress-update-stream \"$STREAM_NAME\" \\\n  --migration-task-name \"$TASK_NAME\"\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> The task is registered.<\/p>\n\n\n\n<p>List tasks:<\/p>\n\n\n\n<pre><code class=\"language-bash\">aws migrationhub list-migration-tasks \\\n  --progress-update-stream \"$STREAM_NAME\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Send the first status update (NOT_STARTED)<\/h3>\n\n\n\n<p>Migration Hub task updates include a timestamp. Use UTC time. On Linux\/macOS:<\/p>\n\n\n\n<pre><code class=\"language-bash\">NOW_UTC=\"$(date -u +\"%Y-%m-%dT%H:%M:%SZ\")\"\necho \"$NOW_UTC\"\n<\/code><\/pre>\n\n\n\n<p>Now send a status update:<\/p>\n\n\n\n<pre><code class=\"language-bash\">aws migrationhub notify-migration-task-state \\\n  --progress-update-stream \"$STREAM_NAME\" \\\n  --migration-task-name \"$TASK_NAME\" \\\n  --update-date-time \"$NOW_UTC\" \\\n  --next-update-seconds 3600 \\\n  --task '{\"Status\":\"NOT_STARTED\",\"StatusDetail\":\"Task registered in Migration Hub\",\"ProgressPercent\":0}'\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> The task\u2019s state is updated.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Update status to IN_PROGRESS<\/h3>\n\n\n\n<p>A few minutes later (or immediately for the lab), update to in progress:<\/p>\n\n\n\n<pre><code class=\"language-bash\">NOW_UTC=\"$(date -u +\"%Y-%m-%dT%H:%M:%SZ\")\"\n\naws migrationhub notify-migration-task-state \\\n  --progress-update-stream \"$STREAM_NAME\" \\\n  --migration-task-name \"$TASK_NAME\" \\\n  --update-date-time \"$NOW_UTC\" \\\n  --next-update-seconds 3600 \\\n  --task '{\"Status\":\"IN_PROGRESS\",\"StatusDetail\":\"Replication started (simulated)\",\"ProgressPercent\":25}'\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> The task is now IN_PROGRESS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Update status to COMPLETED<\/h3>\n\n\n\n<p>Update the task to completed:<\/p>\n\n\n\n<pre><code class=\"language-bash\">NOW_UTC=\"$(date -u +\"%Y-%m-%dT%H:%M:%SZ\")\"\n\naws migrationhub notify-migration-task-state \\\n  --progress-update-stream \"$STREAM_NAME\" \\\n  --migration-task-name \"$TASK_NAME\" \\\n  --update-date-time \"$NOW_UTC\" \\\n  --next-update-seconds 3600 \\\n  --task '{\"Status\":\"COMPLETED\",\"StatusDetail\":\"Cutover completed (simulated)\",\"ProgressPercent\":100}'\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> The task shows COMPLETED.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 8: Verify in the AWS Migration Hub console<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the AWS console.<\/li>\n<li>Go to <strong>AWS Migration Hub<\/strong>:\n   &#8211; https:\/\/console.aws.amazon.com\/migrationhub\/<\/li>\n<li>Ensure the <strong>Region selector<\/strong> matches your CLI region (for example, <code>us-east-1<\/code>).<\/li>\n<li>Locate migration tasks and find your task:\n   &#8211; Look for views related to <strong>Migration tasks<\/strong> or <strong>Tools<\/strong> \/ <strong>Task status<\/strong> (console layout can evolve).<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> You can see <code>tutorial-stream<\/code> and <code>webapp-server-01<\/code> with the latest status.<\/p>\n\n\n\n<p>If you don\u2019t see it, double-check:\n&#8211; Region\n&#8211; Permissions\n&#8211; That the task updates succeeded\n&#8211; Console filters<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Validation<\/h3>\n\n\n\n<p>Run the following checks:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Confirm the task exists:<\/li>\n<\/ol>\n\n\n\n<pre><code class=\"language-bash\">aws migrationhub list-migration-tasks --progress-update-stream \"$STREAM_NAME\"\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>Get details:<\/li>\n<\/ol>\n\n\n\n<pre><code class=\"language-bash\">aws migrationhub describe-migration-task \\\n  --progress-update-stream \"$STREAM_NAME\" \\\n  --migration-task-name \"$TASK_NAME\"\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> Output shows task status <code>COMPLETED<\/code> and progress <code>100<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Troubleshooting<\/h3>\n\n\n\n<p>Common issues and fixes:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p><strong>AccessDeniedException<\/strong>\n&#8211; Cause: Missing IAM permissions for Migration Hub APIs.\n&#8211; Fix: Attach or create a policy that includes the necessary <code>migrationhub:*<\/code> actions for this lab.\n&#8211; Also ensure you\u2019re not blocked by permission boundaries or SCPs in AWS Organizations.<\/p>\n<\/li>\n<li>\n<p><strong>Task\/stream not visible in console<\/strong>\n&#8211; Cause: Wrong AWS Region selected in the console.\n&#8211; Fix: Match the console Region to <code>AWS_REGION<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>Invalid timestamp format<\/strong>\n&#8211; Cause: <code>--update-date-time<\/code> must be in an accepted timestamp format (commonly ISO 8601 UTC).\n&#8211; Fix: Use <code>date -u +\"%Y-%m-%dT%H:%M:%SZ\"<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>ResourceAlreadyExistsException<\/strong>\n&#8211; Cause: You already created the stream\/task earlier.\n&#8211; Fix: Choose a unique name or delete and recreate during cleanup.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Cleanup<\/h3>\n\n\n\n<p>Delete the progress update stream (this is the main cleanup item):<\/p>\n\n\n\n<pre><code class=\"language-bash\">aws migrationhub delete-progress-update-stream \\\n  --progress-update-stream-name \"$STREAM_NAME\"\n<\/code><\/pre>\n\n\n\n<p>Re-list streams to confirm deletion:<\/p>\n\n\n\n<pre><code class=\"language-bash\">aws migrationhub list-progress-update-streams\n<\/code><\/pre>\n\n\n\n<p>If deletion fails because tasks still exist or due to service rules:\n&#8211; Check the error message.\n&#8211; Some services require tasks to be in a terminal state; ensure tasks are completed.\n&#8211; Verify official docs for stream\/task deletion behavior (service behavior can change).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11. Best Practices<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Architecture best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Define application boundaries early:<\/strong> Align with business ownership, not just infrastructure topology.<\/li>\n<li><strong>Track by wave and cutover window:<\/strong> Make migration hub data reflect how you actually execute migrations.<\/li>\n<li><strong>Standardize migration statuses:<\/strong> Decide what \u201cIN_PROGRESS\u201d means (replication? testing? cutover?) and document it.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">IAM\/security best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Least privilege:<\/strong> Separate permissions for:<\/li>\n<li>View-only dashboards<\/li>\n<li>Updating task status<\/li>\n<li>Managing Orchestrator workflows<\/li>\n<li><strong>Separation of duties:<\/strong> Migration operators can update tasks; auditors can view logs.<\/li>\n<li><strong>Use roles, not long-lived keys:<\/strong> Prefer IAM roles and federation.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Cost best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use tags and cost allocation across the migration program:<\/strong> Especially for MGN\/DMS and temporary EC2\/EBS.<\/li>\n<li><strong>Budget by wave:<\/strong> Use AWS Budgets to detect overruns early.<\/li>\n<li><strong>Shut down temporary resources promptly:<\/strong> Test instances, staging resources, and extra logging.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Performance best practices (program execution performance)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Parallelize safely:<\/strong> Migrate in parallel only when downstream teams (network, security, operations) can support it.<\/li>\n<li><strong>Automate status updates:<\/strong> If your pipeline updates Migration Hub automatically, humans spend less time on reporting and more on execution.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Reliability best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Treat Migration Hub as tracking, not execution:<\/strong> Build reliable migration execution using MGN\/DMS and tested runbooks.<\/li>\n<li><strong>Use Orchestrator for repeatable steps:<\/strong> Reduce manual error during cutovers.<\/li>\n<li><strong>Plan rollback paths:<\/strong> Track rollback steps as first-class tasks, not as an afterthought.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operations best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use CloudTrail and central logging:<\/strong> Keep an audit trail of migration status changes.<\/li>\n<li><strong>Create a runbook for \u201cstuck\u201d statuses:<\/strong> What to do when replication stalls or validation fails.<\/li>\n<li><strong>Operational readiness checks:<\/strong> Include monitoring\/alerting\/backups in the definition of \u201ccompleted.\u201d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Governance\/tagging\/naming best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Consistent naming conventions:<\/strong> <code>appname-env-wave-component<\/code> is often better than ad-hoc names.<\/li>\n<li><strong>Ownership metadata:<\/strong> If supported in your process, track app owner, tech owner, and escalation contacts.<\/li>\n<li><strong>Change management alignment:<\/strong> Map Migration Hub milestones to ITSM change records.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">12. Security Considerations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Identity and access model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>IAM controls access<\/strong> to Migration Hub APIs and console.<\/li>\n<li>Use role-based access:<\/li>\n<li>Read-only for stakeholders<\/li>\n<li>Update rights for migration operators\/automation<\/li>\n<li>Admin rights for platform team<\/li>\n<\/ul>\n\n\n\n<p>Verify current IAM actions and managed policies in official docs:\n&#8211; Migration Hub docs: https:\/\/docs.aws.amazon.com\/migrationhub\/\n&#8211; IAM documentation: https:\/\/docs.aws.amazon.com\/IAM\/latest\/UserGuide\/<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Encryption<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Migration Hub is a managed AWS service; AWS services typically encrypt data at rest and in transit.<\/li>\n<li>For capability-specific encryption controls (for example, KMS integration), <strong>verify in official docs<\/strong> for the specific capability (tracking vs strategy vs orchestrator vs refactor spaces).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Network exposure<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Console and APIs are accessed over HTTPS.<\/li>\n<li>If you deploy collectors\/agents (for discovery or strategy recommendations), ensure:<\/li>\n<li>Outbound connectivity is controlled (proxy\/NAT)<\/li>\n<li>TLS inspection policies are compatible<\/li>\n<li>Firewall rules are documented and approved<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Secrets handling<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Do not store credentials in scripts.<\/li>\n<li>Use:<\/li>\n<li>IAM roles for EC2<\/li>\n<li>AWS SSO \/ IAM Identity Center for humans<\/li>\n<li>CI\/CD secrets managers (for example, AWS Secrets Manager) where needed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Audit\/logging<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enable CloudTrail in line with your organization\u2019s policies.<\/li>\n<li>Centralize logs in a security account if using AWS Organizations.<\/li>\n<li>Ensure log retention meets compliance requirements.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Compliance considerations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Migration programs often touch regulated data. Migration Hub stores metadata, but your migration execution tools and target workloads handle real data.<\/li>\n<li>Align your migration governance with:<\/li>\n<li>Data classification<\/li>\n<li>Access reviews<\/li>\n<li>Change management approvals<\/li>\n<li>Evidence collection (CloudTrail, run logs, validation outputs)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Common security mistakes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Over-permissive IAM roles for migration automation<\/li>\n<li>No CloudTrail retention or centralized audit<\/li>\n<li>Mixing human and automation identities<\/li>\n<li>Poor separation between dev\/test and prod migration permissions<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Secure deployment recommendations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use dedicated migration roles with scoped permissions.<\/li>\n<li>Require MFA and federation for console access.<\/li>\n<li>Use SCPs carefully to avoid blocking needed migration actions, but don\u2019t disable governance controls without a plan.<\/li>\n<li>Document who is allowed to mark tasks \u201cCOMPLETED\u201d and what evidence is required.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">13. Limitations and Gotchas<\/h2>\n\n\n\n<p>Key realities to plan for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Migration Hub does not migrate workloads by itself.<\/strong> It tracks and coordinates.<\/li>\n<li><strong>Region scoping can confuse teams.<\/strong> If you update tasks in one region but check the console in another, you may think data is missing.<\/li>\n<li><strong>Data quality depends on integrations.<\/strong> If tools don\u2019t publish status (or you don\u2019t automate API updates), dashboards won\u2019t reflect reality.<\/li>\n<li><strong>Application grouping is a design task.<\/strong> Poor app definitions lead to misleading progress reporting.<\/li>\n<li><strong>Orchestrator is not a universal migration engine.<\/strong> It coordinates steps, but you must verify supported templates and integrations.<\/li>\n<li><strong>Partner tool integration varies.<\/strong> Not all third-party tools integrate equally; many require custom API updates.<\/li>\n<li><strong>Quotas exist.<\/strong> Large migration programs should verify task\/application limits and update frequency constraints.<\/li>\n<li><strong>Legacy service confusion:<\/strong> AWS has had multiple migration services over time. For example, <strong>AWS Server Migration Service (SMS)<\/strong> has been retired\/end-of-support (verify current status in AWS announcements). Do not design new migrations around retired services.<\/li>\n<li><strong>Status semantics:<\/strong> If you treat <code>COMPLETED<\/code> as \u201ccutover done\u201d but another team treats it as \u201creplication started,\u201d reporting becomes meaningless\u2014standardize definitions.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">14. Comparison with Alternatives<\/h2>\n\n\n\n<p>AWS Migration Hub is best understood as a migration <strong>management plane<\/strong>. Alternatives fall into three buckets: migration execution tools, cloud-native tracking alternatives, and other cloud providers\u2019 migration hubs.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Best For<\/th>\n<th>Strengths<\/th>\n<th>Weaknesses<\/th>\n<th>When to Choose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>AWS Migration Hub<\/strong><\/td>\n<td>Program-level migration tracking and coordination in AWS<\/td>\n<td>Application-centric tracking, integrates with AWS migration tools, supports orchestration\/strategy\/modernization components<\/td>\n<td>Doesn\u2019t move workloads; value depends on integrations and good operating model<\/td>\n<td>You have multiple apps and need a structured migration program<\/td>\n<\/tr>\n<tr>\n<td><strong>AWS Application Migration Service (MGN)<\/strong><\/td>\n<td>Server rehosting to EC2<\/td>\n<td>Replication and cutover tooling<\/td>\n<td>Not a portfolio dashboard by itself<\/td>\n<td>You need to migrate servers; use with Migration Hub for program tracking<\/td>\n<\/tr>\n<tr>\n<td><strong>AWS Database Migration Service (DMS)<\/strong><\/td>\n<td>Database migrations\/replication<\/td>\n<td>Broad engine support, continuous replication options<\/td>\n<td>Requires planning around schema conversion and validation<\/td>\n<td>Use for DB migration; track at app level in Migration Hub<\/td>\n<\/tr>\n<tr>\n<td><strong>AWS Systems Manager + Step Functions (custom)<\/strong><\/td>\n<td>Custom orchestration\/tracking<\/td>\n<td>Highly flexible<\/td>\n<td>You must build and maintain everything<\/td>\n<td>When you need bespoke workflows beyond Migration Hub capabilities<\/td>\n<\/tr>\n<tr>\n<td><strong>Spreadsheets \/ ITSM boards (Jira\/ServiceNow)<\/strong><\/td>\n<td>Lightweight tracking<\/td>\n<td>Familiar, quick start<\/td>\n<td>Hard to govern at scale, weak automation\/audit<\/td>\n<td>Small migrations or early planning only<\/td>\n<\/tr>\n<tr>\n<td><strong>Azure Migrate<\/strong><\/td>\n<td>Migration hub on Azure<\/td>\n<td>Integrated discovery\/assessment\/migration management in Azure<\/td>\n<td>Azure-specific; different ecosystem<\/td>\n<td>When Azure is your target cloud<\/td>\n<\/tr>\n<tr>\n<td><strong>Google Cloud migration tooling<\/strong><\/td>\n<td>GCP migration planning\/execution<\/td>\n<td>Integrates with GCP services<\/td>\n<td>GCP-specific<\/td>\n<td>When GCP is your target cloud<\/td>\n<\/tr>\n<tr>\n<td><strong>Third-party migration platforms<\/strong><\/td>\n<td>Cross-cloud or complex estates<\/td>\n<td>Deep features, enterprise governance<\/td>\n<td>Cost, vendor lock-in, integration complexity<\/td>\n<td>When you need multi-cloud governance or specialized migration support<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">15. Real-World Example<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Enterprise example (regulated, multi-wave migration)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A financial services company needs to migrate 200 applications from VMware to AWS with strict governance, auditability, and phased cutovers across regions and business units.<\/li>\n<li><strong>Proposed architecture:<\/strong><\/li>\n<li>AWS Organizations with separate accounts: security\/logging, shared services, and workload accounts<\/li>\n<li>AWS Application Discovery Service for inventory (where applicable)<\/li>\n<li>Migration execution:<ul>\n<li>AWS Application Migration Service (MGN) for server rehosting<\/li>\n<li>AWS DMS for database replication<\/li>\n<\/ul>\n<\/li>\n<li><strong>AWS Migration Hub<\/strong> for application grouping and portfolio progress<\/li>\n<li><strong>Migration Hub Orchestrator<\/strong> for repeatable cutover workflows and pre\/post checks<\/li>\n<li>CloudTrail centralized for auditing changes and approvals<\/li>\n<li><strong>Why AWS Migration Hub was chosen:<\/strong><\/li>\n<li>A single program-level view across tools<\/li>\n<li>Repeatable workflows for cutovers<\/li>\n<li>Better audit alignment than spreadsheets<\/li>\n<li><strong>Expected outcomes:<\/strong><\/li>\n<li>Reduced cutover failures due to missed steps<\/li>\n<li>Faster reporting to governance committees<\/li>\n<li>Clearer ownership and fewer stalled migrations<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Startup\/small-team example (incremental modernization)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A startup has a monolithic app running on a small on-prem footprint. They need to move to AWS quickly but also want to refactor key endpoints into services over time.<\/li>\n<li><strong>Proposed architecture:<\/strong><\/li>\n<li>Initial rehost using EC2 (and possibly MGN depending on starting point)<\/li>\n<li>Use <strong>AWS Migration Hub<\/strong> to track migration tasks and readiness by application<\/li>\n<li>Use <strong>Migration Hub Refactor Spaces<\/strong> (where appropriate) to incrementally route traffic to new service components<\/li>\n<li><strong>Why AWS Migration Hub was chosen:<\/strong><\/li>\n<li>Lightweight tracking and visibility without building a custom system<\/li>\n<li>A structured path to modernization while maintaining operational clarity<\/li>\n<li><strong>Expected outcomes:<\/strong><\/li>\n<li>Faster initial cloud move (rehost)<\/li>\n<li>Controlled modernization roadmap<\/li>\n<li>Better visibility for a small team managing many moving parts<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">16. FAQ<\/h2>\n\n\n\n<p>1) <strong>Does AWS Migration Hub migrate my servers or databases?<\/strong><br\/>\nNo. AWS Migration Hub primarily <strong>tracks and coordinates<\/strong> migrations. Use execution tools like AWS Application Migration Service (MGN) for servers and AWS DMS for databases.<\/p>\n\n\n\n<p>2) <strong>Is AWS Migration Hub global or regional?<\/strong><br\/>\nMigration Hub is <strong>Region-scoped<\/strong> for usage and visibility. Always confirm you\u2019re in the correct Region in the console.<\/p>\n\n\n\n<p>3) <strong>Can I use AWS Migration Hub without AWS migration tools?<\/strong><br\/>\nYes. You can use Migration Hub APIs to <strong>import tasks and update statuses<\/strong> from custom tools, but you must implement the integration.<\/p>\n\n\n\n<p>4) <strong>What is a Progress Update Stream?<\/strong><br\/>\nA logical grouping mechanism for status updates, often representing a tool\/integration publishing migration updates.<\/p>\n\n\n\n<p>5) <strong>What is a Migration Task?<\/strong><br\/>\nA tracked unit of migration work (for example, a server, component, or activity) whose status can be updated over time.<\/p>\n\n\n\n<p>6) <strong>How do I track an application with multiple servers?<\/strong><br\/>\nDefine an application grouping model and track component tasks consistently. Exact grouping features vary\u2014verify current console capabilities and best practices in official docs.<\/p>\n\n\n\n<p>7) <strong>Can multiple AWS accounts contribute to one Migration Hub dashboard?<\/strong><br\/>\nMigration Hub is account-scoped. Multi-account consolidation typically requires a program design (role switching, centralized updates, or organizational processes). Verify current cross-account options in docs.<\/p>\n\n\n\n<p>8) <strong>Is AWS Migration Hub free?<\/strong><br\/>\nMigration Hub tracking has commonly been described as <strong>no additional charge<\/strong>, but you pay for related services and resources. Always verify on the official pricing page: https:\/\/aws.amazon.com\/migration-hub\/pricing\/<\/p>\n\n\n\n<p>9) <strong>Does Migration Hub support ITSM integration (ServiceNow\/Jira)?<\/strong><br\/>\nNot inherently as an ITSM tool, but you can integrate via APIs and automation to keep status synchronized.<\/p>\n\n\n\n<p>10) <strong>What\u2019s the difference between Migration Hub and Migration Hub Orchestrator?<\/strong><br\/>\nMigration Hub provides tracking and visibility; <strong>Orchestrator<\/strong> focuses on coordinating multi-step workflows for migrations (capabilities vary by region\/template).<\/p>\n\n\n\n<p>11) <strong>What\u2019s the difference between Migration Hub and AWS Application Discovery Service?<\/strong><br\/>\nDiscovery Service is for <strong>inventory and dependency discovery<\/strong>. Migration Hub is for <strong>tracking and coordinating migrations<\/strong>.<\/p>\n\n\n\n<p>12) <strong>Should I standardize status definitions?<\/strong><br\/>\nYes. Without a shared definition of statuses (NOT_STARTED\/IN_PROGRESS\/COMPLETED), dashboards become misleading.<\/p>\n\n\n\n<p>13) <strong>How do I audit who changed migration status?<\/strong><br\/>\nUse <strong>AWS CloudTrail<\/strong> to audit API calls and console actions, and retain logs per compliance policy.<\/p>\n\n\n\n<p>14) <strong>Can I automate status updates from CI\/CD?<\/strong><br\/>\nYes. Use Migration Hub APIs in pipelines to update tasks based on deployment\/migration milestones (with least-privilege IAM roles).<\/p>\n\n\n\n<p>15) <strong>What\u2019s the best way to start with Migration Hub?<\/strong><br\/>\nStart with one pilot wave:\n&#8211; Define application boundaries\n&#8211; Track a small set of tasks consistently\n&#8211; Integrate with one execution tool (MGN or DMS) or use APIs\n&#8211; Establish reporting cadence and operational definitions<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">17. Top Online Resources to Learn AWS Migration Hub<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Resource Type<\/th>\n<th>Name<\/th>\n<th>Why It Is Useful<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Official documentation<\/td>\n<td>AWS Migration Hub Docs \u2013 https:\/\/docs.aws.amazon.com\/migrationhub\/<\/td>\n<td>Primary source for APIs, concepts, and workflows<\/td>\n<\/tr>\n<tr>\n<td>Official product page<\/td>\n<td>AWS Migration Hub \u2013 https:\/\/aws.amazon.com\/migration-hub\/<\/td>\n<td>Overview of capabilities and positioning in AWS migration tooling<\/td>\n<\/tr>\n<tr>\n<td>Official pricing page<\/td>\n<td>AWS Migration Hub Pricing \u2013 https:\/\/aws.amazon.com\/migration-hub\/pricing\/<\/td>\n<td>Confirms current pricing model and notes<\/td>\n<\/tr>\n<tr>\n<td>Pricing tool<\/td>\n<td>AWS Pricing Calculator \u2013 https:\/\/calculator.aws\/<\/td>\n<td>Estimate end-to-end migration program costs (MGN\/DMS\/resources)<\/td>\n<\/tr>\n<tr>\n<td>Related service docs<\/td>\n<td>AWS Application Migration Service (MGN) \u2013 https:\/\/docs.aws.amazon.com\/mgn\/<\/td>\n<td>Common execution tool paired with Migration Hub<\/td>\n<\/tr>\n<tr>\n<td>Related service docs<\/td>\n<td>AWS Database Migration Service \u2013 https:\/\/docs.aws.amazon.com\/dms\/<\/td>\n<td>Database migration execution tool often tracked in Migration Hub<\/td>\n<\/tr>\n<tr>\n<td>Related service docs<\/td>\n<td>AWS Application Discovery Service \u2013 https:\/\/docs.aws.amazon.com\/application-discovery\/<\/td>\n<td>Helps discovery and planning for migration programs<\/td>\n<\/tr>\n<tr>\n<td>Architecture guidance<\/td>\n<td>AWS Architecture Center \u2013 https:\/\/aws.amazon.com\/architecture\/<\/td>\n<td>Reference architectures and patterns adjacent to migration programs<\/td>\n<\/tr>\n<tr>\n<td>Official videos<\/td>\n<td>AWS YouTube Channel \u2013 https:\/\/www.youtube.com\/@amazonwebservices<\/td>\n<td>Search for \u201cAWS Migration Hub\u201d, \u201cOrchestrator\u201d, \u201cStrategy Recommendations\u201d<\/td>\n<\/tr>\n<tr>\n<td>Hands-on learning<\/td>\n<td>AWS Skill Builder \u2013 https:\/\/skillbuilder.aws\/<\/td>\n<td>Official training content; search for Migration Hub and migration learning plans<\/td>\n<\/tr>\n<tr>\n<td>Updates<\/td>\n<td>AWS What\u2019s New \u2013 https:\/\/aws.amazon.com\/new\/<\/td>\n<td>Track announcements for Migration Hub capabilities and changes<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">18. Training and Certification Providers<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Institute<\/th>\n<th>Suitable Audience<\/th>\n<th>Likely Learning Focus<\/th>\n<th>Mode<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>DevOpsSchool.com<\/td>\n<td>DevOps engineers, SREs, architects, beginners<\/td>\n<td>Cloud\/DevOps tooling, migration basics, operational practices<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.devopsschool.com\/<\/td>\n<\/tr>\n<tr>\n<td>ScmGalaxy.com<\/td>\n<td>Students, engineers transitioning to DevOps<\/td>\n<td>SCM\/DevOps foundations, CI\/CD, cloud operations<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.scmgalaxy.com\/<\/td>\n<\/tr>\n<tr>\n<td>CLoudOpsNow.in<\/td>\n<td>Cloud engineers, operations teams<\/td>\n<td>Cloud ops, governance, reliability practices<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.cloudopsnow.in\/<\/td>\n<\/tr>\n<tr>\n<td>SreSchool.com<\/td>\n<td>SREs, platform engineers<\/td>\n<td>Reliability engineering, operations, monitoring<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.sreschool.com\/<\/td>\n<\/tr>\n<tr>\n<td>AiOpsSchool.com<\/td>\n<td>Operations and platform teams<\/td>\n<td>AIOps concepts, automation, operational analytics<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.aiopsschool.com\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">19. Top Trainers<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Platform\/Site<\/th>\n<th>Likely Specialization<\/th>\n<th>Suitable Audience<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>RajeshKumar.xyz<\/td>\n<td>DevOps\/cloud training content (verify offerings)<\/td>\n<td>Students and practitioners<\/td>\n<td>https:\/\/rajeshkumar.xyz\/<\/td>\n<\/tr>\n<tr>\n<td>devopstrainer.in<\/td>\n<td>DevOps coaching\/training (verify offerings)<\/td>\n<td>Engineers building hands-on DevOps skills<\/td>\n<td>https:\/\/www.devopstrainer.in\/<\/td>\n<\/tr>\n<tr>\n<td>devopsfreelancer.com<\/td>\n<td>Freelance DevOps expertise platform (verify offerings)<\/td>\n<td>Teams seeking short-term help or guidance<\/td>\n<td>https:\/\/www.devopsfreelancer.com\/<\/td>\n<\/tr>\n<tr>\n<td>devopssupport.in<\/td>\n<td>DevOps support\/training resources (verify offerings)<\/td>\n<td>Ops teams and engineers<\/td>\n<td>https:\/\/www.devopssupport.in\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">20. Top Consulting Companies<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Company Name<\/th>\n<th>Likely Service Area<\/th>\n<th>Where They May Help<\/th>\n<th>Consulting Use Case Examples<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>cotocus.com<\/td>\n<td>Cloud\/DevOps consulting (verify exact portfolio)<\/td>\n<td>Migration planning, DevOps enablement, delivery support<\/td>\n<td>Migration factory setup, landing zone readiness, migration wave execution support<\/td>\n<td>https:\/\/cotocus.com\/<\/td>\n<\/tr>\n<tr>\n<td>DevOpsSchool.com<\/td>\n<td>Training and consulting (verify exact portfolio)<\/td>\n<td>Skills enablement + project guidance<\/td>\n<td>Migration runbook creation, DevOps toolchains to support migration delivery<\/td>\n<td>https:\/\/www.devopsschool.com\/<\/td>\n<\/tr>\n<tr>\n<td>DEVOPSCONSULTING.IN<\/td>\n<td>DevOps consulting (verify exact portfolio)<\/td>\n<td>Automation, cloud operations, migration support<\/td>\n<td>CI\/CD for migrated apps, IaC standardization, operational readiness checks<\/td>\n<td>https:\/\/www.devopsconsulting.in\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">21. Career and Learning Roadmap<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn before AWS Migration Hub<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AWS fundamentals:<\/strong> IAM, Regions, VPC basics, EC2, EBS, S3<\/li>\n<li><strong>Networking:<\/strong> DNS, routing, VPN\/Direct Connect fundamentals<\/li>\n<li><strong>Security:<\/strong> IAM roles\/policies, CloudTrail, encryption basics<\/li>\n<li><strong>Operations:<\/strong> CloudWatch basics, logging, incident response<\/li>\n<li><strong>Migration fundamentals:<\/strong> the 6Rs, migration waves, cutover planning, rollback strategies<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn after AWS Migration Hub<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AWS Application Migration Service (MGN):<\/strong> server replication\/cutover patterns<\/li>\n<li><strong>AWS DMS + AWS SCT:<\/strong> database migration and schema conversion approaches<\/li>\n<li><strong>Landing zone design:<\/strong> AWS Organizations, multi-account strategy, shared services<\/li>\n<li><strong>Modernization:<\/strong> containers (ECS\/EKS), serverless (Lambda), event-driven architectures<\/li>\n<li><strong>Governance:<\/strong> cost allocation, security guardrails, policy-as-code<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Job roles that use it<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cloud Solutions Architect (migration focus)<\/li>\n<li>Migration Engineer \/ Migration Factory Engineer<\/li>\n<li>DevOps Engineer \/ SRE supporting migration waves<\/li>\n<li>Cloud Program Manager \/ Technical Program Manager (TPM)<\/li>\n<li>Security Engineer supporting migration governance<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Certification path (AWS)<\/h3>\n\n\n\n<p>AWS certifications change over time; verify current tracks on the official site:\n&#8211; https:\/\/aws.amazon.com\/certification\/<\/p>\n\n\n\n<p>Commonly relevant certifications:\n&#8211; AWS Certified Solutions Architect \u2013 Associate\/Professional\n&#8211; AWS Certified SysOps Administrator \u2013 Associate\n&#8211; AWS Certified DevOps Engineer \u2013 Professional\n&#8211; AWS Certified Security \u2013 Specialty (for governance-heavy environments)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Project ideas for practice<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Build a \u201cmigration tracker\u201d that updates Migration Hub tasks from a GitHub Actions pipeline.<\/li>\n<li>Create a wave-based migration template: define app grouping rules, status definitions, and dashboards.<\/li>\n<li>Run a simulated migration program: 10 apps, 3 waves, each with tasks and acceptance criteria.<\/li>\n<li>Extend the lab: attach resource attributes to tasks and generate a simple report via scripts.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">22. Glossary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Migration and transfer:<\/strong> AWS category of services focused on moving workloads and data into AWS.<\/li>\n<li><strong>AWS Migration Hub:<\/strong> AWS service for tracking and coordinating migrations across tools and applications.<\/li>\n<li><strong>Application (migration context):<\/strong> A logical grouping of components (servers, databases, services) that move together for a business function.<\/li>\n<li><strong>Progress Update Stream:<\/strong> A named channel representing a source of task updates (tool\/integration).<\/li>\n<li><strong>Migration Task:<\/strong> A unit of work tracked in Migration Hub with statuses and progress percentage.<\/li>\n<li><strong>Rehost:<\/strong> \u201cLift-and-shift\u201d move with minimal changes (often to EC2).<\/li>\n<li><strong>Replatform:<\/strong> Make small platform optimizations during migration (for example, move to managed services with minimal code changes).<\/li>\n<li><strong>Refactor:<\/strong> Redesign\/re-architect for cloud-native benefits (often highest effort).<\/li>\n<li><strong>Retire:<\/strong> Decommission systems no longer needed.<\/li>\n<li><strong>Retain:<\/strong> Keep as-is (for now), often due to constraints.<\/li>\n<li><strong>Cutover:<\/strong> The moment traffic\/users switch to the AWS-hosted version.<\/li>\n<li><strong>Migration wave:<\/strong> A batch of applications moved together in a planned time window.<\/li>\n<li><strong>Orchestration:<\/strong> Coordinating multi-step processes with dependencies, automation, and approvals.<\/li>\n<li><strong>CloudTrail:<\/strong> AWS service that logs API activity for audit and governance.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">23. Summary<\/h2>\n\n\n\n<p>AWS Migration Hub is AWS\u2019s service for <strong>migration program tracking and coordination<\/strong>. It helps teams manage migrations at the <strong>application level<\/strong>, consolidate status across tools, and (optionally) orchestrate multi-step migrations and support planning\/modernization capabilities.<\/p>\n\n\n\n<p>Why it matters: migrations fail in the gaps\u2014handoffs, sequencing, governance, and visibility. AWS Migration Hub reduces those gaps by standardizing how progress is tracked and communicated across teams.<\/p>\n\n\n\n<p>Cost and security highlights:\n&#8211; Migration Hub tracking is commonly positioned as <strong>no additional charge<\/strong>, but real costs come from the migration execution services and the AWS resources you run (always verify pricing on the official page).\n&#8211; Use <strong>IAM least privilege<\/strong> and <strong>CloudTrail auditing<\/strong> to keep migration governance clean and compliant.<\/p>\n\n\n\n<p>When to use it: whenever you have <strong>multiple applications<\/strong>, multiple teams, or a multi-wave migration program where consistent status and repeatable workflows reduce risk.<\/p>\n\n\n\n<p>Next learning step: pair this with hands-on execution services\u2014start with <strong>AWS Application Migration Service (MGN)<\/strong> or <strong>AWS DMS<\/strong>, and design an application grouping and wave model so Migration Hub becomes your program\u2019s reliable source of truth.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Migration and transfer<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,35],"tags":[],"class_list":["post-291","post","type-post","status-publish","format-standard","hentry","category-aws","category-migration-and-transfer"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/comments?post=291"}],"version-history":[{"count":0,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/291\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/media?parent=291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/categories?post=291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/tags?post=291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}