Ilana imuṣiṣẹ iṣẹ akanṣe ti a lo ninu Slack

Mimu idasilẹ iṣẹ akanṣe tuntun sinu iṣelọpọ nilo iwọntunwọnsi iṣọra laarin iyara imuṣiṣẹ ati igbẹkẹle ojutu. Awọn iye Slack ni iyara iyara, awọn akoko esi kukuru, ati idahun kiakia si awọn ibeere olumulo. Ni afikun, ile-iṣẹ naa ni awọn ọgọọgọrun ti awọn pirogirama ti o tiraka lati jẹ iṣelọpọ bi o ti ṣee.

Ilana imuṣiṣẹ iṣẹ akanṣe ti a lo ninu Slack

Awọn onkọwe ohun elo naa, itumọ eyiti a ṣe atẹjade loni, sọ pe ile-iṣẹ kan ti o tiraka lati faramọ iru awọn iye bẹ ati ni akoko kanna ti o dagba gbọdọ ni ilọsiwaju nigbagbogbo eto imuṣiṣẹ iṣẹ akanṣe. Ile-iṣẹ nilo lati ṣe idoko-owo ni akoyawo ati igbẹkẹle ti awọn ilana iṣẹ, ṣiṣe eyi lati rii daju pe awọn ilana wọnyi ni ibamu si iwọn ti iṣẹ akanṣe naa. Nibi a yoo sọrọ nipa awọn ṣiṣan iṣẹ ti o ti dagbasoke ni Slack, ati nipa diẹ ninu awọn ipinnu ti o mu ki ile-iṣẹ naa lo eto imuṣiṣẹ iṣẹ akanṣe ti o wa loni.

Bawo ni awọn ilana imuṣiṣẹ iṣẹ akanṣe ṣiṣẹ loni

Kọọkan PR (ibeere fifa) ni Slack gbọdọ jẹ koko-ọrọ si atunyẹwo koodu ati pe o gbọdọ kọja gbogbo awọn idanwo ni aṣeyọri. Nikan lẹhin awọn ipo wọnyi ti pade ni oluṣeto ẹrọ le dapọ koodu rẹ sinu ẹka titunto si ti iṣẹ akanṣe naa. Sibẹsibẹ, koodu yii ti wa ni ransogun nikan lakoko awọn wakati iṣowo, akoko Ariwa Amerika. Bi abajade, nitori otitọ pe awọn oṣiṣẹ wa wa ni awọn aaye iṣẹ wọn, a ti murasilẹ ni kikun lati yanju eyikeyi awọn iṣoro airotẹlẹ.

Gbogbo ọjọ ti a gbe jade nipa 12 ngbero deployments. Lakoko imuṣiṣẹ kọọkan, olupilẹṣẹ ti a yan bi adari imuṣiṣẹ jẹ iduro fun gbigba kikọ tuntun sinu iṣelọpọ. Eyi jẹ ilana-igbesẹ pupọ ti o rii daju pe a mu apejọ wa sinu iṣelọpọ laisiyonu. Ṣeun si ọna yii, a le rii awọn aṣiṣe ṣaaju ki wọn kan gbogbo awọn olumulo wa. Ti ọpọlọpọ awọn aṣiṣe ba wa, imuṣiṣẹ ti apejọ le ti yiyi pada. Ti o ba jẹ awari ọrọ kan pato lẹhin itusilẹ, atunṣe le ni irọrun tu silẹ fun rẹ.

Ilana imuṣiṣẹ iṣẹ akanṣe ti a lo ninu Slack
Ni wiwo ti eto Ṣayẹwo, eyiti o lo ni Slack lati ran awọn iṣẹ akanṣe lọ

Ilana ti gbigbe idasilẹ tuntun si iṣelọpọ ni a le ronu bi ti o ni awọn igbesẹ mẹrin.

▍1. Ṣiṣẹda a Tu eka

