#DevOps 的前世今生# 4. DevOps 的文化

用工具堆砌的DevOps 幻覺

在第一屆 DevOpsDays結(jié)束后,DevOps 運(yùn)動則如星火燎原之勢在全球發(fā)展開來皇忿。隨著 DevOps 思想的不斷傳播葡幸,相對的質(zhì)疑和批評也從未停止過。以至于到今天對于 DevOps 的定義還是眾說紛紜朗恳,爭論不休湿颅。

當(dāng)人們還在爭論 DevOps的時(shí)候,一批基于敏捷的工程實(shí)踐和自動化工具帶著 DevOps 的標(biāo)簽走入了人們的視野僻肖。人們開始認(rèn)為 DevOps 就是使用這些工具進(jìn)行自動化肖爵。

在早期的 DevOps實(shí)踐里,開發(fā)和運(yùn)維仍然是分離的臀脏。而在很多企業(yè)中劝堪,運(yùn)維部門往往是核心部門,評審應(yīng)用軟件的架構(gòu)設(shè)計(jì)和上線要求揉稚。于是運(yùn)維部門開始利用這些被稱作為“DevOps”的自動化工具管理設(shè)備和應(yīng)用系統(tǒng)秒啦。并且將自己相關(guān)的實(shí)踐打賞了“DevOps”的標(biāo)簽傳播開來。

于此同時(shí)搀玖,開發(fā)團(tuán)隊(duì)開始采用這些工具構(gòu)建開發(fā)用的測試環(huán)境余境。并將運(yùn)維需求帶入了開發(fā)流程中,這促進(jìn)了內(nèi)建質(zhì)量灌诅。并且利用持續(xù)集成服務(wù)器( Continous Integration Serever) 構(gòu)建持續(xù)交付流水線(Continuous delivery pipeline)來可視化軟件交付的進(jìn)度和流程芳来,并通過流水線完成了自動化部署。持續(xù)集成服務(wù)器連接了開發(fā)和運(yùn)維猜拾!

這就是DevOps 即舌?

同床異夢” 的 DevOps

雖然開發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)使用的工具變了,然而事情卻沒有改變:我們?nèi)匀荒芸吹健绷鞒探Y(jié)合在一起挎袜,但工作目標(biāo)仍然分離“的兩個(gè)團(tuán)隊(duì):運(yùn)維團(tuán)隊(duì)仍然牢牢控制著環(huán)境顽聂,控制著上線標(biāo)準(zhǔn)和上線流程肥惭。通過補(bǔ)充更多自動化的測試和驗(yàn)證手段構(gòu)建更加嚴(yán)格的控制著變更的入口和出口。開發(fā)團(tuán)隊(duì)仍然不停的為了滿足運(yùn)維團(tuán)隊(duì)制定的更加嚴(yán)格的開發(fā)規(guī)范更加努力的學(xué)習(xí)各種工具而不斷加班紊搪。

運(yùn)維團(tuán)隊(duì)仍然不關(guān)心開發(fā)團(tuán)隊(duì)是否需要幫助蜜葱,開發(fā)團(tuán)隊(duì)也依然不了解運(yùn)維團(tuán)隊(duì)在做什么。如果沒有 DevOps文化的建立耀石,DevOps 僅僅是“通過自動化工具和手段構(gòu)建的標(biāo)準(zhǔn)流程”而已牵囤。

有人甚至開始把這兩個(gè)團(tuán)隊(duì)融合在了一起,變成了一個(gè)團(tuán)隊(duì)娶牌。這在一定程度上緩解了這種矛盾奔浅,但是相互指責(zé)卻并沒有讓團(tuán)隊(duì)凝聚起來更加具有戰(zhàn)斗力。而是變成了一個(gè)緩慢而爭論不休的“Dev和Ops 法庭”:項(xiàng)目經(jīng)理或者產(chǎn)品經(jīng)理成為了法官诗良,Dev 和 Ops 則輪番成為原告和被告汹桦。

這不是DevOps !

早期的 DevOps文化:信任和尊重

早在 “10+ Deploys Per Day: Dev and Ops Cooperation at Flickr” 的演講里,就總結(jié)出了 Dev 和 Ops 的合作并不能僅僅只有工具鉴裹,還需要依托文化把某些行為和價(jià)值觀帶到組織內(nèi)部舞骆。這個(gè)演講很有洞見的總結(jié)了 Dev 和 Ops 的不同觀點(diǎn)和思維模式,并從 Dev 和 Ops 的立場分別給出了促進(jìn)合作的建議径荔。這其中包括:

