運(yùn)維工程師必須掌握的基礎(chǔ)技能

首先惋砂,我們可以將運(yùn)維工程師的技能分為以下幾個(gè)大類:

個(gè)人素養(yǎng)

職業(yè)素養(yǎng)

基礎(chǔ)技術(shù)

業(yè)務(wù)技術(shù)

橫向技術(shù)

體系思考

各個(gè)類別具體含義以及如何提升呆躲,我們將在下面詳細(xì)介紹穷躁。

一四瘫、個(gè)人素養(yǎng)

即個(gè)人軟素質(zhì)汉嗽,所有崗位都需要,并不局限在運(yùn)維工程師找蜜。比如:

溝通能力:邏輯清晰的表達(dá)能力至關(guān)重要饼暑,說了半天對(duì)方也 get 不到你的重點(diǎn),就比較尷尬了洗做,推薦書籍《金字塔原理》弓叛;溝通時(shí)容易帶上個(gè)人好惡、個(gè)人情緒诚纸,不就事論事撰筷、容易評(píng)價(jià)別人,別人會(huì)非常反感跟你溝通畦徘,導(dǎo)致合作出問題毕籽,推薦書籍《非暴力溝通》等抬闯。(我也在努力改進(jìn)中...)

學(xué)習(xí)能力:快速學(xué)習(xí)一門新知識(shí)的能力,問問題獲取別人幫助的能力影钉,推薦閱讀著名黑客 Raymond 編寫的短文《提問的智慧》画髓,這個(gè)能力極為關(guān)鍵掘剪。

抗壓能力:其實(shí)就是逆商平委。不抱怨,面向未來面向解法思考問題夺谁,時(shí)刻檢視自己的情緒廉赔,保持積極的心態(tài)。

有一本書叫《商業(yè)至簡(jiǎn)》匾鸥,副標(biāo)題是:60天在早餐桌旁讀完商學(xué)院蜡塌。非常非常非常建議大家讀一讀。個(gè)人素養(yǎng)看起來挺虛的對(duì)嗎勿负?其實(shí)這才是決定一個(gè)人最終高度的東西馏艾。

二、職業(yè)素養(yǎng)

在父母面前你要做一個(gè)好孩子奴愉,在老婆面前你要做一個(gè)好丈夫琅摩,在兒女面前你要做一個(gè)好父親,在不同的角色上是有不同的素養(yǎng)要求的锭硼。想象一下房资,公司、同事希望看到一個(gè)什么樣的你檀头?這個(gè)就是職業(yè)素養(yǎng)轰异。

個(gè)人素養(yǎng)中提到的關(guān)鍵能力,是職業(yè)素養(yǎng)的基礎(chǔ)暑始。在此基礎(chǔ)上搭独,我們還需要:

有章法有條理:交代給你的事情你要搞清楚輕重緩急筷屡,搞清楚步驟邏輯鸡捐,運(yùn)維工程師可能經(jīng)常面對(duì)很多雜項(xiàng),這個(gè)能力非常重要痹仙。

主動(dòng)匯報(bào):要有主動(dòng)匯報(bào)的意識(shí)期升,周報(bào)是一個(gè)典型的手段惊奇,要認(rèn)真寫,讓別的同事和上級(jí)了解你的工作播赁,呈現(xiàn)你的工作成果颂郎,有時(shí)還要考慮主動(dòng)當(dāng)面找上級(jí)溝通進(jìn)展,提出一些方案讓上級(jí)決策容为,給上級(jí)一些存在感乓序。

管理預(yù)期:管理上級(jí)寺酪、下級(jí)、客戶替劈、伙伴的預(yù)期寄雀,實(shí)際執(zhí)行時(shí)要盡量符合預(yù)期,甚至超越預(yù)期陨献,尤其不要有過度承諾盒犹,這樣會(huì)讓別人對(duì)你失去信任。

主觀能動(dòng)性:或稱為 ownership眨业,即主人翁精神急膀,別推一推動(dòng)一動(dòng),不推不動(dòng)龄捡,老板同事都會(huì)很反感這類人卓嫂。

這里我只是羅列了我個(gè)人即時(shí)能想到的比較關(guān)鍵的點(diǎn),當(dāng)然聘殖,還有很多其他的點(diǎn)晨雳,不經(jīng)一番寒徹骨,很難認(rèn)可別人給你的大道理奸腺,這個(gè)是需要自己去持續(xù)體會(huì)和總結(jié)的餐禁。

三、基礎(chǔ)技術(shù)

網(wǎng)絡(luò)基礎(chǔ)技術(shù)洋机、Linux 基礎(chǔ)技術(shù)坠宴、數(shù)據(jù)庫(kù)基礎(chǔ)技術(shù)、性能問題排查工具绷旗,是運(yùn)維工程師必備技能喜鼓。高級(jí)工程師和新手工程師在這些能力上差異明顯,來衔肢,看看這張圖:

常見的性能問題排查工具庄岖,就有如此之多,而且要能看懂這些工具的輸出角骤,必然是要懂得相關(guān)原理的隅忿,這個(gè)知識(shí)儲(chǔ)備就相當(dāng)大了。這些知識(shí)的學(xué)習(xí)邦尊,沒有盡頭背桐,怎么學(xué)習(xí)?

對(duì)于入門而言蝉揍,從 B 站找?guī)讉€(gè)培訓(xùn)機(jī)構(gòu)的視頻來看基本就夠了链峭。

對(duì)于進(jìn)階,可以持續(xù)閱讀一些經(jīng)典書籍又沾,比如《TCP/IP 詳解》弊仪、《Linux 內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》等熙卡。

優(yōu)先學(xué)習(xí)工作中可以實(shí)踐的技術(shù),工作中用不到的技術(shù)時(shí)間久了就忘了励饵,浪費(fèi)時(shí)間驳癌。

這里我也王婆賣瓜一下,我曾經(jīng)錄制過一一套視頻:《面向研發(fā)工程師的 Linux 進(jìn)階知識(shí)》役听,對(duì)于研發(fā)人員颓鲜、初級(jí)運(yùn)維人員都會(huì)有很大的幫助,這些知識(shí)在我看來都是工作必備基礎(chǔ)禾嫉,大家可以對(duì)照這個(gè)目錄查漏補(bǔ)缺學(xué)習(xí):

