Sikhuluma nge-DevOps ngolimi oluqondakalayo

Ingabe kunzima ukubamba iphuzu eliyinhloko lapho ukhuluma nge-DevOps? Sikuqoqele izifaniso ezicacile, amafomula amangalisayo nezeluleko ezivela kochwepheshe ezizosiza ngisho nabangebona ochwepheshe bafinyelele iphuzu. Ekugcineni, ibhonasi i-DevOps yabasebenzi bakwa-Red Hat.

Sikhuluma nge-DevOps ngolimi oluqondakalayo

Igama elithi DevOps lasungulwa eminyakeni eyi-10 edlule futhi lisuke ku-hashtag ye-Twitter laya enhlanganweni yamasiko enamandla emhlabeni we-IT, ifilosofi yangempela ekhuthaza abathuthukisi ukuthi benze izinto ngokushesha, ukuhlola, nokuphindaphinda ukuya phambili. I-DevOps isixhunywe ngokungenakuhlukaniswa nomqondo wokuguqulwa kwedijithali. Kodwa njengoba kuvame ukwenzeka ngamatemu e-IT, eminyakeni eyishumi edlule i-DevOps ithole izincazelo eziningi, ukuhumusha kanye nemibono eyiphutha ngayo ngokwayo.

Ngakho-ke, ungavamisile ukuzwa imibuzo mayelana ne-DevOps njengokuthi, ingabe iyafana ne-agile? Noma ingabe lena yindlela ethile ekhethekile? Noma ingabe ingelinye nje igama elifanayo legama elithi “ukubambisana”?

I-DevOps ifaka phakathi imiqondo eminingi ehlukene (ukulethwa okuqhubekayo, ukuhlanganiswa okuqhubekayo, ukuzenzela, njll.), ngakho-ke ukwehlisa okubalulekile kungaba inselele, ikakhulukazi uma unothando ngesihloko. Nokho, leli khono liwusizo kakhulu, kungakhathaliseki ukuthi uzama ukudlulisela imibono yakho kubaphathi bakho noma uvele utshele othile womndeni wakho noma abangani ngomsebenzi wakho. Ngakho-ke, ake sibeke eceleni ama-nuances wamagama we-DevOps okwamanje futhi sigxile esithombeni esikhulu.

Iyini i-DevOps: 6 Izincazelo nama-Analogies

Sicele ochwepheshe ukuthi bachaze ingqikithi ye-DevOps kalula nakafushane ngangokunokwenzeka ukuze inani layo licace kubafundi nganoma yiliphi izinga lolwazi lobuchwepheshe. Ngokusekelwe emiphumeleni yalezi zingxoxo, sikhethe ama-analogies ahlaba umxhwele kakhulu kanye nokwakheka okumangalisayo okuzokusiza ukwakha indaba yakho mayelana ne-DevOps.

1. I-DevOps iyinhlangano yamasiko

"I-DevOps iyinhlangano yamasiko lapho zombili izinhlangothi (abathuthukisi be-software kanye nochwepheshe bokusebenza kwesistimu ye-IT) beqaphela ukuthi isofthiwe ayilethi izinzuzo zangempela kuze kube yilapho othile eqala ukuyisebenzisa: amakhasimende, amaklayenti, abasebenzi, hhayi iphuzu," kusho u-Eveline Oehrlich, ucwaningo oluphezulu. Umhlaziyi we-DevOps Institute. "Ngakho-ke, zombili lezi zinhlangano ngokubambisana ziqinisekisa ukulethwa kwesoftware okusheshayo nasezingeni eliphezulu."

2. I-DevOps imayelana nokunika amandla onjiniyela.

"I-DevOps inika abathuthukisi amandla okuba ngabanikazi bezinhlelo zokusebenza, bazisebenzise, ​​futhi baphathe ukulethwa kusukela ekuqaleni kuze kube sekupheleni."

