Ang Kubernetes ba ang bagong Linux? Panayam kay Pavel Selivanov


Pag-decode:
Azat Khadiev: Hello. Ang pangalan ko ay Azat Khadiev. Ako ay isang developer ng PaaS para sa Mail.ru Cloud Solutions. Kasama ko dito si Pavel Selivanov mula sa Southbridge. Nasa DevOpsDays conference kami. Magbibigay siya ng isang pahayag dito tungkol sa kung paano ka makakabuo ng DevOps sa Kubernetes, ngunit malamang na hindi ka magtatagumpay. Bakit ang madilim na paksa?

Pavel Selivanov: Sa totoo lang, hindi ito madilim. Ito ay tungkol sa katotohanan na sinusubukan nating lutasin ang maraming problema sa ating komunidad sa tulong ng teknolohiya. At sinusubukan naming lutasin ang mga bagay sa tulong ng teknolohiya sa medyo isang panig na paraan. Ang Kubenetes ay pareho - ito ang bagay kung saan sila ay may pananagutan, maaaring sabihin ng isa na Ops. Ngunit mayroon kaming isang mahusay na konsepto ng DevOps engineer. Ang isang DevOps engineer ay responsable para sa Kubernetes. Kasabay nito... Tulad ng paggawa mo ng mga Kubernete, ngunit hindi alam ng mga taga-Dev ang lahat ng mga Kubernete na ito, hindi nila alam kung ano ang pinapayagan nitong gawin mo - at ang lahat ay nabubuhay nang pareho para sa kanila. At ito ay sa kabila ng katotohanan na ang Kubernetes ay naglalaman ng mga handa na solusyon, mga nakahandang tool para sa paggamit ng teknolohiyang ito upang i-stretch itong DevOps na diskarte, komunikasyon sa pagitan ng Dev at Ops. Napakakaunti lang nating ginagamit ang pagkakataong ito. Dahil sa katotohanang naglilipat pa kami ng mga kasalukuyang istruktura sa lahat ng tool na ito ng DevOps - Docker, Kubernetes, clouds at iba pa - lalo naming pinalalalain ang sitwasyong ito. At sinimulan naming gamitin ang mga tool nang iba kaysa nilayon. At mga kakila-kilabot na saklay lang ang itinatayo sa paligid ng lahat ng mga teknolohiyang ito.

Azat Khadiev: Nakikita ko. Parang malawak na paksa. Ano sa palagay mo ang pinakakaraniwang problema ng mga kumpanya ngayon? Sa Kubernetes.

Pavel Selivanov: Ang pinakakaraniwang problema sa Kubernetes ay ang kakulangan ng mga kakayahan. Ito ay isang karaniwang problema sa IT. Palaging may kakulangan ng mga espesyalista. Laging may kakulangan sa mga kakayahan. At ngayon sa Kubernetes ay walang sapat na kakayahan. At sa parehong oras, mayroon pa ring XNUMX% na handa na mga solusyon sa merkado na magbibigay-daan sa iyo upang makakuha ng Kubernetes, ngunit sa parehong oras ay walang mga kinakailangang kakayahan; may kakaunti sa kanila sa merkado. At ang mga umiiral, lahat sila ay nagtataas ng ilang mga katanungan. Sa Kubernetes, patuloy kaming naghahanap ng mga taong nakakaunawa nito. Sinusubukan naming iakma ang pag-unlad dito.

Azat Khadiev: At dahil sa kasalukuyang kakulangan ng mga tauhan sa IT. Na laging naroon. At ngayon meron na. Paano sa tingin mo kung paano mamuhay sa ilalim ng mga kondisyong ito? Anong mga life hack ang mayroon?

Pavel Selivanov: Lifehacks. Una, mula sa pananaw ng mga ulap, ganito ang hitsura ng life hack - bigyan natin kami ng ilan sa iyong mga kakayahan. At kukunin natin sila para sa ating sarili. At gagawin natin ito sa ating sarili. At lahat ng iyon ay mabuti. Maliban na mahalaga na maunawaan para sa mga gumagamit nito... Sa totoo lang isang magandang sandali... Ngunit mahalagang maunawaan na kung ibibigay natin ang bahagi ng ating mga kakayahan sa isang lugar sa cloud o provider, makakakuha tayo ng isang pangkalahatang solusyon bilang kapalit . Sa halos pagsasalita, mayroon kaming isang database na gumagawa ng mga partikular na bagay, at ito ay na-configure sa isang napaka-espesipikong paraan. Sa pamamagitan ng pagbibigay ng database na ito sa cloud, siyempre, maaari nating paalisin ang administrator na dating nakikitungo sa mga cluster ng database - ang parehong Amazon o Google ang gagawa nito para sa atin. Ngunit sa parehong oras, hindi kami papayagan ng Amazon o Google na malinaw na i-configure ang aming database. Mga malalaking proyekto, malalaking kumpanya - sa anumang kaso, dumating sila sa punto na sa ilang yugto ng kanilang buhay ay gumagamit sila ng mga solusyon sa ulap, at pagkatapos, sa anumang kaso, bumalik sila sa pagkuha ng mga kakayahan pabalik sa kanilang sarili, dahil kinakailangan ang isang bagay na mas tiyak. .

