抬頭看天,低頭看路,五一看人:雲時代的DBA,何去何從?
編輯手記:本文根據〖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這部分需求量會被大大減少或者集中化,集中到雲的提供商那裏;或者說集中在某一些第三方的服務商裏為雲提供服務。
所以,這是我們在最近幾年就會麵臨的一些非常重要的變化和改變。
說明:本文為蓋國強先生本次演講的前半部分。後半部分在整理之中。
本文出自數據和雲公眾號,原文鏈接
最後更新:2017-07-18 11:32:58