"Ngokujwayelekile, i-DevOps kukhulunywa ngayo njengendlela yokusheshisa ukulethwa kwezicelo ekukhiqizeni ngokwakha nokusebenzisa izinqubo ezizenzakalelayo," kusho u-Jai Schniepp, umqondisi wamapulatifomu e-DevOps enkampanini yomshuwalense i-Liberty Mutual. "Kodwa kimina kuyinto ebaluleke kakhulu." I-DevOps inika abathuthukisi amandla okuba babe ngabanikazi bezinhlelo zokusebenza noma izingcezu ezithile zesofthiwe, bazisebenzise, ​​futhi baphathe ukulethwa kwazo kusukela ekuqaleni kuze kube sekupheleni. I-DevOps iqeda ukudideka kwesibopho futhi iqondisa wonke umuntu obambe iqhaza ekudaleni ingqalasizinda ezenzakalelayo, eshayelwa unjiniyela. "

3. I-DevOps imayelana nokusebenzisana ekudaleni nasekuletheni izinhlelo zokusebenza.

"Kalula nje, i-DevOps iyindlela yokukhiqiza nokulethwa kwesofthiwe lapho wonke umuntu esebenza ndawonye," kusho uGur Staf, umongameli kanye nenhloko ye-automation yebhizinisi ledijithali kwa-BMC.

4. I-DevOps iyipayipi

"Ukuhlanganiswa kwe-Conveyor kungenzeka kuphela uma zonke izingxenye zihlangana ndawonye."

"Ngingaqhathanisa i-DevOps nolayini wokuhlanganisa izimoto," kuqhuba uGur Staff. - Umqondo uwukuklama nokwenza zonke izingxenye kusengaphambili ukuze zihlanganiswe ngaphandle kokulungiswa komuntu ngamunye. Ukuhlanganiswa kwe-Conveyor kungenzeka kuphela uma zonke izingxenye zihlangana ndawonye. Labo abaklama futhi bakhe injini kufanele bacabangele indlela yokuyikhwelisa emzimbeni noma kuhlaka. Abakha amabhuleki kumele bacabange ngamasondo, njalo njalo. Okufanayo kufanele kube yiqiniso ngesofthiwe.

Umthuthukisi odala ingqondo yebhizinisi noma okusetshenziswa kubonwa kufanele acabange ngesizindalwazi esigcina imininingwane yekhasimende, izinyathelo zokuphepha zokuvikela idatha yomsebenzisi, nokuthi konke lokhu kuzosebenza kanjani lapho isevisi iqala ukunikeza izethameli eziningi, mhlawumbe ngisho zezigidi zamadola. ."

“Ukwenza abantu babambisane futhi bacabange ngezingxenye zomsebenzi abanye abazenzayo, kunokugxila emisebenzini yabo kuphela, kuyisithiyo esikhulu kunazo zonke okufanele sisinqobe. Uma ungenza lokhu, unethuba elihle kakhulu lokuguqulwa kwedijithali,” kwengeza uGur Staff.

5. I-DevOps iyinhlanganisela efanele yabantu, izinqubo kanye ne-automation

U-Jayne Groll, umqondisi omkhulu we-DevOps Institute, unikeze isifaniso esihle ukuchaza i-DevOps. Ngamazwi akhe, “I-DevOps ifana neresiphi enezigaba ezintathu eziyinhloko zezithako: abantu, inqubo kanye ne-automation. Iningi lalezi zithako zingathathwa kwezinye izindawo kanye nemithombo: Lean, Agile, SRE, CI / CD, ITIL, ubuholi, isiko, amathuluzi. Imfihlo ye-DevOps, njenganoma iyiphi iresiphi enhle, ukuthi ungayithola kanjani izilinganiso ezifanele kanye nokuxutshwa kwalezi zithako ukukhulisa isivinini nokusebenza kahle kokudala nokukhulula izinhlelo zokusebenza. "

6. I-DevOps yilapho abahleli bezinhlelo besebenza njengeqembu le-Formula 1

“Umjaho awuhlelwa kusukela ekuqaleni kuze kube sekugcineni, kodwa ngokuphambene nalokho, kusukela ekugcineni kuya ekuqaleni.”

“Uma ngikhuluma ngalokho okufanele ngikulindele ohlelweni lwe-DevOps, ngicabanga ngeqembu le-NASCAR noma le-Formula 1 njengesibonelo,” kusho uChris Short, umphathi omkhulu wokumaketha kwepulatifomu yamafu e-Red Hat kanye nomshicileli we-newsletter ye-DevOps'ish. - Umholi weqembu elinjalo unomgomo owodwa: ukuthatha indawo ephakeme kakhulu ekupheleni komncintiswano, ecabangela izinsiza ezitholakalayo eqenjini kanye nezinselele ezibhekene nalo. Kulokhu, umjaho awuhlelwanga kusukela ekuqaleni kuze kube sekugcineni, kodwa ngokuphambene nalokho, kusukela ekugcineni kuya ekuqaleni. Okokuqala, umgomo wokuvelela uyabekwa, bese kunqunywa izindlela zokuwufinyelela. Bese zihlukaniswa zibe imisebenzi engaphansi bese idluliselwa kumalungu eqembu.”