Azat Khadiev: Masama ba ang mga unibersal na solusyon o maaari pang maitayo sa kanilang batayan?

Pavel Selivanov: Hindi, ang mga unibersal na solusyon ay tiyak na hindi masama. Ang mga unibersal na solusyon ay mabuti. Mga universal solution lang... universal. Mahalagang maunawaan dito. Ito ay tulad ng pagkuha ng isang karaniwang script... Kung maaari mong buuin ang buong lohika ng trabaho ng kumpanya sa paligid ng karaniwang script na ito, karaniwang application, kung gayon ay cool. At kung ang lohika ng trabaho ay naiiba, ngunit kinuha mo ang unibersal na solusyon na ito, isang unibersal na script - at magsimula, tulad ng isang kuwago, paghila sa isang globo, ito ay masama. At walang mali sa unibersalismo mismo.

Azat Khadiev: Kung ang admin na ito ay nagtatrabaho na para sa iyo, ang punto ay wala sa kanyang pagtanggal. Mas marami lang ang magagawa niya.

Pavel Selivanov: Oo, alisin ang nakagawiang gawain sa kanya at ibigay ang mga ito sa isang lugar sa isang tao na gagawin sa isang lugar doon. Ito ay tiyak na isang magandang diskarte. Ang mahalagang punto dito ay kung ang karaniwang solusyon na ito ay angkop para sa isang partikular na kaso.

Azat Khadiev: Batay lamang sa aking karanasan, nakikita ko na maraming mga kumpanya ang gumagawa ng parehong bagay. Nagse-set up sila ng Kubernetes cluster at nag-iisip tungkol sa pag-scale nito. At lahat ng mga operasyong ito ay napaka repeatable.

Pavel Selivanov: Oo, tiyak. Higit pa rito, kung tutukuyin natin ang Kubernetes partikular, mayroong isang punto na talagang may kaunting malalim, mahusay na kaalaman sa Kubernetes sa merkado ngayon. At ang Kubernetes ay isang napakalaking constructor na kung kukunin mo ito para sa isang kumpanya, maging handa na sumama sa isang engineer na gagawa ng lahat ng ito nang buong oras. At ito ay mahal. At subukang maghanap muli ng ganoong inhinyero. Kung pinag-uusapan ko ang aking sarili, hindi ko talaga gusto ang anumang mga solusyon sa ulap, dahil mayroon akong medyo mahusay at malalim na pag-unawa sa kung paano gumagana ang Kubernetes. At madalas sa mga ulap kulang lang ako ng ilang functionality na hinihiling ko - ngunit sinasabi nila sa akin na "Hindi, hindi mo magagawa." Well, kung ganoon, pasensya na, pero mas magagawa ko pa kaysa kay Cloud. Ngunit kasabay nito, kung wala kang isang full-time na engineer, hindi mo nais na magbayad para sa engineer na ito na nagpapatakbo ng Kubernetes, at palagi mo siyang binabayaran ng maraming pera para lamang mag-eksperimento, kung gayon ang ulap ay isang mahusay, mahusay na solusyon. Kasi at least may mga nakaupo dun na na-recruit na ng provider. At alam nila ang kanilang ginagawa. At ang mga pangunahing bagay na kailangan mo sa pang-araw-araw na batayan ay naroroon.

Azat Khadiev: Ano sa palagay mo ang kasalukuyang estado ng Kubernetes? Ano ang mangyayari sa kanya sa loob ng lima at sampung taon?

