35歲那年,我做了一個(gè)面臨失業(yè)的決定
前言
最近和老板以及 CTO 商議,最終是決定了轉(zhuǎn)向??云原生數(shù)據(jù)庫(kù)??,在會(huì)議結(jié)束后,我們的 CTO 攬著我的肩膀,和我說了一句意味深長(zhǎng)的話:我35歲了,轉(zhuǎn)向云原生數(shù)據(jù)庫(kù)這個(gè)決定可能會(huì)影響我的職業(yè)生涯,要么晉升迎娶白富美,要么搞得一團(tuán)糟最終失業(yè)。我聽了這句話有點(diǎn)意味深長(zhǎng),雖然我們公司沒有全面擁抱云原生,但是目前公司大部分產(chǎn)品已經(jīng)是轉(zhuǎn)向了云原生數(shù)據(jù)庫(kù)的懷抱了。我目前接觸數(shù)據(jù)庫(kù)工作接近10年了,前5年接觸的是傳統(tǒng)的數(shù)據(jù)庫(kù),后5年隨著技術(shù)的變革開始接觸云數(shù)據(jù)庫(kù),隨后就在這家公司開始接觸云原生數(shù)據(jù)庫(kù),感觸還是很多的。
前5年,傳統(tǒng)數(shù)據(jù)庫(kù)的痛
我剛出來工作那會(huì)是12年,那時(shí)候移動(dòng)互聯(lián)網(wǎng)開始興起,越來越多的互聯(lián)網(wǎng)公司開始興起,數(shù)據(jù)逐漸有了一定的規(guī)模,我去找了一份后臺(tái)開發(fā)的工作,除了每天寫 CRUD 的代碼以外,還需要去維護(hù)和管理公司的機(jī)房,沒錯(cuò)你沒有聽錯(cuò)就是機(jī)房,那時(shí)候數(shù)據(jù)庫(kù)基本上是自己搭建的,用交換機(jī)和服務(wù)器,在一個(gè)’陰森’的房間,我穿著厚厚的防凍服,在冰涼的黑窗口獨(dú)自敲著命令,幸虧還有一絲燈光,不至于顯得太過于凄涼。
作為一個(gè)業(yè)余的機(jī)房管理者,要頭疼的東西實(shí)在是太多了,首先設(shè)備采購(gòu)就是一個(gè)很大的問題,資本家都青睞于用一份錢買兩份商品,所以前期的服務(wù)器的配置、交換機(jī)的敲定就很頭疼,如果選擇配置低的,后期我需要花很大的功夫去優(yōu)化去配置,都想提桶了,我是 CRUD 程序員,不是 Linux 程序員。如果選擇配置高的,我肯定會(huì)輕松很多,可以專注于業(yè)務(wù)的編寫以及整體架構(gòu)的優(yōu)化,但是把,成本太高了,直接被 pass 了。
其次就是機(jī)房的各種軟件的安裝和維護(hù),因?yàn)槲覀児緵]有請(qǐng)專門的運(yùn)維,那個(gè)時(shí)候運(yùn)維這個(gè)工作還不是很成熟,沒有專門的運(yùn)維,都是由程序員兼職去做的,那時(shí)候公司有一個(gè)機(jī)房值班表,好家伙,我一看,全部是后臺(tái)開發(fā)程序員。軟件安裝和各種虛擬化以及后期的維護(hù)都是我們來做的,痛!太痛了。我畫了一張示意圖,大概我一個(gè)人一天要去管理和維護(hù)那么多臺(tái)機(jī)器。
還有一個(gè)很重要的點(diǎn),那就是資費(fèi)的問題,因?yàn)槲覀児臼欠康禺a(chǎn)中間商的網(wǎng)站,當(dāng)時(shí)的業(yè)務(wù)是有季節(jié)性的,大概在6-12月是旺季,那時(shí)候購(gòu)房者的需求是比較大的,由于流量的增大,對(duì)于服務(wù)器的要求也是比較大的,這個(gè)時(shí)候上半年采購(gòu)的服務(wù)器完全是不夠用的,這半年我們團(tuán)隊(duì)基本上是不會(huì)去寫業(yè)務(wù)的,基本上就是各種優(yōu)化,降低服務(wù)器的負(fù)載,我當(dāng)時(shí)就在想,如果有服務(wù)器可以靈活一點(diǎn)該多好。
后3年,云數(shù)據(jù)庫(kù)的輕
后面實(shí)在是不堪重負(fù),我選擇了提桶。時(shí)間眨眼間過了五年多,那時(shí)候的數(shù)據(jù)庫(kù)已經(jīng)日趨成熟,MySQL 成為了霸主,市面上百分之80的公司都在用,而且出現(xiàn)了非關(guān)系型數(shù)據(jù)庫(kù),像 redis、ElasticSearch 等這種數(shù)據(jù)庫(kù),由于數(shù)據(jù)量的增大,數(shù)據(jù)庫(kù)在整個(gè)業(yè)務(wù)中顯得越來越重要了。
這個(gè)時(shí)候出現(xiàn)了云數(shù)據(jù)庫(kù),我們公司由于是快速發(fā)展中的小企業(yè),使用的是亞馬遜云原生數(shù)據(jù)庫(kù),我第一次使用就被這種使用模式所驚艷了。真的是很方便,完全不需要我去擔(dān)心數(shù)據(jù)庫(kù)方面的東西,因?yàn)樗麄兌紟臀遗渲煤昧?,我只需要專注于我?sql 編寫即可,一旦有大量的要求,我走審批加錢去升級(jí)容量就可以了,一旦到了淡季我可以降低容量,甚至還體驗(yàn)了一把無服務(wù)器版本的 Aurora,不用都無需花什么錢,簡(jiǎn)直省了不少錢。
而且連傳統(tǒng)的機(jī)房的錢也省了,據(jù)說這家企業(yè)全部產(chǎn)品轉(zhuǎn)向云原生數(shù)據(jù)庫(kù)了以后,把公司的原來的機(jī)房改造成了一個(gè)健身房。
剛好這幾年,終端工具也逐漸多了起來,像 XSehll、MobaXterm 等工具,可以直接通過這種工具去連接到云端,我甚至有點(diǎn)懷念我以前在小黑空調(diào)房里面調(diào)試數(shù)據(jù)庫(kù)的日子了。
方便不說,而且種類是真的齊全,如果想要關(guān)系型數(shù)據(jù)庫(kù),可以選擇 Amazon RDS、Amazon Aurora,如果想選擇緩存,可以選擇 Amazon Elasticache、Amazon MemoryDB for Redis,想用文檔型數(shù)據(jù)庫(kù),有Amazon DocumentDB,想嘗試圖數(shù)據(jù)庫(kù),可以選擇 Amazon Neptune,甚至是非關(guān)系型數(shù)據(jù)庫(kù),有 Amazon DynamoDB,可以說是只有你用不到,沒有亞馬遜云科技做不到。
這2年,云原生數(shù)據(jù)庫(kù)的卷
這兩年,我也逐漸邁入云原生的步伐,不僅僅是因?yàn)楦鞔髲S商都開始發(fā)布自己的云原生的產(chǎn)品,越來越卷了,更重要的是,隨著人工智能和大數(shù)據(jù)的普及,云原生才是真正的未來。我們之前使用的云數(shù)據(jù)庫(kù)其實(shí)本質(zhì)上是屬于云計(jì)算領(lǐng)域,云計(jì)算應(yīng)用程序通常是在內(nèi)部使用傳統(tǒng)基礎(chǔ)設(shè)施開發(fā)的,并且經(jīng)過調(diào)整后可以在云中遠(yuǎn)程訪問,簡(jiǎn)單理解就是我在地面上通過遠(yuǎn)程軟件去鏈接大氣層的云軟件,實(shí)質(zhì)上還是部分在云上。接下來我來講講為啥我要完全上云?
首先從是使用角度,云計(jì)算應(yīng)用程序通常需要手動(dòng)升級(jí),比如說我要升級(jí)數(shù)據(jù)庫(kù)的或者是服務(wù)器的,通常是需要先關(guān)閉再升級(jí)再打開這么幾個(gè)步驟,從而會(huì)導(dǎo)致應(yīng)用程序中斷和關(guān)閉,而我在使用云原生數(shù)據(jù)庫(kù)的時(shí)候是感受到了云原生數(shù)據(jù)庫(kù)的友好,他是具備高度可擴(kuò)展性,可以對(duì)集群規(guī)模進(jìn)行實(shí)時(shí)調(diào)整,而不會(huì)對(duì)整個(gè)應(yīng)用程序造成干擾。意味著我可以無感升級(jí)或者降配。
接著我感觸更深的就是價(jià)格,畢竟我們上云就是為了降低成本,從以前的自建機(jī)房到后面的云數(shù)據(jù)庫(kù),都在進(jìn)一步降低成本,或者說是把成本轉(zhuǎn)嫁到其他廠商身上,我們把機(jī)房搭建、服務(wù)器運(yùn)行、服務(wù)器維護(hù)、軟件安裝等一系列成本轉(zhuǎn)嫁到了亞馬遜云科技等一眾廠商身上,我們只需要付小部分錢就可以享受到了更優(yōu)越的服務(wù)。
亞馬遜云科技的云原生應(yīng)用程序不需要任何硬件或軟件上的投資,因?yàn)樗鼈兪窃谠粕线M(jìn)行的,可以靈活的利用云的彈性優(yōu)勢(shì),因此使用起來相對(duì)便宜,這對(duì)于中小型企業(yè)來說簡(jiǎn)直是福音。
私貨:Amazon DocumentDB 的使用體驗(yàn)
順帶說一下最近公司轉(zhuǎn)型云原生數(shù)據(jù)庫(kù)使用最頻繁的一款產(chǎn)品吧,那就是Amazon DocumentDB。他是一款兼容 MongoDB 的數(shù)據(jù)庫(kù)產(chǎn)品,由于公司在轉(zhuǎn)型期間所做的一些業(yè)務(wù)拓展,對(duì)于海量的 json 數(shù)據(jù)的處理有性能與成本方面的考量。
我們 MongoDB 是一款文檔型數(shù)據(jù)庫(kù),他使用的是 json 格式的數(shù)據(jù),與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)不同。在以前,如果想要支持高并發(fā)的請(qǐng)求,通常我需要搭建多臺(tái)服務(wù)器組成一個(gè)集群,而 Amazon DocumentDB 通過獨(dú)立擴(kuò)展計(jì)算和存儲(chǔ),支持每秒數(shù)以百萬計(jì)文檔的讀取請(qǐng)求,就問各位老鐵,這個(gè)功能六不六。
我們公司的評(píng)論是使用 MongoDB 來存儲(chǔ)的,按照以前方式的部署,一旦服務(wù)器出現(xiàn)了問題,不僅僅會(huì)導(dǎo)致評(píng)論這個(gè)功能出現(xiàn)問題,一不小心還會(huì)導(dǎo)致整個(gè)系統(tǒng)宕機(jī),而 Amazon DocumentDB 的一個(gè)功能給了我很大幫助,那就是自動(dòng)化硬件預(yù)置、修補(bǔ),我至此就再也沒有擔(dān)心過穩(wěn)定性的問題了,而且他還可以通過自動(dòng)復(fù)制、連續(xù)備份和嚴(yán)格的網(wǎng)絡(luò)隔離實(shí)現(xiàn) 99.999999999% 的持久性,數(shù)據(jù)的穩(wěn)定性保障讓我很放心。
從 MongoDB 遷移到 Amazon DocumentDB也很簡(jiǎn)單,借助另一個(gè)服務(wù)Amazon DMS 就可以啦。
總的來說,這一輪體驗(yàn)下來的感受還不錯(cuò),性能方面目前是比 MongoDB 集群部署的性能還要再高一點(diǎn),估計(jì)都替老板省下了不少錢。
總結(jié)
35歲 CTO 的一句話給我的感觸實(shí)在是太深了,回想起我剛?cè)肼毷褂玫募夹g(shù)和現(xiàn)在使用的技術(shù),簡(jiǎn)直是千差萬別,需求在不斷的變難,而我們也在不斷進(jìn)步,相信在未來,更優(yōu)秀的云原生數(shù)據(jù)可以有更廣泛更多的運(yùn)用,而不是僅僅只是停留在開發(fā)者的層面。
【文末專屬福利】
福利一:100余種產(chǎn)品免費(fèi)套餐。其中,計(jì)算資源Amazon EC2首年12個(gè)月免費(fèi),750小時(shí)/月;存儲(chǔ)資源 Amazon S3 首年12個(gè)月免費(fèi),5GB標(biāo)準(zhǔn)存儲(chǔ)容量。
??https://aws.amazon.com/cn/free/??
福利二:最新優(yōu)惠大禮包,200數(shù)據(jù)與分析抵扣券,200機(jī)器學(xué)習(xí)抵扣券,200$微服務(wù)與應(yīng)用開發(fā)抵扣券。
??最新優(yōu)惠活動(dòng)_云服務(wù)器促銷 - 亞馬遜云科技??
福利三:解決方案 CloudFormation一鍵部署模版庫(kù)
??云服務(wù)解決方案部署快速入門_云服務(wù)部署-亞馬遜云科技云服務(wù)??
原文來自亞馬遜云科技開發(fā)者文章:
??https://dev.amazoncloud.cn/column/articleDetail?id=631ac6256137874758c8fe31??