权衡应用程序容器的利弊

服务器 数据中心
使用容器有一些潜在的优势,但不要直接忽略它可能带来的挑战。进入虚拟化时代的一大趋势就是实现容器化。容器化使应用程序虚拟化成为可能,而非操作系统虚拟化(通过虚拟服务器完成)。

使用容器有一些潜在的优势,但不要直接忽略它可能带来的挑战。

进入虚拟化时代的一大趋势就是实现容器化。容器化使应用程序虚拟化成为可能,而非操作系统虚拟化(通过虚拟服务器完成)。

想要用容器负载应用程序的人有许多不同的选择。Docker可能是最知名的容器平台,但其他供应商如Citrix也支持容器。甚至微软在未来Windows Server版本中也将使用容器。

容器变得如此受欢迎是因为它可以提供虚拟服务器无法匹敌的好处。然而,和其他任何技术一样,应用程序容器也有优点和缺点。而使用容器有明确的优势,也有一些必须考虑的消极因素。显然对于这些问题,不同的供应商有不同的解决方案。但大多数容器平台仍有利有弊。

想要了解应用程序容器的优点,你必须全面理解容器是如何工作的。容器为应用程序提供隔离边界。如果一个服务器或虚拟机运行多个应用程序,这些应用程序共享操作系统资源。如果有人破解应用,黑客可能会控制同一服务器上运行的其他应用程序,甚至可能危及服务器操作系统。

这不仅仅是管理者所关心的安全漏洞。如果一个应用程序消耗过量的CPU资源,或者应用程序有内存泄漏,那么应用程序使用的资源可能会影响其他服务器上运行的应用程序。

如今管理员避免此类问题的方法一般是通过使用服务器虚拟化。通过托管每个在自己的虚拟机上运行的应用程序,管理员可以创建一个应用程序之间的隔离边界。这种方法很受用,但也存在缺点。每个应用程序运行在一个单独的虚拟机上可能导致虚拟机蔓延。此外,因为每个虚拟机都有自己的操作系统,虚拟机蔓延可能导致许可成本变高(杀毒应用程序、操作系统备份应用程序等),硬件资源利用率也会降低。

容器在应用程序级别创建隔离边界。这意味着多个应用程序可以存在于单一的操作系统,这些应用程序无法互相干扰。

应用程序容器提供的好处是相对直观的。因为你不再需要为每个应用程序创建一个单独的虚拟机,虚拟机管理也越来越少。此外,还可以更有效地利用硬件资源,因为每个应用程序无需在单独的操作系统上运行,硬件资源能够更效率地利用也可会成为一种性能。

这取决于你使用哪一种容器化解决方案,便携式容器也可能使应用程序。这种可移植性意味着可以单独处理虚拟机和应用的生命周期管理,从而使操作更简便。

当然,应用程序容器也有其缺点。最常提到的缺点似乎是很难建立和管理容器。由于Docker是一个基于Linux的解决方案,Windows管理员在设置Docker容器时感到挫败和困惑的情况屡见不鲜。即使对于那些具有Linux经验的人来说,Docker也有一个重要的过渡。

尽管存在过渡时期,使用容器的最大缺点可能是存在安全隐患。容器用来隔离应用程序,但请记住,运行在服务器上的容器化应用程序共享一个操作系统。因此,操作系统(或容器化引擎)可能成为一个漏洞。会出现哪些问题呢?如果黑客针对服务器的操作系统发起拒绝服务攻击,可能导致多个应用程序停机。同样的,如果由于内核级失败导致操作系统崩溃会怎样呢?

一些旧的应用程序也可能存在问题。之前开发人员构建的应用程序都带有这样一种假设——应用程序具有访问操作系统的root权限。如果将这样一个应用程序容器化,它可能无法工作,或者它可能会将服务器的操作系统置于风险之中。实际结果在很大程度上依赖于所使用的产品。一些容器化产品可以处理这样的应用程序,但其他人不能不考虑安全问题。

如你所知,应用程序容器有优点和缺点。随着时间的推移,容器可能会变得更安全、更易于使用,就像服务器虚拟化也越来越棒。

责任编辑:何妍 来源: TechTarget中国
相关推荐

2016-06-21 11:26:33

云计算

2022-05-05 16:37:44

云原生网络安全

2014-07-22 09:08:40

2009-09-22 12:17:59

ibmdwLotus

2020-04-16 09:43:08

容器架构开发

2022-06-26 06:44:39

灾难恢复容器

2013-11-18 09:03:22

2021-07-15 09:47:20

Docker容器命令

2016-02-15 09:37:14

Docker持续交付应用程序

2022-02-15 09:36:13

容器应用程序云服务

2013-02-28 09:53:36

服务器租用服务器托管云服务

2022-01-18 16:11:49

数字货币货币安全

2023-12-20 09:43:09

Docker容器代码

2014-09-04 16:29:54

Linux红帽

2020-09-04 15:06:04

Docker容器化Node.js

2020-03-24 14:45:17

程序员技能开发者

2012-06-07 09:15:14

ibmdw

2012-05-29 10:04:08

2011-08-08 13:35:50

Web应用WANWeb应用程序

2015-10-14 10:10:14

IT应用程序数据中心
点赞
收藏

51CTO技术栈公众号