Czy Kubernetes to nowy Linux? Wywiad z Pavelem Seliwanovem


Dekodowanie:
Azat Khadiev: Witam. Nazywam się Azat Khadiev. Jestem programistą PaaS w Mail.ru Cloud Solutions. Jest tu ze mną Pavel Selivanov z Southbridge. Jesteśmy na konferencji DevOpsDays. Wygłosi tutaj wykład o tym, jak można zbudować DevOps na Kubernetesie, ale najprawdopodobniej ci się to nie uda. Dlaczego taki ciemny temat?

Pavel Selivanov: Właściwie to nie jest ponury. Chodzi o to, że wiele problemów naszej społeczności staramy się rozwiązywać za pomocą technologii. Próbujemy rozwiązać problemy za pomocą technologii w dość jednostronny sposób. Kubenetes jest taki sam - to właśnie za to odpowiadają, można powiedzieć, że Ops. Ale mamy świetną koncepcję inżyniera DevOps. Za Kubernetes odpowiada inżynier DevOps. Jednocześnie... Tak jak tworzysz Kubernetesa, ale deweloperzy w ogóle nie są świadomi tych wszystkich Kubernetesów, nie są świadomi tego, co pozwala ci zrobić - i wszystko żyje dla nich dokładnie tak samo. I to pomimo tego, że Kubernetes zawiera gotowe rozwiązania, gotowe narzędzia, aby wykorzystać tę technologię do rozciągnięcia tego podejścia DevOps, komunikacji pomiędzy Dev i Ops. Bardzo rzadko korzystamy z tej możliwości. Przez to, że przenosimy nawet obecne struktury na wszystkie te narzędzia DevOps – Docker, Kubernetes, chmury i tak dalej – jeszcze bardziej pogarszamy tę sytuację. I zaczynamy używać narzędzi inaczej niż były przeznaczone. I wokół tych wszystkich technologii budowane są po prostu straszne kule.

Azat Khadiev: Rozumiem. Mam wrażenie, że to szeroki temat. Jak myślisz, jaki jest obecnie najczęstszy problem firm? Z Kubernetesem.

Pavel Selivanov: Najczęstszym problemem Kubernetesa jest brak kompetencji. Jest to częsty problem w IT. Specjalistów zawsze brakuje. Zawsze brakuje kompetencji. A teraz przy Kubernetesie brakuje kompetencji. A jednocześnie na rynku wciąż są w XNUMX% gotowe rozwiązania, które pozwoliłyby zdobyć Kubernetesa, ale jednocześnie nie posiadać niezbędnych kompetencji, jest ich na rynku szczerze mówiąc niewiele. A te, które istnieją, wszystkie rodzą pewne pytania. Dzięki Kubernetesowi stale poszukujemy ludzi, którzy to rozumieją. Staramy się do tego dostosować rozwój.

Azat Khadiev: Biorąc pod uwagę obecne niedobory personelu w IT. Które zawsze tam było. A teraz jest. Jak myślisz, jak żyć w takich warunkach? Jakie są life hacki?

Pavel Selivanov: Lifehacki. Po pierwsze, z punktu widzenia chmur, lifehack wygląda tak - daj nam trochę swoich kompetencji. I weźmiemy je dla siebie. I zrobimy to w sobie. I to wszystko dobrze. Tyle, że ważne jest, aby zrozumieć dla tych, którzy z tego korzystają... Właściwie to świetny moment... Ale ważne jest, aby zrozumieć, że jeśli oddamy gdzieś część naszych kompetencji chmurze lub dostawcy, w zamian otrzymamy uniwersalne rozwiązanie . Z grubsza rzecz biorąc, mamy bazę danych, która wykonuje bardzo specyficzne zadania i została skonfigurowana w bardzo specyficzny sposób. Oddając tę ​​bazę do chmury, możemy oczywiście zwolnić administratora, który zajmował się wcześniej klastrami baz danych – zrobi to za nas ten sam Amazon czy Google. Ale jednocześnie Amazon czy Google nie pozwolą nam jasno skonfigurować naszej bazy danych. Duże projekty, duże firmy – w każdym razie dochodzą do tego, że na pewnym etapie życia korzystają z rozwiązań chmurowych, a potem i tak wracają do odbierania kompetencji dla siebie, bo potrzebne jest coś bardziej konkretnego .

