کتاب Learning eBPF (یادگیری eBPF: برنامهنویسی هسته لینوکس برای مشاهدهپذیری، شبکه و امنیت پیشرفته) یک منبع کامل و جامع برای یادگیری eBPF است که در 11 فصل به شرح این ابزار خواهد پرداخت.
در ادامه مقدمهای از کتاب Learning eBPF را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Learning eBPF:
در جامعه بومی ابر و فراتر از آن، eBPF به یکی از داغترین موضوعات فنی سالهای اخیر تبدیل شده است. نسل جدیدی از ابزارها و پروژههای قدرتمند در شبکه، امنیت، قابلیت مشاهده و موارد دیگر با استفاده از eBPF به عنوان یک پلتفرم ساخته شدهاند (و همچنان ساخته میشوند) که عملکرد و دقت بهتری را در مقایسه با نسخههای قبلی خود ارائه میدهند. کنفرانسهای مرتبط با eBPF مانند اجلاس eBPF و Cloud Native eBPF Day هزاران شرکتکننده و بیننده را به خود جذب کرده اند و در زمان نگارش این مقاله، انجمن eBPF Slack بیش از 14000 عضو دارد.
چرا eBPF به عنوان فناوری اساسی برای بسیاری از ابزارهای زیرساخت انتخاب شده است؟ چگونه بهبودهای وعده داده شده را در عملکرد ارائه میکند؟ چگونه eBPF در چنین زمینههای فنی متفاوتی مفید است، که از ردیابی عملکرد تا رمزگذاری ترافیک شبکه را شامل میشود؟
هدف این کتاب پاسخگویی به این سؤالات از طریق درک نحوه عملکرد eBPF به خواننده و همچنین ارائه مقدمه ای برای نوشتن کد eBPF است.
کتاب Learning eBPF برای چه کسی است؟
این کتاب برای توسعهدهندگان، مدیران سیستم، اپراتورها و دانشآموزانی است که در مورد eBPF کنجکاو هستند و میخواهند در مورد نحوه عملکرد آن بیشتر بدانند. برای کسانی که میخواهند خودشان برنامههای eBPF را بنویسند، پایهای ایجاد میکند. از آنجایی که eBPF یک پلت فرم عالی برای نسل کاملاً جدید ابزار دقیق و ابزارسازی فراهم میکند، احتمالاً برای چند سال آینده شغل سودآوری برای توسعه دهندگان eBPF وجود خواهد داشت.
اما لزوماً نیازی به برنامه ریزی برای نوشتن کد eBPF ندارید تا این کتاب برای شما مفید باشد. اگر در عملیات، امنیت یا هر نقش دیگری که شامل زیرساخت نرم افزاری است کار میکنید، احتمالاً اکنون یا در چند سال آینده با ابزارهای مبتنی بر eBPF مواجه خواهید شد.
اگر چیزی در مورد داخلی این ابزارها بدانید، در موقعیت بهتری برای استفاده موثر از آنها خواهید بود. به عنوان مثال، اگر میدانید که رویدادها چگونه میتوانند برنامههای eBPF را راهاندازی کنند، مدل ذهنی بهتری برای اینکه ابزار مبتنی بر eBPF دقیقاً وقتی معیارهای عملکرد را به شما نشان میدهد، واقعاً اندازهگیری میکند، خواهید داشت.
اگر یک توسعهدهنده برنامه هستید، ممکن است با برخی از این ابزارهای مبتنی بر eBPF نیز در تماس باشید – برای مثال، اگر در حال تنظیم عملکرد یک برنامه هستید، ممکن است از ابزاری مانند Parca برای تولید نمودارهای شعله استفاده کنید که نشان میدهد کدام توابع انجام میشوند. بیشترین زمان اگر ابزارهای امنیتی را ارزیابی میکنید، این کتاب به شما کمک میکند بفهمید که eBPF کجا میدرخشد و چگونه از استفاده از آن به روش سادهای که در برابر حملات مؤثرتر است، اجتناب کنید.
حتی اگر امروز از ابزارهای eBPF استفاده نمیکنید، امیدوارم این کتاب بینشهای جالبی را در مورد زمینههایی از لینوکس که ممکن است قبلاً در نظر نمیگرفتید به شما ارائه دهد. اکثر توسعهدهندگان هسته را بدیهی میدانند، زیرا از زبانهای برنامهنویسی با انتزاعات سطح بالاتر استفاده میکنند که به آنها اجازه میدهد روی کار توسعه برنامه تمرکز کنند – که به اندازه کافی سخت است! آنها از ابزارهایی مانند دیباگرها و تحلیلگرهای عملکرد استفاده میکنند تا به آنها کمک کند کار خود را به طور مؤثر انجام دهند.
دانستن ویژگیهای داخلی نحوه عملکرد یک ابزار اشکالزدا یا عملکرد ممکن است جالب باشد، اما ضروری نیست. با این حال، برای بسیاری از ما، پایین رفتن از سوراخ خرگوش برای یافتن اطلاعات بیشتر، سرگرمکننده و لذت بخش است. به همین ترتیب، اکثر مردم از ابزارهای eBPF بدون نگرانی در مورد نحوه ساخت آنها استفاده میکنند.
آرتور سی. کلارک نوشت که “هر فناوری به اندازه کافی پیشرفته از جادو قابل تشخیص نیست”، اما شخصاً دوست دارم در آن تحقیق کنم و بفهمم این ترفند جادویی چگونه کار میکند. شما ممکن است مانند من باشید و مجبور شوید برنامه نویسی eBPF را بررسی کنید تا احساس بهتری نسبت به آنچه با این فناوری ممکن است داشته باشید. اگر چنین است، فکر میکنم از این کتاب لذت خواهید برد.
آنچه کتاب Learning eBPF پوشش میدهد:
eBPF با سرعتی کاملاً سریع به تکامل خود ادامه میدهد، که نوشتن یک مرجع جامع را که دائماً نیاز به به روز رسانی نداشته باشد، دشوار میکند. با این حال، برخی اصول و اصول اساسی وجود دارد که بعید به نظر میرسد تغییر قابل توجهی داشته باشند، و این همان چیزی است که این کتاب به آن پرداخته است.
فصل 1 کتاب Learning eBPF با توضیح اینکه چرا eBPF به عنوان یک فناوری بسیار قدرتمند است و توضیح میدهد که چگونه توانایی اجرای برنامههای سفارشی در هسته سیستم عامل، بسیاری از قابلیتهای هیجانانگیز را فراهم میکند، صحنه را تنظیم میکند.
همه چیز در فصل 2 کتاب Learning eBPF مشخصتر میشود، جایی که نمونههای «Hello World» را میبینید که شما را با مفاهیم برنامهها و نقشههای eBPF آشنا میکند.
فصل 3 کتاب Learning eBPF به جزئیات بیشتری در مورد برنامههای eBPF و نحوه اجرای آنها در هسته میپردازد و فصل 4 رابط بین برنامههای فضای کاربر و برنامههای eBPF را بررسی میکند.
یکی از چالشهای بزرگ eBPF در سالهای اخیر، مسئله سازگاری نسخههای هسته است. فصل 5 کتاب Learning eBPF به رویکرد “یک بار کامپایل، همه جا اجرا” (CO-RE) میپردازد که این مشکل را حل میکند.
فرآیند تأیید شاید مهمترین مشخصه ای باشد که eBPF را از ماژولهای هسته متمایز میکند. من شما را با تأیید کننده eBPF در فصل 6 آشنا میکنم.
در فصل 7 کتاب Learning eBPF شما با انواع مختلف برنامههای eBPF و نقاط پیوست آنها آشنا خواهید شد. بسیاری از این نقاط پیوست در پشته شبکه قرار دارند و فصل 8 کاربرد eBPF برای ویژگیهای شبکه را با جزئیات بیشتری بررسی میکند.
فصل 9 به چگونگی استفاده از eBPF برای ساخت ابزارهای امنیتی میپردازد. اگر میخواهید یک برنامه فضای کاربری بنویسید که با برنامههای eBPF تعامل داشته باشد، کتابخانهها و چارچوبهای زیادی برای کمک وجود دارد.
فصل 10 یک نمای کلی از گزینههای زبانهای برنامهنویسی مختلف ارائه میدهد.
در نهایت، در فصل 11 کتاب Learning eBPF به توپ کریستالی خود خیره خواهم شد و در مورد برخی از پیشرفتهای آینده که احتمالاً در دنیای eBPF رخ خواهند داد، به شما خواهم گفت.
سرفصلهای کتاب Learning eBPF:
- Preface
- 1. What Is eBPF, and Why Is It Important?
- 2. eBPF’s “Hello World”
- 3. Anatomy of an eBPF Program
- 4. The bpf() System Call
- 5. CO-RE, BTF, and Libbpf
- 6. The eBPF Verifier
- 7. eBPF Program and Attachment Types
- 8. eBPF for Networking
- 9. eBPF for Security
- 10. eBPF Programming
- 11. The Future Evolution of eBPF
- Index
جهت دانلود کتاب Learning eBPF میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.