第1個(gè):課程介紹和講師介紹

第2個(gè):課程大綱介紹

第3個(gè):學(xué)習(xí)方法和理念灾杰,道的層面蚊丐,肺腑之言

第4個(gè):查看發(fā)行版和內(nèi)核版本熙参,uname、hostnamectl等

第5個(gè):查看CPU信息麦备,socket孽椰、core、thread凛篙、cpu.steal

第6個(gè):查看內(nèi)存信息黍匾,total不夠、free呛梆、available的關(guān)系等

第7個(gè):查看硬盤分區(qū)信息锐涯,tmpfs、快速找到大文件等技巧

第8個(gè):查看網(wǎng)絡(luò)信息填物,hostname纹腌、ifconfig、ip a滞磺、route

第9個(gè):查看機(jī)器時(shí)間并校準(zhǔn)升薯,ntpdate和chronyd

第10個(gè):yum配置,yum源

第11個(gè):安裝數(shù)據(jù)庫(kù)并調(diào)優(yōu)

第12個(gè):安裝redis击困,配置認(rèn)證

第13個(gè):wget 和 curl 命令的小技巧

第14個(gè):環(huán)境變量配置涎劈,自動(dòng)執(zhí)行.bash_profile的原理

第15個(gè):vim 使用技巧和前后臺(tái)進(jìn)程切換的方法

第16個(gè):simplehttpd的講解

第17個(gè):nohup 的詳細(xì)解釋,stdout阅茶、stderr蛛枚、stdin 詳細(xì)解

第18個(gè):使用systemd在生產(chǎn)環(huán)境運(yùn)行進(jìn)程

第19個(gè):ulimit基本介紹,演示句柄超限的報(bào)錯(cuò)

第20個(gè):配置ulimit的方法脸哀,兩個(gè)地方都要注意

第21個(gè):進(jìn)程查看類的操作:ps蹦浦、pgrep、ss等

第22個(gè):端口探測(cè)的幾種方式以及nc的使用技巧

第23個(gè):lsof的介紹企蹭,查看進(jìn)程的日志路徑的技巧

第24個(gè):殺死進(jìn)程白筹,kill的注意點(diǎn)

第25個(gè):進(jìn)程的 proc 目錄智末,這是一個(gè)寶藏目錄

第26個(gè):查看某個(gè)進(jìn)程的資源占用情況

第27個(gè):top命令使用技巧

第28個(gè):vmstat需要關(guān)注的點(diǎn)

第29個(gè):容易被誤解的iostat,有哪些字段會(huì)坑人

第30個(gè):查看單個(gè)進(jìn)程的io情況

第31個(gè):ifstat命令介紹徒河,配合watch命令使用

第32個(gè):iftop的使用講解

第33個(gè):iptraf統(tǒng)計(jì)網(wǎng)絡(luò)流量情況

第34個(gè):dstat資源性能數(shù)據(jù)查看的集大成者

第35個(gè):機(jī)器免密登錄

第36個(gè):利用pssh批量執(zhí)行命令

第37個(gè):利用pscp批量分發(fā)文件

第38個(gè):使用Python工具的幾個(gè)小場(chǎng)景

第39個(gè):crontab入門系馆,如何解決找不到命令的問題

第40個(gè):crontab定義方式,給出一些生產(chǎn)樣例

第41個(gè):crontab第一天條顽照,自行檢查上次調(diào)度是否退出

四由蘑、業(yè)務(wù)技術(shù)

運(yùn)維其實(shí)也分很多細(xì)分領(lǐng)域,我這里所謂的業(yè)務(wù)技術(shù)就是指你所在的細(xì)分領(lǐng)域要重點(diǎn)攻克的領(lǐng)域知識(shí)代兵。比如:

接入層的運(yùn)維要重點(diǎn)攻克 Nginx尼酿、HAProxy、LVS植影、Keepalived 等技術(shù)裳擎。

MySQL 的 DBA 就要重點(diǎn)攻克 MySQL、InnoDB思币、MyISAM鹿响、SQL 優(yōu)化、索引優(yōu)化等技術(shù)谷饿。

Kafka 的運(yùn)維要重點(diǎn)攻克 Kafka惶我、Zookeeper、Kafka 集群的搭建博投、Kafka 的高可用等技術(shù)绸贡。

等等。

顯然毅哗,MySQL 的 DBA 不需要對(duì) Kafka 那么熟悉听怕,反之亦然。所以眉毛胡子一把抓沒有側(cè)重點(diǎn)是不可取的黎做。當(dāng)然叉跛,這是大廠的做法,大廠通常喜歡專精的人才蒸殿,一厘米寬度一公里深度筷厘,這些人工資高。小公司反倒是喜歡全棧工程師宏所,每個(gè)方向不需要特別精通酥艳,但是要都能懂一些。

五爬骤、橫向技術(shù)

運(yùn)維領(lǐng)域里有些方向是橫向的充石,DBA 需要關(guān)注,Kafka 的運(yùn)維也需要關(guān)注霞玄,比如 監(jiān)控/可觀測(cè)性骤铃、容量管理和規(guī)劃拉岁、變更、配置管理惰爬、混沌工程喊暖、安全、自動(dòng)化等等撕瞧。

高階的運(yùn)維工程師陵叽,對(duì)這些橫向知識(shí)和技術(shù)也要有相當(dāng)?shù)睦斫狻1热绫O(jiān)控/可觀測(cè)性方向丛版,公司可能有專人來搭建相關(guān)的平臺(tái)巩掺,但是作為具體某個(gè)運(yùn)維人員,你要知道如何接入數(shù)據(jù)页畦、如何更快發(fā)現(xiàn)問題胖替、如何做數(shù)據(jù)運(yùn)營(yíng)、如何利用平臺(tái)提升故障定位能力寇漫,甚至要制定一些規(guī)范和最佳實(shí)踐刊殉。推薦《Prometheus 監(jiān)控實(shí)戰(zhàn)》這本書,作者是:詹姆斯·特恩布爾州胳。

