现代化传统应用软件的那些Docker工具

译文
云计算
随着现代化传统应用软件(MTA)计划趋于成熟,Docker投入资源开发了工具和方法,加快向容器转型,并缩短从Docker Enterprise平台获得价值所需的时间。从最初的应用软件评估过程到集群上运行容器化应用软件,Docker致力于为踏上MTA之旅的客户改善体验。

【51CTO.com快译】在过去两年,Docker与客户密切合作,利用Docker容器技术和行业领先的容器平台Docker Enterprise现代化传统应用软件组合。这类应用软件通常是整体式,在Windows Server 2008或Windows Server 2003之类的旧操作系统上运行,很难从本地数据中心迁移到公共云。

[[270670]]

Docker平台可以缓解每一个痛点,只需将应用软件与特定操作系统分离开来,支持微服务架构模式,以及促进本地环境、云环境和混合环境之间的可移植性。

随着现代化传统应用软件(MTA)计划趋于成熟,Docker投入资源开发了工具和方法,加快向容器转型,并缩短从Docker Enterprise平台获得价值所需的时间。从最初的应用软件评估过程到集群上运行容器化应用软件,Docker致力于为踏上MTA之旅的客户改善体验。

应用软件发现和评估

企业开发和维护一大批的应用软件。这类应用软件采用由***方和第三方开发团队开发的无数种语言、框架和架构。容器化过程的***步是确定哪些应用软件最适合容器、从哪里开始这个过程。

一种自然的本能是选择最复杂的应用软件开始容器化;理由是,如果容器适用于最棘手的应用软件,就会适用于不太复杂的应用软件。对于刚接触Docker生态系统的企业来说,这种方法可能充满挑战。如果从不太复杂,但仍代表整批应用软件,并与组织目标相一致的某个应用软件开始踏上容器化之旅,可以在面对更棘手的应用软件之前提升容器方面的经验和技能。

Docker已开发了一系列原型(archetype),有助于根据架构特点和容器化的估计工作量将类似的应用软件分在一个组:

现代化传统应用软件的那些Docker工具
图2

评估应用软件组合、将应用软件归入每一个原型,有助于为某一批应用软件估计工作量,并有助于确定适合容器化项目的初始应用软件。有多种方可以执行此类评估,包括:

  • 手动发现和评估需要人员检查应用软件组合中的每个应用软件。如果应用软件数量较少,这种方法常常易于管理,但很难适用于成百上千应用软件。
  • 配置管理数据库(CMDB)在企业内使用时,可提供关于某个环境的现有详细信息。回顾这类数据有助于确立应用软件特点和相关原型。
  • 来自RISC Networks、Movere及BMC Helix Discovery等供应商的自动化工具通过监测服务器一段时间然后生成报告,以此提供对数据中心环境的详细评估。这类报告可用于容器化项目,有助于了解工作负载之间的相互依赖。
  • 可以请系统集成商进行正式的应用软件组合评估。这类集成商通常有成熟的方法和专有工具来帮助评估应用软件。

自动化容器化

为传统应用软件构建容器可能会带来几个挑战。应用软件的原始开发人员常常早已找不到,很难了解应用软件逻辑是如何构建的。正式的源代码又常常没有,应用软件改而在虚拟机上运行。跨数十个或数百个应用软件扩展容器化项目耗时且复杂。

使用Docker开发的一款转换工具可以缓解这些痛点。作为Docker Enterprise平台的一部分,该工具旨在使这项任务实现自动化:为在虚拟机或裸机服务器上运行的应用软件生成Dockerfile。扫描服务器以确定如何配置操作系统、如何设置Web服务器以及应用软件代码如何运行。然后将数据整合到Dockerfile中,并将应用软件代码拉入到目录中,为现代操作系统上的Docker Build作好准备。比如说,可以扫描Windows Server 2003环境,为在不同IIS Application Pools中运行的基于IIS的.NET应用软件生成Dockerfile。这种自动化将用户由开发者变成Dockerfile的编辑者,大大减少了传统应用软件容器化所需的时间和精力。

现代化传统应用软件的那些Docker工具
图3

集群管理

在单台服务器上运行容器对于单个开发人员来说可能足够了,但一群协同工作的服务器用于运行基于容器的工作负载。过去,这种服务器集群的创建和管理完全由公共云提供商控制,用户被某套基础设施牢牢束缚。

Docker Enterprise 3.0平台含有一个名为“Docker Cluster”的新Docker CLI插件。Docker Cluster通过使用声明性YAML文件来自动供应和配置基础设施资源,简化了Docker Enterprise集群的初始创建。集群可以跨众多基础设施供应商(包括Azure、AWS和VMware)使用,以便在各大基础设施目标上构建同样的容器平台。这种更高的灵活性降低了被某一家提供商锁定的可能性,确保跨多云和混合环境的一致性,并提供了通过Kubernetes或Swarm编排工具部署容器这个选项。

现代化传统应用软件的那些Docker工具
图4

除了自动化工具外,Docker还为认证基础设施合作伙伴提供了详细的、针对特定基础设施的参考架构(https://success.docker.com/architectures#certified-infra),列出了针对各家提供商的优秀实践。除了自动化CLI工具外,这些文档还提供了实施Docker Enterprise方面的全面指导。Docker的Solution Briefs(https://success.docker.com/solutions)资料库附有将Docker Enterprise与常见容器生态系统解决方案集成的额外指导。

有了Docker Cluster、Solution Briefs和参考架构,Docker Enterprise集群的配置和管理得到了显著简化。这些工具让你可以专注于传统应用软件的容器化,而不是将另外时间投入到容器集群的设置。

原文标题:Docker Tools for Modernizing Traditional Applications,作者:Steven Follis

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:未丽燕 来源: 51CTO.com
相关推荐

2023-09-19 15:12:50

2023-11-27 11:24:32

云计算云原生

2015-10-29 14:35:21

移动设备现代化

2023-08-18 10:03:32

云计算云迁移

2021-06-17 16:24:49

云计算软件开发

2023-08-23 15:18:06

云计算容器

2009-04-22 10:17:59

云计算研发传统软件

2021-08-03 10:19:32

应用程序现代化CIO

2023-12-07 08:00:00

数字化转型数字化

2024-01-22 21:30:28

IBM收购混合云

2016-09-27 21:08:14

2012-04-11 10:16:22

综合布线

2020-05-29 16:14:03

戴尔科技

2013-11-27 09:47:57

应用现代化云迁移

2021-07-12 15:47:00

云计算云原生

2015-01-04 10:17:15

云计算Docker分布式应用

2023-06-25 09:04:12

数字企业架构EA

2023-02-08 11:07:56

数字时代数字运营模式
点赞
收藏

51CTO技术栈公众号