Azat Khadiev: Czy rozwiązania uniwersalne są złe, czy można na ich podstawie zbudować więcej?

Pavel Seliwanov: Nie, rozwiązania uniwersalne na pewno nie są złe. Rozwiązania uniwersalne są dobre. Po prostu uniwersalne rozwiązania... uniwersalne. Ważne jest, aby tutaj zrozumieć. To tak, jakby wziąć wspólny skrypt… Jeśli możesz zbudować całą logikę pracy firmy wokół tego wspólnego skryptu, wspólnej aplikacji, to super. A jeśli logika dzieła jest inna, ale weźmiesz to uniwersalne rozwiązanie, uniwersalny scenariusz – i zaczniesz, jak sowa, ciągnąc globus, to jest źle. I nie ma nic złego w samym uniwersalizmie.

Azat Khadiev: Jeśli ten administrator już dla Ciebie pracuje, nie chodzi o jego zwolnienie. Po prostu będzie mógł zrobić więcej.

Pavel Selivanov: Tak, zabierz mu rutynę i daj gdzieś komuś, żeby mógł się gdzieś tam odrobić. Jest to zdecydowanie dobre podejście. Ważne jest tutaj, czy to standardowe rozwiązanie jest odpowiednie w konkretnym przypadku.

Azat Khadiev: Bazując na swoim doświadczeniu, widzę, że wiele firm robi to samo. Tworzą klaster Kubernetes i zastanawiają się nad jego skalowaniem. A wszystkie te operacje są bardzo powtarzalne.

Pavel Selivanov: Tak, zdecydowanie. Co więcej, jeśli weźmiemy pod uwagę konkretnie Kubernetes, dojdziemy do takiego punktu, że obecnie na rynku jest naprawdę niewiele głębokiej, dobrej wiedzy na temat Kubernetesa. A Kubernetes to tak gigantyczny konstruktor, że jeśli zatrudnisz go do firmy, bądź przygotowany na zabranie ze sobą inżyniera, który zajmie się tym wszystkim na pełen etat. I to jest drogie. I spróbuj ponownie znaleźć takiego inżyniera. Jeśli mówię o sobie, to nie przepadam za żadnymi rozwiązaniami chmurowymi, bo mam dość dobre i głębokie pojęcie o tym, jak działa Kubernetes. Często w chmurach po prostu brakuje mi niektórych funkcji, o które proszę, ale mówią mi: „Nie, nie możesz”. Cóż, w takim razie przykro mi, ale potrafię lepiej niż Cloud. Ale jednocześnie, jeśli nie masz inżyniera na pełen etat, nie chcesz płacić temu inżynierowi, który obsługuje Kubernetes, a ciągle płacisz mu mnóstwo pieniędzy, żeby tylko eksperymentował, to chmura jest po prostu dobre, świetne rozwiązanie. Bo przynajmniej siedzą tam goście, których dostawca już zrekrutował. I wiedzą, co robią. A te podstawowe rzeczy potrzebne na co dzień są tam.

Azat Khadiev: Co sądzisz o obecnym stanie Kubernetesa? Co się z nim stanie za pięć i dziesięć lat?