六、體系思考

站在運(yùn)維全局思考逸月,比如下面這些問題:

運(yùn)維給公司帶來的價(jià)值是什么

運(yùn)維和其他團(tuán)隊(duì)的職能邊界和合作模式是什么

運(yùn)維的發(fā)展方向是什么

運(yùn)維的工作重點(diǎn)是什么

運(yùn)維的工作效率如何提升

七栓撞、如何搭建運(yùn)維/SRE能力

既然一切都是為了業(yè)務(wù)成功(不考慮業(yè)務(wù),只考慮自己能否晉升能否忽悠老板的另當(dāng)別論)碗硬,我們就重點(diǎn)來看業(yè)務(wù)需要哪些運(yùn)維能力(后文詳細(xì)講解)瓤湘,需要從哪里獲取這些運(yùn)維能力,典型的獲取方式有三種恩尾。

自建團(tuán)隊(duì)

首先是通過自建團(tuán)隊(duì)提供相關(guān)能力弛说,這個(gè)方式大家最為熟悉,自建的團(tuán)隊(duì)對(duì)業(yè)務(wù)的交付物通常包括兩部分:產(chǎn)品+服務(wù)翰意。先說產(chǎn)品:

如果產(chǎn)品需求是通用需求木人,產(chǎn)品大概率是直接使用的開源項(xiàng)目。需要考慮開源項(xiàng)目的持久性(開源項(xiàng)目研發(fā)人員是否有商業(yè)公司做收入上的支持冀偶,個(gè)人開源項(xiàng)目大都會(huì)死在沒有收入上)醒第、活躍性(項(xiàng)目是否已經(jīng)多年未更新?提的issue进鸠、pr是否及時(shí)處理稠曼?通常一周內(nèi)處理就可以看做是活躍的)、生態(tài)繁榮性(是否有很多人參與做貢獻(xiàn)客年?很多公司投入使用霞幅?)

開源項(xiàng)目是否要二次開發(fā)漠吻?如果二次開發(fā)的代碼可以merge回主干,通常意味著二次開發(fā)的代碼具有通用性司恳,得到了開源項(xiàng)目團(tuán)隊(duì)的認(rèn)可侥猩。如果無法merge回主干,后面的維護(hù)就是麻煩事了抵赢,尤其是人才變動(dòng)之后欺劳,一地雞毛∏穑基于開源項(xiàng)目的API做一些膠水代碼划提,和內(nèi)部系統(tǒng)做整合,通常是可以的邢享,畢竟沒有改造開源代碼鹏往,后面開源項(xiàng)目升級(jí)還是可以跟得上的

當(dāng)然也有不用開源完全自研的(只是使用一些開源的lib庫(kù),核心產(chǎn)品邏輯自研)骇塘,這種要慎重伊履,如果開源社區(qū)沒有相關(guān)的產(chǎn)品,那只能自研款违,但是自研之后就要考慮長(zhǎng)期維護(hù)的問題唐瀑,研發(fā)人員通常喜歡做從0到1的事情,后面收益小了插爹,無法晉升漲薪哄辣,就容易變動(dòng)。而運(yùn)維這個(gè)賽道赠尾,開源社區(qū)的產(chǎn)品琳瑯滿目力穗,需要自研的產(chǎn)品可能屈指可數(shù),三思气嫁。

其次就是服務(wù)当窗,這里所謂的服務(wù),說的是向業(yè)務(wù)側(cè)輸出的專家經(jīng)驗(yàn)寸宵。比如自建團(tuán)隊(duì)做了一款監(jiān)控產(chǎn)品崖面,這個(gè)團(tuán)隊(duì)需要給公司內(nèi)部的“客戶”輸出監(jiān)控的最佳實(shí)踐、監(jiān)控產(chǎn)品出問題的時(shí)候需要這個(gè)團(tuán)隊(duì)快速解決邓馒。其實(shí)嘶朱,公司內(nèi)部的中后臺(tái)團(tuán)隊(duì)需要有很強(qiáng)的服務(wù)意識(shí),同時(shí)還得了解行業(yè)最佳實(shí)踐光酣,否則疏遏,就容易被業(yè)務(wù)牽著鼻子走,走出了和行業(yè)最佳實(shí)踐背道而馳的路子,后面财异,就都是問題了倘零。

服務(wù)的核心,是靠人(當(dāng)然戳寸,能把最佳實(shí)踐固化到產(chǎn)品里呈驶,那自然是極好的),作為管理者疫鹊,要想讓這個(gè)團(tuán)隊(duì)輸出好的服務(wù)袖瞻,就需要考慮很多人的問題,比如:能否招到相關(guān)的人才拆吆、能否留住相關(guān)的人才(發(fā)展空間聋迎、薪資等)、自建團(tuán)隊(duì)每個(gè)方向至少兩個(gè)人互備枣耀,成本是否可以接得住霉晕。

第三方供應(yīng)商

通過第三方供應(yīng)商來獲取運(yùn)維能力,是另一個(gè)路子捞奕,供應(yīng)商的交付物顯然也包括兩部分:產(chǎn)品+服務(wù)牺堰。產(chǎn)品分為開源、閉源兩種類型颅围,有哪些考量點(diǎn)呢伟葫?

開源的產(chǎn)品通常會(huì)有更多的用戶、更多的場(chǎng)景來打磨谷浅,但是一些長(zhǎng)尾需求扒俯,通常不開源,至于原因么一疯,要么是開源團(tuán)隊(duì)把這些長(zhǎng)尾需求作為收費(fèi)項(xiàng),要么就是開源團(tuán)隊(duì)覺得這些長(zhǎng)尾需求不夠通用夺姑,不值得放到產(chǎn)品里墩邀。

閉源的產(chǎn)品,通常受眾小盏浙,沒有太多的開源用戶幫助打磨產(chǎn)品眉睹,就需要經(jīng)過較長(zhǎng)時(shí)間的商業(yè)化客戶打磨,或者废膘,閉源產(chǎn)品的供應(yīng)商有很強(qiáng)大的質(zhì)量管理體系竹海,對(duì)產(chǎn)品有完備的測(cè)試,這就需要找那些家大業(yè)大的供應(yīng)商了丐黄,而且斋配,測(cè)試人員和終端用戶畢竟是兩類人群,商業(yè)客戶的打磨是不可或缺的,只是艰争,如果供應(yīng)商有強(qiáng)大的質(zhì)量保障團(tuán)隊(duì)坏瞄,會(huì)讓這個(gè)打磨過程變得短一些。

