草庐IT

云迁移优秀实践

Harris编辑 2023-03-28 原文
企业迁移到云是因为有各种各样的好处:减少管理开销、只需按一下按钮就可以灵活地扩展或收缩存储需求、可见的运营成本节省——而且所有这些都不需要购买或退出数据中心的物理服务器。越来越多的企业和组织不仅将云迁移视为明智的选择,而且将其视为IT战略的关键部分。通过在大量的公共云上运行生产工作负载(混合模型),并通过周到地接受支持工作负载的移动性和互操作性的云服务,企业现在正在享受云平台的全部经济效益。

很明显,如果任何规模的企业想要保持竞争力,它们都需要考虑将全部或部分工作流迁移到公共云上。对于需要规模、敏捷性和安全性的企业来说,云迁移通常是最佳选择。它帮助企业加速创新、使遗留基础设施现代化、进行全球扩张,甚至从复杂的多云架构中获得实时、持续的洞察。

无论何时处理云迁移项目,该项目都将对用户、流程和分析应用程序产生深远的影响。除了为您的公司选择最佳的迁移策略之外,为了成功地迁移到云上,还应该遵循一些其他的实践。为了实现平稳的迁移过程,您通常必须降低风险,评估首先移动哪些数据,并确定数据需要移动到哪里。

整个项目涉及策略和最佳实践的组合,一旦在典型的云迁移项目中理解并采用了这些策略和最佳实践,将有助于确保顺利过渡到云。这些包括:

*了解迁移到云计算如何符合公司的商业战略。如果与未来保持同步是企业的目标,那么使用重构策略迁移到云上可能是更好的方法。迁移到云的一个好处是,您可以扩展服务器并抛弃未充分使用的应用程序。

如果将数据和应用程序迁移到云上可以为你的组织节省大量成本,可以考虑这样做。当将工作负载从本地基础设施迁移到公共云时,可以提高应用程序的性能、可靠性和安全性,甚至可能降低成本。

在计划将本地设置转移到私有、公共或混合云的迁移过程之前,您需要对组织中现有的基础设施和应用程序有很好的了解。这一步非常重要,因为一旦进入云迁移解决方案,您将需要在低风险测试环境中对应用程序的性能进行迁移前和迁移后的比较,包括技术和业务方面的比较。

有了上面的迁移策略之后,您现在需要开发确定的最佳实践清单,其中包括业务目标列表,以及延迟或不完整的数据传输等技术挑战。为了使转换更加简单,您可能需要安排一个演示来解释如何为云迁移采用这些数据迁移最佳实践,从而帮助您的公司在预算内和时间内过渡到云。

以下是一些关于云迁移最佳实践的观点,其中包括Gartner的“FiveRs”模型。本文讨论了云迁移的重新托管、重新平台、重新购买、重构和退役迁移方法之间的区别。

以下看看云迁移的最佳实践清单:

从云迁移战略地图开始,它定义了迁移到云背后的业务动机和明确的用例。根据您的业务环境,可以采用许多基于云的迁移策略。通常,为了业务用例的目的,想要在云中快速迁移其应用程序的组织会选择重新托管策略。

对当前的部署进行深入的盘点,并在将流量转移到云中时检查应用程序的性能。在登陆云端之后,必须重复同样的性能检查。

在迁移前,确定一些培训可以让你的团队在云计算中取得成功的工具和流程。查看可能需要调整的过程,或操作工具培训,以授权您的团队。

组建一个发现团队,与各自的所有者、供应商和利益相关者一起,帮助识别应用程序。下一步是映射、定义和监视需要包含在迁移中的资产。培训和开发技能集需要时间,为了加速迁移活动,组织可以引入具有所需技能集的新团队,或者使用具有迁移经验的托管服务提供者。

开发模板和自动化工具,以快速处理复杂性,同时保持计划一致。

*优先考虑工作负载,为每个工作负载制定适当的迁移计划,开发一个试点,然后根据试点结果调整云迁移计划。一个有效的迁移计划包含一个采用云的智能的、数据驱动的业务用例,然后交付一个清晰的、循序渐进的迁移计划,将您从试点带到迁移后治理。

“提升和转移”迁移方法将现有数据和应用程序以一种干净的方式重新托管到云上。重新平台的云迁移策略有助于减少云迁移的有效占用,并有助于交付云提供商提供的好处和灵活性。应该使用您选择的策略对迁移的应用程序进行测试。

NetApps云解决方案可以帮助您简化数据迁移,提供工具使数据传输和同步简单、快速和安全。通过使用cloudVolumesONTAP,NetApp更容易迁移到云,这是一个企业数据管理平台,旨在与AWS、Azure和谷歌云原生服务一起工作。

先进的数据工程解决方案,如数据聚合、SumoLogic分析平台和datdogg,有助于通过数据收集到迁移过程的监控,轻松地从企业内部过渡到云端。从开始到结束监控云迁移过程有助于避免许多已知的挑战。

