Adakah Kubernetes Linux baharu? Temu bual dengan Pavel Selivanov


Decryption:
Azat Khadiev: Hello. Nama saya Azat Khadiev. Saya ialah pembangun PaaS untuk Penyelesaian Awan Mail.ru. Bersama saya di sini ialah Pavel Selivanov dari Southbridge. Kami berada di persidangan DevOpsDays. Dia akan memberi ceramah di sini tentang cara anda boleh membina DevOps dengan Kubernetes, tetapi kemungkinan besar anda tidak akan berjaya. Kenapa topik gelap macam ni?

Pavel Selivanov: Ia sebenarnya tidak suram. Ia adalah mengenai hakikat bahawa kami cuba menyelesaikan banyak masalah dalam komuniti kami dengan bantuan teknologi. Dan kami cuba menyelesaikan perkara dengan bantuan teknologi dengan cara yang agak berat sebelah. Kubenetes adalah sama - ini adalah perkara yang mereka bertanggungjawab, seseorang mungkin mengatakan bahawa Ops. Tetapi kami mempunyai konsep jurutera DevOps yang hebat. Seorang jurutera DevOps bertanggungjawab untuk Kubernetes. Pada masa yang sama... Seperti anda membuat Kubernetes, tetapi orang-orang Dev tidak mengetahui semua Kubernete ini sama sekali, mereka tidak mengetahui perkara yang dibenarkan untuk anda lakukan - dan semuanya hidup sama untuk mereka. Dan ini walaupun fakta bahawa Kubernetes mengandungi penyelesaian siap pakai, alat siap pakai untuk menggunakan teknologi ini untuk meregangkan pendekatan DevOps ini, komunikasi antara Dev dan Ops. Kami menggunakan peluang ini sangat sedikit. Disebabkan fakta bahawa kami juga memindahkan struktur semasa ke semua alat DevOps ini - Docker, Kubernetes, awan dan sebagainya - kami memburukkan lagi keadaan ini. Dan kami mula menggunakan alat secara berbeza daripada yang dimaksudkan. Dan hanya tongkat yang dahsyat sedang dibina di sekeliling semua teknologi ini.

Azat Khadiev: Saya faham. Rasanya topik yang luas. Pada pendapat anda, apakah masalah yang paling biasa dihadapi oleh syarikat sekarang? Dengan Kubernetes.

Pavel Selivanov: Masalah yang paling biasa dengan Kubernetes ialah kekurangan kecekapan. Ini adalah masalah biasa dalam IT. Selalu ada kekurangan pakar. Selalu ada kekurangan kecekapan. Dan kini dengan Kubernetes tidak ada kecekapan yang mencukupi. Dan pada masa yang sama, masih terdapat XNUMX% penyelesaian siap sedia di pasaran yang membolehkan anda mendapatkan Kubernetes, tetapi pada masa yang sama tidak mempunyai kecekapan yang diperlukan; sejujurnya terdapat sedikit daripada mereka di pasaran. Dan yang wujud, semuanya menimbulkan beberapa persoalan. Dengan Kubernetes, kami sentiasa mencari orang yang memahami perkara ini. Kami cuba menyesuaikan perkembangan ini.

Azat Khadiev: Dan memandangkan kekurangan kakitangan semasa dalam IT. Yang sentiasa ada. Dan sekarang ada. Bagaimana pendapat anda bagaimana untuk hidup di bawah keadaan ini? Apakah peretasan hidup yang ada?

Pavel Selivanov: Lifehacks. Pertama, dari sudut pandangan awan, penggodaman hayat kelihatan seperti ini - mari berikan kami beberapa kecekapan anda. Dan kami akan mengambilnya untuk diri kami sendiri. Dan kita akan melakukan ini dalam diri kita sendiri. Dan itu semua bagus. Kecuali bahawa penting untuk memahami bagi mereka yang menggunakannya... Sebenarnya saat yang hebat... Tetapi penting untuk memahami bahawa jika kita memberikan sebahagian daripada kecekapan kita di suatu tempat kepada awan atau pembekal, kita mendapat penyelesaian universal sebagai balasan . Secara kasarnya, kami mempunyai pangkalan data yang melakukan perkara yang sangat khusus, dan ia telah dikonfigurasikan dengan cara yang sangat khusus. Dengan memberikan pangkalan data ini kepada awan, kami, sudah tentu, boleh memecat pentadbir yang pernah berurusan dengan kluster pangkalan data - Amazon atau Google yang sama akan melakukan ini untuk kami. Tetapi pada masa yang sama, Amazon atau Google tidak akan membenarkan kami mengkonfigurasi pangkalan data kami dengan jelas. Projek besar, syarikat besar - dalam apa jua keadaan, mereka sampai ke tahap bahawa pada beberapa peringkat kehidupan mereka mereka menggunakan penyelesaian awan, dan kemudian, dalam apa jua keadaan, mereka kembali mengambil semula kecekapan itu kepada diri mereka sendiri, kerana sesuatu yang lebih spesifik diperlukan .