不管是開源還是閉源甩卓,供應(yīng)商都是帶著產(chǎn)品來的鸠匀,作為甲方可以直接測(cè)試,來看產(chǎn)品匹配度逾柿,很快就可以得到反饋缀棍,而自建團(tuán)隊(duì)來做的話,可能需要幾個(gè)月甚至一兩年的時(shí)間來開發(fā)机错,業(yè)務(wù)可能等不起爬范,開發(fā)完了之后產(chǎn)品是否真的符合預(yù)期,又有很多因素決定毡熏,結(jié)果具有不可預(yù)見性坦敌。

其次是服務(wù),供應(yīng)商相比自建的團(tuán)隊(duì)痢法,通常會(huì)有優(yōu)勢(shì)狱窘。原因如下:

因?yàn)楣?yīng)商見識(shí)了更多的客戶場(chǎng)景,而ToB公司财搁,長(zhǎng)期的行業(yè)Know-How的積累蘸炸,是這個(gè)公司的核心競(jìng)爭(zhēng)力,供應(yīng)商會(huì)不斷的從優(yōu)秀客戶那里汲取經(jīng)驗(yàn)尖奔,反哺給那些不那么先進(jìn)的客戶搭儒,良性循環(huán),多方共贏提茁。

也是因?yàn)楣?yīng)商見識(shí)了更多的場(chǎng)景淹禾,可以對(duì)產(chǎn)品做更好的抽象,可以讓產(chǎn)品更通用茴扁,更像一個(gè)產(chǎn)品铃岔,而自建團(tuán)隊(duì)做的產(chǎn)品,通常更偏工具峭火,無意冒犯毁习,我說的是通常。

供應(yīng)商之所以在運(yùn)維這個(gè)賽道創(chuàng)業(yè)卖丸,大概率是在這個(gè)賽道有些建樹的纺且,相比自建團(tuán)隊(duì),供應(yīng)商的頂層認(rèn)知通常會(huì)好一些稍浆,你真的去招人的時(shí)候就會(huì)發(fā)現(xiàn)了载碌,最牛逼的那群人猜嘱,要么創(chuàng)業(yè)了,要么太貴了恐仑,要么不愿意來泉坐。

另外說一下成本問題,供應(yīng)商的收費(fèi)大概率是比自己招人(前提是招到合適的人)來的劃算裳仆,否則的話腕让,商業(yè)邏輯不成立。這個(gè)道理顯而易見不再贅述歧斟。

從第三方供應(yīng)商這里獲取運(yùn)維能力纯丸,看起來是碾壓自建團(tuán)隊(duì)的,所以静袖,后面的文章還用讀么觉鼻?其實(shí)也不盡然,對(duì)于某個(gè)運(yùn)維能力队橙,到底更看重的是產(chǎn)品能力坠陈,還是服務(wù)能力,你最需要的是產(chǎn)品能力還是服務(wù)能力捐康,需要 case by case 的看仇矾,后文,我會(huì)從業(yè)務(wù)側(cè)需要的各個(gè)方面的運(yùn)維能力分別拆解解总。

業(yè)務(wù)需要哪些技術(shù)支撐能力

運(yùn)維本質(zhì)是一類技術(shù)支撐能力贮匕,跟基礎(chǔ)架構(gòu)團(tuán)隊(duì)很像,有些活放到運(yùn)維團(tuán)隊(duì)是可以的花枫,放到基礎(chǔ)架構(gòu)團(tuán)隊(duì)問題也不大刻盐,甚至有些公司直接把這類人放到業(yè)務(wù)研發(fā)團(tuán)隊(duì),我們暫且不管分工的問題劳翰,先來梳理一下業(yè)務(wù)需要什么樣的技術(shù)支撐能力敦锌。

這個(gè)圖其實(shí)已經(jīng)很能說明問題了,我再稍微啰嗦一下:

可靠的基礎(chǔ)環(huán)境和組件:業(yè)務(wù)程序要運(yùn)行佳簸,需要基礎(chǔ)網(wǎng)絡(luò)供屉、硬件、操作系統(tǒng)溺蕉、數(shù)據(jù)庫(kù)、中間件等悼做,需要這些環(huán)境和組件穩(wěn)定可靠

快速安全變更的能力:快速變更的能力疯特,大家很容易理解,作為研發(fā)人員肛走,寫了一個(gè)feature或者做了個(gè)bugfix漓雅,肯定很想快速交付,但是變更很容易導(dǎo)致故障,變更需要受控邻吞,需要盡量確保安全

可靠性保障能力:軟件部署到生產(chǎn)環(huán)境之后组题,可能會(huì)遇到各類問題,如何能夠提前做好風(fēng)險(xiǎn)量化抱冷,如何能快速發(fā)現(xiàn)問題崔列、定位問題、快速止損旺遮,這可能是業(yè)務(wù)側(cè)對(duì)運(yùn)維側(cè)最重要的訴求了

最佳實(shí)踐:業(yè)務(wù)依賴很多基礎(chǔ)支撐能力赵讯,這些能力用的如何?是不是業(yè)界最佳實(shí)踐耿眉?是不是公司內(nèi)其他大部分業(yè)務(wù)的最佳實(shí)踐边翼?需要基礎(chǔ)支撐團(tuán)隊(duì)反哺給業(yè)務(wù)

各個(gè)能力如何獲取

上面談及的四個(gè)能力,應(yīng)該如何獲让簟组底?下面我們就掰開了揉碎了講一講。

可靠的基礎(chǔ)環(huán)境和組件

