用Docker作为PaaS的替代方案是否完美无缺

随着数字技术的普及,越来越多的企业面临着海量数据。虽然企业都希望用大数据掘金,然而数字化能力的缺失也使企业极易淹没在这片无边无际的数据海洋里。互联网使得数据的流动和共享成为了可能,云计算技术的发展使数据分析向更加全面的方向迈进。

作为云计算的三种服务形式之一,PaaS似乎一直不温不火,裹足不前。Docker的出现似乎又带来了一种新的选择,而且对于开发者来说更加灵活、便捷、易用。既然用户可以直接在Docker上运行,PaaS是否还有应用场景?面对企业繁杂的应用环境,用Docker作为PaaS的替代方案是否完美无缺?

Pivotal大中华区总经理刘伟光先生在接受51CTO记者采访时这样说道:“Docker和PaaS间的关系应该是融合,而不是竞争。”

Pivotal公司由EMC和VMware联合成立,自2013年4月开始独立运营。2015年对于Pivotal全球和中国来讲,是里程碑的一年,其基于开源PaaS平台打造的PCF(Pivotal CloudFoundry)在中国市场增长率超过300%。2016年Pivotal继续在中国本土发力,将“植根于中国市场,发力于高端企业”作为发展的战略主题。

对刘伟光的采访让记者了解到全球争相进行数字化转型的背景下,Pivotal本地化战略背后的意义;以及中国本土企业上云的过程中,该以怎样的视角看待Docker和PaaS。

全球范围的数字化转型变革

从德国的“工业4.0”、美国的“工业互联网”到“中国制造2025”,数字化转型引领的企业IT革命正在全球各地拉开序幕。数据是数字化转型的核心。在中国大数据概念虽然已被热炒多年,但在传统行业中的实际应用结合上仍与欧美国家还是有一定差距。如农业、制造业等许多传统行业的大数据项目还停留在初级阶段,即使是在我们IT水平强大的金融和电信行业中,我们仍然可以看到很多大数据平台的项目仍然难以摆脱原有的数据仓库、数据集市的影子。

归根结底,这还是国家生产力的区别。美国的、医疗、卫生、制造业、农业,零售业,海洋探测等许多行业已经将大数据跟生产力相结合。通过利用传感器技术和机器学习的技术实现多种数据源的采集、管理,分析以及决策支持,产生新的商业价值,极大促进了生产力的发展。

我国的大数据项目不比那些欧美国家少,但是我们大部分还是围绕在传统项目的更新、升级。虽然中国也是制造业大国,但在这些行业当中,大数据和云计算项目的启动度、实施周期,相比我们的金融、电信、互联网还是要慢一些的。但是假以时日,我相信中国在电信、金融、互联网、电商、物流等领域的积极探索和实践一定会带动整个产业链走向数字化转型的潮流。

PaaS开始成为企业IT刚需

企业的云化之路往往经由两种路径之一——“平台先行”或是“应用先行”。

当一个企业IT足够强大,将IT视为其生命力时,IT部门往往会先于业务部门考虑业务创新,对企业发展起主导作用。通过吸收更多来自新兴技术的想法,拥抱优秀的开源技术,计划如何构建云计算、大数据平台等技术手段,应对未来可能出现的爆发型增长需求。这也就是“平台先行”的路径。

平台先行带来的好处在于构建统一的IaaS和PaaS平台后,企业所有的硬件资源和工具软件资源被整合到一起,底层数据实现统一融合。这样不仅简化了维护的复杂度,缩短程序的开发成本周期,实现了多种应用开发部署平台的统一,也提高了企业内部人员的响应速度,提高生产效率,同时降低了维护成本云经济效应逐渐凸显。

但我们所看到的中国绝大部分企业还是走了应用先行的路线。移动互联网的崛起使企业应用开发不得不忙于追赶市场趋势的脚步,这在造成软件开发成本和硬件资源消耗急剧上升的同时,今天几乎所有的企业的应用系统建设的脚步都在加快,传统应用的升级换代仍在进行,新的移动应用层出不穷,开发模式不同带来的挑战,应用的管理和维护的复杂度提高趋势越来越明显。这时候云计算到了必须推动其变革的阶段。在PaaS的层面带来的益处恰好就是实现DevOps是最为行之有效的办法,它能让整个开发设计测试部署的周期变得缩短,有效降低了管理维护难度,提高了系统面向市场压力的产品更新速度。

