وبلاگ
در این مطلب، بررسی خواهیم کرد که چگونه کانتینرهای سندباکس، ایزولهسازی بار کاری را بهبود میبخشند، خطرات امنیتی را کاهش میدهند و آیا برای زیرساخت مناسب هستند یا خیر. کانتینرهای سندباکس چیست؟ کانتینرهای سندباکس (Sandboxed Containers) نوعی از container runtime هستند که با ایزوله کردن کانتینرها از سیستم عامل میزبان (OS) و سایر کانتینرها، یک لایه امنیتی اضافی فراهم میکنند. همچنین میتوانید آن را کانتینرهای مجازی (virtualised containers) نامید. برخلاف کانتینرهای سنتی (مانند داکر که کرنل سیستم عامل میزبان را به اشتراک میگذارد)، کانتینرهای سندباکس از مجازیسازی سبک یا سایر مکانیسمهای ایزولهسازی برای ایزوله کردن کامل آنها استفاده میکنند. این ...
ادامه مطلب
لینوکس با بهرهگیری از ویژگیهایی مانند Namespaces، cgroups و فایلسیستمهای ترکیبی، زیرساخت اصلی اجرای کانتینرها و کوبرنتیز را فراهم میکند. این قابلیتهای لینوکس (Linux Capabilities) امکان ایزولهسازی، کنترل منابع و امنیت را در محیطهای ابری فراهم کرده و لینوکس را به پایهای مطمئن برای توسعه و استقرار نرمافزارهای مدرن تبدیل کردهاند. در این مطلب، کمی عمیقتر به قابلیتهای لینوکس خواهیم پرداخت تا با استفاده از مثالهای عملی، ارتباط آنها با کانتینرها و کوبرنتیز را درک کنیم. قابلیتهای لینوکس (Linux Capabilities) چیست؟ در لینوکس سنتی، یک فرآیند یا root (کاربر ارشد) است یا non-root (محدود)؛ مفهومی که همه شما میدانید. قابلیتهای ...
ادامه مطلب
در لینوکس، سیستمکال (Syscall) رابطی است که از طریق آن برنامههای کاربر میتوانند با هسته سیستمعامل ارتباط برقرار کنند.در این مطلب، به بررسی فراخوانیهای سیستمی لینوکس خواهیم پرداخت که اغلب در مصاحبههای DevOps و SRE، به ویژه در شرکتهای برتر، مورد بحث قرار میگیرند. همه افراد در DevOps نمیتوانند روزانه با اجزای داخلی سیستم کار کنند یا مشکلات عملکرد را عیبیابی کنند. این کاملا به ماهیت شغل و پروژههایی که برای کار انتخاب میکنید بستگی دارد. با این حال، برای افراد DevOps/SRE بسیار مهم است که درک قوی از عیبیابی سیستم داشته باشند زیرا ما معمولا با سرورها کار میکنیم. ...
ادامه مطلب
وقتی صحبت از اجرای اپلیکیشنهای امروزی میشود، کوبرنتیز در حال تبدیل شدن به استانداردی طلایی است. با این حال، در سالهای اخیر، شرکتهایی به دلیل پیچیدگی و چالشهایی که کوبرنتیز ایجاد میکند، تصمیم گرفتهاند از آن فاصله بگیرند. در این مطلب، میخواهم سه داستان از این دست را به اشتراک بگذارم. یادگیری از تجربیات دیگران راهی عالی برای جلوگیری از اشتباهات بزرگ در مدیریت زیرساخت است. نگاهی به چنین تجربیاتی میتواند به شما در انتخابهای طراحی بهتر هنگام کار با کوبرنتیز کمک کند. 1. داستان گیتپاد (Gitpod ) گیتپاد (Gitpod ) یک محیط توسعه مبتنی بر ابر است که فضاهای ...
ادامه مطلب
بیش از 75 درصد پروژهها در CNCF(بنیاد رایاش ابری بومی) با زبان Go نوشته شدهاند. چه در مصاحبهها و چه در پروژههای دنیای واقعی، یک پروفایل قوی DevOps به مهارتهای کدنویسی قوی نیاز دارد، به خصوص در شرکتهای تولیدی. زبان GO برای DevOps وقتی در مورد برنامهنویسی یا اسکریپتنویسی برای DevOps صحبت میکنیم، زبانهای اصلی که بیشتر مورد بحث قرار میگیرند پایتون و shell scripting هستند. به این دلیل که شروع کار با آن آسان است و میتوانید اسکریپتهای سیستمی زیادی را برای نیازهای اتوماسیون بنویسید. با این حال، اگر به اکوسیستم DevOps نگاه کنید، بیشتر ابزارهای محبوبی که امروزه ...
ادامه مطلب
وقتی صحبت از مدیریت پیکربندی Kubernetes میشود، Helm یکی از ابزارهای کلیدی مورد استفاده بسیاری از سازمانها است. این مطلب بخشهای ساده اما ضروری از بهترین تمرینهای هلم (Helm) و نکات ضرروی آن را که باید هنگام استفاده از آنها در پروژههای سازمانی خود بدانید، پوشش میدهد. استفاده از کامیونیتی چارت نیازی به نوشتن تک تک نمودارهای Helm از ابتدا نیست زیرا ما نمودارهای Helm رسمی و انجمنی زیادی داریم که از همه بهترین تمرینها پیروی میکنند. معمولا همه از این community charts به عنوان مرجع استفاده میکنند یا آنها را مستقیم برای مطابقت با نیازهای پروژه خود با رعایت ...
ادامه مطلب