وبلاگ
در دنیای دیجیتال امروزی، نرخ کلیک (CTR) یکی از مهمترین شاخصها برای سنجش موفقیت کمپینهای تبلیغاتی، ایمیل مارکتینگ، محتوا و حتی سئو است. این شاخص به درصدی از کاربرانی اشاره دارد که پس از دیدن یک لینک، تبلیغ یا عنوان، روی آن کلیک میکنند. هرچه CTR بالاتر باشد، نشاندهنده اثربخشی بیشتر محتوا یا تبلیغ است. با ظهور و گسترش هوش مصنوعی (AI)، انتظارات بر آن بود که این فناوری بتواند به بهینهسازی CTR کمک کند و در بسیاری از موارد نیز چنین بوده است. اما در روندی جالب و تا حدی نگرانکننده، نشانههایی از کاهش نرخ کلیک در اثر بهکارگیری ...
ادامه مطلب
اجرای داکر در داکر (Docker-in-Docker یا DinD) روشی است که به شما امکان میدهد یک محیط Docker جداگانه را درون یک کانتینر راهاندازی و مدیریت کنید. این قابلیت برای سناریوهایی مانند تست موقت، CI/CD و محیطهای ایزولهسازیشده مفید است. برای این کار معمولا از ایمیج رسمی docker:dind همراه با دسترسی –privileged استفاده میشود تا بتوان Docker daemon را در داخل کانتینر راهاندازی کرد. در این مطلب، مراحل مورد نیاز برای اجرای داکر در docker را با استفاده از سه روش مختلف بررسی خواهیم کرد. اجرای داکر با نصب docker.sock (متد DooD) متد Docker dind استفاده از Nestybox sysbox Docker runtime ...
ادامه مطلب
در این مطلب، سناریوی تقسیم مغزی (Split Brain) را با مثالهای عملی دنیای واقعی بررسی خواهیم کرد و به مفاهیم حد نصاب (quorum ) و یک مثال عملی از چگونگی جلوگیری etcd از سناریوی split brain با استفاده از الگوریتم اجماع Raft خواهیم پرداخت. هر زمان که سیستمهای توزیعشدهای (distributed systems) را که با دادهها سروکار دارند، مستقر میکنیم، معمولا گرهها را در مناطق دسترسی مختلف یا مراکز داده مختلف (برای محیطهای on-prem) مستقر میکنیم تا از در دسترس بودن بالا اطمینان حاصل شود. مثال: دیتابیسی مانند MongoDB، سیستمهای ذخیرهسازی توزیعشده مانند GlusterFS و کلاسترهای مبتنی بر اجماع مانند etcd. ...
ادامه مطلب
در این مطلب، بررسی خواهیم کرد که چگونه کانتینرهای سندباکس، ایزولهسازی بار کاری را بهبود میبخشند، خطرات امنیتی را کاهش میدهند و آیا برای زیرساخت مناسب هستند یا خیر. کانتینرهای سندباکس چیست؟ کانتینرهای سندباکس (Sandboxed Containers) نوعی از container runtime هستند که با ایزوله کردن کانتینرها از سیستم عامل میزبان (OS) و سایر کانتینرها، یک لایه امنیتی اضافی فراهم میکنند. همچنین میتوانید آن را کانتینرهای مجازی (virtualised containers) نامید. برخلاف کانتینرهای سنتی (مانند داکر که کرنل سیستم عامل میزبان را به اشتراک میگذارد)، کانتینرهای سندباکس از مجازیسازی سبک یا سایر مکانیسمهای ایزولهسازی برای ایزوله کردن کامل آنها استفاده میکنند. این ...
ادامه مطلب
لینوکس با بهرهگیری از ویژگیهایی مانند Namespaces، cgroups و فایلسیستمهای ترکیبی، زیرساخت اصلی اجرای کانتینرها و کوبرنتیز را فراهم میکند. این قابلیتهای لینوکس (Linux Capabilities) امکان ایزولهسازی، کنترل منابع و امنیت را در محیطهای ابری فراهم کرده و لینوکس را به پایهای مطمئن برای توسعه و استقرار نرمافزارهای مدرن تبدیل کردهاند. در این مطلب، کمی عمیقتر به قابلیتهای لینوکس خواهیم پرداخت تا با استفاده از مثالهای عملی، ارتباط آنها با کانتینرها و کوبرنتیز را درک کنیم. قابلیتهای لینوکس (Linux Capabilities) چیست؟ در لینوکس سنتی، یک فرآیند یا root (کاربر ارشد) است یا non-root (محدود)؛ مفهومی که همه شما میدانید. قابلیتهای ...
ادامه مطلب
در لینوکس، سیستمکال (Syscall) رابطی است که از طریق آن برنامههای کاربر میتوانند با هسته سیستمعامل ارتباط برقرار کنند.در این مطلب، به بررسی فراخوانیهای سیستمی لینوکس خواهیم پرداخت که اغلب در مصاحبههای DevOps و SRE، به ویژه در شرکتهای برتر، مورد بحث قرار میگیرند. همه افراد در DevOps نمیتوانند روزانه با اجزای داخلی سیستم کار کنند یا مشکلات عملکرد را عیبیابی کنند. این کاملا به ماهیت شغل و پروژههایی که برای کار انتخاب میکنید بستگی دارد. با این حال، برای افراد DevOps/SRE بسیار مهم است که درک قوی از عیبیابی سیستم داشته باشند زیرا ما معمولا با سرورها کار میکنیم. ...
ادامه مطلب