下一代的中间件必须是支持docker规范的
下一代的中间件必须是支持docker规范的,这是中间件技术走向标准规范化的必经之路。
什么是 Docker?
答案是:Docker 是下一代的云计算模式。Docker 是下一代云计算的主流趋势.
Docker 翻译成中文是“码头搬运工”的意思,那么“码头搬运工”搬运的是什么?是标准化的“集装箱”,这个标准化“集装箱”里装的是应用程序。“码头搬运工”在世界上任何提供了标准化接驳的“码头”就可以接收标准化“集装箱”,然后快速安装、运行和管理“集装箱”里的应用程序,而提供标准化接驳“码头”的就是各类云服务商。借此,Docker 把云计算环境下的应用程序开发和分发带进了工业化生产的时代,这就是 Docker 的意义。
在 Docker 环境下,程序开发者按一定的打包标准生产程序,生产出来的标准化程序被装进标准化的容器(Container)里,也就是“集装箱”。世界各国的云服务商都提供了标准化的“码头”,可以很容易地接收标准化的容器和里面的应用程序,再把这些标准化的应用程序以即插即用的方式组装到自己的个性化解决方案里,然后提供给最终用户。而与 Docker“集装箱”对应的标准化程序架构,就是大家所熟悉的微服务。
在 Docker 时代,第一代云计算中的 IaaS 层与 PaaS 层合二为一成为了 CaaS(Container-as-a-Service,即容器即服务),这就是下一代云计算架构。基于 CaaS 的下一代云计算架构赋予了企业强大的工业化生产通用软件的能力,再根据消费者和用户的个性化需求,快速组装通用软件形成个性化的解决方案,这就是下一代的商业模式。
具有运维百万台以上服务器经验的技术人才只有谷歌、亚马逊云和微软三家而已。
成立于 1998 年的谷歌在全球运维着上千万台服务器;其次是 AWS 亚马逊云和微软 Windows Azure,他们各自拥有和运维着数百万台服务器;再次是 IBM SoftLayer 拥有和运维着数十万台服务器;最后是各个国家的区域性公有云服务商,拥有和运维着从数百台到数千台不等的服务器,从运维服务器的规模就能直接判断公有云服务商的运维经验和技术水平。
谷歌在全球运维了上千万台的服务器,这个规模已经远远超出了很多现有技术供应商的上限,因此谷歌自己发明了诸多技术用于管理千万台规模服务器,“比如谷歌研发了顶级的网络交换机,就连思科都造不出来这样的网络交换机。原因很简单,因为没有相应的实验环境。
谷歌为了避免使用市面上昂贵的基于物理机的虚拟化产品,同时也是为了更快、更便宜的发布自己的软件和服务,从一开始就研发了基于容器(Container)的新型虚拟化技术,通过这一技术简化了谷歌全部服务运行所需要的底层操作系统环境。在 2015 年 8 月的 CNUTCon 全球容器技术大会上,有超过 8 年谷歌经验的谷歌云平台软件工程师 Dawn Chen 介绍说,她 8 年半前加入谷歌的时候,那个时候谷歌刚开始研发容器技术,当时谷歌容器技术团队加上她只有两个人。如今谷歌所有的服务都运行在容器中,这包括了 Gmail、地图、GFS 文件系统、MapReduce 等。谷歌现在每秒会启动大约 7000 个容器,每周会发布超过 20 亿个容器。
谷歌实际上通过容器实现了“无缝操作系统”的愿景。稍微了解云计算的人都知道虚拟机在 IaaS 层的重要性,改变了虚拟机的方式就相当于改变了 IaaS 层的结构,这就是为什么说容器是下一代云计算模式的重要原因。容器本质上是一种操作系统技术,是基于操作系统的虚拟化技术。基于容器开发的应用软件可以达到“一处开发、处处运行”的效果,而无关乎底层到底是什么样的操作系统或什么样的 IaaS 云服务环境,这实际上就是“无缝操作系统”的概念,与之相适应的就是“无缝解决方案”和“无缝 IT”。
去年 10 月份,微软就宣布了在 Windows 服务器实现容器技术的计划,宣布了与 Docker 的合作伙伴关系,以保证无论是在 Linux 还是在 Windows Server,都可以获得一个统一、开放的体验。尽管 Linux 容器与 Windows 容器基于不同的操作系统而互不兼容,但容器管理器是统一的。近期,微软进一步宣布将针对 Windows Server 2016 发布 Windows Server 容器和 Hyper-V 容器,两种容器都支持 Docker API 和 Docker 客户端。
另一家受 Docker 冲击比较大的 VMWare 也迫不急待的在 VMWare World 2014 上就宣布了对 Docker 的支持。VMware 对容器的态度是积极的,尽管容器和基于物理机的虚拟机 VM 之间存在着竞争,但 VMware 仍然致力于扩大与容器生态合作。在 2015 年 8 月底的 VMWare World 2015 大会上,VMware 推出了一系列新的支持 Docker 的技术,并提出了未来全新的全面支持容器的技术架构,让 Docker 程序也能运行在虚拟机 VM 里了。
京东从 2014 年 10 月开始引入 Docker,2015 年 2 月对 Docker 进行战略立项,2015 年 618 的时候在生产环境中发布了 11000 多个容器实例并接入了 1000 多个应用,从 2015 年 8 月开始的新数据中心全面采用容器技术。目前京东已上线 Docker 实例 2 万多,预计到年底将翻番,届时京东大部分应用程序将通过 Docker 的方式发布。未来京东的 Docker 愿景是通过 Docker 管理所有的机器,应用程序与物理资源之间完全解耦,实现全自动化的系统维护,研发人员可以集中精力于新应用程序的开发。
其实对于容器贡献最大的还是谷歌。Docker 技术就是用谷歌的 Go 语言编写的,这是谷歌 2009 发布的第二款开源编程语言。谷歌每周发布 2 亿多的容器,这让谷歌有能力发明很多关键性的容器技术。其中包括容器管理系统,这个管理系统的第一个版本被称为 Borg,后续又发布了名为 Omega 的版本。通过这个管理系统,可以在谷歌的大规模集群资源上使用容器技术。后来业界根据谷歌的相关学术论文,模仿 Borg 开发出来的 Mesos 系统,正在被 Airbnb、Twitter、苹果 Siri 等在使用。
下一代的中间件必须是支持docker规范的的更多相关文章
- 下一代容器架构已出,Docker何去何处?看看这里的6问6答!!
我猜很多人一看这个标题已经感觉很懵逼了,什么?下一代容器都出来了,我还没学Docker呢!!! 咳咳~~在这里我给大家做一个保证,下一代容器目前也只是各个公司在测试阶段,Github上面也有很多Iss ...
- 支持 MBTiles 规范的预缓存
SuperMap iServer 支持生成符合MBTiles规范的预缓存(MBTiles是由MapBox制定的一种将瓦片地图数据存储到SQLite数据库中并可快速使用,管理和分享的规范. 该规范由Ma ...
- 微软Azure开始支持Docker技术
前一段时间还在与微软的技术人员讨论媒体转换服务的效率问题,如果应用 Docker将会有质的提高,没想到国外的Azure已经开始支持了,相信国内Azure支持也不远了.微软正在努力确保Azure成为开发 ...
- IdentityServer4【Introduction】之支持的规范
支持的规范 identityserver实现了下面的规范 OpenID Connect OpenID Connect Core 1.0 (spec) OpenID Connect Discovery ...
- IdentityServer4 中文文档 -3- (简介)已支持的规范
IdentityServer4 中文文档 -3- (简介)已支持的规范 原文:http://docs.identityserver.io/en/release/intro/specs.html 目 录 ...
- PyCharm 2017.2.3 版本在2017年9月7日发布,支持 Docker Compose
PyCharm是由JetBrains打造的一款Python IDE.PyCharm具备用于一般IDE的功能,比如, 调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制 ...
- 咏南中间件增加WEBSOCKET支持
咏南中间件增加WEBSOCKET支持
- kubernetes1.4新特性:支持Docker新特性
(一)背景资料 在Kubernetes1.2中这个第三方组件就是go-dockerclient,这是一个GO语言写的docker客户端,支持Dockerremote API,这个项目在https:// ...
- 假如kubernetes不支持docker了该怎么办
假如kubernetes不支持docker了该怎么办 从官网安装文档可以看到kubernetes支持一下几种: https://kubernetes.io/docs/setup/production- ...
随机推荐
- oracle的Hint
与优化器模式相关的Hint 1 ALl_ROWS 让优化器启用CBO /*+ all_rows */ 2 first_rows(n) 让优化器启用CBO 模式,而且得到目标sql的执行计 ...
- @click.native 会触发原生 click事件 vue
@click.native 会触发原生 click事件 vue
- Android N requires the IDE to be running with Java 1.8 or later
Android Studio需要两个JDK: ide jdk和project jdk: 前者是IDE本身运行使用的JDK. 后者用于编译Java代码 Project JDK 可以通过file-&g ...
- Linux之常用Shell脚本总结
一.简介本文将总结一些常用的shell脚本,方便以后工作中使用. 二.shell脚本[a]定期备份mysql数据库,需结合cronb定时任务调度实现. #!/bin/bash#首先声明一些自定义变量 ...
- manjaro利用docker使用MySQL
使用docker安装MySQL并使用 安装docker: sudo yaourt -S docker 使用docker安装mysql: systemctl start docker # 启动docke ...
- VS2015安装SVN插件
一.下载VISUALlSVN 官网下载:地址 选择[VisualSVN for Visual Studio 2015 and older]的下载按钮下载,目前版本号VisualSVN 5.1.9,支持 ...
- 任务一:零基础HTML编码
面向人群: 零基础或初学者 难度: 简单 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及学习难度的合理性,但即使如此,真正决定课 ...
- OI Journal
佛系更新,哪天想起来就写点. 10.11 班主任硬灌的鸡汤真香 qtmd,简直就是硬扯,说怎么怎么着说不定就能多拿一分两分,一分两分就能割掉好多人 ......螺旋懵圈状,我表示硬憋着不笑 HIAHI ...
- babel实践
现在的主流浏览器还没有完全兼容ES6的语法,如ie11就不支持箭头函数. 使用过es6的人都知道,es6更加简洁和强大,可是使用es6写出来的代码并不能得到所有主流js引擎的支持,针对这一点,一个解决 ...
- 使用scrapy爬取suning
# -*- coding: utf-8 -*- import scrapy from copy import deepcopy class SuSpider(scrapy.Spider): name ...