将传统应用迁移到云端:Kris Bliesner 访谈

  • Daniel Bryant
  • 适兕

2015 年 11 月 17 日

话题:DevOps架构文化 & 方法

InfoQ 近日采访了来自2nd Watch的创始人兼 CTO,Kris Bliesner,Bliesner 曾在迁移传统应用到云中的开发有着丰富的经验。在采访中 Bliesner 提到了迁移应用到云中的常见挑战,并讨论了建议的流程,以及他对于安全、合规性、DevOps 和自动化等方面的想法。

InfoQ:Kris,非常感谢您抽出时间接受 InfoQ 的采访,首先请您简要的介绍下自己及您所从事的工作?

Bliesner: 大家好,我是 Kris Bliesner,2nd Watch 的创始人兼 CTO。我们是 AWS 的金牌咨询合作伙伴。使用我们所提供的方法、经验和工具和 AWS 的服务一起为企业提供驾驭云的途径,我们也提供应用迁移服务,同时也是 ASW 托管服务的合作伙伴,我们的托管服务可提供包括账务管理、性能监控、安全和合规性。

InfoQ:我们知道您在过去曾经帮助过很多企业将他们的应用迁移到云中,麻烦您介绍下在此过程中遇到的常见问题,以及您是如何解决它们的?

Bliesner: 每个企业遇到的情况变化太大,但是,还是可以找到所谓的共同问题,其中一个就是我们发现多数的企业是并不真正了解自己所跑的应用。他们或许明白一旦变化了之后他们就无法去更好的去追踪了。所以管理的变化是一个问题。我们在前期会为用户提供一个准确的评估,每次都是,这样我们可以了解到用户的所有应用和资源。这样就可以让用户对我们有信心,他们知道我们在做什么,而且我们不会落掉任何细节。另外一个问题或挑战是迁移大型的数据。我们曾为一个公司作评估时遇到其有 16PB 的数据迁移计划。迁移大量的数据,无论任何形式的时间限制都会造成真正的痛苦。我看到亚马逊发布了AWS Snowball,这可能会让数据的迁移更快一点。

InfoQ:安全、治理、以及合规性是目前人们讨论的热点。那么对于目前正在崛起的 DevOps 方法论和实现如何适应这些持何种看法?

Bliesner: 这是一个好问题。总体来看,目前在企业中对于 DevOps 还是比较新鲜的东西,只有不到 10% 的大型企业实施了 DevOps 流程。但是如果你仔细的看下在 DevOps 中所使用到的工具的话,会看到它们并不能为 IT 运维人员带来益处、它们也没有什么安全级别、也无法做到企业所期望的。尽管现下有诸如 Docker 之类的非常流行的技术,但是仍然没有得到普遍的应用。如果你的一个应用是以运行几十个微服务实现的,就需要更多的注意力来配置它,还要确保它们没有任何的安全漏洞。需要创建新的方法来对付黑客的计划。我们还没有看到围绕安全和治理方面的好的想法。

InfoQ:请您讲一个用户从私有的数据中心迁移到云平台中广泛的实例流程,以及在开发/运维/流程等方面哪些是需要改变,您有何高见?

Bliesner: 我们有很多种方法来实现迁移,但是开始的时候我们都要进行评估。第一步是将应用放入到相对隔离的环境中,诸如重复的主机、重构、以及退役。能够理解每个“隔离环境”的意思是非常重要的一环。比如重复的主机,另外一种说法叫“提升和转变”,我们实际上是将应用作最小化的改动然后将之放到云平台环境中运行。重构则是涉及到将应用程序能够运行在云平台环境中作必要的更改。不管其他,目标就是快速的将应用或负载运行在云平台中,这样用户就可以坐下来慢慢的去优化它了。

流程之外,云平台的环境也有许多与传统不一样的地方,例如云平台中的网络是单播方式的,而你的应用恰好使用的是多播方式,还有如你在云环境中无法看到具体的存储和 Hypervisor 等基础设施等细节。但是总体来说,将一个 ERP 系统迁移到云平台中,在此新的环境中在应用层的部署和管理与原来的环境并没有太大的不同,关于迁移本身要谈的就没有迁移之后的管理运维的问题多。云供应商应该给出更多的指标。IT 人员喜欢这样的数据,因为他们已经习惯了了解系统的各个层面的细节。因为这在云平台中是不可能的,所以他们更多的去采用诸如 New Relic 或 Nagios 来确保一切都是按照预料中运行着的。当然,用户也需要准备云平台的硬件损坏所带来的问题,这也就意味着用户仍然要建立灾难恢复站点,或者是在必要的时候能够将应用切换到新的主机上运行。

InfoQ:在构建和部署迁移的应用时您会建议使用何种级别的自动化?您是如何实现的?以及所需要发生的测试?

Bliesner: 我们的建议是尽可能的自动化。我们是 AWSCloudFormation模版的忠实粉丝,也热衷于微软 Azure 的类似技术。当你去迁移一些诸如 ERP 之类大型的、笨重的应用时,若没有实现自动化的话,那就很难去快速的作测试,并进行快速的修复。将数据中心视为代码和跟踪一切就是最佳实践。你可以基于模版在 30 分钟内部署整个数据中心,同样也可以很快的将之销毁。随着时间的推移自动化对于掌控部署是最有力的助手。如果你打算迁移应用,或者是测试,或者是创建一个备份的站点,你可以通过模版来很轻松的实现它们。CloudFormation 并没有内建测试或者是预置功能,所以它有一些落后和试错,但是好的一面是它可以根据你现有的代码去自动生成。从应用的角度来看,它的概念就是将整个数据中心视为一个单一的东西,可以按需去创建和销毁。这就是转换用户的 IT 业务流程的云平台的强大力量所在。

更多的信息,请参考 2ndwatch 官方博客‘当迁移到云中时面临的主要业务问题’和‘云中的应用开发’。

查看英文原文:Migrating Traditional Workloads to the Cloud:Q&A with Kris Bliesner


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

DevOps架构文化 & 方法