尊重:避免成見并尊重他人的經(jīng)驗(yàn)督禽,觀點(diǎn)和責(zé)任。不要只是一味的拒絕改變总处,或者把隱藏細(xì)節(jié)狈惫。對于Dev 來說,當(dāng)和 Ops 交流的時(shí)候鹦马,則應(yīng)該告訴代碼對 Ops 工作的影響胧谈。

信任:對于 Ops 來說,他們應(yīng)該相信 Dev 新增加的功能荸频。對于 Dev 來說菱肖,他們 應(yīng)該相信 Ops 對基礎(chǔ)設(shè)施的改動,而且每個(gè)人都應(yīng)該相信對方已經(jīng)做到最好旭从。 Ops 應(yīng)該更加透明稳强,不光需要分享運(yùn)行指南和故障預(yù)案,而且還要給 Dev 能夠訪問機(jī)器的權(quán)限和悦。

對失敗的健康態(tài)度:盡管經(jīng)過層層嚴(yán)格的測試退疫,失敗在很多情況下是無法避免的。但如果能像飛機(jī)的安全說明那樣制定出應(yīng)急預(yù)案鸽素,則可以在失敗后盡可能的減少損失蹄咖。

避免指責(zé):指責(zé)會把大量的時(shí)間花在問題責(zé)任的界定而非問題的解決上。對于 Dev 來說付鹿,他們需要時(shí)刻記得當(dāng)他們寫下的 代碼搞砸了之后澜汤,總會有 Ops 半夜第一個(gè)被叫醒去解決問題。而對于 Ops 來說舵匾,需要給當(dāng)前的狀況有建設(shè)性的建議和反饋俊抵,而不僅僅是抱怨和指責(zé) 。

缺失的 DevOps文化建設(shè) —— 用技術(shù)升級粉飾制度問題

在很多管理層看來坐梯,這些不可思議的做法顛覆了經(jīng)典的運(yùn)維管理經(jīng)驗(yàn)徽诲,看起來很美好而往往和現(xiàn)有的制度存在沖突而難以落地。另一方面吵血,工程師卻很向往這樣一種夢想的工作環(huán)境谎替,可以擺脫那些無意義爭斗和約束,做真正有意義的事情蹋辅。

而在一個(gè)對變革抵觸钱贯,對冒險(xiǎn)和失敗不寬容的環(huán)境下,人們往往傾向于不作為侦另,讓事情不斷變壞秩命。并寄希望于管理人員。而在這種制度下褒傅,管理人員往往傾向于做表面文章弃锐,相較于改變現(xiàn)有的制度和習(xí)慣,購買技術(shù)是最方便殿托,效果最明顯霹菊,風(fēng)險(xiǎn)最低的手段,這會讓一切”看起來很美好“支竹。

而在 DevOps改進(jìn)中旋廷,技術(shù)往往是最容易的部分,只要找到供應(yīng)商或解決方案提供商購買就可以了唾戚。然而這并沒有解決組織的沖突柳洋,只是突擊的償還了一部分技術(shù)債務(wù)而已。技術(shù)仍然是被用來粉飾制度問題的“修正液“叹坦。

當(dāng)你有了 DevOps文化的團(tuán)隊(duì)熊镣,你無需擔(dān)心技術(shù)水平。因?yàn)檫@樣的團(tuán)隊(duì)會找到最合適的工具完成目標(biāo)募书。但是你擁有了 DevOps 的工具绪囱,得到的則是提高效率的組織孤島。

Netflix就是這樣一個(gè)例子莹捡,Netflix是全球十大視頻網(wǎng)站中唯一的收費(fèi)站點(diǎn)鬼吵。 盡管仍落后于YouTube和Hulu等在線視頻巨頭,但Netflix的發(fā)展速度遠(yuǎn)遠(yuǎn)高于競爭對手篮赢。此外齿椅,Netflix 在微服務(wù)和 DevOps 的實(shí)踐上一直走在業(yè)界的前沿琉挖。

早在2009年, Netflix的CEO和首席人才官就做了一份127頁的PPT涣脚,命名為《自由&責(zé)任的文化》示辈,這份PPT在網(wǎng)上被查閱超過了600萬次,甚至被Facebook公司的COO桑德伯格稱為“硅谷最重要的文件”遣蚀。