Azat Khadiev: Adakah penyelesaian sejagat tidak baik atau bolehkah lebih banyak dibina berdasarkannya?

Pavel Selivanov: Tidak, penyelesaian universal pastinya tidak buruk. Penyelesaian universal adalah baik. Hanya penyelesaian universal... universal. Adalah penting untuk memahami di sini. Ia seperti mengambil skrip biasa... Jika anda boleh membina keseluruhan logik kerja syarikat di sekitar skrip biasa ini, aplikasi biasa, maka itu bagus. Dan jika logik kerja itu berbeza, tetapi anda mengambil penyelesaian universal ini, skrip universal - dan mula, seperti burung hantu, menarik dunia, ini adalah buruk. Dan tidak ada yang salah dengan universalisme itu sendiri.

Azat Khadiev: Jika admin ini sudah bekerja untuk anda, maksudnya bukan pada pemecatannya. Dia hanya akan dapat melakukan lebih banyak lagi.

Pavel Selivanov: Ya, buang rutin daripadanya dan berikan mereka tempat kepada seseorang untuk dibuat di suatu tempat di sana. Ini pasti pendekatan yang baik. Perkara penting di sini ialah sama ada penyelesaian standard ini sesuai untuk kes tertentu.

Azat Khadiev: Hanya berdasarkan pengalaman saya, saya melihat bahawa banyak syarikat melakukan perkara yang sama. Mereka sedang menyediakan gugusan Kubernetes dan memikirkan untuk menskalakannya. Dan semua operasi ini sangat boleh diulang.

Pavel Selivanov: Ya, pasti. Lebih-lebih lagi, jika kita mengambil Kubernetes secara khusus, terdapat satu titik bahawa terdapat sedikit pengetahuan yang mendalam dan baik tentang Kubernetes di pasaran sekarang. Dan Kubernetes ialah pembina yang sangat besar sehingga jika anda mengupahnya untuk sebuah syarikat, bersedialah untuk membawa bersama seorang jurutera yang akan melakukannya sepenuh masa ini. Dan ia mahal. Dan cuba cari lagi jurutera seperti itu. Jika saya bercakap tentang diri saya, saya tidak begitu menyukai sebarang penyelesaian awan, kerana saya mempunyai pemahaman yang agak baik dan mendalam tentang cara Kubernetes berfungsi. Dan selalunya dalam awan saya hanya kekurangan beberapa fungsi yang saya minta - tetapi mereka memberitahu saya "Tidak, anda tidak boleh." Nah, dalam kes itu, saya minta maaf, tetapi saya boleh melakukan lebih baik daripada Cloud. Tetapi pada masa yang sama, jika anda tidak mempunyai jurutera sepenuh masa, anda tidak mahu membayar jurutera yang mengendalikan Kubernetes ini, dan anda sentiasa membayarnya dengan banyak wang hanya untuk mencuba, maka awan hanya penyelesaian yang baik dan hebat. Kerana sekurang-kurangnya ada lelaki yang duduk di sana yang penyedia telah pun merekrut. Dan mereka tahu apa yang mereka lakukan. Dan perkara asas yang anda perlukan setiap hari ada di sana.

Azat Khadiev: Apa pendapat anda tentang keadaan semasa Kubernetes? Apa yang akan berlaku kepadanya dalam masa lima dan sepuluh tahun?

