
رمزگشایی:
آزات خادیف: سلام. من آزات خادیف هستم. من یک توسعهدهنده PaaS در Mail.ru Cloud Solutions هستم. پاول سلیوانوف از Southbridge هم اینجا با من است. ما در کنفرانس DevOpsDays هستیم. او قرار است در مورد چگونگی ساخت DevOps با Kubernetes صحبت کند، اما احتمالاً شکست خواهید خورد. چرا چنین موضوع ناخوشایندی؟
پاول سلیوانوف: واقعاً ناامیدکننده نیست. موضوع این است که ما سعی داریم بسیاری از مشکلات جامعهمان را با فناوری حل کنیم. و سعی میکنیم آنها را به روشی نسبتاً یکطرفه حل کنیم. برای مثال، کوبنتز هم همینطور است - میتوان گفت که عملیات مسئول آن است. اما ما این مفهوم فوقالعاده از مهندس دواپس را داریم. یک مهندس دواپس مسئول کوبرنتیز است. و با این حال... مثل این است که شما کوبرنتیز میسازید و توسعهدهندگان حتی از همه این چیزهای کوبرنتیز آگاه نیستند، آنها نمیدانند که چه کاری را به شما امکان میدهد - و همه چیز برای آنها دقیقاً یکسان کار میکند. و این علیرغم این واقعیت است که کوبرنتیز شامل راهحلهای آماده، ابزارهای آماده برای استفاده از این فناوری برای گسترش این رویکرد دواپس، ارتباط بین توسعهدهندگان و عملیات است. ما خیلی کم از این فرصت استفاده میکنیم. با مهاجرت حتی ساختارهای فعلیمان به تمام این ابزارهای DevOps - Docker، Kubernetes، cloudها و غیره - ما این وضعیت را حتی بدتر میکنیم. و ما شروع به استفاده از ابزارها به روشهایی میکنیم که قرار نبود استفاده شوند. و تمام این فناوریها حول محور برخی از تکیهگاههای واقعاً وحشتناک ساخته میشوند.
آزات خدیف: متوجه شدم. به نظر میرسد موضوع گستردهای باشد. به نظر شما رایجترین مشکلی که شرکتها در حال حاضر با آن مواجه هستند چیست؟ در مورد کوبرنتیز.
پاول سلیوانوف: رایجترین مشکل کوبرنتیز، کمبود تخصص است. این یک مشکل رایج در فناوری اطلاعات است. همیشه کمبود متخصص وجود دارد. همیشه کمبود تخصص وجود دارد. و در حال حاضر، در مورد کوبرنتیز، کمبود مهارت وجود دارد. در همین حال، صادقانه بگویم، راهحلهای آمادهی کمی در بازار وجود دارد که به کسی اجازه میدهد بدون داشتن تخصص لازم، کوبرنتیز را دریافت کند. و آنهایی که وجود دارند، همگی سوالاتی را مطرح میکنند. در مورد کوبرنتیز، ما دائماً به دنبال افرادی هستیم که این موضوع را درک کنند. ما در تلاشیم تا توسعهی خود را برای تطبیق با این موضوع بهبود بخشیم.
عزت خادیف: و با توجه به کمبود استعداد فعلی در حوزه فناوری اطلاعات. که همیشه وجود داشته و هنوز هم وجود دارد. به نظر شما چگونه میتوانیم در این شرایط زندگی کنیم؟ چند راهکار برای زندگی وجود دارد؟
پاول سلیوانوف: ترفندهای زندگی. اولاً، از دیدگاه ابری، یک ترفند زندگی به این شکل است: بیایید برخی از شایستگیهای خود را به ما بدهید. و ما آنها را برای خودمان برمیداریم. و خودمان آن را مدیریت خواهیم کرد. و همه اینها خوب و عالی است. به جز اینکه درک این موضوع برای کسانی که از این استفاده میکنند مهم است... در واقع، نکته فوقالعادهای است... اما درک این نکته مهم است که با دادن برخی از شایستگیهای خود به یک ابر یا یک ارائهدهنده، در عوض یک راهحل عمومی دریافت میکنیم. به طور کلی، ما یک پایگاه داده داریم که کارهای بسیار خاصی انجام میدهد و به طور بسیار خاصی پیکربندی شده است. با انتقال این پایگاه داده به ابر، البته میتوانیم مدیری را که قبلاً خوشههای پایگاه داده را مدیریت میکرد، اخراج کنیم - آمازون یا گوگل این کار را برای ما انجام خواهند داد. اما در عین حال، آمازون یا گوگل به ما اجازه نمیدهند که پایگاه داده خود را دقیقاً پیکربندی کنیم. پروژههای بزرگ، شرکتهای بزرگ - آنها ناگزیر در مقطعی از زندگی خود از راهحلهای ابری استفاده میکنند و سپس ناگزیر به استفاده از آن شایستگیها در داخل شرکت برمیگردند زیرا به مهارتهای خاصتری نیاز است.
عزت خادیف: آیا راهحلهای جهانی بد هستند، یا میتوان از آنها برای ساختن چیزهای بیشتر استفاده کرد؟
پاول سلیوانوف: نه، راهحلهای جهانی قطعاً بد نیستند. راهحلهای جهانی خوب هستند. فقط راهحلهای جهانی... جهانی هستند. درک این موضوع مهم است. مثل این است که یک دستورالعمل کلی را در نظر بگیرید... اگر بتوانید منطق عملیاتی کل شرکت را حول این دستورالعمل کلی، این کاربرد کلی بسازید، عالی است. اما اگر منطق عملیاتی متفاوت باشد، اما شما این راهحل جهانی، این دستورالعمل جهانی را در نظر بگیرید و سعی کنید همه آن را در یک حوزه واحد بگنجانید، این بد است. و جهانی بودن به خودی خود هیچ مشکلی ندارد.
عزت خدیف: اگر این مدیر از قبل برای شما کار میکند، مسئله اخراج او نیست. او به سادگی میتواند کارهای بیشتری انجام دهد.
پاول سلیوانوف: بله، روال را بردارید و آن را به شخص دیگری بسپارید تا در جای دیگری انجام شود. این قطعاً رویکرد خوبی است. نکته مهم در اینجا این است که آیا این راه حل استاندارد برای یک مورد خاص مناسب است یا خیر.
عزت خدیف: بر اساس تجربه من، میبینم که بسیاری از شرکتها همین کار را انجام میدهند. آنها در حال راهاندازی یک کلاستر Kubernetes و فکر کردن به مقیاسپذیری آن هستند. و همه این عملیات بسیار تکراری هستند.
پاول سلیوانوف: بله، کاملاً. به خصوص از آنجایی که اگر به طور خاص Kubernetes را در نظر بگیریم، در حال حاضر کمبود واقعی دانش عمیق و خوب در مورد Kubernetes در بازار وجود دارد. Kubernetes یک بسته نرمافزاری غولپیکر است که اگر آن را استخدام کنید، آماده باشید که یک مهندس تمام وقت را برای کار روی آن استخدام کنید. و این گران است. و پیدا کردن چنین مهندسی سخت است. من از طرف خودم، طرفدار راهحلهای مبتنی بر ابر نیستم زیرا درک نسبتاً خوب و عمیقی از نحوه کار Kubernetes دارم. و اغلب متوجه میشوم که راهحلهای مبتنی بر ابر فاقد عملکردی هستند که من درخواست میکنم، و آنها به من میگویند: "نه، این امکان پذیر نیست." خب، در این صورت، متاسفم، اما من میتوانم بهتر از راهحلهای مبتنی بر ابر عمل کنم. اما در عین حال، اگر یک مهندس تمام وقت ندارید و نمیخواهید برای مدیریت Kubernetes هزینه کنید، و دائماً فقط برای آزمایش به آنها پول زیادی میدهید، پس ابر یک راهحل عالی است. چون حداقل افرادی که آنجا کار میکنند، از قبل توسط ارائهدهنده استخدام شدهاند. و میدانند چه کار میکنند. و چیزهای اساسی که روزانه به آنها نیاز دارید، آنجا هستند.
عزت خادیف: نظر شما در مورد وضعیت فعلی کوبرنتیز چیست؟ پنج یا ده سال دیگر چه شکلی خواهد بود؟
پاول سلیوانوف: سوال خوبی است. من دقیقاً میدانم که در جامعه ما در این مورد چه میگذرد. برخی معتقدند که چیزی جز کوبرنتیز باقی نخواهد ماند. وضعیتی که مدتها پیش برای لینوکس اتفاق افتاد. یعنی خارج از ... Linux افرادی هستند که با BSD زندگی میکنند، به احتمال زیاد وظایف بسیار خاصی دارند. افرادی هستند که تحت [سیستمهای] BSD کار میکنند. Windows — سرورهای ویندوز — آنها به احتمال زیاد وظایف خاصی نیز دارند، یا صرفاً در این زمینه تخصص دارند و آماده نیستند که از آنجا دور شوند. در هر صورت، استاندارد در صنعت ما این است Linuxاین تصور وجود دارد که کوبرنتیز به استاندارد بالفعل تبدیل خواهد شد و هیچ چیز دیگری وجود نخواهد داشت. کوبرنتیز نه تنها برنامهها، استقرار، توزیع و مقیاسبندی آنها را مدیریت خواهد کرد. همه چیز را مدیریت خواهد کرد. اکنون مردم میپرسند: "آیا قرار دادن یک پایگاه داده در کوبرنتیز امکانپذیر است؟" من معمولاً میگویم که مشکل اینجا کوبرنتیز نیست، بلکه داکر است. اگر آمادهاید که پایگاه داده شما در کانتینرها اجرا شود، چگونه کار خواهد کرد؟ آنها به من میگویند: "نه، نه، نه، صبر کنید. شما به کانتینرها نیاز ندارید. شما به کوبرنتیز نیاز دارید. ما آن را به گره پیوند خواهیم زد. بنابراین همه چیز مانند الان خواهد بود، فقط کوبرنتیز همه چیز را مدیریت خواهد کرد." و این ایده واقعاً خوبی است. بنابراین، کوبرنتیز چیزی است که به شما اجازه میدهد به شرکتی که کوبرنتیز و فرآیندهایش بر اساس آن ساخته شدهاند، مراجعه کنید، در این صورت کسی که آن را میفهمد میتواند فقط چند روز با آن کار کند و بگوید: «من آمادهام از شما حمایت کنم. کاملاً. در تمام طول مسیر. من میفهمم که همه چیز چگونه برای شما کار میکند.» برخلاف رویکردهای بدون کوبرنتیز - آنها یک هک را امتحان کردهاند، سپس هک دیگری. اینجا Ansible است، اینجا Terraform. کسی همه اینها را نوشته است و شش ماه طول میکشد تا آن را بفهمد. بنابراین، نمیدانم که آیا کوبرنتیز به استاندارد بالفعل تبدیل خواهد شد یا خیر. در حال حاضر، بسیار جاهطلبانهتر و مطمئنتر از راهحلهای پیرامون آن به نظر میرسد.
عزت خادیف: خب، مقایسه با Linux این کاملاً جسورانه است. روی یک ماشین اجرا میشود - همین. اما کوبرنتیز روی ماشینهای زیادی اجرا میشود. بلافاصله میلیونها تغییر و دلیل مطرح میشود. بله، جسورانه است. اما در نظر بگیرید که این الگو رقبایی دارد. مثلاً بدون سرور. آیا کوبرنتیز با چنین رقبایی در خطر است؟
پاول سلیوانوف: از Serverless... (خنده) Serverless - ما هنوز هم آن را درک میکنیم سرور بالاخره وجود دارند. من اخیراً گزارشی در این مورد شنیدم. شخصی که آنجا بود گفت که بالاخره سرورها وجود دارند - و این همان فضای ابری است. اما ما همیشه باید درک کنیم که فضای ابری هم سرور دارد. سرورهای سختافزاری واقعی، یک رک، و آنها در جایی نصب شدهاند. این فضای ابری است. علاوه بر آن، فضای بدون سرور (Serverless) وجود دارد، جایی که سرورها «نه.» بنابراین سوال این است که آیا Serverless بر Kubernetes پیروز خواهد شد؟ من فکر میکنم Serverless به Kubernetes مهاجرت خواهد کرد. برای ارائهدهندگانی که Serverless ارائه میدهند، Kubernetes یک پلتفرم بسیار مناسب برای این کار است. بله، شاید در مقطعی دیگر در مورد Kubernetes به عنوان یک ابزار استاندارد توسعه برنامههای تجاری صحبت نکنیم. اما در جایی در اعماق وجود، ارائهدهندگان و مهندسان Kubernetes را در اختیار خواهند داشت، جایی که همه این موارد پیادهسازی خواهند شد.
آزات خادیف: در مورد یک موضوع کمی متفاوت. مفهومی به نام مهندس فولاستک وجود دارد. نظر شما در مورد آنها چیست؟ آیا اصلاً وجود دارند؟
پاول سلیوانوف: امم... یک مهندس فولاستک... خب، فکر میکنم ارزشش را دارد که بین این چیزها تمایز قائل شویم... میدانید، چیزی به نام افراد T شکل وجود دارد. آیا چنین افرادی در صنعت امروز مورد نیاز هستند؟ بله، قطعاً به آنها نیاز است. ما به افرادی نیاز داریم که دیدگاه گستردهای دارند، اما در یک زمینه محدود نیز متخصص هستند. و یک مهندس فولاستک اینجا هم همین است - کسی که همه کارها را انجام میدهد. از توسعه فرانتاند گرفته تا تست، بکاند، سرورها و هر چیز دیگری. من باور ندارم که در یک شرکت بزرگ، یک نفر بتواند همه این کارها را بدون داشتن تخصصهای محدود در هر پارامتر انجام دهد. اما در عین حال، صرفاً داشتن یک تخصص محدود، مانند "من چیزی در مورد آنچه در اینجا میگذرد نمیدانم" نیز در دنیای مدرن کار نمیکند. بنابراین در اینجا میگویم... من کلمه "فولاستک" را کنار میگذارم. ما واقعاً به مهندسان نیاز داریم. ما به DevOps نیاز داریم. احساس میکنم به زودی در این نکته تجدید نظر خواهیم کرد. و به آنها نیازی نخواهد بود.
عزت خادیف: میتوانید آن را فاش کنید؟
پاول سلیوانوف: فکر میکنم به نقطهای در صنعت خواهیم رسید که این نقشهای توسعهدهنده و عملیات به زودی منسوخ میشوند. اگر به متخصصان نیاز داریم و به دنبال... به این نوع توسعهدهنده، آن نوع مدیر، مهندسان توسعهدهنده نیاز داریم - اکنون آنها را داریم و به زودی مهندسان تولید و مهندسان SRE نیز خواهیم داشت. اگرچه، در واقعیت، آنچه ما نیاز داریم مهندسانی هستند که میخواهیم استخدام کنیم. پیشینه تا حد زیادی بیاهمیت است. زیرا... به عنوان مثال، SREها میگویند که مشکلات زیرساختی همیشه مربوط به نرمافزار هستند. بنابراین... بیایید توسعهدهندگان را استخدام کنیم - از این منظر که یک توسعهدهنده یک مهندس است - و آنها را در بخش پشتیبانی قرار دهیم، و آنها این مشکلات را به همان روشی که مشکلات تجاری را با کد حل میکنند، با خود مهندسی، حل خواهند کرد.
عزت خادیف: و از این منظر... چگونه با چنین مهندسانی مصاحبه کنیم؟
پاول سلیوانوف: اوه، سوال خوبی است. احتمالاً فراتر از درک من از این دنیا است. اما فقط یک مثال میزنم. هیچ ربطی به مصاحبه ندارد. مربوط به سیستم آموزشی ما در روسیه است. در حوزه فناوری اطلاعات، میدانیم که سیستم آموزشی ما در روسیه برای دنیای فناوری اطلاعات بسیار قدیمی است؛ آن چیزی نیست که باید باشد. من به طور متوسط در مورد روسیه وسیع و آنچه در آنجا اتفاق میافتد صحبت میکنم. افرادی فارغالتحصیل میشوند که کاملاً آماده نیستند که روز بعد از فارغالتحصیلی وارد توسعه وب یا یک شرکت فناوری شوند. و آنها فکر میکنند که این بد است. ما چیزهای عجیب و غریبی به آنها یاد میدهیم، حتی اگر باید به آنها یاد دهیم که آنها را توسعه دهند. Androidبرای iOS، نحوه استفاده از گیت و همه این چیزها. در واقع، به نظر میرسد که اینطور نیست. دانشگاه زمانی است که والدین شما بیشتر هزینه شما را پرداخت میکنند. برای تمام عمرتان. و میتوانید پنج سال از زندگی خود را به مطالعه عمیق اختصاص دهید. و به یادگیری کل این چیز T شکل. وقتی میتوانید در دانشگاه مطالعه کنید که سیستم کنترل نسخه چیست، چه الگوهای توسعهای وجود دارد، چگونه همه این موارد را آزمایش کنید، چه پایگاههای داده و متعادلکنندههای بار وجود دارد. و وقتی سر کار میروید، شروع به کاوش عمیقتر در یک زمینه خاص میکنید. و اینگونه است که ما مهندس میگیریم. و سیستم آموزشی ما در روسیه بسیار نزدیکتر از آنچه فکر میکنیم به این حقیقت است. به ما آموزش ریاضی خوب، آموزش الگوریتمی خوب داده میشود، تا حدودی زبانهای برنامهنویسی را درک میکنیم. و در مورد مصاحبهها، فکر میکنم چیزی نزدیک به این باشد. ما باید با مهندسان مصاحبه کنیم. ما به قسمت بالای T در یک دانشجوی T شکل نیاز داریم. زیرا خط عمودی T را به دست میآورد.
عزت خدیف: بله، جالب است. پنج سال بعد از دانشگاه، فکر میکردم تحصیلاتم عجیب و ناکافی است. اما بعداً، با پیشرفت کارم، وقتی وظایف پیچیدهتر و پروژهها بزرگتر شدند، متوجه شدم که نه، چیزهای بسیار مهمی به من آموخته شده است. پاول، متشکرم. شنیدن پاسخهای شما بسیار جالب بود. بیایید به گزارش شما گوش دهیم.
پاول سلیوانوف: متشکرم.
منبع: www.habr.com
