۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

آنچه ChatGPT در مورد Kubernetes در حال تولید نمی گوید

هوش مصنوعی مولد در حال حاضر در بسیاری از موارد استفاده نسبتاً ابتدایی مفید بوده است، اما زمانی که وظیفه هدایت فنی بیشتری را بر عهده می‌گیرید، چگونه پایدار می‌ماند؟

هوش مصنوعی مولد در حال حاضر در بسیاری از موارد استفاده نسبتاً ابتدایی مفید بوده است، اما زمانی که وظیفه هدایت فنی بیشتری را بر عهده می‌گیرید، چگونه پایدار می‌ماند؟

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

سپس ما دقیق تر شدیم و از ChatGPT با استفاده از Kubernetes مشاوره خواستیم. ChatGPT لیستی از ۱۲ بهترین شیوه برای Kubernetes در تولید ارائه کرد که اکثر آنها درست و مرتبط بودند. اما وقتی از شما خواسته شد تا این فهرست را به ۵۰ روش برتر گسترش دهد، به سرعت مشخص شد که عنصر انسانی بسیار ارزشمند است.

چگونه از Kubernetes استفاده می کنیم

به‌عنوان پس‌زمینه، JFrog کل پلتفرم خود را برای بیش از شش سال در Kubernetes اجرا کرده است و از خدمات مدیریت شده Kubernetes از ارائه‌دهندگان بزرگ ابر از جمله AWS، Azure و Google Cloud استفاده می‌کند. ما در بیش از ۳۰ منطقه در سراسر جهان فعالیت می کنیم که هر کدام دارای چندین خوشه Kubernetes هستند.

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

محیط تولید JFrog شامل صدها هزار پاد است که کوچکترین واحد استقرار در Kubernetes است. تعداد دقیق با ایجاد یا پایان یافتن غلاف ها در نوسان است. در حال حاضر حدود ۳۰۰۰۰۰ غلاف در سرتاسر جهان در راه اندازی تولید ما در حال اجرا است، که حجم کاری قابل توجهی برای مدیریت است.

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

همانطور که اکثر کسانی که از این سرویس استفاده کرده‌اند می‌دانند، ChatGPT به وضوح یک سلب مسئولیت نشان می‌دهد که داده‌های مبتنی بر آن کاملاً به‌روز نیستند. با دانستن این موضوع و در نظر گرفتن پس‌زمینه بالا برای نشان دادن نیازهای ما، در اینجا ۱۰ چیز وجود دارد که ChatGPT در مورد مدیریت Kubernetes در تولید به شما نمی‌گوید (تا زمانی که OpenAI داده‌ها و الگوریتم‌های خود را به‌روزرسانی نکند).

اندازه گره یک هنر است

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

Red Hat RHEL را برای هوش مصنوعی راه اندازی کرد

گفته شد، یافتن تعداد مناسب پادها در هر گره، با در نظر گرفتن الگوهای مصرف منابع مختلف هر برنامه یا سرویس، یک عمل متعادل کننده است. توزیع بار در گره‌ها با استفاده از تکنیک‌هایی مانند محدودیت‌های گسترش توپولوژی غلاف یا ضد شباهت غلاف برای بهینه‌سازی استفاده از منابع، به جابجایی شدت بار کاری کمک می‌کند. متعادل‌سازی بار و پخش بار برای شرکت‌های بزرگ‌تر که از خدمات ابری مبتنی بر Kubernetes استفاده می‌کنند، حیاتی است.

چگونه از صفحه کنترل محافظت کنیم

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

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

نحوه حفظ آپتایم برنامه

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

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

شما همچنین باید از تمرین ایجاد گره‌های اختصاصی برای برنامه‌های کاربردی حیاتی استفاده کنید. به عنوان مثال، یک Node Pool جداگانه برای غلاف های ورودی و سایر سرویس های مهم مانند Prometheus می تواند به طور قابل توجهی پایداری سرویس و تجربه کاربر نهایی را بهبود بخشد.

شما باید برای مقیاس بندی برنامه ریزی کنید