這份 PPT說明了一個(gè)重要的問題矾麻,保持領(lǐng)先的關(guān)鍵不在于你是否擁有先進(jìn)的技術(shù)(很多技術(shù)一開始都沒有,都是 Netflix 的員工自己創(chuàng)造)芭梯,最優(yōu)秀的員工(很多員工都是其它公司的普通員工)险耀,而在于你是否擁有可以留住人才和發(fā)揮人才價(jià)值的制度。

DevOps文化的特征

那么玖喘,DevOps的文化看起來應(yīng)該是什么樣的呢店煞?

在 Martin Fowler 的博客上躏碳,Rouan Wilsenach則作為一個(gè)觀察者進(jìn)一步從外部特征上描述了DevOps文化扛稽。他認(rèn)為DevOps文化的主要特征是"增加了開發(fā)和運(yùn)維的合作"物延,為了支持這種合作的發(fā)生,需要在團(tuán)隊(duì)內(nèi)部的文化和企業(yè)組織的文化上進(jìn)行兩方面的調(diào)整费尽。如下圖所示:

DevOps 文化

責(zé)任共擔(dān)(Shared Responsibility)

從團(tuán)隊(duì)內(nèi)部講赠群,責(zé)任共擔(dān)而不是 責(zé)任劃分 的制度會鼓勵(lì)合作的發(fā)生。責(zé)任邊界清晰旱幼,每個(gè)人都傾向于做好分內(nèi)事查描,而不會關(guān)心工作流上游或者是工作流下游里別人的事。

如果開發(fā)團(tuán)隊(duì)無需對系統(tǒng)上線后的維護(hù)和負(fù)責(zé)人柏卤,他們自然對運(yùn)維沒有興趣冬三。只有讓開發(fā)團(tuán)隊(duì)全程介入整個(gè)開發(fā)到運(yùn)維的流程,他們才能對運(yùn)維的痛點(diǎn)感同身受缘缚,在開發(fā)過程中加入對運(yùn)維的考量勾笆。此外,開發(fā)團(tuán)隊(duì)還會從對生產(chǎn)環(huán)境的監(jiān)控中發(fā)現(xiàn)新的需求桥滨。

如果運(yùn)維團(tuán)隊(duì)分擔(dān)開發(fā)團(tuán)隊(duì)的業(yè)務(wù)目標(biāo)和責(zé)任窝爪,他們就會更加理解開發(fā)團(tuán)隊(duì)對運(yùn)維的要求并且和開發(fā)團(tuán)隊(duì)工作的更加緊密。然而在實(shí)踐中齐媒,合作經(jīng)常起始于 Dev產(chǎn)生的產(chǎn)品運(yùn)維意識(例如部署和監(jiān)控)蒲每,以及在開發(fā)過程向運(yùn)維團(tuán)隊(duì)中學(xué)習(xí)到的實(shí)踐和自動化工具。

沒有組織孤島(No Silos)

從組織方面講喻括,在開發(fā)和運(yùn)維之間沒有孤島(No Silos)是組織調(diào)整的必要邀杏。適當(dāng)?shù)恼{(diào)整資源的結(jié)構(gòu),讓運(yùn)維的同事在早期就加入團(tuán)隊(duì)并一起工作對構(gòu)建合作的文化是非常有幫助的唬血。而“交接”和“審批”并不是一個(gè)責(zé)任共擔(dān)的工作方式望蜡。這不會導(dǎo)致開發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)合作唤崭,反而會引起指責(zé)的文化。所以泣特,開發(fā)和運(yùn)維的團(tuán)隊(duì)必須都要對系統(tǒng)變更的成敗負(fù)責(zé)浩姥。當(dāng)然,這無可避免的會導(dǎo)致開發(fā)和運(yùn)維的分界線會越來越模糊状您。

一個(gè)常見的反模式就是“分離的 DevOps 團(tuán)隊(duì)”,它一方面創(chuàng)造了新的孤島兜挨,另一方面組織了 DevOps 文化在整個(gè)組織內(nèi)的傳播膏孟。

自治的團(tuán)隊(duì)(Autonomous teams)

組織另外一個(gè)極具價(jià)值的轉(zhuǎn)變是自治團(tuán)隊(duì) (Autonomous teams),為了讓開發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)工作的更有效率拌汇,需要讓團(tuán)隊(duì)能夠直接處理變革而不是經(jīng)過錯(cuò)綜復(fù)雜的決策過程柒桑。這需要信任團(tuán)隊(duì),改變風(fēng)險(xiǎn)管理的方式并創(chuàng)建一個(gè)對失敗相對寬容的環(huán)境噪舀。

