کتاب Network Programmability and Automation: Skills for the Next-Generation Network Engineer (قابلیت برنامهریزی و اتوماسیون شبکه: مهارت برای مهندس شبکه نسل بعدی) از جدیدترین منابع آموزش شبکه و اتوماسیون در آن است که بسیاری از مباحث مهم و جدید در شبکه را شرح خواهد داد.
در ادامه مقدمهای از کتاب Network Programmability and Automation را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Network Programmability and Automation:
به برنامه نویسی و اتوماسیون شبکه خوش آمدید!
صنعت شبکه به شدت در حال تغییر است. انگیزه سازمانها و متخصصان شبکه برای پذیرش ایدهها و مفاهیم قابلیت برنامهریزی و اتوماسیون شبکه در حال حاضر بیشتر از هر زمان دیگری است، که با انقلاب در پروتکلهای جدید، فناوریهای جدید، مدلهای تحویل جدید، و نیاز به کسبوکارها تقویت شده است. چابک تر و انعطاف پذیرتر به منظور رقابت. اما قابلیت برنامهریزی و اتوماسیون شبکه چیست؟ بیایید این کتاب را با پاسخ به این سوال شروع کنیم.
آنچه کتاب Network Programmability and Automation پوشش میدهد:
همانطور که از عنوان آن مشخص است، این کتاب بر روی قابلیت برنامهریزی شبکه و اتوماسیون متمرکز شده است. در اصل، قابلیت برنامهریزی و اتوماسیون شبکه در مورد ساده کردن وظایف مربوط به پیکربندی، مدیریت و راه اندازی تجهیزات شبکه، توپولوژیهای شبکه، خدمات شبکه و اتصال شبکه است.
بسیاری از مؤلفهها درگیر هستند – از جمله سیستمعاملهایی که اکنون در شبکهسازی بسیار گستردهتر از گذشته استفاده میشوند، متدولوژیهای جدید مانند یکپارچهسازی مداوم، و ابزارهایی که قبلاً ممکن بود فقط در قلمرو مدیر سیستم قرار داشته باشند (ابزارهایی مانند کد منبع سیستمهای مدیریت کنترل و پیکربندی).
از آنجا که همه اینها در تعریف اصلی قابلیت برنامهریزی و اتوماسیون شبکه نقش دارند، ما همه این موضوعات را پوشش میدهیم. هدف ما از این کتاب این است که شما را قادر به ایجاد پایه ای از دانش در مورد قابلیت برنامهریزی و اتوماسیون شبکه کنید.
بیشتر بخوانید: کتاب CCNP and CCIE Enterprise Core Encor 350-401 Official Cert Guide
آنچه در این نسخه جدید کتاب Network Programmability and Automation است:
این نسخه از کتاب از نسخه اصلی به روز شده و شامل چهار فصل کاملاً جدید است:
- فصل 4، «ابر»
- فصل 5، «محیطهای توسعهدهنده شبکه»
- فصل 7، «برو»
- فصل 14، «معماری اتوماسیون شبکه»
ما همچنین فصلهای موجود را بهروزرسانی کردهایم تا مفاهیم جدیدتری مانند موارد زیر را شامل شود:
- بافرهای پروتکل گوگل
- gRPC/gNMI
- Terraform
- نورنیر
علاوه بر همه این افزودههای جدید، ما هر فصل از کتاب Network Programmability and Automation را بهروزرسانی و گسترش دادهایم تا پیشرفتها و تغییرات صنعتی را که از زمان انتشار اولین نسخه رخ داده است منعکس کند.
ما خوشحالیم که این فرصت را داریم که این موضوعات جدید و هیجانانگیز را به کتاب اضافه کنیم. به دلیل محدودیت اندازه، برخی از مطالب نسخه اول به این نسخه منتقل نشد. با این حال، به جای حذف ساده این محتوا، آن را به صورت رایگان در https://oreilly-npa-book.github.io در دسترس قرار دادهایم.
بیشتر بخوانید: کتاب Network Programming and Automation Essentials
کتاب Network Programmability and Automation چگونه سازماندهی شده است:
این کتاب لزوماً برای خواندن از ابتدا تا انتها در نظر گرفته نشده است. در عوض، ما موضوعات را جدا کردهایم تا بتوانید به راحتی محتوایی را که بیشتر به آن علاقه دارید پیدا کنید. ممکن است برای شما مفید باشد که خواندن سه فصل اول کتاب Network Programmability and Automation را به صورت متوالی شروع کنید، زیرا آنها اطلاعات زمینه ای را ارائه میدهند و زمینه را برای بقیه کتاب فراهم میکنند. از آنجا، میتوانید به هر موضوعی که برایتان مفیدتر یا جالبتر است بروید.
ما سعی کردهایم فصلها را نسبتاً مستقل نگه داریم، اما – مانند هر فناوری دیگری – این همیشه ممکن نیست. هر جا که بتوانیم، ارجاعات متقابل را ارائه میکنیم تا به شما کمک کنیم اطلاعات مورد نیاز خود را پیدا کنید.
در اینجا نگاهی سریع به نحوه سازماندهی موضوعات داریم:
فصل 1، «روندهای صنعت شبکه»
یک نمای کلی از رویدادها و روندهای اصلی که شبکههای نرمافزاری تعریف شده (SDN) را راه اندازی کردند، ارائه میدهد. همانطور که خواهید دید، SDN پیدایش تمرکز بیشتر بر قابلیت برنامهریزی و اتوماسیون شبکه بود.
فصل 2، «اتوماسیون شبکه»
بحث SDN را از فصل 1 میگیرد و به طور خاص بر اتوماسیون شبکه تمرکز میکند – تاریخچه اتوماسیون شبکه، انواع اتوماسیون، ابزارها و فناوریهای دخیل در اتوماسیون، و اینکه چگونه اتوماسیون بر مدلهای عملیاتی تأثیر میگذارد (و چگونه مدلهای عملیاتی بر اتوماسیون تأثیر میگذارد).
فصل 3، «لینوکس»
یک نمای کلی از سیستم عامل لینوکس ارائه میدهد. به هیچ وجه بحث جامعی از لینوکس نیست، هدف این فصل از کتاب Network Programmability and Automation این است که متخصصان شبکه را به سرعت در لینوکس، دستورات اصلی لینوکس و مفاهیم شبکه لینوکس به روز کند.
فصل 4، «ابر»
محاسبات ابری را از منظر شبکه معرفی میکند و نقطه پرش را برای بسیاری از موضوعات مرتبط مانند کانتینرها و شبکه Kubernetes فراهم میکند. همچنین بحث میکنیم که چگونه مهارتهای موجود مهندسان شبکه به یک محیط مبتنی بر ابر ترجمه میشود.
فصل 5، «محیطهای توسعهدهنده شبکه»
ابزارها و تکنیکهای حفظ محیط توسعه دهنده شبکه را بررسی میکند. این بخش مهمی از هر پروژه اتوماسیون شبکه است و به تیمها اجازه میدهد تا روی راهحلها به طور مؤثرتری همکاری کنند، و همچنین به طور موثر از توسعه به آزمایش، تا تولید حرکت کنند.
فصل 6، «Python»
متخصصان شبکه را به پایتون معرفی میکند. این زبان برنامهنویسی اغلب در زمینههای برنامهنویسی و اتوماسیون شبکه استفاده میشود و این فصل از کتاب Network Programmability and Automation بسیاری از اصول برنامه نویسی با پایتون را پوشش میدهد: انواع دادهها، شرطیها، حلقهها، کار با فایلها، توابع، کلاسها و ماژولها.
فصل 7، «Go»
با کاوش در Go، گزینه دوم را به فهرست زبان برنامه نویسی حرفه ای اتوماسیون شبکه اضافه میکند. Go که اخیراً محبوبیت زیادی پیدا کرده است – تا حد زیادی به دلیل اکوسیستم بومی ابری – حتی برای کسانی که به تازگی سفر اتوماسیون خود را شروع کرده اند دارایی ارزشمندی است.
فصل 8، «فرمتها و مدلهای داده»
قالبها و روشهای انتقال، ذخیرهسازی و مدلسازی دادههای اتوماسیون شبکه را بررسی میکند. توانایی درک و کار با دادهها یک مهارت اساسی برای هر حرفه ای اتوماسیون شبکه است، و در این فصل از کتاب Network Programmability and Automation، ما یک پایه محکم برای فصلهایی ایجاد میکنیم که باید دنبال شوند.
فصل ۹، «الگوها»
به استفاده از زبانهای قالب برای ایجاد تنظیمات دستگاه شبکه نگاه میکند. در حالی که تمرکز اصلی این فصل از کتاب Network Programmability and Automation بر روی زبان قالبسازی Jinja است، زیرا به صورت بومی با پایتون ادغام میشود، ما همچنین الگوهای Go و تبدیلهای زبان صفحه سبک توسعهپذیر (XSLT) را بررسی میکنیم.
فصل 10، «کار با API های شبکه»
نقش APIها در قابلیت برنامهریزی و اتوماسیون شبکه را پوشش میدهد. ما اصطلاحات و فنآوریهای کلیدی مربوط به APIها از جمله HTTP، NETCONF، RESTCONF، و gNMI را به عنوان مثال بررسی میکنیم تا نشان دهیم چگونه میتوان از آنها برای برنامهریزی و اتوماسیون شبکه استفاده کرد. ما از کتابخانههای Python و Go برای خودکارسازی دستگاههای شبکه با استفاده از این API ها استفاده میکنیم.
فصل 11، «کنترل منبع با Git»
Git را معرفی میکند، ابزاری محبوب و پرکاربرد برای کنترل کد منبع. ما در مورد اینکه چرا کنترل کد منبع مهم است، نحوه استفاده از آن در زمینه قابلیت برنامهریزی و اتوماسیون شبکه و نحوه کار با سرویسهای آنلاین محبوب مانند GitHub صحبت می کنیم.
فصل 12، «ابزارهای خودکارسازی»
استفاده از ابزارهای اتوماسیون منبع باز مانند Ansible، Nornir با NAPALM و Terraform را بررسی می کند. شما یاد خواهید گرفت که چگونه می توان از این ابزارها به طور خاص برای برنامهریزی و اتوماسیون شبکه با استفاده از رویکردهای ضروری و اعلامی استفاده کرد.
فصل ۱۳، «ادغام مستمر»
ادغام پیوسته (CI) و ابزارها و فناوریهای کلیدی را بررسی میکند. ما در مورد استفاده از توسعه مبتنی بر آزمایش (TDD) بحث میکنیم، ابزارها و چارچوبهایی مانند GitLab و Jenkins را بررسی میکنیم و نگاهی به یک نمونه گردش کار اتوماسیون شبکه میاندازیم که همه این عناصر CI را در خود جای داده است.
فصل 14، «معماری اتوماسیون شبکه»
با پیشنهاد یک معماری مرجع برای یک راه حل اتوماسیون شبکه جامع، تمام مفاهیم پوشش داده شده در فصلهای قبل را یکپارچه میکند. اتوماسیون و ارکستراسیون را گرد هم میآورد، ایده منبع حقیقت را بررسی میکند و نشان میدهد که چگونه تعاملات کاربر در چنین سیستمی ممکن است کار کند.
چه کسی باید کتاب Network Programmability and Automation را بخواند؟
همانطور که قبلا ذکر کردیم، هدف این کتاب تجهیز شما به دانش پایه و مجموعهای از مهارتهای پایه در زمینههای برنامهریزی شبکه و اتوماسیون است. ما معتقدیم که اعضای چندین رشته فناوری اطلاعات از خواندن این کتاب بهره مند خواهند شد.
مهندسان شبکه
با توجه به تمرکز بر قابلیت برنامهریزی و اتوماسیون شبکه، طبیعی است که یکی از مخاطبان این کتاب مهندس شبکه “سنتی” باشد، کسی که به طور منطقی به پروتکلهای شبکه، پیکربندی دستگاههای شبکه، و راه اندازی و مدیریت یک شبکه مسلط است. شما یاد خواهید گرفت که چگونه از اتوماسیون برای مدیریت پیکربندی، عیبیابی، قابلیت مشاهده و موارد دیگر استفاده کنید. کتاب Network Programmability and Automation مهندسان شبکه را قادر میسازد تا کارآمدتر باشند و زیرساختهای قابل اعتمادتری را از طریق اتوماسیون و برنامهپذیری بسازند.
پیشنیازها
مهندسان شبکه که علاقه مند به یادگیری بیشتر در مورد قابلیت برنامهریزی و اتوماسیون شبکه هستند، به هیچ دانش قبلی در زمینه توسعه نرمافزار، برنامه نویسی، اتوماسیون یا ابزارهای مرتبط با DevOps نیاز ندارند. تنها پیش نیاز، داشتن ذهنی باز و تمایل به یادگیری در مورد فنآوریهای جدید و تأثیر آنها بر شما – حرفه ای شبکه – و در کل صنعت شبکه بزرگتر است.
مدیران سیستمها
مدیران سیستمها، که مسئولیت اصلی مدیریت سیستمهایی که به شبکه متصل میشوند، ممکن است قبلاً با برخی از ابزارهای مورد بحث در این کتاب (به ویژه لینوکس، کنترل کد منبع و سیستمهای مدیریت پیکربندی) تجربه قبلی داشته باشند. بنابراین، کتاب Network Programmability and Automation میتواند به عنوان مکانیزمی برای کمک به مدیران سیستمها برای گسترش دانش و درک خود از چنین ابزارهایی با ارائه آنها در زمینهای متفاوت عمل کند (به عنوان مثال، استفاده از Ansible برای پیکربندی سوئیچ شبکه در مقابل استفاده از Ansible برای پیکربندی سرور در حال اجرا. توزیع لینوکس).
پیشنیازها
کتاب Network Programmability and Automation هیچ پوشش یا توضیحی درباره پروتکلها یا مفاهیم شبکه اصلی ارائه نمیدهد. با این حال، در نتیجه مدیریت سیستمهای متصل به شبکه، ما پیشبینی میکنیم که بسیاری از مدیران سیستمها نیز دانش اولیه پروتکلهای شبکه اصلی را داشته باشند. بنابراین اکثر مدیران سیستمهای با تجربه باید خوب باشند. اگر در دانش شبکه خود کمی ضعیف هستید، توصیه میکنیم این کتاب را با کتابی که بر مفاهیم و ایدههای اصلی شبکه تمرکز دارد تکمیل کنید. برای مثال، Packet Guide to Core Network Protocols اثر بروس هارتپنس (O’Reilly) ممکن است انتخاب خوبی باشد.
توسعهدهندگان نرمافزار
توسعهدهندگان نرمافزار نیز ممکن است از خواندن کتاب Network Programmability and Automation سود ببرند. بسیاری از توسعه دهندگان تجربه قبلی با برخی از زبانهای برنامهنویسی و ابزارهای توسعه دهنده مورد بحث ما (مانند پایتون و/یا گیت) خواهند داشت. مانند مدیران سیستمها، توسعهدهندگان نیز ممکن است مشاهده ابزارها و زبانهای توسعهدهنده مورد استفاده در زمینه شبکهمحور را مفید بدانند (بهعنوان مثال، دیدن نحوه استفاده از Python برای بازیابی و ذخیره دادههای خاص شبکه).
پیشنیازها
ما فرض میکنیم که شما درک اولیه از پروتکلها و مفاهیم شبکه اصلی دارید و همه مثالهایی که ارائه میدهیم، نمونههای شبکه محور هستند. همانند مدیران سیستمها، توسعهدهندگان نرمافزاری که تازه وارد شبکه شدهاند احتمالاً لازم است مطالب کتاب Network Programmability and Automation را با کتابی تکمیل کنند که بر مفاهیم اصلی شبکه تمرکز دارد.
ابزارهای مورد استفاده در کتاب Network Programmability and Automation
مانند هر زمینه ای از فناوری، فناوریها و ابزارهای موجود در فضای برنامهریزی و اتوماسیون شبکه دارای نسخهها و تغییرات زیادی هستند. بنابراین، مجموعهای از ابزارها را در این کتاب استاندارد کردیم که احساس میکنیم بهترین ابزارهایی را که در این زمینه پیدا خواهید کرد، نشان میدهند.
به عنوان مثال، لینوکس توزیعهای زیادی دارد، اما ما فقط روی دبیان، اوبونتو (که خود مشتق شده از دبیان است) و CentOS (مشتقشده از لینوکس Red Hat Enterprise یا RHEL) تمرکز میکنیم. برای اینکه کار را برای شما آسان کنیم، نسخه خاص ابزارهای مختلف را در فصل خاص هر ابزار فراخوانی میکنیم.
سرفصلهای کتاب Network Programmability and Automation:
- Preface
- 1. Network Industry Trends
- 2. Network Automation
- 3. Linux
- 4. Cloud
- 5. Network Developer Environments
- 6. Python
- 7. Go
- 8. Data Formats and Models
- 9. Templates
- 10. Working with Network APIs
- 11. Source Control with Git
- 12. Automation Tools
- 13. Continuous Integration
- 14. Network Automation Architecture
- Index
- About the Authors
جهت دانلود کتاب Network Programmability and Automation میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.