三类应用让Docker容器技术大放异彩
Docker容器有着各种各样的好处。但是不考虑应用程序的特点而对所有软件强行实施则未免过于教条主义了。
在2014年,Docker容器软件已受到了从科技巨头到企业的广泛注意。但是,随着容器概念转变成为现实世界中的成熟技术,那么问题就变成了:哪些应用程序能够从Docker容器技术中获得最大的好处呢?
一般而言,Docker容器技术可以让三种类型的应用程序受益颇多:
- 需要在跨一个以上的云计算中运行的应用程序
- 使用微服务的应用程序
- 能够从开发运营中得益的应用程序
Docker容器相同又不同
Docker容器与其他的容器技术都是大致类似的。但是,Docker在一个单一的容器内捆绑了关键的应用程序组件,这也就让这容器可以在不同平台和云计算之间实现便携性。其结果就是,Docker就成为了需要实现跨多个不同环境运行的应用程序的理想容器技术选择。
此前,便携性也是基于云计算技术平台的一个痛脚。但是,由于Docker提供的架构和技术能够实现便携性,所以大多数的主流公共云计算供应商都能够从中受益。通过使用Docker容器技术,提供便携性的责任也就从云计算供应商转移到了开发人员身上。
Docker还可以让使用微服务的应用程序得益,所谓微服务就是把应用程序分解成为专门开发的更小服务。 这些服务使用通用的REST API来进行交互。使用完全封装Docker容器的开发人员可以针对采用微服务的应用程序开发出一个更为高效的分发模式。
但是,这究竟意味着什么呢?开发人员和架构师可以开发出在多个平台上运行并生产和使用微服务的应用程序。开发人员可以使用这一架构来开发分布式应用程序,而微服务则可以是分布式和自治的。
最后,可从开发运营流程中受益的应用程序通常也能够从Docker中获益。Docker可允许开发人员在容器内进行开发工作,而运营团队可同时在容器外执行运营工作。
Docker对开发人员的好处
开发人员还能够从Docker中获得敏捷性。在应用程序和底层主机平台之间有着一个抽象层。因此,开发人员能够快速地开发、修改或部署新的和现有的应用程序,而无需担心所需的平台服务。类似的,Docker应用程序也可以在开发、测试以及生产阶段运行。
Docker的核心优势在于封装一整个应用程序。所以,在开发运营中,Docker消除了对缺少依赖或错误的关注,而这是由于底层操作系统和平台中的差异造成的。