“Iqembu lichitha isonto lonke ngaphambi komjaho lilungisa indawo yokumisa umgodi. Wenza ukuqeqeshwa kwamandla kanye ne-cardio ukuze ahlale esesimweni sosuku olunzima lomjaho. Ukuzijwayeza ukusebenza ndawonye ukuxazulula noma yiziphi izinkinga ezingase ziphakame phakathi nomjaho. Ngokufanayo, ithimba lokuthuthukisa kufanele liqeqeshe ikhono lokukhulula izinguqulo ezintsha njalo. Uma unamakhono anjalo kanye nesistimu yokuphepha esebenza kahle, ukwethulwa kwezinguqulo ezintsha ekukhiqizeni nakho kwenzeka kaningi. Kulo mbono womhlaba, ukunyuka kwejubane kusho ukwenyuka kokuphepha,” kusho uShort.

“Akukhona ukwenza ‘okulungile,’” kusho uShort, “kumayelana nokuqeda izinto eziningi ngangokunokwenzeka eziphazamisa umphumela ofisayo. Hlanganyela futhi uzivumelanise nezimo ngokusekelwe kumpendulo oyithola ngesikhathi sangempela. Zilungiselele okudidayo futhi usebenzele ukuthuthukisa ikhwalithi ukuze unciphise umthelela wazo ekuqhubekeleni phambili ekufezeni umgomo wakho. Yilokhu okusilindile emhlabeni we-DevOps. "

Sikhuluma nge-DevOps ngolimi oluqondakalayo

Indlela yokukala i-DevOps: Amathiphu ayi-10 avela kochwepheshe

Ukuthi nje i-DevOps ne-mass DevOps ziyizinto ezihluke ngokuphelele. Sizokutshela ukuthi unganqoba kanjani izithiyo endleleni kusukela kokuqala kuya kwesibili.

Ezinhlanganweni eziningi, uhambo oluya ku-DevOps luqala kalula futhi lumnandi. Amaqembu amancane anentshiseko ayakhiwa, izinqubo ezindala zithathelwa indawo ezintsha, futhi impumelelo yokuqala ayikude ukufika.

Maye, lokhu kumane kuyi-glitz engamanga, inkohliso yenqubekela phambili, kusho u-Ben Grinnell, umqondisi ophethe kanye nenhloko yedijithali kwa-consultancy North Highland. Ukuwina kwangaphambi kwesikhathi kuyakhuthaza, kodwa akusizi ukufeza umgomo omkhulu wokwamukelwa kabanzi kwama-DevOps enhlanganweni yonkana.

Kulula ukubona ukuthi umphumela uwusiko lokwehlukana phakathi kuka “thina” kanye “nabo”.

"Ngokuvamile, izinhlangano ziqala lezi zinhlelo zokuphayona zicabanga ukuthi zizovula indlela ye-DevOps evamile, ngaphandle kokucabangela ukuthi abanye bazokwazi noma bazimisele ukulandela leyo ndlela," kuchaza uBen Grinnell. - Amaqembu okuqalisa amaphrojekthi anjalo avame ukuqashwa "ku-Varangian" abazethembayo asebevele benze into efanayo kwezinye izindawo, kodwa abasha enhlanganweni yakho. Ngesikhathi esifanayo, bakhuthazwa ukuba baphule futhi bacekele phansi imithetho ehlala ibopha wonke umuntu. Kulula ukubona ukuthi umphumela uwusiko “thina” kanye “nabo” oluvimbela ukudluliswa kolwazi namakhono.

“Futhi le nkinga yamasiko ingesinye sezizathu esenza kube nzima ukukala iDevOps. Amaqembu e-DevOps abhekene nezinselele zobuchwepheshe ezikhulayo ezijwayelekile zezinkampani zokuqala ze-IT ezikhula ngokushesha, "kusho uSteve Newman, umsunguli nosihlalo we-Scalyr.