Pavel Selivanov: Magandang tanong. Alam ko lang kung ano ang nangyayari sa aming komunidad tungkol dito. Naniniwala ang ilang tao na walang matitira maliban sa Kubernetes. Ang sitwasyon na nangyari sa Linux matagal na ang nakalipas. Iyon ay, sa labas ng Linux mayroong mga taong nakatira sa BSD, malamang na mayroon silang mga partikular na gawain. May mga taong nagtatrabaho sa ilalim ng Windows - mga server ng Windows - malamang, mayroon din silang mga partikular na gawain, o mayroon lang silang kakayahan sa bagay na ito at hindi pa sila handang umalis doon. Sa anumang kaso, ang pamantayan sa aming larangan ay Linux. May opinyon na ang Kubernetes ay magiging parehong de facto na pamantayan, at walang iba maliban sa Kubernetes. Pamamahalaan ng Kubernetes hindi lamang ang mga application, ang kanilang deployment, deployment, at scaling. Sa pangkalahatan, pamahalaan ang lahat. Ngayon ay nagtatanong na sila: "Posible bang mag-push ng database sa Kubernetes?" Karaniwan kong sinasabi na ang isyu dito ay wala sa Kubernetes, ngunit sa Docker. Kung handa ka na para sa iyong database na tumakbo sa mga lalagyan, ito ay kung paano ito gagana. Sagot nila sa akin: β€œHindi, hindi, hindi, maghintay. Hindi na kailangan ng mga lalagyan. Kailangan ng Kubernetes. I-graft natin ito sa node. Ibig sabihin, ang lahat ay magiging tulad ng mayroon tayo ngayon, tanging ang mga Kubernetes ang mamamahala ng lahat ng ito." At ito ay talagang isang magandang ideya. Iyon ay, ang Kubernetes ay isang bagay kapag maaari kang pumunta sa isang kumpanya, kung ang kumpanya ay may mga Kubernetes at mga proseso na binuo dito, kung gayon ang isang taong naiintindihan ito - kailangan lang niyang tingnan ito sa loob ng ilang araw upang sabihin: " Handa akong suportahan ka. ganap. Ganap. Naiintindihan ko kung paano gumagana ang mga bagay para sa iyo." Kabaligtaran sa mga diskarte na walang Kubernetes - dito ang ilang saklay ay itinulak, dito ang iba pang saklay. Ansible dito, Terraform dito. May sumulat ng lahat ng ito, at tumatagal ng anim na buwan para malaman ito. Dito. Kaya kung magiging de facto standard ba ang Kubernetes, hindi ko alam. Ngayon, siya ay mukhang mas ambisyoso at tiwala kaysa sa mga solusyon na umiiral sa paligid niya.

Azat Khadiev: Well, ang paghahambing sa Linux ay medyo matapang. Gumagana ito sa isang makina - iyon lang. At gumagana ang Kubernetes sa maraming makina. Isang milyong mga pagkakaiba-iba at mga dahilan ang agad na lumitaw. Oo, ito ay matapang. Kung isasaalang-alang mo na may mga kakumpitensya sa paradigm na ito. Halimbawa, Serverless. Nanganganib ba ang Kubernetes sa gayong mga kakumpitensya?

Pavel Selivanov: Mula sa Serverless... (laughter) Serverless - naiintindihan pa rin namin na may mga server kung tutuusin. Kamakailan lamang ay nakarinig ako ng isang ulat tungkol sa bagay na ito. Doon sinabi ng tao na mayroon pa ring mga server - at ito ay isang ulap. Ngunit dapat nating laging maunawaan na ang cloud ay mayroon ding mga server. May mga tunay na server ng hardware, isang rack, at sila ay naka-install sa isang lugar. Ito ang ulap. Sa itaas nito ay mayroong Serverless, kung saan mayroong "walang" mga server. Kaya ang tanong ay: mananalo ba ang Serverless laban sa Kubernetes? Para sa akin, ang Serverless ay lilipat sa Kubernetes. Para sa mga provider na nagbibigay ng Serverless, ang Kubernetes ay isang napaka-maginhawang platform para ibigay ito. Oo, marahil sa isang punto ay titigil tayo sa pag-uusap tungkol sa Kubernetes sa prinsipyo, tulad ng tungkol sa ordinaryong pag-unlad ng mga aplikasyon sa negosyo. Ngunit sa isang lugar sa kalaliman, magkakaroon ng Kubernetes ang mga provider at engineer, kung saan ipapatupad ang lahat ng ito.

Azat Khadiev: Isang bahagyang naiibang paksa. Mayroong isang bagay bilang isang full-stack engineer. Ano ang tingin mo sa kanila? Nag-e-exist din ba sila?

Pavel Selivanov: Um... Fullstack engineer... Buweno, para sa akin ay sulit na makilala sa pagitan ng mga bagay na ito na... Alam mo, mayroong isang bagay na tulad ng T-shaped na mga tao. Kailangan ba ang mga ganitong tao sa industriya ngayon? Oo, talagang kailangan natin ito. Kailangan natin ng mga taong may malawak na pananaw, ngunit sa parehong oras sila ay mga espesyalista sa ilang makitid na larangan. At dito ang Fullstack engineer ay pareho - isang taong gumagawa ng lahat. Simula sa front-end development, testing, back-end, mga server at lahat ng iba pa. Hindi ako naniniwala na sa isang malaking kumpanya ay magagawa ito ng isang tao nang walang makitid na mga espesyalisasyon sa bawat isa sa mga parameter. Ngunit sa parehong oras, ang pagkakaroon lamang ng isang makitid na espesyalisasyon, tulad ng kung ano ang nangyayari sa paligid nito, wala akong alam - hindi rin ito gumagana sa modernong mundo. Ibig sabihin, dito ko sasabihin... Itatapon ko ang salitang Fullstack. Kailangan talaga namin ng mga engineer. Kailangan namin ng DevOps. Pakiramdam ko ay muling isasaalang-alang natin ang sandaling ito sa lalong madaling panahon. At hindi na sila kakailanganin.

