لینک کوتاه مطلب : https://hsgar.com/?p=4658

Kubernetes یک پرچم قرمز است که بهینه سازی زودرس را نشان می دهد.

شماره 8

📰

این پروژه توسط جرمی براون. من در مورد موضوعاتی می نویسم که به آنها اهمیت می دهم، مانند ایجاد تیم هایی با عملکرد بالا که محصولات عالی، فرهنگ، رهبری و فناوری می سازند.
همانطور که من در حال ساختن این خبرنامه (و یک پادکست و کانال یوتیوب) در فضای باز هستم، هر از چند گاهی به‌روزرسانی‌هایی درباره این پروژه در اینجا دریافت خواهید کرد.

گفتن این جمله عجیب و غریب است، زیرا بخش زیادی از عمرم را صرف حمایت و فروش توزیع Kubernetes و خدمات مشاوره برای کمک به مردم برای استفاده حداکثری از آن کرده‌ام، اما اینجاست! احتمالاً نباید از Kubernetes و یک سری چیزهای “باحال” دیگر استفاده کنید برای محصول شما.

اکثر افرادی که در استارت آپ ها و شرکت های بزرگ نرم افزار می سازند باید از Kubernetes و دیگر بهینه سازی های زودرس اجتناب کنند. اگر شرکت شما از Kubernetes استفاده می کند، احتمالاً انرژی خود را صرف چیزی می کنید که شما را به سمت ماموریتتان نمی برد. احتمالاً در دام بهینه سازی زودرس افتاده اید.

لطفاً این پست را فقط علیه Kubernetes هدف قرار ندهید. این نیست. من این پست را در مورد هر بیت ممکنی که مهندسان بهینه سازی زودرس در دوره نرم افزار ساختمان می سازند، هدایت می کنم.

در اینجا چند نمونه است که من دیده ام:

  • شرکت هایی که از Kubernetes برای برنامه ای که یک برنامه وب است استفاده می کنند.
  • بیش از یک زبان برای برنامه شما. به عنوان مثال، یک Backend در Golang، Ruby، PHP و غیره و یک برنامه وب Frontend در React، Vue و غیره.
  • عدم استفاده از سرویس ابری برای میزبانی برنامه شما. به عنوان مثال می توان به Heroku، Vercel، Netlify و Fly.io. اکثر تیم های محصول اگر مجبور به داشتن یک تیم عملیاتی یا زیرساختی باشند، راه حل خود را بیش از حد طراحی کرده اند.

تصور کنید قبل از شروع واقعی سرگرمی، زمان و پول زیادی را صرف انتخاب بهترین وسایل ممکن برای یک سرگرمی کنید.

البته برخی از اینها ذهنی است. شاید می دانید که برای مدت طولانی به سرگرمی جدید خود ادامه می دهید و دوستی دارید که در سرگرمی جدید شما متخصص است و می تواند به شما در انتخاب وسایل مناسب کمک کند. باید اعتراف کنم که در توجیه تجهیزات سطح نخبگان برای خودم خوب هستم، اگرچه ممکن است هرگز واقعاً متوجه تفاوت نباشم.

سازمان شما به مهندسان نیاز دارد تا بر ماموریت تأثیر بگذارند.

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

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

بگذارید چند داستان از اینکه چگونه در این دام افتاده ام برایتان تعریف کنم.

زمانی که به OCUS پیوستم و متوجه شدم که از Kubernetes استفاده می کنیم، بحثی را به یاد می آورم. من چیزی به این لحن گفتم: “اوه، عالی است. یک روز ممکن است بخواهیم AWS را ترک کنیم و داشتن Kubernetes به ما در این امر کمک می کند”. می بینی در آن لحظه چقدر دیوانه بودم؟

بار دیگر تیم علم داده ما به ما گفت که آنها به یک ابزار هماهنگ برای خطوط لوله داده خود نیاز دارند. من روند انتخاب را به سمتی هدایت کردم Argo Workflows (که در داخل Kubernetes اجرا می شود) به جای بخشدار (یک پیشنهاد SaaS)، که قبلاً برای PoC استفاده می کردند. برای این تصمیم همه جور توجیهی در ذهنم وجود داشت. متأسفانه، همه آنها مبتنی بر بهینه سازی های زودرس بودند. در پایان، تیم ما نیاز به ساخت مجموعه جدیدی از نمودارهای Terraform و Helm داشت تا به طور خودکار استقرار Argo Workflows را بسازد و آن را در SSO ما و غیره ادغام کند. من از این تصمیم متاسفم. من فکر می‌کنم به دلیل این تصمیم هفته‌ها یا حتی ماه‌ها را از دست دادیم و چیزی را برای کاربران نهایی ارسال کردیم. بهینه سازی زودرس!

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

پس چگونه می توانیم از این تفکر خارج شویم؟

آیا کاربران این را خواسته اند؟

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

اگر بتوانید روی تاثیرگذاری بر رفتار کاربر متمرکز بر لیزر باشید و تنها زمانی مشکلات واقعی را حل کنید، با تاثیری که می توانید داشته باشید، خود را شگفت زده خواهید کرد. همچنین ممکن است خودتان را با فرضیات زیادی در مورد کاربران شگفت زده کنید زیرا مدت زیادی است که با آنها صحبت نکرده اید.

من معتقدم شرکت هایی که به شدت به این رویکرد پایبند هستند، اهرم و ارزش بیشتری برای کاربران و سهامداران خود ایجاد می کنند.

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

بیشتر با کمتر انجام دهید.

خوشبختانه دنیای فناوری در حال گذراندن یک اصلاح بزرگ دوره است. با افزایش نرخ بهره، بدهی ارزان و سرمایه خطرپذیر شروع به خشک شدن کرده است. اکنون که استارت‌آپ‌ها نمی‌توانند به پول دیوانه‌وار دسترسی پیدا کنند، باید حتی بیشتر روی مأموریت خود تمرکز کنند. شرکت هایی که بقای خود را حفظ می کنند، شرکت هایی خواهند بود که دارای اصول بنیادی محکمی هستند.

محصولات باید توسط تیم‌های کوچک‌تری ساخته شوند که بتوانند نتایج تجاری را با سرعت فزاینده‌تری ارائه دهند.

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

به یاد داشته باشید که وقتی فیس بوک واتس اپ را به قیمت 19 میلیارد دلار خرید، 35 توسعه دهنده و 450 میلیون کاربر داشت!

اگر یک نکته مهم از خواندن این مطلب وجود دارد، تمرکز بیش از حد بر آنچه برای دستیابی به مأموریت سازمان خود نیاز دارید، است. از چیزهایی که می خواهید یاد بگیرید مانند Kubernetes یا Golang حواس خود را پرت نکنید – آن را برای homelab ذخیره کنید.

اگر بتوانید روی ایجاد تغییراتی در محصول خود که بر رفتار انسانی تأثیر می‌گذارد که بر نتایج کسب‌وکار تأثیر می‌گذارد متمرکز بمانید، شک ندارم که آن را از پارک خارج خواهید کرد.

این همه برای این هفته مردمی است، هفته خوبی داشته باشید!

جرمی (او)

رویاهای خود را نادیده نگیرید، زیاد کار نکنید، آنچه را که فکر می کنید بگویید، دوستی ایجاد کنید و شاد باشید.

📌 من را دنبال کنید لینکدین و توییتر.



لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.