آیا Kubernetes لینوکس جدید است؟ مصاحبه با پاول سلیوانوف


رمزگشایی:
Azat Khadiev: سلام. نام من آزات خدیف است. من یک توسعه دهنده PaaS برای Mail.ru Cloud Solutions هستم. با من اینجا پاول سلیوانوف از ساوتبریج است. ما در کنفرانس DevOpsDays هستیم. او در اینجا در مورد چگونگی ساخت DevOps با Kubernetes صحبت خواهد کرد، اما به احتمال زیاد موفق نخواهید شد. چرا اینقدر موضوع تاریک؟

پاول سلیوانوف: در واقع غم انگیز نیست. این در مورد این واقعیت است که ما در تلاش هستیم تا بسیاری از مشکلات جامعه خود را با کمک فناوری حل کنیم. و ما در تلاش هستیم تا مسائل را با کمک فناوری به روشی نسبتاً یک طرفه حل کنیم. Kubenetes یکسان است - این چیزی است که آنها مسئول آن هستند، شاید بتوان گفت Ops. اما ما یک مفهوم عالی از مهندس DevOps داریم. یک مهندس DevOps مسئول Kubernetes است. در عین حال... مثل اینکه شما Kubernetes را می سازید، اما بچه های Dev اصلاً از همه این Kubernetes آگاه نیستند، آنها از آنچه به شما اجازه می دهد آگاه نیستند - و همه چیز دقیقاً برای آنها یکسان است. و این در حالی است که Kubernetes شامل راه حل های آماده، ابزارهای آماده به منظور استفاده از این فناوری برای گسترش این رویکرد DevOps، ارتباط بین Dev و Ops است. از این فرصت خیلی کم استفاده می کنیم. با توجه به این واقعیت که ما حتی ساختارهای فعلی را به همه این ابزارهای DevOps - Docker، Kubernetes، clouds و غیره منتقل می کنیم - این وضعیت را بیش از پیش تشدید می کنیم. و ما شروع به استفاده از ابزارها متفاوت از آنچه در نظر گرفته شده بود می کنیم. و فقط عصاهای وحشتناکی در اطراف همه این فناوری ها ساخته می شود.

آزات خدیف: می بینم. به نظر یک موضوع گسترده است. به نظر شما رایج ترین مشکل شرکت ها در حال حاضر چیست؟ با Kubernetes.

پاول سلیوانوف: رایج ترین مشکل کوبرنتیس فقدان صلاحیت هاست. این یک مشکل رایج در IT است. همیشه کمبود متخصص وجود دارد. همیشه کمبود شایستگی وجود دارد. و اکنون با Kubernetes صلاحیت های کافی وجود ندارد. و در عین حال، هنوز XNUMX٪ راه حل های آماده در بازار وجود دارد که به شما امکان می دهد Kubernetes را دریافت کنید، اما در عین حال صلاحیت های لازم را ندارید؛ صراحتاً تعداد کمی از آنها در بازار وجود دارد. و آنهایی که وجود دارند، همگی سوالاتی را مطرح می کنند. با Kubernetes، ما دائماً به دنبال افرادی هستیم که این را درک کنند. ما در تلاش هستیم تا توسعه را با این امر تطبیق دهیم.

آزات خدیف: و با توجه به کمبود پرسنل فعلی در فناوری اطلاعات. که همیشه وجود داشته است. و اکنون وجود دارد. به نظر شما چگونه می توان در این شرایط زندگی کرد؟ چه هک های زندگی وجود دارد؟

پاول سلیوانوف: Lifehacks. اولاً، از دیدگاه ابرها، هک زندگی به این شکل است - اجازه دهید برخی از شایستگی های شما را به ما ارائه دهیم. و ما آنها را برای خود خواهیم گرفت. و ما این کار را در درون خود انجام خواهیم داد. و این همه خوب است. به جز اینکه درک آن برای کسانی که از آن استفاده می کنند مهم است ... در واقع یک لحظه عالی ... اما مهم است که درک کنیم اگر بخشی از صلاحیت های خود را در جایی به ابر یا ارائه دهنده بدهیم ، در ازای آن یک راه حل جهانی دریافت می کنیم. . به طور کلی، ما یک پایگاه داده داریم که کارهای بسیار خاصی را انجام می دهد و به روشی بسیار خاص پیکربندی شده است. البته با دادن این پایگاه داده به ابر، ما می توانیم مدیری را که قبلاً با خوشه های پایگاه داده سروکار داشت، اخراج کنیم - همان آمازون یا گوگل این کار را برای ما انجام می دهند. اما در عین حال، آمازون یا گوگل به ما اجازه نمی دهند پایگاه داده خود را به وضوح پیکربندی کنیم. پروژه های بزرگ، شرکت های بزرگ - در هر صورت، آنها به این نقطه می رسند که در مرحله ای از زندگی خود از راه حل های ابری استفاده می کنند و سپس، در هر صورت، به بازگرداندن شایستگی ها به خود باز می گردند، زیرا چیزی خاص تر مورد نیاز است. .