本文提供了用于无缝云迁移项目的其他最佳实践。

云迁移虽然提供了许多业务好处,但必须进行良好的计划和执行,以交付预期的结果。希望本文能够帮助业务运营商规划他们的下一个云迁移项目。

有关云迁移优秀实践的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby-on-rails - Ruby on Rails 迁移,将表更改为 MyISAM - 2

    如何正确创建Rails迁移,以便将表更改为MySQL中的MyISAM?目前是InnoDB。运行原始执行语句会更改表,但它不会更新db/schema.rb,因此当在测试环境中重新创建表时,它会返回到InnoDB并且我的全文搜索失败。我如何着手更改/添加迁移,以便将现有表修改为MyISAM并更新schema.rb,以便我的数据库和相应的测试数据库得到相应更新? 最佳答案 我没有找到执行此操作的好方法。您可以像有人建议的那样更改您的schema.rb,然后运行:rakedb:schema:load,但是,这将覆盖您的数据。我的做法是(假设

  3. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  4. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  5. ruby-on-rails - Rails 中同一个类的多个关联的最佳实践? - 2

    我认为我的问题最好用一个例子来描述。假设我有一个名为“Thing”的简单模型,它有一些简单数据类型的属性。像...Thing-foo:string-goo:string-bar:int这并不难。数据库表将包含具有这三个属性的三列,我可以使用@thing.foo或@thing.bar之类的东西访问它们。但我要解决的问题是当“foo”或“goo”不再包含在简单数据类型中时会发生什么?假设foo和goo代表相同类型的对象。也就是说,它们都是“Whazit”的实例,只是数据不同。所以现在事情可能看起来像这样......Thing-bar:int但是现在有一个新的模型叫做“Whazit”,看起来

  6. ruby-on-rails - 向 Rails 3 添加 Ruby 扩展方法的最佳实践? - 2

    我有一个要在我的Rails3项目中使用的数组扩展方法。它应该住在哪里?我有一个应用程序/类,我最初把它放在(array_extensions.rb)中,在我的config/application.rb中我加载路径:config.autoload_paths+=%W(#{Rails.root}/应用程序/类)。但是,当我转到railsconsole时,未加载扩展。是否有一个预定义的位置可以放置我的Rails3扩展方法?或者,一种预先定义的方式来添加它们?我知道Rails有自己的数组扩展方法。我应该将我的添加到active_support/core_ext/array/conversion

  7. ruby-on-rails - 在现有数据库上进行 Rails 迁移 - 2

    我正在创建一个新的Rails3.1应用程序。我希望这个新应用程序重用现有数据库(由以前的Rails2应用程序创建)。我创建了新的应用程序定义模型,它重用了数据库中的一些现有数据。在开发和测试阶段,一切正常,因为它在干净的表数据库上运行,但是当尝试部署到生产环境时,我收到如下消息:PGError:ERROR:column"email"ofrelation"users"alreadyexists***[err::localhost]:ALTERTABLE"users"ADDCOLUMN"email"charactervarying(255)DEFAULT''NOTNULL但是我在迁移中有这

  8. Ruby 最佳实践 : working with classes - 2

    参见下面的示例,我想最好使用第二种方法,但第一种也可以。哪种方法最好,使用另一种的后果是什么?classTestdefstartp"started"endtest=Test.newtest.startendclassTest2defstartp"started"endendtest2=Test2.newtest2.start 最佳答案 我肯定会说第二种变体更有意义。第一个不会导致错误,但对象实例化完全过时且毫无意义。外部变量在类的范围内不可见:var="string"classAvar=A.newendputsvar#=>strin

  9. ruby-on-rails - Rails 迁移中的 PostgreSQL 点类型 - 2

    我想使用PostgreSQL中的point类型。我已经完成了:railsgmodelTestpoint:point最终的迁移是:classCreateTests当我运行时:rakedb:migrate结果是:==CreateTests:migrating====================================================--create_table(:tests)rakeaborted!Anerrorhasoccurred,thisandalllatermigrationscanceled:undefinedmethod`point'for#/hom

  10. ruby - 存储外部 API 的密码 - 最佳实践 - 2

    如果我构建了一个应用程序来访问来自Gmail、Twitter和Facebook的一些数据,并且我希望用户只需输入一次他们的身份验证信息,并且在几天或几周后重置,那会怎样是在Ruby中动态执行此操作的最佳方法吗?我看到很多人只是拥有他们客户/用户凭证的配置文件,如下所示:gmail_account:username:myClientpassword:myClientsPassword这看起来a)非常不安全,b)如果我想为成千上万的用户存储此类信息,它就无法工作。推荐的方法是什么?我希望能够在这些服务之上构建一个界面,因此每次用户进行交易时都必须输入凭据是不可行的。

随机推荐