上线

在此历程的这一可选部分中,您将了解在代码和内容准备好移至AEMas a Cloud Service后,如何规划和执行迁移。 此外,您将了解执行迁移时的最佳实践和已知限制。

迄今为止的故事

在历程的前几个阶段中:

目标

本文档将帮助您了解在熟悉历程的先前步骤后,如何执行向AEMas a Cloud Service的迁移。 您将了解如何执行初始生产迁移,以及在迁移到AEMas a Cloud Service时遵循的最佳实践。

初始生产迁移

在执行生产迁移之前,请遵循中概述的迁移步骤的设备和证明。 内容迁移策略和时间表 部分 实施阶段.

  • 根据您在克隆上执行AEMas a Cloud Service阶段迁移期间获得的经验,启动从生产环境的迁移:

    • Author-Author
    • Publish-Publish
  • 验证摄取到AEMas a Cloud Service创作层和发布层的内容。

  • 指示内容创作团队在摄取完成之前避免在源和目标上移动内容

  • 可以添加、编辑或删除新内容,但应避免移动内容。 这同时适用于源和目标。

  • 记录 所用时间 对于完全提取和摄取,要估计未来的增补迁移时间表。

  • 创建 迁移规划者 (创作和发布)。

增量增补

从生产环境进行初始迁移后,您必须执行增量增补,以确保您的内容在云实例上保持最新。 因此,建议您遵循以下最佳实践:

  • 收集有关内容量的数据。 例如:每一周、两周或一个月。
  • 确保计划增补,以避免超过48小时的内容提取和摄取。 建议这样做,以便内容增补能够适应周末时间范围。
  • 规划所需的增补数量,并使用这些估计在上线日期之前进行规划。

确定迁移的代码和内容冻结时间线

如前所述,您必须计划一个代码和内容冻结期。 您可以使用以下问题来帮助您计划冻结期:

  • 我需要将内容创作活动冻结多长时间?
  • 我应要求投放团队停止添加新功能多长时间?

要回答第一个问题,您应该考虑在非生产环境中执行试运行所用的时间。 要回答第二个问题,您需要在添加新功能的团队和重构代码的团队之间进行密切合作。 目标应当是确保添加到现有部署的所有代码均已添加、测试和部署到云服务分支。 一般而言,这意味着代码冻结量会较低。

此外,您需要在计划最终内容增补时计划内容冻结。

最佳实践

在规划或执行迁移时,应考虑以下准则:

  • 从创作迁移到创作,从发布到发布
  • 请求一个生产克隆,该克隆可用于:
    • 捕获资料档案库统计信息
    • 迁移活动证明
    • 准备迁移计划
    • 确定内容冻结要求
    • 在从生产环境执行迁移时,确定生产环境上的任何规模调整需求

内容传输工具最佳实践

确保上线时,您在生产环境中运行内容迁移,而不是克隆。 一个好的方法是使用 AZCopy 用于初始迁移,然后经常(甚至每天)运行增补提取以提取较小的块,并避免源AEM上的任何长期负载。

在执行生产迁移时,您应该避免从克隆运行内容传输工具,因为:

  • 如果客户在增补迁移期间需要迁移内容版本,则从克隆执行内容传输工具不会迁移这些版本。 即使经常从实时作者重新创建克隆,每次创建克隆时,内容传输工具用于计算增量值的检查点也会重置。
  • 由于克隆无法作为一个整体进行刷新,因此必须使用ACL查询包来打包和安装从生产环境添加到克隆环境或编辑的内容。 此方法的问题在于,除非从源和克隆中手动删除源实例上任何已删除的内容,否则这些内容将永远不会到达克隆。 这会造成生产环境中已删除的内容不会在克隆和AEMas a Cloud Service上删除。

在执行内容迁移时优化AEM源上的负载

