【编者的话】做者主要介绍了本身选择使用容器的6个主要缘由,这也是容器为咱们的工做带来的一些好处。设计模式
我使用容器已经将近三年,最初在一个技术支持团队工做,主要是帮助客户解决应用程序中的问题,并提供一些有关运行容器最佳作法的建议。现在我在的团队,作的主要是容器开发并在咱们本身的OpenShift环境中使用,因为个人技术支持背景,个人故障排除技巧能帮助我完成这项工做。网络
我使用容器运行个人大部分任务,这让个人工做变得比较轻松。我能够在容器中运行任何软件,不管是用于评估或者用于我本身的网站。一个事实是:容器在不少公司中变得愈来愈广泛。Google的数据中心天天能够不停地运转数千个容器,Netflix每周能够启动超过100万个容器,而许多其余公司(不管是小型仍是大型)都在生产中使用容器来实现新的可扩展性。 考虑到这一点,我想列出我开始使用容器的六个主要缘由。架构
在个人工做中,我一直认为KISS原则是最棒的,那为何不使用简单的工具来改善个人工做?我说容器很简单,由于我只须要用两个或三个命令就能够在个人机器上运行一个操做系统以及整个软件栈。因为这种简单性,我能够节省大量运行容器的时间和精力,而不是花时间在建立虚拟机、安装操做系统和安装软件。这样,我就能够专一于重要的事情。工具
容器的好处是它们直接运行在操做系统(Linux)层之上,而中间没有hypervisor层。这使得容器比虚拟机使用的资源更少,我能够在相同的硬件资源上启动更多的容器。网站
另外一方面,容器使用的存储空间也比虚拟机少,这更有吸引力。举个例子,RHEL 7镜像大小是193MB,还有一个替代的RHEL版本(咱们称之为RHEL Atomic),大小小于80MB。因为镜像大小的缘由,容器启动的引导时间少于任何传统运行操做系统的方式。虽然在虚拟机或裸机上安装RHEL的启动时间大约是1分钟,但在容器内部运行的时间可能不超过15秒。云计算
容器是不可变的,这项功能对我来讲特别重要。它保证了在我机器上运行的容器能以相同的方式运行在任何一台机器上。不会再有相似“它在个人机器上能够工做”这样的借口。使用容器能够避免这种状况,甚至能够运行在像AWS,IBM Bluemix,Google Cloud Platform,以及Azure这样的云端供应商上,而且得到相同的行为。操作系统
想一想你要使用容器运行的软件,我敢肯定若是你找不到所需软件的镜像,那么很快会有人建立它,并在任何存储库中推出。大多数公司正在为他们的软件建立容器镜像用以支持在容器上运行,你可使用这些镜像来建立本身的配置。此外,还有不少有关容器的书籍(包括付费和免费的),这些书籍会教你如何开发,运行容器而且使其更加安全。翻译
你找到一个能够运行的镜像,可是镜像中缺乏你须要的特殊配置或者一些软件。使用容器,你能够扩展示存的镜像,在容器中加入你须要的东西,而后根据你本身的需求制做一个更适合的镜像。这样,准备操做系统运行软件的时间远远少于任何其余方法。即便使用DevOps工具,如Puppet,Chef或者其余,准备运行软件环境的时间甚至超过运行一个新的容器。设计
云计算是下一代计算,你能够按需在你的环境中添加资源,并收集有关它们的运行指标。容器在设计中将全部这些要求以及更多的内容带入云计算,由于它们在出现任何问题时很容易进行更换。你没必要为丢失一个容器而担忧,由于最早进的云计算架构已经为你管理容器,并启动了一个新的容器来替代没有响应的容器。
原文连接:Why I Started Using Containers(翻译:肖远昊)