Pavel Selivanov: Dobre pytanie. Po prostu wiem, co się dzieje w tej sprawie w naszej społeczności. Niektórzy uważają, że poza Kubernetesem nie pozostanie już nic. Sytuacja, która wydarzyła się dawno temu z Linuksem. Oznacza to, że poza Linuksem są ludzie, którzy żyją na BSD, najprawdopodobniej mają bardzo specyficzne zadania. Są ludzie, którzy pracują pod Windows – serwery Windows – najprawdopodobniej też mają określone zadania, albo po prostu mają kompetencje w tym zakresie i nie są gotowi stamtąd odejść. W każdym razie standardem w naszej branży jest Linux. Istnieje opinia, że ​​Kubernetes stanie się de facto tym samym standardem i nie pozostanie nic poza Kubernetesem. Kubernetes będzie zarządzał nie tylko aplikacjami, ich wdrażaniem, wdrażaniem i skalowaniem. Generalnie zarządzaj wszystkim. Teraz już pytają: „Czy można wrzucić bazę danych do Kubernetesa?” Zwykle mówię, że problem nie dotyczy Kubernetesa, ale Dockera. Jeśli jesteś gotowy, aby baza danych działała w kontenerach, będzie to działać w następujący sposób. Odpowiadają mi: „Nie, nie, nie, czekaj. Nie ma potrzeby stosowania kontenerów. Potrzebujesz Kubernetesa. Przeszczepimy go na węzeł. Oznacza to, że wszystko będzie tak, jak mamy teraz, tylko Kubernetes będzie tym wszystkim zarządzał.” I to jest właściwie dobry pomysł. Czyli Kubernetes to coś takiego, kiedy można przyjechać do firmy, jeśli firma ma Kubernetesa i zbudowane na nim procesy, to osoba, która to rozumie – wystarczy, że popatrzy na to kilka dni, żeby powiedzieć: „ Jestem gotowy Cię wspierać. W pełni. Całkowicie. Rozumiem, jak to u ciebie wygląda. W przeciwieństwie do podejść bez Kubernetesa - tu wepchnięto jedne kule, tu inne kule. Ansible tutaj, Terraform tutaj. Ktoś to wszystko napisał i rozpracowanie tego zajmuje sześć miesięcy. Tutaj. Czy zatem Kubernetes stanie się de facto standardem, tego nie wiem. Dziś wygląda na dużo bardziej ambitnego i pewnego siebie niż rozwiązania, które istnieją wokół niego.

Azat Khadiev: Cóż, porównanie z Linuksem jest dość odważne. Działa na jednej maszynie - to wszystko. Kubernetes działa na wielu maszynach. Natychmiast pojawia się milion odmian i powodów. Tak, to odważne. Tylko jeśli weźmie się pod uwagę, że ten paradygmat ma konkurentów. Na przykład bezserwerowy. Czy Kubernetes jest w niebezpieczeństwie w przypadku takich konkurentów?

Pavel Selivanov: Od Serverless... (śmiech) Serverless – wciąż rozumiemy, że mimo wszystko istnieją serwery. Niedawno usłyszałem raport na ten temat. Tam osoba powiedziała, że ​​nadal są serwery - i to jest chmura. Ale zawsze musimy zrozumieć, że chmura ma również serwery. Istnieją prawdziwe serwery sprzętowe, stojak i są one gdzieś zainstalowane. To jest chmura. Do tego dochodzi wersja Serverless, w której „nie ma” serwerów. Pytanie zatem brzmi: czy Serverless wygra z Kubernetesem? Wydaje mi się, że Serverless przeniesie się na Kubernetes. Dla dostawców oferujących rozwiązania bezserwerowe Kubernetes jest bardzo wygodną platformą, która to zapewnia. Tak, być może w pewnym momencie przestaniemy mówić o Kubernetesie w zasadzie, jak o zwykłym tworzeniu aplikacji biznesowych. Ale gdzieś w głębi dostawcy i inżynierowie będą mieli Kubernetes, gdzie to wszystko zostanie wdrożone.

Azat Khadiev: Trochę inny temat. Istnieje coś takiego jak inżynier full-stack. Co o nich myślisz? Czy oni w ogóle istnieją?

Pavel Selivanov: Hmm... Inżynier Fullstack... Cóż, wydaje mi się, że warto rozróżnić te rzeczy, które... Wiesz, istnieje coś takiego jak ludzie w kształcie litery T. Czy tacy ludzie są potrzebni w dzisiejszej branży? Tak, zdecydowanie tego potrzebujemy. Potrzebujemy ludzi, którzy mają szerokie horyzonty, ale jednocześnie są specjalistami w jakiejś wąskiej dziedzinie. I tutaj inżynier Fullstack jest ten sam – osoba, która robi wszystko. Począwszy od rozwoju front-endu, testowania, backendu, serwerów i wszystkiego innego. Nie wierzę, że w dużej firmie może to zrobić jedna osoba, nie mając wąskich specjalizacji w każdym z parametrów. Ale jednocześnie, po prostu mając wąską specjalizację, jak to, co się wokół tego dzieje, nic nie wiem - to też nie działa we współczesnym świecie. To znaczy, tutaj powiedziałbym... odrzuciłbym słowo Fullstack. Naprawdę potrzebujemy inżynierów. Potrzebujemy DevOpsu. Czuję, że wkrótce ponownie rozważymy ten moment. I nie będą potrzebne.