首先說基礎(chǔ)硬件環(huán)境筐骇,顯然有兩種選擇债鸡,上云 or 自建,如果是政策有要求必須自己折騰拥褂,那沒有辦法娘锁,以政策為準(zhǔn)。如果可以自行選擇饺鹃,現(xiàn)在這個(gè)時(shí)代莫秆,大概率是上云更合適,除非公司體量很大悔详,機(jī)器量很大镊屎,自建才可能有優(yōu)勢(shì)。注意茄螃,我這里說的是才可能缝驳,算成本的時(shí)候切記要把人力成本算上,別只算了硬件的成本归苍。

關(guān)于擇業(yè):對(duì)于系統(tǒng)運(yùn)維工程師用狱、網(wǎng)絡(luò)運(yùn)維工程師,看起來并不是個(gè)好消息拼弃,云的出現(xiàn)確實(shí)搶占了一部分這類崗位的空間夏伊,沒辦法,時(shí)代的車輪滾滾向前吻氧,大家都是歷史的塵埃溺忧。

再說組件咏连,比如MySQL、Redis鲁森、MongoDB祟滴、Kafka、ElasticSearch歌溉、Nginx垄懂、Kubernetes等等,顯然有3種選擇研底,使用云上PaaS產(chǎn)品 or 自己折騰 or 自己出硬件+供應(yīng)商出方案和服務(wù)埠偿。針對(duì)每種選擇,我們分別做一下點(diǎn)評(píng):

云上PaaS產(chǎn)品:如果規(guī)模不大榜晦,沒有相關(guān)人才儲(chǔ)備冠蒋,使用云上PaaS產(chǎn)品,是比較合適的乾胶,可以快速把能力建設(shè)起來抖剿,選擇使用云上PaaS產(chǎn)品的甲方,通常已經(jīng)使用了云上的虛擬機(jī)识窿、Kubernetes類的Runtime環(huán)境斩郎,順帶采買PaaS類的產(chǎn)品,也比較絲滑喻频,不需要再跟新的供應(yīng)商做對(duì)接缩宜。

自己折騰:如果某個(gè)組件規(guī)模很大,或許是有自建的必要性的甥温,比如Kafka锻煌,自己折騰,招2個(gè)人一主一備姻蚓,水平還可以宋梧,出了問題能兜底,在北京的話每年大概100萬的成本狰挡,得多大的規(guī)模才能從硬件和組件上省出這些錢呢捂龄?當(dāng)然,也可以招聘一些低成本的運(yùn)維工程師(劃重點(diǎn)加叁,這里可能需要運(yùn)維工程師倦沧,但是職級(jí)不高),能解決日常問題它匕,高階問題解不了刀脏,高階問題可以求助外部供應(yīng)商的專家服務(wù)。

自己出硬件+供應(yīng)商出方案和服務(wù):第三方供應(yīng)商相比云廠商的PaaS產(chǎn)品超凳,通常性價(jià)比更高愈污,響應(yīng)更快,但是組件如此之多轮傍,每個(gè)供應(yīng)商大概率只能搞定有限的幾款暂雹,作為甲方,可能要同時(shí)跟多個(gè)供應(yīng)商打交道创夜,略微麻煩杭跪。對(duì)于需要跨云協(xié)同的產(chǎn)品,比如統(tǒng)一監(jiān)控驰吓、故障定位涧尿、FinOps相關(guān)的產(chǎn)品,如果公司用了多家云或是混合云架構(gòu)檬贰,大概率是第三方供應(yīng)商更為合適姑廉。

關(guān)于擇業(yè):各組件的資深老炮,第一選擇是去云廠商工作或創(chuàng)業(yè)輸出經(jīng)驗(yàn)翁涤,第二選擇去自建組件的大廠桥言,普通中小廠,很難有高薪資葵礼,畢竟第三方的專家服務(wù)性價(jià)比不低号阿。

快速安全變更的能力

業(yè)務(wù)研發(fā)最常做的變更是二進(jìn)制、配置的變更鸳粉,當(dāng)然扔涧,還有對(duì)基礎(chǔ)環(huán)境以及組件的變更需求。

我們先說二進(jìn)制届谈、配置的變更枯夜,怎么做才能又快又安全的迭代呢?可以分階段疼约,公司還比較小的時(shí)候卤档,不用太關(guān)注工具的建設(shè),只需要定好規(guī)范和流程即可程剥。規(guī)范方面比如:部署在哪個(gè)賬號(hào)下劝枣,哪個(gè)目錄下,日志怎么放织鲸,進(jìn)程怎么托管舔腾,任何變更必須能夠可回滾等等,流程方面比如:變更通報(bào)機(jī)制搂擦、多模塊協(xié)同上線機(jī)制稳诚、無法回滾的需要有審批機(jī)制等等。

然后瀑踢,需要有歷史變更的量化數(shù)據(jù)扳还,比如某個(gè)團(tuán)隊(duì)最近一個(gè)季度有多少次變更才避,回滾率如何,故障率如何氨距,各個(gè)團(tuán)隊(duì)有個(gè)對(duì)比桑逝,做的不好的團(tuán)隊(duì)就會(huì)在下個(gè)季度好好改善的。

當(dāng)公司繼續(xù)變大俏让,就可以投入人力做變更類的平臺(tái)楞遏,把規(guī)范制度落實(shí)到平臺(tái)上,產(chǎn)出量化數(shù)據(jù)首昔,因?yàn)椴煌墓厩闆r各異寡喝,在傳統(tǒng)的物理機(jī)虛擬機(jī)時(shí)代,很少看到有商業(yè)化的變更系統(tǒng)勒奇。當(dāng)然预鬓,Kubernetes起來之后,屏蔽掉了底層的很多差異撬陵,基于Kubernetes做變更平臺(tái)通用性強(qiáng)了很多珊皿,開始有相關(guān)的產(chǎn)品出來。

生產(chǎn)環(huán)境的變更巨税,和測(cè)試環(huán)境蟋定、聯(lián)調(diào)環(huán)境的變更還不太一樣,生產(chǎn)環(huán)境對(duì)穩(wěn)定性要求比較苛刻草添,測(cè)試環(huán)境驶兜、聯(lián)調(diào)環(huán)境則相對(duì)沒有太高的要求。所謂的CI/CD的系統(tǒng)远寸,大都是針對(duì)測(cè)試環(huán)境抄淑、聯(lián)調(diào)環(huán)境的,能夠?qū)ιa(chǎn)環(huán)境做到CD的公司驰后,屈指可數(shù)肆资。