Itusilẹ kọọkan bẹrẹ pẹlu ẹka itusilẹ tuntun, aaye kan ninu itan-akọọlẹ Git wa. Eyi n gba ọ laaye lati fi awọn afi si idasilẹ ati pese aaye kan nibiti o le ṣe awọn atunṣe laaye fun awọn idun ti a rii ni ilana ti ngbaradi itusilẹ fun itusilẹ si iṣelọpọ.

▍2. Gbigbe ni agbegbe idasile

Igbesẹ ti o tẹle ni lati ran apejọ naa sori awọn olupin ti o ṣeto ati ṣiṣe idanwo adaṣe fun iṣẹ ṣiṣe gbogbogbo (idanwo ẹfin). Ayika iṣeto jẹ agbegbe iṣelọpọ ti ko gba ijabọ ita. Ni agbegbe yii, a ṣe awọn idanwo afọwọṣe afikun. Eyi fun wa ni idaniloju afikun pe iṣẹ akanṣe ti a ṣe atunṣe ṣiṣẹ ni deede. Awọn idanwo adaṣe nikan ko to lati pese ipele igbẹkẹle yii.

▍3. Gbigbe ni dogfood ati awọn agbegbe canary

Gbigbe si iṣelọpọ bẹrẹ pẹlu agbegbe aja aja kan, ti o jẹ aṣoju nipasẹ ṣeto awọn ọmọ-ogun ti o ṣe iranṣẹ awọn aye iṣẹ Slack inu wa. Niwọn igba ti a jẹ awọn olumulo Slack ti nṣiṣe lọwọ pupọ, gbigbe ọna yii ṣe iranlọwọ fun wa lati mu ọpọlọpọ awọn idun ni kutukutu imuṣiṣẹ naa. Lẹhin ti a ti rii daju pe iṣẹ-ṣiṣe ipilẹ ti eto naa ko ni fifọ, a ti gbe apejọ naa ni agbegbe canary. O ṣe aṣoju awọn eto ti o jẹ iroyin fun isunmọ 2% ti ijabọ iṣelọpọ.

▍4. Tu silẹ laiyara si iṣelọpọ

Ti awọn itọkasi ibojuwo fun itusilẹ tuntun ba jade lati jẹ iduroṣinṣin, ati pe lẹhin gbigbe iṣẹ naa ṣiṣẹ ni agbegbe canary a ko gba awọn ẹdun ọkan, a tẹsiwaju lati gbe awọn olupin iṣelọpọ laiyara si itusilẹ tuntun. Ilana imuṣiṣẹ ti pin si awọn ipele wọnyi: 10%, 25%, 50%, 75% ati 100%. Bi abajade, a le laiyara gbe ijabọ iṣelọpọ si itusilẹ tuntun ti eto naa. Ni akoko kanna, a ni akoko lati ṣe iwadii ipo naa ti a ba rii awọn aiṣedeede eyikeyi.

▍ Kini ti nkan kan ba jẹ aṣiṣe lakoko imuṣiṣẹ?

Ṣiṣe awọn iyipada si koodu jẹ eewu nigbagbogbo. Ṣugbọn a koju pẹlu eyi ọpẹ si wiwa ti “awọn oludari imuṣiṣẹ” ti o ni ikẹkọ daradara ti o ṣakoso ilana ti kiko idasilẹ tuntun sinu iṣelọpọ, ṣe atẹle awọn itọkasi ibojuwo ati ipoidojuko iṣẹ ti awọn olutọpa koodu idasilẹ.

Ni iṣẹlẹ ti nkan kan ti jẹ aṣiṣe gaan, a gbiyanju lati wa iṣoro naa ni kutukutu bi o ti ṣee. A ṣe iwadii iṣoro naa, wa PR ti o nfa awọn aṣiṣe, yiyi pada, ṣe itupalẹ rẹ daradara, ati ṣẹda kikọ tuntun. Otitọ, nigbami iṣoro naa ko ni akiyesi titi ti iṣẹ akanṣe yoo fi lọ sinu iṣelọpọ. Ni iru ipo bẹẹ, ohun pataki julọ ni lati mu pada iṣẹ naa pada. Nitorinaa, ṣaaju ki a to bẹrẹ iwadii iṣoro naa, a yipada lẹsẹkẹsẹ pada si iṣẹ ṣiṣe iṣaaju.