在刘伟光看来,真正有PaaS需求的企业往往具有几个特点

应用足够复杂。包括历史遗留的应用,还有新型待开发的应用

由于多种应用产生的多种数据源

即将部署的各种开源的大数据技术体系

在企业的传统系统建设情况分析,从应用到WebServer,运行时到数据库最后到主机网络和存储,通常呈现“烟囱式”的形态,多种烟囱并存几乎是所以企业今天面临的共同难题,而且它也绝不是单单通过虚拟化能解决的。IaaS的工作就是把在开发时企业所关注的一系列底层的资源隔离出来,进行抽象管理,实现硬件资源的横向打通和统一调度,而不再需要某一个特定的环境。PaaS区别于虚拟化技术对硬件资源的管理和整合,它实现对软件资源的调度、伸缩和管理,会涉及到很多的中间件、容器、数据库、监控管理,任务调度等等。PaaS通过提供统一管理Dashboard,可以让用户直观地看到上面成百上千应用的运行状态、资源使用情况、灵活调配资源,系统自动实现调度资源、管理资源、发布应用,而且新应用很容易在上面进行发布、管理,降低整个使用周期。这对过去IT系统开发运维是一个根本性变革。“PaaS更像IT运行环境中的雷锋,呈上启下,麻烦了自己,方便了别人。”刘伟光这样形容。

Docker和PaaS间的抉择

Docker通过将应用程序打包成Docker文件或者镜象,发布在整个容器当中,能够实现应用环境的快速迁移,屏蔽了很多开发者在管理上的复杂度。但刘伟光同时说道,Docker只是容器。一旦企业需要PaaS,目标一定是解决大规模复杂应用的需求。目前来看,Docker容器虽然开发者众多,但在企业应用所最看重的稳定性上仍然不能让人放心。就需要管理构建成百上千个Docker,这是非常复杂的。Docker的编排与管理一直有所缺失,所以在其之上已经发展出众多容器生态参与者,如 Mesos、Kubernetes、Marathon、Swarm等,都在帮助Docker成长。但是这个生态圈在发展的过程当中也不能避免相互之间的竞争。企业追求的是时间和效力,对于如何选择、组合使用这些Docker编排和调度工具,对企业来说不仅非常困难,也大大增加管理和维护成本。

PaaS 平台的原则是“app-centric”,以应用为中心,而不是容器为中心。企业PaaS平台容器服务如果管理成百上千个应用,就需要再支持应用层面的持续发布、持续集成、安全服务、路由管理、灰度管理、配置管理等等功能,目前这个Docker生态体系仍然没有任何一家的功能可以满足这些需求,要选择五到八种工具去手工打造组合成这样的功能。同时支持这些功能的平台,自身的升级、扩容、容灾备份机制又会变成企业的又一道难题。当然,Docker的进步非常快,在不断解决各种问题。Docker和Pivotal同是OCI容器标准的成员,未来的容器技术一定会走向统一的标准runC,就如同当年J2EE的标准一样。Cloud Foundry就已经支持使用Docker镜像。而Cloud Foundry作为主流的开源PaaS,已经在多个大型企业的关键生产应用中经过验证。

PCF是Pivotal基于开源PaaS平台Cloud Foundry打造的商业版软件,致力于通过定义PaaS功能规范,为企业带来开箱即用的企业级PaaS服务。谈及如何看待Docker与Cloud Foundry之间的关系,刘伟光这样认为:“Docker和Cloud Foundry的关系应该是包容,而不是竞争。Cloud Foundry基金会有几十个成员,Docker公司也是成员之一,也在不断关注Cloud Foundry的生态圈的发展。Pivotal也在和IBM、Google、Amazon等公司一起建立OCI(Open Container Initiative),制定整个Docker容器未来的标准。

PCF通过构建以容器为核心,面向数据的企业级的PaaS平台,使企业既满足使用Docker的需求,又能实现Pivotal CloudFoundry提供的易用的企业级安全管理、应用管理、数据服务的特点。PCF只将容器作为平台当中的一层服务,在这个容器层当中有一条线,叫作“价值链”,在它下面是容器的管理、编排、镜像、文件、容器仓库等;上面是面向企业级的应用,如Jenkins等持续集成、持续发布等服务,对 DevOps提供直接的支持。