آزات خدیف: آیا راه حل های جهانی بد هستند یا می توان بر اساس آنها راه حل های بیشتری ساخت؟

پاول سلیوانوف: نه، راه حل های جهانی قطعا بد نیستند. راه حل های جهانی خوب هستند. فقط راه حل های جهانی... جهانی. درک اینجا مهم است. این مانند گرفتن یک اسکریپت مشترک است... اگر بتوانید کل منطق کار شرکت را حول این اسکریپت رایج، برنامه مشترک بسازید، خیلی خوب است. و اگر منطق کار متفاوت است، اما شما این راه حل جهانی را انتخاب کنید، یک فیلمنامه جهانی - و شروع کنید، مانند جغد، کشیدن کره زمین، این بد است. و خود عام گرایی اشکالی ندارد.

Azat Khadiev: اگر این ادمین قبلاً برای شما کار می کند، نکته در اخراج او نیست. او فقط می تواند کارهای بیشتری انجام دهد.

پاول سلیوانوف: بله، روتین را از او بردارید و آنها را در جایی به کسی بدهید تا در جایی ساخته شود. این قطعا رویکرد خوبی است. نکته مهم در اینجا این است که آیا این محلول استاندارد برای یک مورد خاص مناسب است یا خیر.

آزات خدیف: فقط بر اساس تجربه من، می بینم که بسیاری از شرکت ها همین کار را انجام می دهند. آنها در حال راه‌اندازی یک خوشه Kubernetes هستند و به بزرگ‌سازی آن فکر می‌کنند. و همه این عملیات ها بسیار قابل تکرار هستند.

پاول سلیوانوف: بله، قطعا. علاوه بر این، اگر به طور خاص Kubernetes را در نظر بگیریم، چنین نکته ای وجود دارد که در حال حاضر دانش عمیق و خوبی در مورد Kubernetes در بازار وجود دارد. و Kubernetes آنقدر سازنده غول‌پیکر است که اگر آن را برای یک شرکت استخدام می‌کنید، آماده باشید تا یک مهندس را به همراه داشته باشید که تمام این کارها را تمام وقت انجام دهد. و گران است. و سعی کنید دوباره چنین مهندسی پیدا کنید. اگر در مورد خودم صحبت کنم، واقعاً هیچ راه حل ابری را دوست ندارم، زیرا درک نسبتاً خوب و عمیقی از نحوه عملکرد Kubernetes دارم. و اغلب در ابرها من فقط برخی از عملکردهایی را که درخواست می کنم کم دارم - اما آنها به من می گویند "نه، نمی توانی." خوب، در این صورت، متاسفم، اما من می توانم بهتر از Cloud انجام دهم. اما در عین حال، اگر یک مهندس تمام وقت ندارید، نمی‌خواهید برای این مهندس که کوبرنتیس را اداره می‌کند، هزینه کنید، و دائماً پول زیادی به او می‌پردازید تا آزمایش کند، پس ابر فقط است. یک راه حل خوب و عالی زیرا حداقل افرادی در آنجا نشسته اند که ارائه دهنده قبلاً آنها را استخدام کرده است. و می دانند چه می کنند. و آن چیزهای اساسی که شما به صورت روزمره به آنها نیاز دارید وجود دارد.

Azat Khadiev: نظر شما در مورد وضعیت فعلی کوبرنتیس چیست؟ پنج و ده سال دیگر چه اتفاقی برای او خواهد افتاد؟