劃重點(diǎn):測(cè)試、聯(lián)調(diào)環(huán)境的CI/CD系統(tǒng)灶芝,更多的是為研發(fā)效率提速郑原;生產(chǎn)環(huán)境的變更系統(tǒng),更多的是確保穩(wěn)定性夜涕、落地規(guī)范制度的犯犁。公司前期體量小,靠規(guī)章制度就夠了女器,后面就需要規(guī)章制度+變更平臺(tái)協(xié)同發(fā)力了酸役。

這個(gè)規(guī)范制度誰來定?變更平臺(tái)誰來開發(fā)?

規(guī)范的制定其實(shí)偏前期涣澡,可能運(yùn)維團(tuán)隊(duì)都還沒有的時(shí)候規(guī)范就已經(jīng)有了贱呐,所以,大概率是CTO以及下轄的Core團(tuán)隊(duì)來制定就好了暑塑。如果之前沒有制定過吼句,運(yùn)維總監(jiān)(運(yùn)維總監(jiān)上場(chǎng)了)可以牽頭制定,CTO下轄的Core團(tuán)隊(duì)來評(píng)審(大家有參與度)事格,最終CTO拍板(自頂向下)發(fā)布,大家執(zhí)行搞隐。

變更平臺(tái)的開發(fā)驹愚,由運(yùn)維團(tuán)隊(duì)來開發(fā)相對(duì)比較合適,后文還會(huì)介紹一些其他的平臺(tái)劣纲,成立一個(gè)專門的運(yùn)維團(tuán)隊(duì)(這里我說的運(yùn)維和SRE沒有區(qū)別逢捺,你也可以管這個(gè)團(tuán)隊(duì)叫SRE團(tuán)隊(duì))是合適的。變更平臺(tái)因?yàn)橐涞毓镜囊?guī)范癞季,外采的情況比較少劫瞳,公司大到一定規(guī)模之后,基于開源的東西自研绷柒、攢志于,是個(gè)大概率的選擇。

關(guān)于擇業(yè):變更管理是企業(yè)中的重要一環(huán)废睦,同時(shí)服務(wù)于穩(wěn)定性體系伺绽。這是一個(gè)典型的DevOps崗位,天花板大概在P7+的水平(純屬個(gè)人看法嗜湃,僅供參考)奈应。

另外就是基礎(chǔ)組件和環(huán)境的變更,典型的比如MySQL表結(jié)構(gòu)购披、Nginx配置杖挣、DNS、VIP等等刚陡,這類變更可以內(nèi)化到組件管控平臺(tái)里惩妇,讓組件能力提供方提供變更入口和管控能力。

可靠性保障能力

這個(gè)能力非常重要橘荠,SRE就是Site Reliability Engineering的縮寫屿附,即站點(diǎn)可靠性工程。從CTO的角度哥童,軟件部署到生產(chǎn)環(huán)境挺份,后續(xù)可能會(huì)有各種問題發(fā)生,希望能有一套工程體系來保障可靠性贮懈。這是一個(gè)巨大的話題匀泊,本文不會(huì)事無巨細(xì)优训,只是理清楚哪些事哪些人來負(fù)責(zé)即可。

所謂的可靠性各聘,就是與故障做斗爭(zhēng)的過程揣非,所以,我們還是來看故障的生命周期躲因,從生命周期的各個(gè)環(huán)節(jié)著手早敬,把故障打趴下,甚至直接把它扼殺在搖籃之中大脉。

故障開始之前降發(fā)生

事前的預(yù)防和風(fēng)控搞监,有很多的工作。比如:制定告警完備性標(biāo)準(zhǔn)并對(duì)各個(gè)業(yè)務(wù)線做量化評(píng)估;制定定位原則和流程以及故障定級(jí)定責(zé)的標(biāo)準(zhǔn);提前梳理各個(gè)業(yè)務(wù)的核心功能和服務(wù)模塊的對(duì)應(yīng)關(guān)系刻伊,建立全局穩(wěn)定性視圖或者作戰(zhàn)室怀愧,便于快速揪出故障模塊或接口;對(duì)架構(gòu)做優(yōu)化;梳理故障預(yù)案并定期演練保鮮,也就是混沌工程那攤事;等等等等牢酵。

這里有些事情是需要業(yè)務(wù)研發(fā)來搞定的,比如架構(gòu)優(yōu)化怖现,剩下的事情茁帽,我的建議是:讓運(yùn)維團(tuán)隊(duì)來牽頭,研發(fā)配合屈嗤。比如CTO下轄的Core團(tuán)隊(duì)大概率既有運(yùn)維一號(hào)位也有各個(gè)業(yè)務(wù)的技術(shù)一號(hào)位潘拨,名義上要CTO拍板,授權(quán)運(yùn)維一號(hào)位來牽頭饶号,各個(gè)業(yè)務(wù)的研發(fā)一號(hào)位來配合铁追,當(dāng)然了,實(shí)際操刀的時(shí)候茫船,運(yùn)維一號(hào)位可能是找了一個(gè)得力干將來實(shí)操琅束,各個(gè)業(yè)務(wù)線可能也是有技術(shù)一號(hào)位依仗的人來做接口人配合。

除了架構(gòu)優(yōu)化之外算谈,其他這些事情都是橫向的事情涩禀,是可以有一些方法論和最佳實(shí)踐的,把大家拉通然眼,有利于共享這些方法論和最佳實(shí)踐艾船。當(dāng)然,有些人會(huì)有疑問:我們能否直接在研發(fā)團(tuán)隊(duì)找個(gè)人來組成這么一個(gè)穩(wěn)定性的虛擬組織,共同推進(jìn)這個(gè)事情呢屿岂?其實(shí)也可以嘗試践宴。不過會(huì)有這么幾點(diǎn)問題:

每個(gè)業(yè)務(wù)線通常只有這么一兩個(gè)接口人,人少活多爷怀,這個(gè)人大概率很難兼顧業(yè)務(wù)代碼開發(fā)和穩(wěn)定性工作阻肩,如果這個(gè)人全職做穩(wěn)定性了,其實(shí)就相當(dāng)于SRE了

