> 原文出处:http://dockone.io/article/808
最近几年中软件开发方式的演进已经根本性地改变了应用程序。这些改变影响了对于底层基础架构、工具以及流程(管理整个生命周期)的需求。应用程序从大型单体代码库转变成了一种由很多小型服务松散耦合而成的集合,人们称之为微架构。在一种渴望的驱使下-用一种在基础架构间可以移植的新方式来更快地交付更多软件,我们看到身边越来越多的敏捷组织从中收益,这些组织囊括了初创企业和大型企业。
这些新的应用程序不仅行为不同而且他们的架构从根本上改变了它们是如何随着时间的推移进行构建、部署、管理及安全防护的。不再需要在虚拟机(VM)或者裸机上以配置大型服务器来处理少量的大型负载,而代之以在一组普通硬件之上运行小型应用程序集。通过在应用程序之间共享同一个OS,容器升格为这些新应用程序的打包模型。较少的OS实例在主机资源、成本和持续运维等方面为应用程序基础架构带来了明显的优势。
为了增强一个系统的弹性,关于应用程序安全的最佳实践长久以来都建议分层的策略。在这篇论文中我们将介绍与Linux技术及Docker容器有关的安全概念。
要点包括:
* 容器通过减少主机自身的暴露区域以及对应用程序与主机之间、应用程序之间进行隔离实现了更多一层的防护,而这种隔离并没有使用更多的底层基础架构资源。
* 容器和虚拟机(VMs)可以部署在一起,从而为应用程序服务提供更多的隔离及安全层级。
* 容器的性质有利于快速、便捷的应用程序打补丁以及OS更新,应用程序及基础架构的分层,有助于维持整体的安全合规性。