“Ezweni lanamuhla, izinkonzo ziyashintsha ngokushesha uma kunesidingo. Kuhle ukusebenzisa njalo nokusebenzisa izici ezintsha, kodwa ukuxhumanisa le nqubo nokuqeda izinkinga eziphakamayo kuwubuhlungu bekhanda langempela, kunezela uSteve Newman. - Ezinhlanganweni ezikhula ngokushesha kakhulu, onjiniyela bamaqembu asebenza ngokubambisana bayazabalaza ukuze bagcine ukubonakala kube ushintsho kanye nemiphumela edalekayo yezinga lokuncika. Ngaphezu kwalokho, onjiniyela abajabuli lapho bephucwa leli thuba, ngenxa yalokho, kuba nzima ngabo ukuqonda umnyombo wezinkinga eziphakamayo.”

Ungazinqoba kanjani lezi zinselelo ezichazwe ngenhla bese udlulela ekwamukelweni ngobuningi kwe-DevOps enhlanganweni enkulu? Ochwepheshe banxusa ukubekezela, ngisho noma inhloso yakho enkulu kuwukusheshisa umjikelezo wakho wokuthuthukisa isofthiwe nezinqubo zebhizinisi.

1. Khumbula ukuthi ukuguquka kwesiko kuthatha isikhathi.

U-Jayne Groll, uMqondisi Omkhulu, i-DevOps Institute: “Ngokubona kwami, ukunwetshwa kwe-DevOps kufanele kukhule futhi kuphindaphindeke njengokuthuthuka okushesha (futhi kuthinte isiko ngokulinganayo). I-Agile ne-DevOps igcizelela amaqembu amancane. Kodwa njengoba la maqembu ekhula ngenani nokuhlanganiswa, sigcina sesinabantu abaningi abasebenzisa izindlela ezintsha zokusebenza, futhi ngenxa yalokho kuba noguquko olukhulu lwamasiko. ”

2. Chitha isikhathi esanele uhlela nokukhetha inkundla

U-Eran Kinsbruner, Umshumayeli Oholayo Wezobuchwepheshe e-Perfecto: “Ukuze kuthuthukiswe ukusebenza, amaqembu e-DevOps kumele aqale afunde ukuhlanganisa izinqubo zendabuko, amathuluzi, namakhono, bese kancane kancane ondle futhi azinzise isigaba ngasinye se-DevOps. Konke kuqala ngokuhlela ngokucophelela izindaba zabasebenzisi kanye nokusakazwa kwenani, okulandelwa ukubhala isofthiwe nokulawulwa kwenguqulo kusetshenziswa ukuthuthukiswa okusekelwe ku-trunk noma ezinye izindlela ezifanele kakhulu ukuhlanganisa amakhodi nokuhlanganisa. "

“Kube sekufika isigaba sokuhlanganisa kanye nokuhlola, lapho sekudingeka khona inkundla yokuzenzakalela. Yilapho kubalulekile ukuthi amaqembu e-DevOps akhethe inkundla efanele evumelana nezinga lawo lamakhono kanye nemigomo yokugcina yephrojekthi.

Isigaba esilandelayo siwukuthunyelwa ekukhiqizweni futhi lokhu kufanele kuzenzekele ngokugcwele kusetshenziswa amathuluzi e-orchestration neziqukathi. Kubalulekile ukuba nezimo ezingokoqobo kuzo zonke izigaba ze-DevOps (isifanisi sokukhiqiza, imvelo ye-QA, nendawo yokukhiqiza yangempela) futhi uhlale usebenzisa idatha yakamuva kuphela yokuhlola ukuze uthole iziphetho ezifanele. Izibalo kufanele zihlakaniphe futhi zikwazi ukucubungula idatha enkulu ngempendulo esheshayo nesebenzayo.”

3. Khipha icala phezu kwesibopho.