Azat Khadiev: Maaari mo bang ibunyag?

Pavel Selivanov: Para sa akin, tayo sa industriya ay darating sa konklusyon na ang mga tungkulin ng Dev at Ops na ito ay malapit nang mawala. Kung kailangan namin ng mga espesyalista at kami ay nangangaso... Kailangan namin ng ganoon at ganoong developer, kailangan namin ng ganoon at ganoong mga administrator, kailangan namin ng mga inhinyero ng DevOps - ngayon ay mayroon na kami, ngayon magkakaroon din kami ng mga inhinyero ng produksyon, mga inhinyero ng SRE. Bagaman sa katunayan, ang kailangan natin ay mga inhinyero na gusto nating kunin. Ang background ay sa pangkalahatan ay hindi mahalaga. Dahil... Halimbawa, sinasabi ng SRE na ang mga problema sa imprastraktura ay palaging mga problema sa software. Kaya... Kunin natin ang mga developer - mula sa punto ng view na ang isang developer ay isang inhinyero - ilagay sila sa departamento ng pagpapanatili at malulutas nila ang mga problemang ito sa parehong paraan tulad ng paglutas ng mga problema sa negosyo sa tulong ng code, sa tulong ng engineering tulad nito.

Azat Khadiev: At mula sa puntong ito ng pananaw... Paano pakikipanayam ang mga naturang inhinyero?

Pavel Selivanov: Oh, magandang tanong. Malamang lampas na siya sa naiintindihan ko sa buhay na ito. Ngunit magbibigay lang ako ng isang halimbawa. Wala itong kinalaman sa interview. Ito ay tungkol sa ating sistema ng edukasyon sa Russia. Sa IT, alam namin na ang aming sistema ng edukasyon sa Russia ay napakaluma para sa mundo ng IT, hindi ito ang dapat. Karaniwang nagsasalita ako tungkol sa malawak na Russia - at kung ano ang nangyayari doon. Nagtatapos ang mga tao na talagang hindi pa handang pumunta sa web development o isang kumpanya ng teknolohiya sa mismong susunod na araw pagkatapos ng graduation. At ito ay medyo masama. Itinuturo namin sa kanila ang ilang kakaibang bagay, bagama't dapat namin silang turuan kung paano bumuo para sa Android, iOS, kung paano gamitin ang Git at lahat ng mga bagay na ito. Sa totoo lang, parang hindi naman. Ang kolehiyo ay isang panahon kung saan ang iyong mga magulang ay kadalasang nagbabayad para sa iyo. Para sa buong buhay mo. At maaari mong italaga ang limang taon ng iyong buhay upang mag-aral ng malalim. At pag-aralan ang lahat ng hugis-T na ito. Kapag maaari kang mag-aral sa institute kung ano ang isang bersyon ng control system, kung ano ang mga pattern ng pag-unlad, kung paano subukan ang buong bagay, kung anong mga uri ng mga database at balancer ang mayroon. At kapag pumasok ka sa trabaho, magsisimula kang magsaliksik nang mas malalim sa isang partikular na lugar. At ito ay kung paano kami makakuha ng mga inhinyero. At ang ating sistema ng edukasyon sa Russia ay mas malapit sa katotohanang ito kaysa sa iniisip natin. Binigyan kami ng mahusay na pagsasanay sa matematika, binibigyan kami ng mahusay na pagsasanay sa algorithm, binibigyan kami ng ilang pag-unawa sa mga wika ng programming. At tungkol sa panayam, tila sa akin ay isang bagay na malapit dito. Kailangan nating mag-interview ng mga engineer. Kailangan namin ang tuktok ng T para sa T-shaped. Dahil makukuha nito ang patayong linya ng letrang T.

Azat Khadiev: Oo, kawili-wili. Limang taon pagkatapos ng kolehiyo, tila sa akin ay kakaiba at hindi sapat ang aking pag-aaral. At pagkatapos, habang umuusad ang gawain, nang lumalim ang mga gawain, naging mas malaki ang mga proyekto, napagtanto ko na hindi, tinuruan ako ng mga napakahalagang bagay. Pavel, salamat. Nakatutuwang pakinggan ang iyong mga sagot. Makinig tayo sa iyong ulat.

Pavel Selivanov: Salamat.

Pinagmulan: www.habr.com

Magdagdag ng komento