如果是SRE运授,和業(yè)務(wù)研發(fā)人員的考核體系其實(shí)是不同的烤惊,KPI怎么定?而且這個(gè)人可能也沒有很好的歸屬感

如果這個(gè)人同時(shí)兼顧兩個(gè)事情:穩(wěn)定性吁朦、業(yè)務(wù)研發(fā)撕氧,可能會(huì)引發(fā)人的惰性,穩(wěn)定性工作遇到問題的時(shí)候喇完,天然的就會(huì)想去干點(diǎn)業(yè)務(wù)研發(fā)的活,業(yè)務(wù)研發(fā)遇到問題的時(shí)候剥啤,又想偷懶去干穩(wěn)定性的活

劃重點(diǎn):事前的預(yù)防和風(fēng)控锦溪,請(qǐng)各位CXO找運(yùn)維總監(jiān)要結(jié)果,但是必須給予極大的配合府怯,從上往下推刻诊。對(duì)于搞定這攤事的SRE工程師角色,看起來是需要非常專業(yè)的高級(jí)別人士牺丙,工作5年以內(nèi)大概率認(rèn)知跟不上则涯,或許,從資深研發(fā)團(tuán)隊(duì)招SRE是一個(gè)不錯(cuò)的選擇冲簿,各位CXO可以嘗試下粟判。

故障開始之后降影響

一旦故障發(fā)生,我們的首要目標(biāo)就變成降影響了峦剔。相關(guān)團(tuán)隊(duì)立馬協(xié)作起來档礁,快速定位直接原因、快速止損吝沫,事后再慢慢排查根因即可呻澜。這里會(huì)涉及如下一些工作內(nèi)容:

定義故障:通常,業(yè)務(wù)的指標(biāo)出現(xiàn)問題就代表故障開始了惨险,比如訂單量下跌羹幸、叫車呼叫量下跌、支付量下跌辫愉,老板會(huì)尤為關(guān)注這類指標(biāo)栅受;而某個(gè)機(jī)器的CPU飆高或者磁盤用滿,可能只是團(tuán)隊(duì)內(nèi)部消化的問題,甚至K8s類的系統(tǒng)自動(dòng)漂移解決窘疮,通常對(duì)客戶主流程沒有影響袋哼,老板是不關(guān)注的。為了不至于草木皆兵闸衫,我們就需要區(qū)分故障和問題的定義涛贯,不同的業(yè)務(wù)線指標(biāo)不同,但是總體方法論是一樣的蔚出。

響應(yīng)故障:故障告警接收人是給業(yè)務(wù)研發(fā)弟翘?還是SRE?還是OnCall中心骄酗?不同的公司做法差異巨大稀余,我個(gè)人的想法是:直接發(fā)給有能力處理的人!沒有非黑即白趋翻,不同的告警不同的處理機(jī)制睛琳,比如基礎(chǔ)網(wǎng)絡(luò)有問題,顯然是要發(fā)給網(wǎng)工踏烙,某個(gè)業(yè)務(wù)有問題师骗,發(fā)給對(duì)應(yīng)的運(yùn)維和研發(fā),盡量不要在中間再轉(zhuǎn)一次讨惩,發(fā)給張三辟癌,張三處理不了去聯(lián)系李四,就浪費(fèi)時(shí)間了荐捻,故障處理應(yīng)該爭(zhēng)分奪秒黍少。

快速定位:一套行之有效的故障定位系統(tǒng),是大殺器处面。故障定位系統(tǒng)通常是基于可觀測(cè)性數(shù)據(jù)構(gòu)建的厂置,可以看做是駕駛艙級(jí)別的產(chǎn)品≡Ь可觀測(cè)性數(shù)據(jù)是海量的农渊,如果不經(jīng)過梳理利用,這些海量的數(shù)據(jù)無法變成有價(jià)值的信息或颊。從定位的角度來看砸紊,通常需要的是:可觀測(cè)性體系+故障定位+持續(xù)運(yùn)營(yíng),這里要展開的話內(nèi)容就太多了囱挑。

快速止損:止損要快醉顽,就要有完備的預(yù)案,每次故障復(fù)盤的時(shí)候平挑,建議CTO游添、運(yùn)維總監(jiān)關(guān)注預(yù)案有效率系草,就是說,這個(gè)故障是否是利用一個(gè)既有的預(yù)案來止損的唆涝,還是現(xiàn)攢的解決方案找都。如果是現(xiàn)攢的,說明你們的預(yù)案不夠完備啊廊酣。

OK能耻,上面洋洋灑灑一片,回歸問題亡驰,針對(duì)這塊工作內(nèi)容晓猛,CTO找誰要結(jié)果?我的建議是:SRE團(tuán)隊(duì)(文中多次出現(xiàn)運(yùn)維凡辱、SRE字眼戒职,在本文中基本都代表一個(gè)意思,這里的運(yùn)維不止是Operations)透乾。顯然SRE無法搞定所有的故障洪燥,應(yīng)該說大部分故障都得借助其他團(tuán)隊(duì)的人,但是CTO總不能一會(huì)找A團(tuán)隊(duì)一會(huì)找B團(tuán)隊(duì)吧乳乌。所以蚓曼,SRE要攜CTO的尚方寶劍,牽頭整體的穩(wěn)定性建設(shè)钦扭,各個(gè)業(yè)務(wù)需要出接口人極力配合,所謂的穩(wěn)定性建設(shè)床绪,包括事前的預(yù)防風(fēng)控客情、事中的統(tǒng)籌協(xié)同、事后的復(fù)盤推進(jìn)癞己,這也是SRE對(duì)公司的最大價(jià)值膀斋。

最佳實(shí)踐

這個(gè)內(nèi)容很多,比如用什么機(jī)型套餐比較合適痹雅,用什么組網(wǎng)方式比較合適仰担,用哪些組件公司具有更好的掌控力、可以得到更好的支持(不管是內(nèi)部團(tuán)隊(duì)還是借助第三方供應(yīng)商)绩社,公司推薦甚至要求的編程語(yǔ)言摔蓝、框架是什么,業(yè)界推薦的接入層方案是什么愉耙?變更方案是什么贮尉?可觀測(cè)性怎么做?等等等等朴沿。