پاول سلیوانوف: سوال خوبی است. من فقط می دانم در این مورد در جامعه ما چه می گذرد. برخی معتقدند که چیزی جز کوبرنتیس باقی نخواهد ماند. وضعیتی که مدت ها پیش با لینوکس اتفاق افتاد. یعنی خارج از لینوکس افرادی هستند که با BSD زندگی می کنند، به احتمال زیاد وظایف بسیار خاصی دارند. افرادی هستند که تحت ویندوز کار می کنند - سرورهای ویندوز - به احتمال زیاد آنها نیز وظایف خاصی دارند یا به سادگی در این زمینه صلاحیت دارند و حاضر نیستند آنجا را ترک کنند. در هر صورت استاندارد در زمینه ما لینوکس است. این عقیده وجود دارد که Kubernetes به همان استاندارد واقعی تبدیل خواهد شد و چیزی جز Kubernetes وجود نخواهد داشت. Kubernetes نه تنها برنامه‌ها، استقرار، استقرار و مقیاس‌بندی آنها را مدیریت می‌کند. به طور کلی همه چیز را مدیریت کنید. اکنون آنها می پرسند: "آیا می توان یک پایگاه داده را به Kubernetes فشار داد؟" من معمولاً می گویم که مشکل اینجا در Kubernetes نیست، بلکه در Docker است. اگر آماده هستید تا پایگاه داده خود در کانتینرها اجرا شود، این روش کار خواهد کرد. آنها به من پاسخ می دهند: «نه، نه، نه، صبر کن. بدون نیاز به ظروف. نیاز به Kubernetes. ما آن را به گره پیوند می دهیم. یعنی همه چیز همانطور که الان داریم خواهد بود، فقط کوبرنتیس همه آن را مدیریت خواهد کرد.» و این در واقع ایده خوبی است. یعنی وقتی می‌توانید به شرکتی بیایید، Kubernetes چنین چیزی است، اگر شرکتی Kubernetes دارد و فرآیندهایی بر روی آن ساخته شده است، پس شخصی که این را می‌فهمد - فقط باید چند روز به آن نگاه کند تا بگوید: من آماده حمایت از شما هستم. به طور کامل. به طور کامل. من درک می کنم که چگونه همه چیز برای شما کار می کند." برخلاف رویکردهای بدون کوبرنت - در اینجا عصاهایی به داخل هل داده شد، اینجا عصاهای دیگر. Ansible اینجا، Terraform اینجا. یک نفر همه اینها را نوشته است و شش ماه طول می کشد تا آن را بفهمیم. اینجا. بنابراین نمی دانم که آیا Kubernetes به یک استاندارد واقعی تبدیل خواهد شد یا خیر. امروز، او بسیار بلندپروازتر و مطمئن تر از راه حل های موجود در اطرافش به نظر می رسد.

Azat Khadiev: خوب، مقایسه با لینوکس کاملا جسورانه است. روی یک دستگاه کار می کند - همین. و Kubernetes روی بسیاری از ماشین ها کار می کند. یک میلیون تغییر و دلیل بلافاصله بوجود می آیند. بله، پررنگ است. فقط اگر در نظر بگیرید که رقبایی برای این پارادایم وجود دارد. مثلاً بدون سرور. آیا Kubernetes با چنین رقبای در خطر است؟

پاول سلیوانوف: از سرورهای بدون سرور... (خنده) بدون سرور - ما هنوز هم می دانیم که بالاخره سرورهایی وجود دارد. اخیرا گزارشی در این مورد شنیدم. در آنجا شخص گفت که هنوز سرورها وجود دارد - و این یک ابر است. اما همیشه باید درک کنیم که ابر سرورهایی نیز دارد. سرورهای سخت افزاری واقعی، یک رک وجود دارد و در جایی نصب می شوند. این ابر است. در بالای این، سرور بدون سرور وجود دارد، جایی که هیچ سروری وجود ندارد. بنابراین سوال این است: آیا سرور بدون سرور بر Kubernetes پیروز خواهد شد؟ به نظر من بدون سرور به Kubernetes منتقل می شود. برای ارائه دهندگانی که بدون سرور ارائه می دهند، Kubernetes یک پلت فرم بسیار مناسب برای ارائه این است. بله، شاید در مقطعی ما در اصل صحبت در مورد Kubernetes را متوقف کنیم، همانطور که در مورد توسعه معمولی برنامه های کاربردی تجاری است. اما در جایی در اعماق، ارائه دهندگان و مهندسان Kubernetes را خواهند داشت، جایی که همه اینها پیاده سازی خواهند شد.

Azat Khadiev: موضوع کمی متفاوت است. چیزی به نام مهندس فول استک وجود دارد. درباره ی آن ها چه فکر میکنی؟ اصلا وجود دارند؟

پاول سلیوانوف: اوم... مهندس فول استک... خب، به نظر من ارزش این را دارد که بین این چیزها تمایز قائل شوم که... می دانید، چیزی به نام افراد T شکل وجود دارد. آیا در صنعت امروز به چنین افرادی نیاز است؟ بله، ما قطعا به آن نیاز داریم. ما به افرادی نیاز داریم که دید گسترده ای داشته باشند، اما در عین حال متخصص در برخی زمینه های محدود باشند. و در اینجا مهندس Fullstack یکسان است - فردی که همه کارها را انجام می دهد. شروع از توسعه front-end، تست، back-end، سرورها و هر چیز دیگری. من معتقد نیستم که در یک شرکت بزرگ یک نفر بتواند این کار را بدون داشتن تخصص های محدود در هر یک از پارامترها انجام دهد. اما در عین حال، صرف داشتن یک تخصص محدود، مانند آنچه در اطراف این اتفاق می افتد، چیزی نمی دانم - این نیز در دنیای مدرن کار نمی کند. یعنی اینجا میگم... کلمه Fullstack رو دور میندازم. ما واقعا به مهندس نیاز داریم. ما به DevOps نیاز داریم. من احساس می کنم به زودی در این لحظه تجدید نظر خواهیم کرد. و مورد نیاز نخواهند بود.