Azat Khadiev: Czy możesz ujawnić?

Pavel Selivanov: Wydaje mi się, że my, przedstawiciele branży, dojdziemy do wniosku, że role Dev i Ops wkrótce znikną. Jeśli potrzebujemy specjalistów i polujemy... Potrzebujemy takiego a takiego programisty, potrzebujemy takich a takich administratorów, potrzebujemy inżynierów DevOps - teraz ich mamy, teraz będziemy mieć także inżynierów produkcji, inżynierów SRE. Chociaż tak naprawdę potrzebujemy inżynierów, których chcemy zatrudnić. Tło jest w zasadzie nieistotne. Ponieważ... Na przykład firma SRE twierdzi, że problemy z infrastrukturą są zawsze problemami z oprogramowaniem. A więc... Weźmy programistów - z punktu widzenia programisty to inżyniera - umieść ich w dziale utrzymania ruchu, a oni rozwiążą te problemy w taki sam sposób, w jaki rozwiązują problemy biznesowe za pomocą kodu, za pomocą inżynierii jako takiej.

Azat Khadiev: A z tego punktu widzenia... Jak przeprowadzać wywiady z takimi inżynierami?

Pavel Selivanov: Och, dobre pytanie. Prawdopodobnie jest już poza tym, co rozumiem w tym życiu. Ale podam tylko przykład. To nie ma nic wspólnego z wywiadem. Chodzi o nasz system edukacji w Rosji. W IT wiemy, że nasz system edukacji w Rosji jest bardzo przestarzały dla świata IT, nie jest taki, jaki powinien być. Mówię średnio o rozległej Rosji - i o tym, co się tam dzieje. Kończą studia ludzie, którzy absolutnie nie są gotowi, aby następnego dnia po ukończeniu studiów zająć się tworzeniem stron internetowych lub firmą technologiczną. I jest trochę źle. Uczymy ich różnych dziwnych rzeczy, chociaż powinniśmy ich uczyć, jak programować na Androida, iOS, jak korzystać z Gita i tak dalej. W rzeczywistości wygląda na to, że nie. Studia to czas, w którym głównie płacą za Ciebie rodzice. Przez całe życie. I możesz poświęcić pięć lat swojego życia na dogłębną naukę. I przestudiuj to wszystko w kształcie litery T. Kiedy można studiować w instytucie, czym jest system kontroli wersji, jakie istnieją wzorce rozwoju, jak całość przetestować, jakie są rodzaje baz danych i balanserów. A kiedy idziesz do pracy, zaczynasz zagłębiać się w konkretny obszar. I tak pozyskujemy inżynierów. A nasz system edukacji w Rosji jest znacznie bliższy tej prawdy, niż nam się wydaje. Przechodzimy dobre szkolenie matematyczne, zapewniamy dobre szkolenie algorytmiczne, zapewniamy pewne zrozumienie języków programowania. A jeśli chodzi o wywiad, wydaje mi się, że jest to coś zbliżonego. Musimy przeprowadzić wywiad z inżynierami. Potrzebujemy górnej części litery T w kształcie litery T. Ponieważ nabędzie pionową linię litery T.

Azat Khadiev: Tak, interesujące. Pięć lat po studiach wydawało mi się, że moja edukacja jest w jakiś sposób dziwna i nieodpowiednia. A potem, w miarę postępu pracy, gdy zadania stawały się coraz głębsze, projekty stawały się coraz większe, zdałam sobie sprawę, że nie, nauczono mnie bardzo ważnych rzeczy. Paweł, dziękuję. Bardzo ciekawie było słuchać Waszych odpowiedzi. Posłuchajmy twojej relacji.

Paweł Seliwanow: Dziękuję.

Źródło: www.habr.com

Dodaj komentarz