请记住,在提取阶段,AEM源上的负载将更大。 您应该了解:

  • 内容传输工具是一个外部Java进程,它使用4 GB的JVM栈
  • 非AzCopy版本下载二进制文件,将它们存储在源AEM作者上的临时空间中,占用磁盘I/O,然后上载到占用网络带宽的Azure容器中
  • Azcopy 将blob直接从blob存储传输到Azure容器,从而节省了磁盘I/O和网络带宽。 AzCopy版本仍使用磁盘和网络带宽提取区段存储的数据,并将其上传到Azure容器中
  • 内容传输工具进程在摄取阶段对系统资源的影响较小,因为它只流式传输摄取日志,而且就磁盘I/O或网络带宽而言,源实例上的负载并不大。

已知限制

请考虑,如果在提取的迁移集中发现以下任何限制,则整个摄取将失败:

  • 名称长度超过150个字符的JCR节点
  • 大于16 MB的JCR节点
  • 任何用户/组具有 rep:AuthorizableID 被摄取,但在AEMas a Cloud Service上已存在
  • 如果在下次迭代迁移之前,提取并摄取的任何资源移动到源或目标上的其他路径。

资产运行状况

与摄取上方部分相比 不会 失败,因为存在以下资产问题。 但是,强烈建议在这些情况下采取适当的步骤:

  • 缺少原始演绎版的任何资源
  • 任何缺少的文件夹 jcr:content 节点。

以上两项均将于以下文件中识别及报告: Best Practice Analyzer 报告。

上线清单

请查看此活动列表,以确保顺利成功地执行迁移。

  • 运行具有功能和UI测试的端到端生产管道,以确保 始终最新 AEM产品体验。 请参阅以下资源。
  • 将内容迁移到生产环境,并确保相关子集在暂存环境中可用于测试。
    • 请注意,适用于AEM的DevOps最佳实践意味着,当内容从生产环境向下移动时,代码会从开发环境向上移动到生产环境。
  • 计划代码和内容冻结期。
  • 执行最终内容增补。
  • 验证Dispatcher配置
    • 使用本地Dispatcher验证器,这有助于在本地配置、验证和模拟Dispatcher
    • 仔细检查虚拟主机配置。
      • 最简单(默认)的解决方案是包括 ServerAlias * (在虚拟主机文件中) /dispatcher/src/conf.d/available_vhostsfolder.
        • 这将允许产品功能测试、Dispatcher缓存失效和克隆使用的主机别名正常运行。
      • 但是,如果 ServerAlias * 不可接受,至少应满足以下条件 ServerAlias 除了自定义域外,还必须允许以下条目:
        • localhost
        • *.local
        • publish*.adobeaemcloud.net
        • publish*.adobeaemcloud.com
  • 配置CDN、SSL和DNS。
    • 如果您使用自己的CDN,请输入支持票证以配置相应的路由。
    • 如果您没有使用其他CDN,请按照以下文档管理SSL和DNS:
      • 管理 SSL 证书
      • 管理自定义域名(DNS)
        • 为了确保DNS直接转换不会引入意外问题,最好在正式启用并进行UAT测试之前,创建一个测试子域以将生产实例连接到该子域。 因此,如果您的域是example.com,则可以创建一个子域test.example.com并将其应用于生产环境。 在对域进行UAT测试期间,您需要查找适当的链接重定向、缓存和Dispatcher配置等内容。
        • 自定义域名简介
        • 添加自定义域名
        • 管理自定义域名
    • 请记住验证DNS记录的TTL集。
      • TTL是在请求服务器更新之前DNS记录保留在缓存中的时间。
      • 如果您的TTL非常高,则传播对DNS记录的更新将需要较长时间。
  • 运行符合您的业务要求和目标的性能测试和安全性测试。
  • 切换并确保无需任何新部署或内容更新即可执行实际上线。
  • 创建Admin Console用户通知配置文件。 参见 通知配置文件

在执行迁移时,如果您需要重新校准任务,您始终可以引用列表。

后续内容

了解如何迁移到AEMas a Cloud Service后,您可以检查 上线后 页面来保持实例顺利运行。

在此页面上