不可否認(rèn)猜谚,牛逼的業(yè)務(wù)研發(fā)團(tuán)隊(duì)败砂,這些實(shí)踐方式是門清的,但是同樣不可否認(rèn)魏铅,業(yè)務(wù)線多了之后昌犹,水平是良莠不齊的,水平差的團(tuán)隊(duì)勢(shì)必需要教練角色的人览芳,總不能啥事都去找CTO吧斜姥,SRE團(tuán)隊(duì)作為一個(gè)橫向的技術(shù)團(tuán)隊(duì),特別適合負(fù)責(zé)這攤事路操。但是顯然疾渴,這是一個(gè)高端職位,新瓜蛋子干不來屯仗,招聘高階人士做業(yè)務(wù)BP是推進(jìn)技術(shù)棧趨于統(tǒng)一的有效手段搞坝,如果CTO用不好這個(gè)抓手,技術(shù)體系會(huì)百花齊放魁袜,后面則是各種治理困局桩撮。

上面的四個(gè)支撐能力,業(yè)務(wù)側(cè)應(yīng)該如何獲取峰弹,CTO應(yīng)該如何統(tǒng)籌店量,各團(tuán)隊(duì)?wèi)?yīng)該如何配合,大致就說這么多鞠呈。下面我們?cè)僮鰞蓚€(gè)小結(jié)融师。

小結(jié)1:CTO如何幫助業(yè)務(wù)線獲取這些支撐能力?

顯然蚁吝,CTO不需要親力親為旱爆,但CTO要做好把關(guān),CTO要頒發(fā)政策窘茁,是全軍統(tǒng)帥怀伦。橫向的工作落給SRE團(tuán)隊(duì),各團(tuán)隊(duì)出接口人極力配合山林,大概率是個(gè)最佳實(shí)踐房待。如果把橫向的工作目標(biāo)完全打散到業(yè)務(wù)團(tuán)隊(duì)自閉環(huán),就無法享受到橫向團(tuán)隊(duì)帶來的經(jīng)驗(yàn)傳播能力驼抹。而且桑孩,屁股決定腦袋,不在其位不謀其政框冀,各個(gè)業(yè)務(wù)自己容易有小九九洼怔,中心的橫向組織也是一個(gè)削藩機(jī)制,抱歉這個(gè)詞用的重了左驾,本意是好的镣隶,你要自己體會(huì)啦极谊。

另外補(bǔ)充一點(diǎn)FinOps的話題,F(xiàn)inOps也是一個(gè)橫向能力安岂,是否也要交由SRE來做呢轻猖?這個(gè)倒是未必。就讓業(yè)務(wù)自閉環(huán)我覺得也挺好的域那,業(yè)務(wù)自己要負(fù)責(zé)盈虧咙边,IT支出是支出大頭,業(yè)務(wù)的GM理應(yīng)是很上心的次员,CEO把營(yíng)收凈利相關(guān)的KPI壓給業(yè)務(wù)GM败许,業(yè)務(wù)GM可以自閉環(huán)做好折中的。

小結(jié)2:運(yùn)維/SRE擇業(yè)建議

如果沒有太高的職級(jí)和薪資期望淑蔚,做一些相對(duì)基礎(chǔ)的Operations工作也是可以的市殷,10年內(nèi)這個(gè)崗位大概率不會(huì)消亡。如果對(duì)職級(jí)和薪資有更高期望刹衫,先深扎某個(gè)細(xì)分領(lǐng)域醋寝,做到行業(yè)專家,是一條行之有效的路徑带迟。再之后音羞,則講究多個(gè)技術(shù)方向的融會(huì)貫通了,又要往廣度發(fā)展仓犬。再之后嗅绰,創(chuàng)業(yè)或者高管。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搀继,一起剝皮案震驚了整個(gè)濱河市办陷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌律歼,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,207評(píng)論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啡专,死亡現(xiàn)場(chǎng)離奇詭異险毁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)们童,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門畔况,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人慧库,你說我怎么就攤上這事跷跪。” “怎么了齐板?”我有些...
    開封第一講書人閱讀 170,031評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵吵瞻,是天一觀的道長(zhǎng)葛菇。 經(jīng)常有香客問我,道長(zhǎng)橡羞,這世上最難降的妖魔是什么眯停? 我笑而不...
    開封第一講書人閱讀 60,334評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮卿泽,結(jié)果婚禮上莺债,老公的妹妹穿的比我還像新娘。我一直安慰自己签夭,他們只是感情好齐邦,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,322評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著第租,像睡著了一般措拇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上煌妈,一...
    開封第一講書人閱讀 52,895評(píng)論 1 314
  • 那天儡羔,我揣著相機(jī)與錄音,去河邊找鬼璧诵。 笑死汰蜘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的之宿。 我是一名探鬼主播族操,決...
    沈念sama閱讀 41,300評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼比被!你這毒婦竟也來了色难?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,264評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤等缀,失蹤者是張志新(化名)和其女友劉穎枷莉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尺迂,經(jīng)...
    沈念sama閱讀 46,784評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笤妙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,870評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了噪裕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹲盘。...
    茶點(diǎn)故事閱讀 40,989評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖膳音,靈堂內(nèi)的尸體忽然破棺而出召衔,到底是詐尸還是另有隱情,我是刑警寧澤祭陷,帶...
    沈念sama閱讀 36,649評(píng)論 5 351
  • 正文 年R本政府宣布苍凛,位于F島的核電站趣席,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏毫深。R本人自食惡果不足惜吩坝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,331評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哑蔫。 院中可真熱鬧钉寝,春花似錦、人聲如沸闸迷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)腥沽。三九已至逮走,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間今阳,已是汗流浹背师溅。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評(píng)論 1 275
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盾舌,地道東北人墓臭。 一個(gè)月前我還...
    沈念sama閱讀 49,452評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像妖谴,于是被迫代替她去往敵國(guó)和親窿锉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,995評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容