Docker四种方式改变了软件工程师过去五年的工作方式

栏目: 编程工具 · 发布时间: 5年前

内容简介:10年前,Git改变了软件工程师的工作方式。五年前,使用Docker,你不仅可以运送整个堆栈的代码。为容器分配最少的所需资源,然后水平扩展它们。随着容器安全通常也已经实现。使用Docker和Kubernetes,您可以获得零停机时间和更快的部署,从而实现业务利润。Docker部分弃用了许多配置管理工具。

10年前,Git改变了软件工程师的工作方式。五年前, Docker 将容器带给了大众。这篇文章是关于 Docker 如何改变了我们过去5年的工作方式。

使用Docker,你不仅可以运送整个堆栈的代码。为容器分配最少的所需资源,然后水平扩展它们。随着容器安全通常也已经实现。使用Docker和Kubernetes,您可以获得零停机时间和更快的部署,从而实现业务利润。

Docker部分弃用了许多配置管理工具。

1. 运送整个堆栈,而不仅仅是代码

对于特定的容器和Docker,您始终在每个版本中运送整个堆栈。每次都会重建整个镜像,它包括精确的OS +版本,语言的特定版本。它还具有框架和其他库之类的依赖关系(版本取决于您如何处理它)。它还包括您编写的代码,这会带来显著的优势。优点是,如果它在您的机器上正确构建,它也可能在其他任何安装了Docker的服务器上构建。一旦它运行,它就形成开发,升级,测试甚至生产都一样的环境。

2. 仅为应用程序分配所需资源并水平扩展

对于每个Docker容器,您可以具体说明要为该特定容器分配多少资源。使用像Kubernetes这样的软件,可以更轻松地扩展您的应用程序。在高负荷下,容器可以扩展;负载较小时,也可以收缩。因此,使用此机制,可以为每个容器(或Kubernetes的pod)分配最小资源,并根据需要进行水平扩展。

一个简单的Node JS app容器/ pod可以运行128 MB内存和0.25 CPU。当负载增加时,运行5个pod代替2个pod。

这可以构建具有水平可伸缩性的应用程序。这基本上意味着不在文件系统上存储数据。这样像牧场放牧一样,不再是一种养宠物的方式,这样有助于水平伸缩。它还使应用程序的高可用性成为可实现的任务。

3. 安全性已被默认启动

使用容器而不是虚拟机,攻击面已经减少。遵循容器安全最佳实践,您已经可以改进安全措施。当然,如果你在应用程序中有漏洞,比如 SQL 注入,这是另外一回事。尽管如此,对于像Alpine这样的小型安全镜像来说,更容易掌握基础知识。

容器应该只能访问它需要的东西。由于文件系统对于容器是临时的,因此它可以是安全保障以及安全审计问题。

4. 零停机时间更快部署

部署Docker容器总是要运送整个堆栈。因此,一个文件未同步或一个服务器未获得最新更改的可能性不存在。由于部署映像的成功构建取决于一定要在构建过程中找到可找到的任何问题。

使用像Kubernetes和Helm这样的软件,编排和部署容器变得简单明了。使用适当的负载平衡实现高可用性(HA),部署可以是零停机时间。

更轻松,更快速的部署等同于部署较小更改的能力。做得较好的较小变化可以快速响应市场需求。总而言之,使用正确的 工具 来部署容器,以便将其用于业务优势。

结论

过去5年,Docker迅速采用。使用Kubernetes等工具进行部署和扩展应用程序比几年前要轻松得多。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编写高质量代码

编写高质量代码

秦小波 / 机械工业出版社华章公司 / 2011-12-28 / 59.00元

在通往“Java技术殿堂”的路上,本书将为你指点迷津!内容全部由Java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面对Java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为Java程序员如何编写高质量的Java代码提出了151条极为宝贵的建议。对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还......一起来看看 《编写高质量代码》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具