应用交付学习笔记三_比较三种交付云应用程序的选项

当今大多数可用的基于云的服务都是通过裸机或虚拟机(VM)交付的,但是容器技术为云服务应用程序交付提供了强大的第三选择。

随着云计算的出现,许多组织建立了云优先策略,这些策略将云而不是传统的内部部署指定为新应用交付的优先选择。 常见的三种应用程序交付方式是:

  • 裸机环境 :从专用的云基础架构和OS平台的基础上安装,运行和交付应用程序。 裸机环境的关键属性是使用专用和特定的硬件以及操作系统配置。
  • 虚拟机(VM) :在虚拟化硬件环境的虚拟机管理程序的控制下安装,打包和运行应用程序, 虚拟机还包括操作系统的专用副本和其他必需的软件。 VM环境共享硬件资源。
  • 容器 :仅包含应用程序的基本部分(云服务)及其依赖项。 多个容器可以在一个操作系统实例(Linux®或Microsoft®Windows®)中运行。 Docker是容器运行时引擎的一个示例,还有一个流行的Docker容器注册表DockerHub。 许多下一代云平台即服务(PaaS)开发人员广泛使用了容器。 IBM®Bluemix™是一个PaaS云平台,您可以在其中使用IBM Containers运行Docker容器。

大多数流行的云计算公司提供各种裸机基础架构即服务(IaaS)云应用交付选项的组合和组合(例如IBM SoftLayer )。 此外,当今的大部分云实施都利用通过使用硬件虚拟化(VM)获得的效率和效力。 第三种选择是容器技术,它是开源的,并降低了成本。

了解最流行的云应用程序交付方法的利弊有助于您做出最佳选择。 尽管大多数基于云的服务都是通过裸机或使用虚拟化(和VM)交付的,但应用交付的流行第三选择是Docker容器。 在所有可能的选项中,将裸机,虚拟机和容器集成在统一的云平台中可能是最好的选择。

有关云应用程序交付选择的一些基础知识

首先探索的领域之一是将所需的云应用程序映射到特定的最佳硬件,操作系统和虚拟机监控程序。

  • 裸机云环境可以构建在硬件,操作系统,中间件和应用程序的广泛组合中,这些组合经过优化可以与专用硬件资源一起运行。 例如,您可以使用IBMAIX®,IBM i,Power on Linux,IBM z Systems™以及x86 Linux和Windows操作系统来构建裸机环境。 裸机环境还可以支持广泛的内部和外部存储子系统以及网络设备。
  • 虚拟化(基于VM)的应用程序支持与特定OS,虚拟机管理程序和硬件组合(例如Linux操作系统和KVM虚拟机管理程序,Windows操作系统和VMware或Windows和Hyper-V)绑定在一起的环境,并且通常可以在特定硬件上支持高度共享和虚拟化的操作环境。 使用虚拟机,您可以灵活地在同一物理硬件上的不同来宾或虚拟机中运行不同的内核或操作系统级别。
  • 容器在Linux(x86,Power或z Systems)或Windows系统上运行。 IBM AIX还支持容器技术。 使用容器时,许多客户端尝试使用尽可能多的相同内核/ Linux发行版。 您可能要调查目标容器和Linux环境是否支持内部和外部磁盘子系统,这些子系统存储数据,以供Docker容器中运行的应用程序访问。

裸机,虚拟机和容器的主要优势

可以构建裸机云环境以支持大量的OS /硬件组合。 资源可以专用于和量身定制,以适合单个客户或应用程序。 许多人喜欢裸机配置,因为它们通过专注,优化和专门的专注和构建来提供始终如一的高水平应用程序性能。 如果需要,裸机环境还可以为应用程序提供对系统资源的完全访问权限。 在裸机环境中,您可以在专用硬件和操作系统版本的优化组合上部署特定的应用程序。 对于需要访问特定硬件功能(例如,图形处理器加速器,现场可编程门阵列)和操作系统环境的应用程序,此部署可能很有用。 在某些情况下,裸金属云环境可能是为云应用程序提供所需性能水平的唯一选择。 法规要求可能会要求某些应用程序和数据位于特定的裸机云环境中。

虚拟机使IT系统比专用或裸机方法更有效地共享资源,并且还可以在应用程序OS和虚拟机管理程序配对之间提供强大的隔离级别。 VM可以优化云应用程序以适应需求(弹性)的波动,这是云的强大价值主张。 虚拟机由虚拟机监控程序启用,虚拟机监控程序支持广泛的OS和硬件操作环境。 将现有的传统整体软件应用程序重构为运行在VM中的虚拟设备,然后将整体软件部署为云服务或云模式是相对容易的。 本质上,虚拟机代表了用于整体软件的云计算的快速路径。 同样,跨系统迁移虚拟机也很容易。