Pavel Selivanov: Soalan yang bagus. Saya hanya tahu apa yang berlaku dalam komuniti kita tentang perkara ini. Sesetengah orang percaya bahawa tidak akan ada apa-apa lagi kecuali Kubernetes. Keadaan yang berlaku dengan Linux suatu masa dahulu. Iaitu, di luar Linux terdapat orang yang tinggal di BSD, kemungkinan besar mereka mempunyai tugas yang sangat spesifik. Terdapat orang yang bekerja di bawah Windows - pelayan Windows - kemungkinan besar, mereka juga mempunyai tugas tertentu, atau mereka hanya mempunyai kecekapan dalam perkara ini dan mereka tidak bersedia untuk meninggalkannya. Walau apa pun, standard dalam bidang kami ialah Linux. Terdapat pendapat bahawa Kubernetes akan menjadi standard de facto yang sama, dan tidak akan ada apa-apa kecuali Kubernetes. Kubernetes akan mengurus bukan sahaja aplikasi, penggunaan, penggunaan dan penskalaan mereka. Secara umum, uruskan segala-galanya. Sekarang mereka sudah bertanya: "Adakah mungkin untuk menolak pangkalan data ke dalam Kubernetes?" Saya biasanya mengatakan bahawa isu di sini bukan dalam Kubernetes, tetapi dalam Docker. Jika anda sudah bersedia untuk pangkalan data anda dijalankan dalam bekas, ini adalah cara ia akan berfungsi. Mereka menjawab saya: "Tidak, tidak, tidak, tunggu. Tidak perlu bekas. Perlu Kubernetes. Kami akan mencantumkannya pada nod. Iaitu, semuanya akan menjadi seperti yang kita ada sekarang, hanya Kubernetes yang akan menguruskan semuanya.” Dan ini sebenarnya idea yang bagus. Iaitu, Kubernetes adalah perkara sedemikian apabila anda boleh datang ke syarikat, jika syarikat itu mempunyai Kubernetes dan proses dibina di atasnya, maka seseorang yang memahami perkara ini - dia hanya perlu melihatnya selama beberapa hari untuk berkata: β€œ Saya sedia menyokong anda. sepenuhnya. sepenuhnya. Saya faham bagaimana keadaan berfungsi untuk anda.” Berbeza dengan pendekatan tanpa Kubernetes - di sini beberapa tongkat dimasukkan, di sini tongkat lain. Ansible di sini, Terraform di sini. Seseorang menulis semua ini, dan mengambil masa enam bulan untuk memikirkannya. Di sini. Jadi sama ada Kubernetes akan menjadi standard de facto, saya tidak tahu. Hari ini, dia kelihatan jauh lebih bercita-cita tinggi dan yakin daripada penyelesaian yang wujud di sekelilingnya.

Azat Khadiev: Nah, perbandingan dengan Linux agak berani. Ia berfungsi pada satu mesin - itu sahaja. Dan Kubernetes berfungsi pada banyak mesin. Sejuta variasi dan sebab segera timbul. Ya, ia berani. Hanya jika anda mengambil kira bahawa terdapat pesaing untuk paradigma ini. Contohnya, Tanpa Pelayan. Adakah Kubernetes dalam bahaya dengan pesaing sedemikian?

Pavel Selivanov: Daripada Tanpa Pelayan... (ketawa) Tanpa Pelayan - kami masih faham bahawa terdapat pelayan. Saya baru-baru ini mendengar laporan mengenai perkara ini. Di sana orang itu berkata bahawa masih ada pelayan - dan ini adalah awan. Tetapi kita mesti sentiasa memahami bahawa awan juga mempunyai pelayan. Terdapat pelayan perkakasan sebenar, rak, dan ia dipasang di suatu tempat. Ini adalah awan. Selain daripada ini terdapat Serverless, di mana terdapat "tiada" pelayan. Jadi persoalannya ialah: adakah Tanpa Pelayan akan memenangi Kubernetes? Nampaknya pada saya Serverless akan berpindah ke Kubernetes. Bagi penyedia yang menyediakan Tanpa Pelayan, Kubernetes ialah platform yang sangat mudah untuk menyediakannya. Ya, mungkin pada satu ketika kita akan berhenti bercakap tentang Kubernetes pada dasarnya, seperti pembangunan biasa aplikasi perniagaan. Tetapi di suatu tempat di kedalaman, pembekal dan jurutera akan mempunyai Kubernetes, di mana semua ini akan dilaksanakan.

Azat Khadiev: Topik yang sedikit berbeza. Terdapat perkara seperti jurutera timbunan penuh. Apa pendapat anda tentang mereka? Adakah mereka wujud?

Pavel Selivanov: Um... Jurutera Fullstack... Nah, nampaknya saya patut membezakan antara perkara ini yang... Anda tahu, ada perkara seperti orang berbentuk T. Adakah orang seperti itu diperlukan dalam industri hari ini? Ya, kita pasti memerlukannya. Kami memerlukan orang yang mempunyai pandangan yang luas, tetapi pada masa yang sama mereka pakar dalam bidang yang sempit. Dan di sini jurutera Fullstack adalah sama - seorang yang melakukan segala-galanya. Bermula dari pembangunan bahagian hadapan, ujian, bahagian belakang, pelayan dan segala-galanya. Saya tidak percaya bahawa dalam syarikat besar seseorang boleh melakukan ini tanpa mempunyai pengkhususan sempit dalam setiap parameter. Tetapi pada masa yang sama, hanya dengan pengkhususan yang sempit, seperti apa yang berlaku di sekeliling ini, saya tidak tahu apa-apa - ini juga tidak berfungsi dalam dunia moden. Maksudnya, di sini saya akan katakan... Saya akan membuang perkataan Fullstack. Kami sangat memerlukan jurutera. Kami memerlukan DevOps. Saya rasa kita akan mempertimbangkan semula masa ini tidak lama lagi. Dan mereka tidak akan diperlukan.