質(zhì)量內(nèi)建于開發(fā)流程中(building quality into the development process

DevOps文化的轉(zhuǎn)變帶來的一個(gè)效果是讓新代碼進(jìn)入生產(chǎn)環(huán)境更加容易魁淳。這使一些未來的 DevOps 文化轉(zhuǎn)變非常必要。為了確保生產(chǎn)環(huán)境的變更穩(wěn)妥与倡。團(tuán)隊(duì)需要重視“將質(zhì)量構(gòu)建在開發(fā)過程中”界逛,這包括很多跨功能的考慮例如性能和安全,持續(xù)交付自我測試的代碼會形成一個(gè)允許頻繁且低風(fēng)險(xiǎn)部署的基礎(chǔ)纺座。

反饋(Feedback)

團(tuán)隊(duì)也要重視反饋息拜,為了持續(xù)改進(jìn), Dev和 Ops 就像系統(tǒng)自身一樣净响,緊密的工作在一起少欺。產(chǎn)品環(huán)境的監(jiān)控是一個(gè)對于診斷錯(cuò)誤和曝光潛在改進(jìn)的非常有幫助的反饋環(huán)。

自動化(Automation)

自動化是 DevOps運(yùn)動以及促進(jìn)合作的基石馋贤。將測試赞别、配置和部署自動化可以讓人們釋放出更多的精力,并專注于更有價(jià)值的活動配乓,此外還能減少人為失誤仿滔。而且,自動化腳本和自動化測試可以成為一個(gè)活文檔扰付,實(shí)時(shí)跟蹤在線系統(tǒng)配置的變更歷史堤撵。舉個(gè)例子,通過自動化的服務(wù)器配置可以避免在雪花服務(wù)器上排除故障和解決問題的工作量浪費(fèi)羽莺。這意味著 Dev 和 Ops 同樣可以理解一個(gè)服務(wù)器的變更是如何配置的了实昨。

營造 DevOps的文化:獎勵(lì)持續(xù)的“改進(jìn)冒險(xiǎn)”

你無法直接改變文化,但你可以改變行為盐固,行為會變成文化荒给≌尚”

以上一切的發(fā)生,都需要從組織內(nèi)部做出改進(jìn)志电。但每個(gè)組織有每個(gè)組織的特性曙咽,改進(jìn)的方式和方法也不一樣。在這樣一個(gè)變動而開放的時(shí)代挑辆,沒有什么是絕對正確的例朱。每一個(gè)改進(jìn)的嘗試都是一場“改進(jìn)冒險(xiǎn)“。

在冒險(xiǎn)中鱼蝉,失敗并不可怕洒嗤,可怕的是失去了繼續(xù)改進(jìn)的動力。所以我們要鼓勵(lì)”改進(jìn)冒險(xiǎn)“的行為魁亦。

在很多組織中渔隶,變革的動力往往來自于上層的壓力。而在集權(quán)的組織中洁奈,一切權(quán)力都屬于上級管理者间唉。一切權(quán)力都屬于上級管理者的另外一個(gè)意思就是一切責(zé)任也都由上級承擔(dān)。這樣會在組織內(nèi)出現(xiàn)一個(gè)“承擔(dān)高風(fēng)險(xiǎn)和責(zé)任”的個(gè)人利术,而非共同分散風(fēng)險(xiǎn)的團(tuán)隊(duì)呈野。這是一個(gè)脆弱的組織結(jié)構(gòu),而在這樣一個(gè)結(jié)構(gòu)下氯哮,往往會出現(xiàn)管理人員短視的投機(jī)行為际跪,而給整體企業(yè)帶來更大的風(fēng)險(xiǎn)。

而DevOps不僅僅能通過技術(shù)手段降低變更的風(fēng)險(xiǎn)喉钢,更是構(gòu)造一系列的實(shí)踐和制度來分散這種因高度集中化和集權(quán)化所帶來的風(fēng)險(xiǎn)姆打。

首先就是要充分給團(tuán)隊(duì)授權(quán),讓團(tuán)隊(duì)能夠在有限的風(fēng)險(xiǎn)控制中開展改進(jìn)肠虽。改進(jìn)是不斷小步進(jìn)行的幔戏,如果步子太大,往往適得其反税课。

其次闲延,就是要有明確的目標(biāo)和度量方法『妫“沒有度量垒玲,改進(jìn)就無從談起”,改進(jìn)之前找颓,一定要設(shè)定好度量指標(biāo)合愈。以跟蹤并收集相關(guān)的數(shù)據(jù)。

最后,無論成功還是失敗佛析,都需要有產(chǎn)出益老,讓團(tuán)隊(duì)通過自我激勵(lì)的方式持續(xù)形成凝聚力。而不要因?yàn)橐淮蔚氖【腿P否定改進(jìn)寸莫。如同上文提到的捺萌,在一個(gè)對失敗不寬容的文化氛圍中。相較于承擔(dān)風(fēng)險(xiǎn)的改進(jìn)嘗試膘茎,人們往往傾向于不作為桃纯。

