一个 IT 系统大致可以分为:

  1. 应用程序
  2. 运行时平台(bin/framework/lib)
  3. 操作系统
  4. 硬件(基础设施)

开发人员的主要工作是应用程序的编码、构建、测试和发布,涉及应用程序和运行时平台这两层。而运维人员的工作则涉及从硬件、操作系统到运行时平台的安装、配置、运行监控、升级和优化等工作。

云计算最主要的价值体现在实现了自动化运维。提高资源的利用效率,是较为次要的价值。

要实现自动化运维,需要解除 IT 系统各层之间的耦合,使各层变成可编程控制,即「software defined」的。只有我们可以编程创建和控制各层对象,才能达到最大程度的运维自动化。

硬件虚拟化技术解除了硬件和操作系统的耦合,用户可以编程创建和控制虚拟机(包括虚拟硬件,运行自定义的操作系统镜像)、虚拟存储设备和虚拟网络。

操作系统虚拟化技术解除了操作系统和运行时平台的耦合,用户可以编程定义适合应用运行的平台,包括需要的二进制程序、框架和库等。操作虚拟化技术既可以用来创建和管理系统容器,也可以用来创建和管理应用容器。如果是用作系统容器,这相当于一个轻量级虚拟机,目的是解除操作系统与底层的耦合。例如, LXC/LXD 和 OpenVZ 属于这个路线的。而 Docker 容器主要是用作应用容器,包括两方面的功能:

静态打包:把应用程序及其运行时打包为一个镜像;
动态运行:以一个应用容器的形式运行这个应用。

Docker 提供的这些功能是任何一家公司开发 IT 应用时都需要用到,它的使用是轻量级的,只需安装一个 Docker 软件包,就可以用起来,例如,用作开发和测试环境的构建。单机也能用,集群也能用,既可以简单,也可以复杂,非常灵活。想想看,如果你要安装和使用 OpenStack,有没有这么轻松便捷?

Docker 本身只提供最基本的功能,如果用户需要构建一个复杂的 IT 系统,单靠 Docker 本身是不够的。幸运的是,Docker 不仅提供了 API,还形成了一个庞大的社区和生态系统,包括知名的那些 IT 巨头。因此,基于 Docker 的解决方案具有非常大的灵活性,从原理上讲,不会对你的操作系统、运行时平台有特殊的限制。我个人觉得 Docker 是符合 Unix/Linux 哲学的:只做一件事,做到最好。还能与其它程序复合(compose),完成更复杂的功能。

对最终用户而言,Docker提供的是一个标准化的交付方式。

把应用跑起来只需要两样事情:

  1. 一个64位的linux内核
  2. 一个打包正确的docker镜像地址,或者Dockerfile

这样,用户,不管是大企业还是普通想在服务端跑程序的人,只需要这2者就完了。不用去操心一堆的数据库、消息队列、中间件、jvm参数、等等等的所有麻烦的事情。

这种交付方式能给用户带来什么体验呢?
一个形象的比喻就是目前iphone手机上的APP,在用户看来,只要点击“安装”,然后在桌面上就会出现一个图标,从灰色到下载完毕。其他任何事情都不需要操心。(我已经觉得该开发一个iphone版的docker容器的形象化管理程序了)想想我们当年多么痛苦的在PC机上安装游戏或者各种软件,现在在手机和平板上已经过了这个阶段,服务端也该过这个阶段了。

在这个前提之下,这样的应用场景就会出现:
任何一个人或者组织都能从docker市场上买到服务端应用,然后一键部署在自己使用的云上面。