Awọn bulọọki ile ti Eto imuṣiṣẹ kan

Jẹ ki a wo awọn imọ-ẹrọ ti o wa labẹ eto imuṣiṣẹ iṣẹ akanṣe wa.

▍ Awọn imuṣiṣẹ ni kiakia

Sisan-iṣẹ ti a ṣalaye loke le dabi, ni ẹhin, o han gedegbe. Ṣugbọn eto imuṣiṣẹ wa ko di ọna yii lẹsẹkẹsẹ.

Nigbati ile-iṣẹ naa kere pupọ, gbogbo ohun elo wa le ṣiṣẹ lori awọn iṣẹlẹ 10 Amazon EC2. Gbigbe iṣẹ akanṣe ni ipo yii tumọ si lilo rsync lati muuṣiṣẹpọ gbogbo awọn olupin ni kiakia. Ni iṣaaju, koodu titun jẹ igbesẹ kan nikan lati iṣelọpọ, ti o jẹ aṣoju nipasẹ agbegbe idasile. A ṣẹda awọn apejọ ati idanwo ni iru agbegbe, ati lẹhinna lọ taara si iṣelọpọ. O rọrun pupọ lati ni oye iru eto kan; o gba eyikeyi pirogirama laaye lati fi koodu ti o kọ silẹ nigbakugba.

Ṣugbọn bi nọmba awọn alabara wa ṣe n dagba, bẹ naa ni iwọn awọn amayederun ti o nilo lati ṣe atilẹyin iṣẹ akanṣe naa. Laipẹ, fun idagbasoke igbagbogbo ti eto naa, awoṣe imuṣiṣẹ wa, ti o da lori titari koodu tuntun si awọn olupin, ko ṣe iṣẹ rẹ mọ. Eyun, fifi kọọkan titun olupin tumo si jijẹ akoko ti a beere lati pari awọn imuṣiṣẹ. Paapaa awọn ilana ti o da lori lilo afiwera ti rsync ni awọn idiwọn kan.

A pari ipinnu iṣoro yii nipa gbigbe si eto imuṣiṣẹ ti o jọra patapata, eyiti a ṣe apẹrẹ yatọ si eto atijọ. Eyun, ni bayi a ko fi koodu ranṣẹ si awọn olupin ni lilo iwe afọwọkọ imuṣiṣẹpọ. Bayi olupin kọọkan ṣe igbasilẹ apejọ tuntun ni ominira, ni mimọ pe o nilo lati ṣe bẹ nipasẹ mimojuto iyipada bọtini Consul. Awọn olupin kojọpọ koodu ni afiwe. Eyi gba wa laaye lati ṣetọju iyara giga ti imuṣiṣẹ paapaa ni agbegbe ti idagbasoke eto igbagbogbo.

Ilana imuṣiṣẹ iṣẹ akanṣe ti a lo ninu Slack
1. Awọn olupin iṣelọpọ ṣe atẹle bọtini Consul. 2. Awọn iyipada bọtini, eyi sọ fun awọn olupin pe wọn nilo lati bẹrẹ gbigba koodu titun. 3. Awọn olupin ṣe igbasilẹ awọn faili tarball pẹlu koodu ohun elo

▍Atomic imuṣiṣẹ

Ojutu miiran ti o ṣe iranlọwọ fun wa lati de eto imuṣiṣẹ awọn ipele pupọ ni imuṣiṣẹ atomiki.

Ṣaaju lilo awọn imuṣiṣẹ atomiki, imuṣiṣẹ kọọkan le ja si nọmba nla ti awọn ifiranṣẹ aṣiṣe. Otitọ ni pe ilana ti didakọ awọn faili titun si awọn olupin iṣelọpọ kii ṣe atomiki. Eyi yorisi ni akoko kukuru kukuru nibiti koodu ti o pe awọn iṣẹ tuntun wa ṣaaju awọn iṣẹ funrararẹ wa. Nigba ti iru koodu ti a npe ni, o yorisi ni ti abẹnu aṣiṣe a pada. Eyi ṣe afihan ararẹ ni awọn ibeere API ti o kuna ati awọn oju-iwe wẹẹbu ti o bajẹ.