另据刘伟光透露,整个Pivotal Cloud Foundry未来研发的方向会向Docker生态圈工具有所倾斜。在PCF1.7Beta版本已经开始对Kubernetes的集成提供支持。

除此之外,PCF还具备Spring框架的天然优势,程序员可以利用Spring Cloud开发云原生程序,直接发布到平台上;除了支持应用运行,PCF内置MySQL、RabbitMQ、Redis、GemFire、Cassandra、MongoDB等大量Data Services,为产品级应用提供数据库服务支撑;同时还支持一键发布、持续集成和持续交付,以及APM、ELK引擎等,真正聚焦于企业应用的全生命周期管理。

“正如新的Pivotal Cloud Foundry领军人物Onsi讲的一句话‘太平洋很大,这个市场能够足够容多个Winners,而不是大家在这个市场一开始就把桌子掀翻',如果将Docker与CloudFoudnry实现完美的融合,将产生一个强大无比的兼容性技术平台,让用户别无他选,从而一统天下”,刘伟光表示。

Pivotal的本地化战略

2016年Pivotal将战略主题定位于“植根于中国市场,发力于高端企业”。刘伟光向记者解读了这一主题的战略意义:“Pivotal希望做一颗深埋在中国市场的种子,通过与本土实力强劲的合作伙伴的深度合作,根据中国市场的国情和目前的发展形式,将Pivotal的云计算和大数据产品与企业自身的应用解决方案相结合,为那些真正有需求的企业提供更供完加完备的服务。”

经过对中国市场长时间的摸索与调研,Pivotal仍然重点发力于大型国有企业、金融、电信等云计算、大数据发展相对成熟的高端企业市场,并已经开始为平安科技、招商银行、TSMC、中信证券,首都在线,国家超级计算中心,北京电视台多几十家大型企业客户提供PaaS解决方案,目前我们正在和几家更大的企业进行在这个领域进行合作和探索,到了2016下半年相信会有更振奋人心的消息传来。

刘伟光对中国本土市场云计算、大数据的发展前景大为看好,并对Pivotal未来的市场份额信心满满:

“许多中国高端企业在受到互联网公司的冲击后,都已经开始把PaaS作为云计算的核心。云计算和大数据是一对天生的兄弟,在大型企业当中,云计算的项目往往需要和大数据结合在一起。Pivotal正是一家独一无二的提供PaaS和全面大数据解决方案的公司,背后又有兄弟公司Vmware和EMC在技术体系上的大力支持,这种得天独厚的优势让我们可以帮助客户在云端走向大数据之旅。未来我们会帮助更多的高端企业客户逐渐实现数字化转型。”