UGordon Haff, Umvangeli weRedHat: “Ukudala uhlelo nomkhathi ovumela futhi okhuthaze ukuhlola kuvumela lokho okwaziwa njengokwehluleka ngempumelelo ekuthuthukisweni kwesoftware eshesha kakhulu. Lokhu akusho ukuthi akekho omunye onecala lokwehluleka. Eqinisweni, ukukhomba ukuthi ubani owenza lokhu kuba lula nakakhulu, njengoba “ukuba nomthwalo wemfanelo” akusasho “ukubangela ingozi.” Okusho ukuthi, ingqikithi yomthwalo wemfanelo ishintsha ngokwekhwalithi. Kunezici ezine eziba bucayi: izinga lokuphazamiseka, izindlela, izinqubo zokukhiqiza kanye nezisusa.” (Ungafunda kabanzi mayelana nalezi zici esihlokweni sikaGordon Huff esithi “Izifundo ze-DevOps: izici ezi-4 zokuhlolwa okunempilo.”)

4. Sula indlela eya phambili

U-Ben Grinnell, umqondisi ophethe kanye nenhloko yedijithali e-Consultancy North Highland: “Ukuze kufinyelelwe esikalini, ngincoma ukwethula uhlelo “lokuhlanza indlela” kanye namaphrojekthi okuphayona. Umgomo walolu hlelo uwukuhlanza udoti oshiywa amaphayona e-DevOps, njengemithetho ephelelwe yisikhathi nezinto ezinjalo, ukuze indlela eya phambili ihlale icacile.”

“Nikeza abantu ukwesekwa kwenhlangano kanye nomfutho ngokusebenzisa ukuxhumana okudlulela ngale kweqembu lamavulandlela ngokugubha kabanzi impumelelo yezindlela ezintsha zokusebenza. Ukuqeqesha abantu ababambe iqhaza kugagasi elilandelayo lamaphrojekthi we-DevOps futhi banovalo ngokusebenzisa i-DevOps okokuqala ngqa. Futhi khumbula ukuthi laba bantu bahluke kakhulu kumaphayona.”

5. Democratize amathuluzi

USteve Newman, umsunguli nosihlalo we-Scalyr: “Amathuluzi akufanele afihlelwe abantu, futhi kufanele kube lula ukuwafunda kunoma ngubani ozimisele ngokubeka isikhathi. Uma ikhono lokubuza amalogi likhawulelwe kubantu abathathu "abanesitifiketi" sokusebenzisa ithuluzi, uzohlala unabantu abaningi abathathu abatholakalayo ukuze ubhekane nenkinga, ngisho noma unendawo enkulu kakhulu yekhompyutha. Ngamanye amazwi, kunebhodlela lapha elingaholela emiphumeleni emibi (yebhizinisi).

6. Dala izimo ezifanele zomsebenzi weqembu

UTom Clark, inhloko ye-Common Platform kwa-ITV: “Ungenza noma yini, kodwa hhayi konke ngesikhathi esisodwa. Ngakho-ke zibekele imigomo emikhulu, qala kancane, futhi uqhubekele phambili ngokuphindaphinda ngokushesha. Ngokuhamba kwesikhathi, uzoba nedumela lokwenza izinto, ngakho nabanye bazofuna ukusebenzisa izindlela zakho. Futhi ungakhathazeki ngokwakha iqembu elisebenza kahle kakhulu. Esikhundleni salokho, hlinzeka abantu ngezimo ezifanele zokusebenza nokusebenza kahle kuzolandela. ”

7. Ungakhohlwa mayelana noMthetho kaConway namabhodi we-Kanban

U-Logan Daigle, Umqondisi Wokulethwa Kwesoftware kanye ne-DevOps Strategy kwa-CollabNetVersionOne: “Kubalulekile ukuqonda imiphumela yoMthetho kaConway. Ekubekeni kwami ​​amazwi alula, lo mthetho uthi imikhiqizo esiyidalayo kanye nezinqubo esizisebenzisayo ukwenza kanjalo, okuhlanganisa ne-DevOps, zivela ukuthi zakhiwe ngendlela efanayo nenhlangano yethu.”

“Uma kunama-silos amaningi enhlanganweni, nokulawula kushintsha izandla izikhathi eziningi lapho kuhlelwa, kwakhiwa futhi kukhishwa isoftware, umphumela wokukala uzoba ngu-zero noma owesikhashana. Uma inhlangano yakha amaqembu asebenza ngokubambisana eduze kwemikhiqizo exhaswa ngokugxila emakethe, khona-ke amathuba okuphumelela anda kakhulu.”