Azat Khadiev: Bolehkah anda mendedahkan?

Pavel Selivanov: Nampaknya kami dalam industri akan membuat kesimpulan bahawa peranan Dev dan Ops ini akan hilang tidak lama lagi. Jika kami memerlukan pakar dan kami memburu... Kami memerlukan pemaju ini dan ini, kami memerlukan pentadbir ini dan itu, kami memerlukan jurutera DevOps - kini kami mempunyai mereka, kini kami juga akan mempunyai jurutera pengeluaran, jurutera SRE. Walaupun sebenarnya, apa yang kita perlukan adalah jurutera yang ingin kita ambil. Latar belakang pada umumnya tidak penting. Kerana... Sebagai contoh, SRE mengatakan bahawa masalah infrastruktur sentiasa masalah perisian. Jadi... Mari kita ambil pembangun - dari sudut pandangan bahawa pemaju adalah seorang jurutera - letakkan mereka di bahagian penyelenggaraan dan mereka akan menyelesaikan masalah ini dengan cara yang sama seperti mereka menyelesaikan masalah perniagaan dengan bantuan kod, dengan bantuan kejuruteraan seperti itu.

Azat Khadiev: Dan dari sudut pandangan ini... Bagaimana untuk menemu bual jurutera sedemikian?

Pavel Selivanov: Oh, soalan yang bagus. Dia mungkin sudah melampaui apa yang saya faham dalam hidup ini. Tetapi saya hanya akan memberi contoh. Tiada kena mengena dengan temuduga. Ini mengenai sistem pendidikan kita di Rusia. Dalam IT, kita tahu bahawa sistem pendidikan kita di Rusia sangat ketinggalan zaman untuk dunia IT, ia tidak seperti yang sepatutnya. Saya bercakap secara purata tentang Rusia yang luas - dan apa yang berlaku di sana. Orang ramai sedang menamatkan pengajian yang sama sekali tidak bersedia untuk memasuki pembangunan web atau syarikat teknologi pada hari berikutnya selepas tamat pengajian. Dan ia agak teruk. Kami mengajar mereka beberapa perkara yang pelik, walaupun kami sepatutnya mengajar mereka cara membangun untuk Android, iOS, cara menggunakan Git dan semua perkara ini. Malah, nampaknya tidak. Kolej adalah masa apabila ibu bapa anda kebanyakannya membayar untuk anda. Untuk seumur hidup anda. Dan anda boleh menumpukan lima tahun hidup anda untuk belajar secara mendalam. Dan kaji semua berbentuk T ini. Apabila anda boleh belajar di institut apakah sistem kawalan versi, apakah corak pembangunan yang ada, bagaimana untuk menguji keseluruhannya, jenis pangkalan data dan pengimbang yang ada. Dan apabila anda pergi bekerja, anda mula menyelidiki lebih mendalam ke dalam kawasan tertentu. Dan ini adalah cara kami mendapatkan jurutera. Dan sistem pendidikan kita di Rusia lebih dekat dengan kebenaran ini daripada yang kita fikirkan. Kami diberi latihan matematik yang baik, kami diberi latihan algoritma yang baik, kami diberi sedikit pemahaman tentang bahasa pengaturcaraan. Dan mengenai temu bual, nampaknya saya sesuatu yang dekat dengan ini. Kami perlu menemuduga jurutera. Kami memerlukan bahagian atas T untuk berbentuk T. Kerana ia akan memperoleh garis menegak huruf T.

Azat Khadiev: Ya, menarik. Lima tahun selepas kolej, nampaknya pendidikan saya agak pelik dan tidak mencukupi. Dan kemudian, apabila kerja berjalan, apabila tugas menjadi lebih mendalam, projek menjadi lebih besar, saya menyedari bahawa tidak, saya telah diajar perkara yang sangat penting. Pavel, terima kasih. Ia sangat menarik untuk mendengar jawapan anda. Mari dengar laporan anda.

Pavel Selivanov: Terima kasih.

Sumber: www.habr.com

Tambah komen