与虚拟机相比,容器体积更小,启动速度更快,并且需要更少的资源来部署。 容器可实现最高级别的云应用程序密度。 许多云微服务开发人员更喜欢将容器作为下一代DevOps环境的标准,并且还对其进行了优化以在横向扩展系统上良好运行。 存在一个大型的支持容器的基础生态系统(例如Docker Hub),以提高开发人员的生产力。 大型的云容器生态系统可以加快下一代云服务的敏捷性和部署。

每种方法的潜在缺点

在裸机环境中运行的应用程序使用专用的硬件,这会很快变得效率低下且成本高昂。 如果管理不当,专用的裸机硬件和软件资源可能无法充分利用,并且成本很高。 裸机环境通常是静态的,可能难以为受益于硬件弹性的不稳定工作负载提供服务。 安装裸机应用程序非常耗时。 在裸机系统上运行的应用程序通常无法针对云随用随付定价,计量,计费和弹性进行完全优化。 由于其定制的性质,在裸机环境中进行工作负载迁移可能很困难。

VM可能需要很长时间才能创建和激活。 在VM中运行的应用程序往往被构建为不同的软件堆栈,并且必须重做次要(或主要)更改,这可能很耗时。 与容器相比,VM启动时间更长。 开始时间可能会成为一个问题。 与免费的容器相比,虚拟机管理程序管理软件可能会很昂贵。 最后,VM可能会引入高水平的性能开销,这对于性能或对延迟敏感的应用程序是不可接受的。 虚拟机监控程序的开销可能很高,与虚拟机监控程序相关的许可成本范围可能从低(KVM)到高(VMware)。

容器仅在Linux或Windows上运行。 重构现有的,较旧的单片软件以在容器中运行的商业案例可能不可行。 许多大型的传统IT商店和IT业务人员对容器不甚了解。 尚不清楚如何在各种收费的容器环境中许可微服务云软件。 有状态服务需要访问底层主机操作系统,因此仍然很难在容器中运行。 容器还会给云安全性和合规性问题带来一些不确定性。 在这种情况下,用户可以查看VM中正在运行的容器。

交付使用VM或容器的应用程序的最后一个潜在问题是某些软件供应商可能不会创建或优化完全支持虚拟化(VM)或容器环境的软件许可和支持协议。

为您的工作负载类型选择最佳选项

确定最适合您的选项取决于您的工作量。 本节描述了可以在每个云计算交付选项上正常运行的工作负载。

裸机工作量

  • 需要最高性能的应用程序可以在单个节点中提供它们
  • 具有非常高的处理器,I / O或内存容量要求的工作负载(例如,传统的大型数据库)
  • 通过在大型集中式放大系统上运行而受益的工作负载
  • 延迟敏感的服务或应用程序
  • 需要可预测的吞吐量和延迟的工作负载(对于保证单个工作负载的响应时间非常重要;例如,性能或延迟敏感)
  • 合理稳定且可预测的工作量。 可能两者兼而有之:性能更好,而在裸机上运行便宜
  • 未启用云的传统工作负载; Java或IBMWebSphere®多租户环境
  • 需要或不能容忍虚拟化或嘈杂的邻居效应的应用程序
  • 具有治理或法规限制的应用程序将它们绑定到特定硬件

虚拟机工作负载

  • 受益于灵活性的应用程序,可以轻松地从云服务目录和云管理软件进行调配,部署和取消调配
  • 需要在云部署模型上重构的旧版应用程序
  • 受益于按需付费和自助服务的应用程序
  • 不需要特定硬件绑定的应用程序
  • 具有中低处理器,I / O或内存系统容量需求的工作负载
  • 从横向扩展系统中受益匪浅的工作量(较低的总拥有成本)
  • 可以从快速置备,取消置备和虚拟化资源效率中受益的繁忙工作负载
  • 经过优化可在VM环境中进行有效管理的应用程序

容器工作量

  • 使用容器中运行的微服务的标准化工作负载
  • 作为云服务提供的新Linux或Windows应用程序
  • 为云容器开发的云上生成的微服务,并针对在容器中执行进行了优化
  • 受益于大型现有共享容器生态系统的全新应用程序(例如,Docker Hub)
  • 需要最快的启动和取消配置时间的应用程序
  • 可以利用大规模扩展环境的云服务
  • 已经提供基于容器的云服务的客户

结论

本文对与云计算相关的当今流行的应用交付技术的数量不断增加提供了介绍和指导。 当今大多数基于云的服务都是通过裸机或虚拟化(和VM)交付的。 描述了一种新的流行的第三选择Docker容器,并建议将其用于下一代云服务应用程序交付。


翻译自: https://www.ibm.com/developerworks/cloud/library/cl-3-ways-to-deliver-cloud-applications-bluemix-trs/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值