“Esinye isici esibalulekile sokukala ukukhombisa wonke umsebenzi oqhubekayo (WIP, workinprogress) kumabhodi e-Kanban. Uma inhlangano inendawo lapho abantu bengabona khona lezi zinto, ikhuthaza kakhulu ukubambisana, okunomthelela omuhle ekukhulisweni.”

8. Bheka izibazi ezindala

U-Manuel Pais, umeluleki we-DevOps kanye nomlobi we-Team Topologies: “Ukuthatha izinqubo ze-DevOps ngale kwe-Dev ne-Ops ngokwayo nokuzama ukuzisebenzisa kweminye imisebenzi akuyona indlela efanelekile. Lokhu kuzoba nomthelela othile (ngokwesibonelo, ngokuzilawula ngokuzenzakalelayo), kodwa kuningi okungafezwa uma siqala ngokuqonda izinqubo zokulethwa nempendulo.”

“Uma kunezibazi ezindala ohlelweni lwe-IT lwenhlangano - izinqubo nezindlela zokuphatha ezasetshenziswa ngenxa yezigameko ezedlule, kodwa zalahlekelwa ukubaluleka kwazo (ngenxa yoshintsho emikhiqizweni, ezobuchwepheshe noma ezinqubweni) - ngakho-ke zidinga ukususwa. noma kusheshiswe, esikhundleni sokuzenzela izinqubo ezingasebenzi kahle noma ezingadingekile.”

9. Ungazalisi izinketho ze-DevOps

U-Anthony Edwards, uMqondisi Wokusebenza kwa-Eggplant: “I-DevOps iyitemu engacacile, ngakho iqembu ngalinye ligcina linenguqulo yalo ye-DevOps. Futhi akukho okubi nakakhulu lapho inhlangano ngokuzumayo inezinhlobo ezingu-20 zama-DevOps ezingazwani kahle. Akunakwenzeka ukuthi iqembu ngalinye kwamathathu okuthuthukisa libe nelalo, isikhombimsebenzisi esikhethekile phakathi kokuthuthukiswa nokuphathwa komkhiqizo. Futhi akufanele imikhiqizo ibe nokwayo okulindelwe okuhlukile ekuphatheni impendulo lapho idluliselwa kusifanisi sokukhiqiza. Uma kungenjalo, awusoze wakwazi ukukala i-DevOps.”

10. Shumayela inani lebhizinisi le-DevOps

USteve Newman, umsunguli nosihlalo we-Scalyr: “Sebenzela ukubona inani le-DevOps. Funda futhi uzizwe ukhululekile ukukhuluma ngezinzuzo zalokho okwenzayo. I-DevOps yisikhathi esihle kakhulu nokonga imali (cabanga nje: isikhathi esincane sokuphumula, isikhathi esifushane sokululama), futhi amaqembu e-DevOps kufanele agcizelele ngokungakhathali (futhi ashumayele) ukubaluleka kwalezi zinhlelo empumelelweni yebhizinisi. Ngale ndlela ungakwazi ukwandisa umbuthano wabalandeli futhi ukhuphule ithonya lama-DevOps enhlanganweni.”

IBONUS

In Inkundla yezigqoko ezibomvu eRussia I-DevOps yethu izofika ngo-September 13 - yebo, i-Red Hat, njengomkhiqizi wesofthiwe, inamaqembu ayo e-DevOps nemikhuba.

Unjiniyela wethu u-Mark Birger, othuthukisa izinsizakalo ezishintshayo zangaphakathi zamanye amaqembu kuyo yonke inhlangano, uzoxoxa indaba yakhe ngesiRashiya esimsulwa - ukuthi ithimba le-Red Hat DevOps lizithuthe kanjani izicelo lisuka ezindaweni ezibonakalayo ze-Hat Virtualization eziphethwe yi-Ansible laya kufomethi yesiqukathi esigcwele ngokugcwele. inkundla ye-OpenShift.

Kodwa akugcini lapho:

Uma izinhlangano sezithuthele imithwalo yomsebenzi kuma-container, izindlela ezijwayelekile zokuqapha izinhlelo zokusebenza zingase zingasebenzi. Enkulumweni yesibili sizochaza isisusa sethu sokushintsha indlela esiloga ngayo futhi sikhombise ukuqhubeka kwendlela eyasiholela ezindleleni zesimanje zokugawula kanye nokuqapha.

Source: www.habr.com

Engeza amazwana