以上所述是小编给大家介绍的用Docker作为PaaS的替代方案是否完美无缺的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Docker 实现浏览器里开发Android应用的功能

    在浏览器里开发Android应用          这里需要用到Docker的知识, Che 发布后对Android应用开发多了一个工具,这里就对如何实现该功能就行详细介绍: Eclipse Che 最近Che发布了正式版,那我就介绍下在Che上开发Android吧-- 使用Che需要懂得一些Docker的知识,只需要一点点即可,因为Che是基于Docker的,所以了解Docker有助于理解Che的工作方式. 不废话,教程只有四步,开始. 第一步:部署docker服务器 我选择的是digital

  • 在Docker上开始部署Python应用的教程

    几周前, Elastic Beanstalk声明在AWS云中配置和管理Docker容器.在本文中,我们通过一个简单的注册表单页面应用去理解Docker部署过程,该表单使用Elastic Beanstalk Python环境. 关于注册表单应用 几个月之前,我们就已经开发完这个应用并且发表在博客上.有4部分视频和一篇文章"Using DynamoDB and SNS with Elastic Beanstalk in any Supported AWS Region".今天,我们将在这部

  • Docker 实现在线集成开发环境实例详解

    Docker 实现在线集成开发环境 由于,学校有流量限制,每月10G,超流量后限速为50KB/s,作为一个正常人类,这点流量肯定是不够用的,所以我 需要一个几乎没有流量.网速限制的开发环境. 虽然ssh连接服务器,在服务器终端下开发几乎不限速.不限流,但是开发全靠vim显然有些"不亲民",大部分人对命令行界面并不熟悉. 终端下的开发环境搭建起来也是颇为麻烦,所以本文将用 三步 教你打造一个界面美观.功能强大的.菜鸟都可以轻松搭建的 在线集成开发环境 . 目标: 一键部署,一句命令完成在

  • ubuntu14.04+docker的安装及使用

    安装 官方推荐在ubuntu安装,本文选择在ubuntu14.04作为宿主系统. 系统更新 复制代码 代码如下: sudo apt-get update && apt-get upgrade -y sudo reboot     #最好重启一下  安装docker 复制代码 代码如下: curl -s https://get.docker.io/ubuntu/ | sudo sh  基础命令 复制代码 代码如下: # 下载一个ubuntu镜像 sudo docker pull ubuntu

  • 在windows下的安装Docker的教程

    非官方备注:你的CPU一定要支持VT才可以,笔者的笔记本T6400不支持VT是装不上的,所以一定要支持VT,好在笔者的MAC很OK,公司电脑也给力,如果在win7系统安装需要是64的系统. 上一节我们介绍了在ubuntu和centos下的安装,当然都是基于64位系统的,在学习过程中,你可能没有这些东西,当然你可以用virtualbox或者Vmware虚拟化出来,今天我们介绍的是官网给我们提供的using vagrant! 介绍 Docker可以用虚拟主机技术运行在Windows上像virtual

  • Docker 清理命令集锦

    杀死所有正在运行的容器 复制代码 代码如下: docker kill $(docker ps -a -q) 删除所有已经停止的容器 复制代码 代码如下: docker rm $(docker ps -a -q) 删除所有未打 dangling 标签的镜像 复制代码 代码如下: docker rmi $(docker images -q -f dangling=true) 删除所有镜像 复制代码 代码如下: docker rmi $(docker images -q) 为这些命令创建别名 复制代码

  • 解决执行docker daemon命令时出错的问题

    最近在工作中遇到了一个问题,在一开始执行docker daemon命令时总是会出错导致进程stop,按照网上的方法在/etc/fstab文件里添加了一行 none /sys/fs/cgroup cgroup defaults 0 0 这时Docker daemon可以起来了,但是有了新的问题--执行docker run命令时出现"no left space on device"字样的错误: 后来又使用apt-get update&&apt-get upgrade升级了包

  • 利用OpenVSwitch在多台主机上部署Docker的教程

    [编者的话]当你在一台主机上成功运行Docker容器后,信心满满地打算将其扩展到多台主机时,却发现前面的尝试只相当于写了个Hello World的入门程序,多主机的网络设置成了下一道门槛.在你尝试各种方案时不妨先看看本文,或许就会豁然开朗,发现原来也不复杂.嗯,是的,本文用到了 OpenVSwitch. 运行Docker已经不是什么新鲜事,网上有很多入门教程来帮助你在一台主机上运行容器.这台主机可以是Linux服务器,也可以是Mac(借助类似boot2docker的项目). 在多台主机上运行却是

  • docker 的java编译环境构建详细介绍

    用Dockerfile 构建一个java的编译环境,这里整理下实现步骤: 1.包括以下软件包 ubuntu jdk maven svn 2.jdk.maven 需要手动下载,下载之后分别为 jdk-8u51-linux-x64.gz apache-maven-3.3.3-bin.tar.gz 3.创建一个Dockerfile文件,包含以下内容 FROM ubuntu RUN apt-get update RUN apt-get -y install subversion ADD jdk-8u51

  • Docker 修改文件是否需要重启(命令详解)

    Docker 修改文件是否需要重启 Docker 修改文件是否需要重启,在做项目的时候,经常会修改文件,对于命令不是多了解,用了也是试试的态度,这里就整理下该如何使用,提高工作效率. 需要修改一期项目中的代码了,之前每次都是用"试一下"的方式得出要不要启动,现在总结下哪些情况需要启动什么 1.首先再熟悉下每条命令的作用 docker-compose up -d -将会在后台启动并运行所有的容器 docker-compose stop -停止一个已经运行的容器,但不删除它,可通过dock

随机推荐