آیا سازمان شما آماده است تا دو برابر استقرار را انجام دهد تا رشد ظرفیت لازم را بدون هیچ گونه تأثیر منفی فراهم کند؟ مقیاس خودکار خوشه در خدمات مدیریت شده می تواند در این زمینه کمک کند، اما مهم است که درک محدودیت اندازه خوشه. برای ما، یک خوشه معمولی حدود ۱۰۰ گره است. اگر به آن حد رسیده باشد، به جای اینکه خوشه موجود را مجبور به رشد کنیم، یک خوشه دیگر را می چرخانیم.

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

شما همچنین باید برای شکست برنامه ریزی کنید

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

چگونه از زیرساخت Kubernetes خود در برابر آسیب پذیری Argo CD محافظت کنید

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

چگونه خط لوله تحویل خود را ایمن کنیم

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

حفظ کنترل بر منابع خارجی شامل اقداماتی مانند اسکن باینری هایی است که از مخازن راه دور منشأ می گیرند و اعتبار سنجی آنها با راه حل تجزیه و تحلیل ترکیب نرم افزار (SCA). تیم‌ها همچنین باید از گیت‌های امنیتی و کیفیت در سراسر خط لوله استفاده کنند تا اطمینان بیشتری از اعتماد کاربران و درون خود خط لوله داشته باشند تا کیفیت بالاتری را در نرم‌افزار ارائه‌شده تضمین کنند.

چگونه زمان اجرا خود را ایمن کنیم

استفاده از کنترل‌کننده‌های پذیرش برای اجرای قوانین، مانند مسدود کردن استقرار نسخه‌های فهرست سیاه، به ایمن کردن زمان اجرا Kubernetes شما کمک می‌کند. ابزارهایی مانند OPA Gatekeeper به اجرای سیاست‌هایی مانند مجاز کردن فقط ثبت کانتینرهای کنترل‌شده کمک می‌کنند. برای استقرار.

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

چگونه محیط خود را ایمن کنیم

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

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

یادگیری مستمر ضروری است

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

مایکروسافت هوش مصنوعی Azure مجهز به GPT را برای سازمان های دولتی ایالات متحده راه اندازی کرد

نظارت فعال داده‌های عملکرد می‌تواند به شناسایی نشت حافظه یا CPU در یکی از سرویس‌های شما یا اشکال عملکرد در ابزار شخص ثالث کمک کند. با ارزیابی فعال داده ها برای روندها و ناهنجاری ها، می توانید درک و عملکرد سیستم خود را بهبود بخشید. این نظارت و ارزیابی پیشگیرانه منجر به نتایج مؤثرتری در مقایسه با واکنش به هشدارهای هم‌زمان می‌شود.

انسانها ضعیف ترین حلقه هستند

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

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

نگاه به آینده

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

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

استفن چین معاون روابط توسعه‌دهنده در JFrog، رئیس هیئت مدیره CDF، عضو هیئت مدیره هیئت مدیره CNCF و نویسنده راهنمای قطعی توسعه مشتری مدرن< /a>، رزبری پای با جاوا، پلتفرم Pro JavaFX، و ابزارهای DevOps برای توسعه دهندگان جاوا از O’Reilly. او کنفرانس های متعددی را در سرتاسر جهان از جمله swampUP، Devoxx، JNation، JavaOne، Joker و Open Source هند برگزار کرده است. استفن یک موتورسوار مشتاق است که تورهای بشارتی را در اروپا، ژاپن و برزیل انجام داده و با هکرها در زیستگاه طبیعی آنها مصاحبه کرده است. زمانی که او در سفر نیست، با دختر نوجوانش از آموزش به بچه ها لذت می برد که چگونه برنامه نویسی جاسازی شده و ربات را انجام دهند.

Generative AI Insights مکانی را برای رهبران فناوری – از جمله فروشندگان و سایر اشخاص ثالث – فراهم می‌کند تا چالش‌ها و فرصت‌های هوش مصنوعی مولد را بررسی و بحث کنند. این انتخاب گسترده است، از غواصی عمیق فناوری گرفته تا مطالعات موردی گرفته تا نظرات متخصص، اما همچنین ذهنی است، بر اساس قضاوت ما در مورد اینکه کدام موضوعات و درمان‌ها به بهترین وجه به مخاطبان فنی پیشرفته InfoWorld خدمت می‌کنند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. تماس با doug_dineley@foundryco.com.