Docker如何为企业产生价值?的更多相关文章

  1. 企业"信息化建设"价值

    企业信息化现状分析 随 着企业信息化建设的快速发展,信息技术与信息系统对企业组织形态.治理结构.管理体制.运作流程和商业模式的影响日益深化,企业组织对信息技术和信息 系统的依赖性在日益加强,IT正成为 ...

  2. CRM企业管理系统对于企业的价值

    对于企业来说,一个完整的工作流程可以概括为三个阶段:售前.售中.售后.每个阶段都需要不同的管理.此外,客户关系管理客户关系管理系统可以帮助企业在这三个阶段进行业务管理和客户管理,帮助企业更好地运作,增 ...

  3. DevOps对于企业IT的价值

    其实从敏捷延展开的 DevOps 概念很早就已经被提出,不过由于配套的技术成熟度水平层次不齐, DevOps 的价值一直没有有效地发挥出来.现如今,随着容器技术的发展, DevOps 在企业中的实践难 ...

  4. 初识Docker和Windows Server容器

    概览 伴随着Windows Server 2016 Technical Preview 3 (TP3)版本的发布,微软首次提供了Windows平台下地原生容器.它集成了Docker对Windows S ...

  5. 关于Docker在测试方面的应用

    Docker 火了很长一段时间了,前段时间简单的学习和试玩了一下子,发现他对测试很有价值,觉得有必要再次深入研究. 这里标记一些较好的学习网址,用作参考: InfoQ上面有系列的文章: 深入浅出Doc ...

  6. 试讲DOCKER专用

    内容概要: DOCKER简介 为什么要用DOCKER DOCKER的应用场景 DOCKER基础 一 DOCKER简介 Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目 ...

  7. 企业DevOps研发模式下CI/CD实践详解指南

    阅读全文大概需要 10分钟. 1. 前言 借着公司今年新组建的中台研发部东风,我作为其中的主要负责人,在研发中心主导推行DevOps研发管理模式转变及质量管理创新建设,本篇文章摘取自今年9月底,笔者在 ...

  8. Docker(应用服务引擎)

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  9. 开发漫谈:千万别说你不了解Docker!

    1dotCloud到Docker:低调奢华有内涵   写在前面:放在两年前,你不认识Docker情有可原.但如果现在你还这么说,不好意思,我只能说你OUT了.你最好马上get起来,因为有可能你们公司很 ...

随机推荐

  1. 关于NPOI导入导出

    http://www.360doc.com/content/14/0110/16/432969_344152497.shtml NPOI汇入Excel仅支持2007版本以内: [HttpPost] p ...

  2. [翻译]Spring框架参考文档(V4.3.3)-第二章Spring框架介绍 2.1 2.2 翻译--2.3待继续

    英文链接:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/overview.ht ...

  3. UIAlertController 使用

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...

  4. 基于ejbca构建独立ca系统

    ejbca,是一个CA(Certificate Authority)系统软件,CA是数字证书认证中心的简称,主要功能是管理数字证书,包括证书的颁发.销毁.更新等,ejbca实现了CA规范,因此可以用来 ...

  5. SQL入门经典(五) 之键和约束

    这一篇博客主要讲键的创建,约束的创建.修改对象和删除对象. 主键:主键是每行的唯一标识符,必须包含唯一值(因此不能为NULL).由于主键在关系中数据库的重要性,因此它是所有键和约束中最重要的.一个表最 ...

  6. android user build serial console

    在 init.rc 里有一段 on property:ro.debuggable=1 start console 当user debug时 ro.debuggable=0,console 不会被启动 ...

  7. PowerShell笔记

    教程: http://www.pstips.net/powershell-online-tutorials/ http://www.3fwork.com/a113/ 1. 查看成员 $MyInvoca ...

  8. 关于"是否需要有代码规范"的个人看法

    这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能强求一律,应该允许很多例外. 我擅长制定编码规范,你们听我的 ...

  9. Aspectj 实现Method条件运行

    最近我花了半个小时实现了一个Method的按自定义条件运行的plugin,Condition-Run.实现场景是由于我所工作的客户经常会是在同一个代码集上实现多个Brand,所以有些功能只会限制是几个 ...

  10. Word文档合并的一种实现

    今天遇到一个问题,就是需要把多个Word文档的内容追加到一个目标Word文档的后面,如果我有目标文档a.doc以及其他很多个文档b.doc,c.doc…等等数量很多.这个问题,如果是在服务端的话,直接 ...