Egbe ti o ṣiṣẹ lori iṣoro yii yanju rẹ nipa fifihan imọran ti awọn ilana "gbona" ​​ati "tutu". Awọn koodu ninu awọn gbona liana jẹ lodidi fun processing ijabọ gbóògì. Ati ninu awọn ilana "tutu", koodu naa, lakoko ti eto naa nṣiṣẹ, ti wa ni ipese nikan fun lilo. Lakoko imuṣiṣẹ, koodu titun jẹ daakọ si itọsọna tutu ti ko lo. Lẹhinna, nigbati ko ba si awọn ilana ti nṣiṣe lọwọ lori olupin naa, a ṣe iyipada itọsọna lẹsẹkẹsẹ.

Ilana imuṣiṣẹ iṣẹ akanṣe ti a lo ninu Slack
1. Unpacking awọn ohun elo koodu sinu kan "tutu" liana. 2. Yiyipada eto naa si itọsọna “tutu”, eyiti o di “gbona” (iṣẹ atomiki)

Awọn abajade: yipada ni tcnu si igbẹkẹle

Ni ọdun 2018, iṣẹ akanṣe naa dagba si iru iwọn bẹ pe imuṣiṣẹ iyara pupọ bẹrẹ lati ṣe ipalara iduroṣinṣin ọja naa. A ni eto imuṣiṣẹ to ti ni ilọsiwaju pupọ ninu eyiti a ṣe idoko-owo pupọ ati akoko pupọ. Gbogbo ohun ti a nilo lati ṣe ni atunṣe ati ilọsiwaju awọn ilana imuṣiṣẹ wa. A ti dagba si ile-iṣẹ nla kan, ti awọn idagbasoke rẹ ti lo ni gbogbo agbaye lati ṣeto awọn ibaraẹnisọrọ ti ko ni idilọwọ ati lati yanju awọn iṣoro pataki. Nitorinaa, igbẹkẹle di idojukọ akiyesi wa.

A nilo lati jẹ ki ilana ti gbigbe awọn idasilẹ Slack tuntun ni aabo diẹ sii. Aini yii jẹ ki a ni ilọsiwaju eto imuṣiṣẹ wa. Gẹgẹbi ọrọ otitọ, a jiroro eto ilọsiwaju yii loke. Ninu awọn ijinle eto, a tẹsiwaju lati lo iyara ati awọn imọ-ẹrọ imuṣiṣẹ atomiki. Ọna imuṣiṣẹ ti yipada. Eto tuntun wa ti ṣe apẹrẹ lati mu koodu tuntun ṣiṣẹ ni awọn ipele oriṣiriṣi, ni awọn agbegbe oriṣiriṣi. A lo awọn irinṣẹ atilẹyin ilọsiwaju diẹ sii ati awọn irinṣẹ ibojuwo eto ju ti iṣaaju lọ. Eyi fun wa ni agbara lati mu ati ṣatunṣe awọn aṣiṣe ni pipẹ ṣaaju ki wọn ni aye lati de ọdọ olumulo ipari.

Ṣugbọn a ko ni duro nibẹ. A n ṣe ilọsiwaju eto yii nigbagbogbo, lilo awọn irinṣẹ iranlọwọ to ti ni ilọsiwaju ati awọn irinṣẹ adaṣe adaṣe.

Eyin onkawe! Bawo ni ilana ti imuṣiṣẹ awọn idasilẹ iṣẹ akanṣe tuntun ṣiṣẹ nibiti o ṣiṣẹ?

Ilana imuṣiṣẹ iṣẹ akanṣe ti a lo ninu Slack

orisun: www.habr.com

Fi ọrọìwòye kun