但是,對失敗寬容并不意味著不需要為失敗承擔(dān)責(zé)任披坏。而是要要從失敗中學(xué)習(xí)到經(jīng)驗(yàn)慈参,向成功的目標(biāo)不斷的努力。進(jìn)行下一場“改進(jìn)冒險(xiǎn)”刮萌。成功很可能是巧合,但失敗必然有原因娘扩,避免了那些失敗的原因着茸,就有很大的機(jī)會走向成功。

營造 DevOps文化的幾點(diǎn)提示

文化的改變是困難的琐旁,這并不是一個(gè)一蹴而就的行為涮阔。需要長期不斷堅(jiān)持才會有效果。而帶來的收益非常值得灰殴。

“文化是你獎勵(lì)和懲罰的行為”敬特,要對那些符合 DevOps 文化的行為給予獎勵(lì),對于那些違反 DevOps 給予一定的警告或處罰牺陶。

以好的出發(fā)點(diǎn)推測人的行為而不是壞的出發(fā)點(diǎn)伟阔,這會破壞信任。

經(jīng)常質(zhì)疑制度是否有問題掰伸,而不是質(zhì)疑人是否有問題皱炉。有問題的行為一定是有問題的制度造成的。

不要吝惜你的表揚(yáng)和贊美狮鸭,但請保管好你的刻薄合搅,指責(zé)和冷嘲熱諷。

對失敗的寬容是強(qiáng)調(diào)反思和學(xué)習(xí)歧蕉,而不是懲罰灾部。

多想想自己能為他人做什么,而不是要求別人做什么惯退。

集體慶祝每一個(gè)成功赌髓,集體反思每一個(gè)失敗。

DevOps文化落地很難,但是收益巨大春弥。你仍然愿意去做嗎呛哟?

參考:

https://martinfowler.com/bliki/DevOpsCulture.html

http://itrevolution.com/devops-culture-part-1/

http://itrevolution.com/devops-culture-part-2/

https://blog.chef.io/2010/07/16/what-devops-means-to-me/

http://www.lieyunwang.com/archives/105338

https://theagileadmin.com/what-is-devops/

http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/

http://radify.io/blog/four-principles-of-devops/

https://dzone.com/articles/devops-devops-principles

https://devops.com/interconnect-2016-culture-matters/

https://jocelyngoldfein.com/culture-is-the-behavior-you-reward-and-punish-7e8e75c6543e#.lw8glaksp

https://pt.slideshare.net/jezhumble/devops-and-agile-release-management

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者匿沛。
  • 序言:七十年代末扫责,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子逃呼,更是在濱河造成了極大的恐慌鳖孤,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抡笼,死亡現(xiàn)場離奇詭異苏揣,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)推姻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門平匈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人藏古,你說我怎么就攤上這事增炭。” “怎么了拧晕?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵隙姿,是天一觀的道長。 經(jīng)常有香客問我厂捞,道長输玷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任靡馁,我火速辦了婚禮欲鹏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘奈嘿。我一直安慰自己貌虾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布裙犹。 她就那樣靜靜地躺著尽狠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叶圃。 梳的紋絲不亂的頭發(fā)上袄膏,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機(jī)與錄音掺冠,去河邊找鬼沉馆。 笑死码党,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的斥黑。 我是一名探鬼主播揖盘,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锌奴!你這毒婦竟也來了兽狭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鹿蜀,失蹤者是張志新(化名)和其女友劉穎箕慧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茴恰,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颠焦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了往枣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伐庭。...
    茶點(diǎn)故事閱讀 40,488評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖分冈,靈堂內(nèi)的尸體忽然破棺而出似忧,到底是詐尸還是另有隱情,我是刑警寧澤丈秩,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站淳衙,受9級特大地震影響蘑秽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜箫攀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一肠牲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧靴跛,春花似錦缀雳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绝葡,卻和暖如春深碱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背藏畅。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工敷硅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓绞蹦,卻偏偏與公主長得像力奋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子幽七,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評論 2 359

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