آزات خدیف: می توانید فاش کنید؟

پاول سلیوانوف: به نظر من ما در صنعت به این نتیجه خواهیم رسید که این نقش های Dev و Ops به زودی ناپدید خواهند شد. اگر به متخصص نیاز داریم و در حال شکار هستیم... ما به فلان توسعه دهنده نیاز داریم، به فلان مدیر نیاز داریم، به مهندسان DevOps نیاز داریم - اکنون آنها را داریم، اکنون مهندسان تولید، مهندسان SRE نیز خواهیم داشت. اگرچه در واقع آنچه ما نیاز داریم مهندسانی هستند که می خواهیم آنها را استخدام کنیم. پس زمینه به طور کلی مهم نیست. چون... مثلا SRE میگه مشکلات زیرساخت همیشه مشکلات نرم افزاری هستن. بنابراین ... بیایید توسعه دهندگان را - از این نظر که یک توسعه دهنده یک مهندس است - در بخش تعمیر و نگهداری قرار دهیم و آنها این مشکلات را همانطور که مشکلات تجاری را با کمک کد حل می کنند، با کمک حل می کنند. مهندسی به این عنوان.

آزات خدیف: و از این منظر... چگونه با چنین مهندسانی مصاحبه کنیم؟

پاول سلیوانوف: اوه، سوال خوبی است. او احتمالاً فراتر از آن چیزی است که من در این زندگی می فهمم. اما من فقط یک مثال می زنم. ربطی به مصاحبه نداره این در مورد سیستم آموزشی ما در روسیه است. در IT، ما می دانیم که سیستم آموزشی ما در روسیه برای دنیای فناوری اطلاعات بسیار قدیمی است، آن چیزی نیست که باید باشد. من به طور متوسط ​​در مورد روسیه گسترده صحبت می کنم - و آنچه در آنجا اتفاق می افتد. افرادی فارغ التحصیل می شوند که کاملاً آماده نیستند روز بعد از فارغ التحصیلی وارد توسعه وب یا یک شرکت فناوری شوند. و به نوعی بد است. ما چیزهای عجیبی را به آنها آموزش می دهیم، اگرچه باید به آنها یاد بدهیم که چگونه برای اندروید، iOS، نحوه استفاده از Git و همه این موارد را توسعه دهند. در واقع، به نظر می رسد که نه. دانشگاه زمانی است که والدین شما بیشتر هزینه های شما را پرداخت می کنند. برای کل زندگیت و شما می توانید پنج سال از زندگی خود را به مطالعه عمیق اختصاص دهید. و تمام این T شکل را مطالعه کنید. وقتی می‌توانید در مؤسسه مطالعه کنید که سیستم کنترل نسخه چیست، چه الگوهای توسعه‌ای وجود دارد، چگونه کل آن را آزمایش کنید، چه نوع پایگاه‌های داده و متعادل‌کننده‌هایی وجود دارد. و وقتی سر کار می روید، شروع به کاوش عمیق تر در یک منطقه خاص می کنید. و اینگونه است که ما مهندسان را بدست می آوریم. و سیستم آموزشی ما در روسیه بسیار بیشتر از آنچه فکر می کنیم به این حقیقت نزدیک است. به ما آموزش ریاضی خوبی داده می شود، آموزش الگوریتمی خوبی به ما داده می شود، به ما مقداری درک از زبان های برنامه نویسی داده می شود. و در مورد مصاحبه، به نظر من چیزی نزدیک به این است. ما باید با مهندسان مصاحبه کنیم. برای T شکل به بالای T نیاز داریم. زیرا خط عمودی حرف T را به دست می آورد.

Azat Khadiev: بله، جالب است. پنج سال بعد از دانشگاه، به نظرم رسید که تحصیلاتم به نوعی عجیب و ناکافی است. و بعد، با پیشرفت کار، وقتی کارها عمیق تر شد، پروژه ها بزرگتر شدند، متوجه شدم که نه، چیزهای بسیار مهمی به من آموزش داده شده است. پاول، ممنون شنیدن پاسخ های شما بسیار جالب بود. بیایید به گزارش شما گوش کنیم.

پاول سلیوانوف: متشکرم.

منبع: www.habr.com

اضافه کردن نظر