持续交付就得靠容器
2017-10-24 00:00
302 查看
导读
每个业务都是软件业务。在过去十年中,软件已经迅速成为行业创新和颠覆的主要动力。不仅仅指的是Ubers和Netflixes这些新兴行业中的公司推动软件创新,即使在汽车等“老派”行业中,软件也是一个决定性的驱动因素,如现代化的汽车中也有大约3亿行的代码(Microsoft
Office有大约3500万行代码)。因此,交付更好的软件是区分高性能和低性能业务的关键。然而,Atlassian和xMatters最近的一份报告指出,41%的受访者表示他们实施DevOps(其中65%表示它给生产带来好处),令人惊讶的确是59%的受访者还不知道DevOps是什么,或者是否已经在做。企业不确定如何实现持续的软件交付,而且他们实际上很焦虑。部署的成功率是这种焦虑的一个关键指标。
事实证明,容器是缓解这种焦虑的好方法。那么,什么是容器?容器的主要优点是什么?它们如何适应管道?
容器本质上是一个可以自行完成功能的软件的缩小的、可执行部分。代码及其依赖项打包在一起,可以在单个主机操作系统上运行。对于开发人员来说,这样可以确保他们的软件无论在哪里部署都能工作。
一个有用的比喻就是:在货船上运送集装箱。想象一下,如果每个物品都有不同尺寸和形状的集装箱,运输物品多困难。使用标准化的集装箱,物品就更容易移动,可以叠放在一起。软件容器应用类似的原理。
这与敏捷、DevOps和持续交付有什么关系?
这个想法如何帮助公司建立更好的软件?容器以一种非常统一的方式来分发具有所有依赖项及其所有环境的应用程序。过去,不用容器构建一个产品可能会令人沮丧。如果开发者想在他的机器上建立一些东西,那么就需要访问Wiki。也许Wiki是最新的,也许不是。开发人员甚至可能需要追踪最后一个进行验证的人员。
使用容器,开发人员可以在容器内部本地构建,而不用担心环境变量,如OS补丁。最终,摩擦非常少——这是分发软件的有效方式。
在考虑容器的好处时,通常将它与虚拟机(VM)相比。在这种情况下,启动和停机的速度是容器的一个优势。这是因为不必启动或关闭整个操作系统,而只是一个进程。虽然这在单一实例下微不足道,但乘以数百或数千个周期意味着节省宝贵的时间。具体过程需要多长时间由开发人员决定。如果应用程序在五秒钟内启动,那么该实例将在五、六秒钟内启动并运行。如果应用程序需要两分钟的时间来启动,容器不会加快速度。
容器的其他优点在于尺寸和可移动性。容器镜像往往要小得多。这意味着容器镜像的传输速度更快,等待运送的停机时间也减少了。类似地,容器可移动性通常比其他方法更好。例如,环境变量和端口映射可以在容器中完成。
最终,所有这些都改善了整个管道的环境保真度。容器的其他好处包括操作系统许可证的成本节省和安全优势。
实施容器技术
大规模使用冗余和高可用性的容器的最好方法是使用容器编排平台。容器编排平台使配置更容易。它可以根据需要帮助自动缩放,设置注册表,并且管理容器的生命周期。
数据和状态存储在容器编排平台的哪里?SQL可以在容器中运行,但它会写入容器内的文件系统。关闭该容器,数据就会消失。要解决此问题,必须安装外部卷,使用iSCSI,或使用编排工具提供的一些永久存储机制。 所以涉及到大规模迁移时,编排平台是关键。这就是基础设施即代码概念背后的基本思想。
在当今的商业环境中竞争,拥有卓越的软件产品和持续的软件交付是至关重要的。 使用容器是一个可靠的、以自信的速度移动的策略。大赢家的唯一途径就是要更快——更快地到生产,更快地解决问题,更快地创新。
阅读推荐:
VMware与OpenStack的斗争转向了混合云
这可能是Docker宣布拥抱Kubernetes的真实原因
活动推荐:
投稿邮箱:openstackcn@sina.cn
4000
相关文章推荐
- 利用容器技术构建持续交付/持续发布系统
- 基于容器服务的持续集成与云端交付(四)- 多种发布方式
- 基于容器服务的持续集成与云端交付(三)- 从零搭建持续交付系统
- 基于容器服务的持续集成与云端交付(二)- 多维度打磨交付能力
- 基于容器服务的持续集成与云端交付(二)- 多维度打磨交付能力
- 基于容器服务的持续集成与云端交付(一)- 交付之禅
- 我们应该如何基于容器来进行软件的持续交付(二)?
- 容器基础与持续交付
- 利用容器技术构建持续交付/持续发布系统
- 基于容器服务的持续集成与云端交付(一)- 交付之禅
- docker4dotnet #5 使用VSTS/TFS搭建基于容器的持续交付管道
- 基于容器的持续交付管道
- 【干货合集】阿里云专家诠释持续集成与云端交付的正确姿势:在云上如何欢快的用好容器服务?
- 如何利用容器构建持续交付/持续发布系统? (有彩蛋)
- 谈谈持续集成,持续交付,持续部署之间的区别
- Serverless 微服务的持续交付
- 打造真正的One Team,持续快速交付价值——阿里文娱广告团队敏捷实践
- 乔梁专访——让持续交付变为可能
- 携程持续交付平台的演进、变革与展望
- Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现