编辑手记:本文根据〖2016 全球运维大会•深圳站〗现场演讲内容整理而成。感谢“高效运维(微信ID:greatops)”公众号的记录整理和发布。祝朋友们五一节日快乐,出行之间,抬头看天,不忘低头看路。
讲师简介
盖国强
中国地区首位Oracle ACE和ACE总监,中国地区最著名的Oracle技术推广者之一,他的专著《深入解析Oracle》、《循序渐进Oracle》等书籍受到Oracle技术爱好者的广泛好评。
2010年,与Oracle ACE总监张乐奕先生共同创立ACOUG(中国Oracle用户组),持续推动Oracle技术圈的地面活动和技术交流。
导言
盖国强:感谢大家,今天我来跟大家分享一个主题《Oracle数据库的DevOps实践》。听了那么多开源的、开放的产品,我非常高兴能够在这里跟大家讲讲Oracle。
自我介绍
首先请允许我做一点简短的自我介绍。我的职业生涯差不多可以概括为两个阶段,用今天的语言来讲就是:O2O,从线上到线下。
我的前半段技术生涯基本上是在线上完成的,从大学毕业开始,我就有幸参与到ITPUB论坛的建设中,最终成为其中主要的成员之一,ITPUB论坛聚集和培养了那个时代一大批数据库人才。
因为我在社区上的一些努力,获得了Oracle的一个荣誉称号,叫Oracle ACE和Oracle ACED。
Oracle ACED这个称号至今也是比较少的,在国内Oracle用了十年时间一共发展了十位左右,我是当时的第一位。
我的第二段职业生涯在线下,我们汇聚了在线上结识的技术专家,成立了一家公司,在国内提供数据库方面的咨询和服务。
今天首先我来跟大家分享一下,在开源领域蓬勃发展、国内谈了那么多年去IOE之后,Oracle这家公司在做什么,这个数据库领域正在发生一些什么事儿,以及关于云时代背景下,DBA的一些探讨。
Oracle2015:All About Cloud
我首先引用一页PPT,这是Oracle的创始人Larry Ellison 去年在Oracle的全球大会上最后用的一页PPT。
大家看到,他在讲Oracle的2015年是在云上进行革新的一年,Larry 分别指出Oracle在IaaS、PaaS、SaaS这三层分别在做什么。
我列出三个关键字可以看出Oracle对于云的理解。
在IaaS层,Oracle最关心的是安全,只有保证安全,才能让用户放心的采用公有云。
在PaaS层,Larry Ellison强调的是Easy Migration。
Oracle认为未来是混合云的时代,那么云应该支持非常方便的迁移,用户可以快速地上到公有云,也可以快速地回到企业私有云环境。
在SaaS层,Oracle关注的是如何去做一个全栈集成的SaaS软件服务。
唯有安全、便捷、集成的云,才是完整的、可以让用户信赖的云环境。
这可以看做Larry Ellsion 对 Oracle 2015年的总结,在他整个演讲中,只用了很少篇幅谈Oracle数据库,最核心的只有云。
在2014年同样最后的一页总结的PPT,大家可以看到和 2015 年所列的总结几乎完全相同,Larry 同样是在谈这一年中在云上做了很多革新,从IaaS、到PaaS、SaaS全面在进行转变。
所以,基本上你可以看出Oracle这家公司在今天云的时代,它全力以赴在做的一件事情就是把所有的产品和服务转移到云上来。
Cloud:改变数据库领域竞争格局
为什么在数据库领域占据领导地位的Oracle公司,这么全力以赴的去做这样的转型?
我引用Gartner去年的一个分析报告,在数据库领域有一个史无前例的形态出现了:
大家看到,在数据库的领导者象限中,微软第一次超过了Oracle,这还不是最重要的,最重要的是在Oracle之后还有另外一家厂商AWS出现了。
这个局面是前有狼,后有虎,Oracle首次在Gartner的分析报告中处于这样的一种局面。
为什么会有这样的一种局面出现?这份报告中有一些陈述:
微软在云上的投入和在云上的远景,使它超越了竞争对手,获得了分析师和客户的认可。
对于AWS来说,它在公有云的IaaS上获得了公认的成功,依托IaaS服务,AWS在云上提供的RDS服务包括自有的NoSql数据库服务,使得这个从来不在这个领域的玩家在这里出现了。
当然,大家已经看到,有很多变化在快速发生,包括前一段时间微软宣布它的SQL Server居然要支持Linux系统了。
这个世界变化很快,在云上你很难预测明天会发生什么。
在这里我想跟大家分享的是:云技术改变了数据库领领域的竞争格局。如果未来大家都是通过SaaS去使用一项服务的时候,其实很少会有用户关注SaaS后端运行的数据库是什么,这对Oracle来说是最严重的威胁。
Oracle全堆栈:不断的革新,走进云时代
Oracle在云上的努力
Oracle在全球已经建立了19个数据中心提供公有云服务,去年和腾讯达成战略合作,要在中国落地全球第20个数据中心。
虽然我们不知道今天的进展是怎样的,但是如果这个合作能够成功的话,它在中国公有云市场将占有重要的一席之地。
Oracle这家厂商是在IOE这些传统厂商中非常独特的一家,可以说它拥有与众不同的竞争力。
今天它来构建公有云的时候,从IaaS,它自己能够生产从CPU到主机的所有硬件,在PaaS层,不仅有数据库、中间件,还有Java,再看 SaaS 层,Oracle同样有大量的企业级软件。
所以,从我的观点来看,在新的时代里,Oracle可能是传统的IOE厂商中唯一的一家有机会在原有道路上重新崛起的厂商。
虽然大家今天在热议各种各样的开源产品、分布式架构,但是Oracle的影响力仍然在,创新力仍然在。
Oracle已经做到了什么?
来自于官方的数据,Oracle说每天已经有7000多万人在使用Oracle的公有云服务,有500多个Oracle的SaaS产品在公有云上运行。
当然前面还提到,今天Oracle在全球建立了20家数据中心提供公有云的服务。这是它一系列的努力所达到的成果。
Cloud DBA:自后向前置的运维转变
云产生了这么巨大的影响,也必然影响到我们。大家可能多数都是做运维的,有一些朋友是做DBA的,那么:
在云时代,运维和DBA会向哪个方向去走?
这个图想必大家都看过了,这是Gartner的一个分析报告,在技术成熟度曲线上可以看到,今天最火热的就是DevOps,现在大家都已经在谈DevOps各种形态的落地和实现。
DevOps:开发和运维磕磕碰碰
什么叫DevOps?
我用我的视角来阐述了一下,在很多领域里面或者在大家的很多实践里,开发和运维一直存在着磕磕碰碰的现状:
程序员说“我们的代码写完了,现在问题是你的了!”夸张一点的一个『手榴弹』扔了过来。
这些代码在你接在手里会不会炸?肯定会!!!但是你可能不知道在什么时间、什么情形下。
运维人员是用职业生涯在趟雷救火。大家想一想,这样的情况是否真实存在?
DevOps:从全局视角看运维
在DevOps的时代,是大家对于一件事情的整体理解发生了改变。
传统的形态下,开发人员认为老板给钱,就是让我快速迭代开发一个软件,实现一个功能。
运维的使命是说,我的职责是为了让系统更稳定,减少不确定性变更。
这两者天然存在着矛盾和对立,尤其是在开发一贯的加班加点赶工的情况下,缺少文档、缺乏完备测试,比如不断将不稳定性引入线上。
但是今天我们看到,大家最终认识到必须把我们的目标统一在企业的共同目标之下:
大家如何让一个系统变得更稳定、为用户提供更好的服务,这才是根本的目标。
只有企业目标实现了,这两伙人的目标才能最终实现。
所以,我们认为DevOps更重要的是让大家树立一个全局的观点,从全局的观点去看运维。
以前我们国家有一个成语叫盲人摸象,如果每个人都只是从自己的角度看一小块内容的时候,这时候很多看法难免是矛盾和对立的。
运维抓到的是尾巴以为程序很单薄,而程序员认为手里是稳健的柱子。
我引用了一页老王的PPT,我觉得非常有意思,和我刚才所传达的思想也是一致的。
传统情况下,我们看到运维如果着眼在生产环境的稳定性上,和开发的关系难免是矛盾甚至是对立的,双方在墙的两面互相用力,这就总是对立的。
那么,如何改变这种问题呢?
我觉得老王概括得非常好,他说有两点:
拆墙。要把中间的隔阂拆掉,让互相的反作用力变成循环的推动力。
换舞台。把这个基础环掉,换成如何实现商业和用户的价值。
所以,跟我前面简单的描述是非常接近的,大家要把目标统一到为商业和用户价值去服务,这样可以从全局的角度去改变很多事儿。
云带来的数据库运维改变
落地到Oracle数据库的角度来说,大家都在谈DevOps。
DevOps在Oracle的领域中将来会是一件什么样的事情?
首先我们来看一下在传统的数据库运维中,尤其是在Oracle的数据库运维中我们面临的是一些什么样的问题?
这是一份来自于内部的统计数据,代表DBA在运维Oracle时的问题分布
我们看看上一个时代运维人员最大的困扰之处,或许你会惊讶的看到,作为一个DBA,面临一个最主要的问题居然是安装!
今天在社群里的讨论,也会经常看到很多人装Oracle装不上,出现各式各样的错误,你可能很难想象,一个有着40年历史的领导者软件,在用户安装的时候还会遇到大量的问题。
你可能也会知道,成功安装一套RAC集群环境,一直被认为是一个高端技能。
从问题分布来看跟安装相关的还有:平台的认证相关、OSD相关的问题。除此之外还有其他跟管理相关、跟Performance等相关,有这样一系列的分布。
所以,如果说未来在DBA领域会发生什么样的变化,其实一目了然,我们认为中间一系列的问题将来在云上会被消灭掉,这也是以前在传统的运维模式上最大的困扰。
如何去部署环境,简单的例如:如何安装一套单机数据库;复杂的,例如:如何安装部署一套RAC集群,然后你要再为它搭一套DG作为灾备,这些工作就很复杂。
但是这一系列的问题我们相信将来在云上带来的变革,几乎完全会被替代掉。进一步,跟数据库管理层相关的,我相信至少有一半的传统工作会被消灭掉。
但是这里面唯有极小的一部分工作,可能那20%的问题将来要花80%的精力去解决,就是跟Performance相关的,这3%跟性能相关的任务我们未来要集中去面对和解决。
在传统的运维领域或者服务领域,尤其是在Oracle领域,我们的DBA是怎么划分他们的工作的?大家在做什么?
长期以来,大家在这个领域里有两类称谓,一类是运维DBA,这是偏后端的,跟数据库的安装、部署、调网络、调主机、调存储、做备份等等这一类事情;
另外一类被称为产品DBA,有时候也被称为开发DBA,它通常是靠前端的,可能跟业务更熟,跟交易流程更熟,跟数据模型更熟,通常要跟开发甚至架构、业务在一起工作的。
在我们的视野里,将来运维DBA这部分需求量会被大大减少或者集中化,集中到云的提供商那里;或者说集中在某一些第三方的服务商里为云提供服务。
所以,这是我们在最近几年就会面临的一些非常重要的变化和改变。
说明:本文为盖国强先生本次演讲的前半部分。后半部分在整理之中。
搜索 盖国强(Eygle)微信号:eeygle,或者扫描下面二维码,备注:云和恩墨大讲堂,即可入群。每周与千人共享免费技术分享,与讲师在线讨论。
诗和远方:云和恩墨大讲堂期刊第四期
删繁就简-云和恩墨的一道面试题解析
用SQL解一道数学题:Gauss和Poincare
2015 Oracle 十大热门文章精选
Oracle 12c ASM 防火防盗新特性揭秘
DBA入门之路:学习与进阶之经验谈
关注本微信(OraNews)回复关键字获取
2016YHEMSZ ,云和恩墨大讲堂深圳交流会;
2016GOPSZ,2016深圳全球运维大会PPT;
DBALife,"DBA的一天"精品海报大图;
12cArch,“Oracle 12c体系结构”精品海报;
DBA01,《Oracle DBA手记》第一本下载;
YunHe,“云和恩墨大讲堂”案例文档下载;