کتاب Infrastructure as Code, 3rd Edition: Designing and Delivering Dynamic Systems for the Cloud Age (زیرساخت به عنوان کد، ویرایش سوم: طراحی و ارائه سیستمهای پویا برای عصر ابری) به بررسی رویکرد مدرنی در مدیریت زیرساختهای IT میپردازد که هدف آن خودکارسازی و بهینهسازی فرآیندهای توسعه و استقرار سیستمها در محیطهای ابری است.
کتاب Infrastructure as Code به خوانندگان میآموزد چگونه با استفاده از ابزارها و تکنیکهای مدرن، زیرساختها را به صورت برنامهنویسی و شفاف مدیریت کنند و علاوه بر کاهش خطا و زمان مورد نیاز برای استقرار، قابلیت مقیاسپذیری و انعطافپذیری بیشتری را برای سیستمها فراهم کنند. مباحثی نظیر طراحی، پیادهسازی و نگهداری از سیستمهای پویا در عصر ابری به طور جامع بررسی شده و بهترین شیوهها و الگوهای مربوط به این حوزه ارائه میشود.
در ادامه مقدمهای از کتاب Infrastructure as Code را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Infrastructure as Code:
آغاز کار و تکامل حرفهای:
من کار خود را به عنوان مدیر سیستم در تیمی آغاز کردم که سرورها و ایستگاههای کاری یونیکس را در بخش علوم کامپیوتر دانشگاه تنسی مدیریت میکرد. از آن زمان، در دوران داتکام و پس از آن، جذب استفاده از آموختههایم در توسعه نرمافزار برای خودکارسازی مدیریت سرورها و سایر زیرساختها شدم.
در سال 2001 با وبسایت Infrastructures.org آشنا شدم که برایم بسیار روشنگر بود. نویسندگان مرا با ابزار پیشگام زیرساخت CFEngine مارک بورگس و ارزش تهیه خودکار سرورها به روشی سازگار و تکرارپذیر آشنا کردند، چیزی که برای ساخت سرورهای فیزیکی در مراکز داده برای مجموعهای از شرکتهای نوپا و مقیاسپذیر در دهه 2000 استفاده میکردم.
اصطلاح “زیرساخت به عنوان کد” تقریباً همزمان با آغاز جنبش DevOps توسط اندرو کلی شافر و پاتریک دبوا با سخنرانی در کنفرانس Agile 2008 پدیدار شد. اولین کاربردهای این اصطلاح را در سخنرانی “زیرساخت چابک” که شافر در کنفرانس Velocity در سال 2009 ارائه کرد و مقالهای که جان ویلیس به خلاصه آن پرداخت، پیدا کردم. آدام جیکوب، بنیانگذار مشترک Chef، و لوک کانیز، بنیانگذار Puppet، نیز تقریباً در همین زمان از این اصطلاح استفاده کردند.
ابزارهای زیرساخت به عنوان کد، فرصتی را برای کار به روشهایی ایجاد میکنند که به شما کمک میکند تغییرات را مکرراً، سریع و قابل اعتماد ارائه دهید و کیفیت کلی سیستمهای خود را بهبود بخشید. اما مزایا از خود ابزارها ناشی نمیشوند. بلکه از نحوه استفاده شما از آنها ناشی میشوند. نوآوران در حال ایجاد ابزارها و تکنیکهای جدیدی برای ساخت و مدیریت زیرساخت با استفاده از کد هستند، و همچنین نسلهای بالقوه جدیدی از ابزارها که فراتر از پارادایم “به عنوان کد” حرکت میکنند. هر ابزاری که استفاده کنیم، ترفند این است که از فناوری برای جاسازی کیفیت، قابلیت اطمینان و انطباق در فرآیند ایجاد تغییرات استفاده کنیم.
انگیزه نگارش کتاب Infrastructure as Code:
همزمان با رشد رایانش ابری و زیرساخت به عنوان کد از یک حوزه تخصصی به جریان اصلی در دهه 2010، با خواندن پستهای وبلاگ، شرکت در سخنرانیها و کار با ابزارهای مختلف با مشتریان مشاوره، یاد گرفتم که چگونه زیرساخت به عنوان کد را در عمل پیادهسازی کنم.
منتظر بودم یکی از چهرههای برجسته DevOps که تحسین میکردم، کتابی بنویسد که بتوانم به عنوان مجموعهای جامع از راهنماییها برای این عمل به اشتراک بگذارم. در اواسط دهه، هنوز آن را ننوشته بودند، بنابراین ایدههای خود را برای آنچه باید بنویسند، ترسیم کردم، به بسط آن ادامه دادم و در نهایت در سال 2016 به اولین نسخه کتاب Infrastructure as Code رسیدم.
نسخه اول بر پیکربندی سرور با استفاده از ابزارهایی مانند Chef و Puppet تمرکز داشت. نسخه دوم در سال 2020 به “پشتههای” زیرساخت با استفاده از ابزارهایی مانند Amazon Web Services (AWS) Cloud Development Kit (CDK) و Terraform تغییر یافت، با علاقه بیشتر به زمانهای اجرای برنامه بومی ابری مانند خوشههای کانتینر و بدون سرور.
در این نسخه سوم، تغییر به استفاده از کد زیرساخت برای ارائه زمانهای اجرای برنامه مبتنی بر کانتینرها و بدون سرور نسبت به پیکربندی تصاویر سرور بسیار پیشرفت کرده است. افراد بیشتری علاقهمند به کدنویسی زیرساخت با استفاده از زبانهای عمومی، همانطور که توسط CDK و Pulumi فعال شده است، هستند و کنجکاو در مورد تغییر به ادغام کد برنامه و زیرساخت هستند.
به عنوان مهندسان و معماران زیرساخت، باید بدانیم که چگونه زیرساخت برای سازمان ارزش ایجاد میکند. باید از کد اسپاگتی زیرساخت که گسترش محیطهای غیرقابل مدیریت را ایجاد میکند، فراتر برویم. این نسخه الگوها و روشهای نوظهور را برای رویکردی مبتنی بر اجزا و قابل ترکیبتر به زیرساخت به عنوان کد به اشتراک میگذارد.
در کتاب Infrastructure as Code رویکردهایی را به اشتراک میگذارم که امروزه به طور گسترده مورد استفاده قرار میگیرند، اما معتقدم که هنوز به پایان سفر یافتن راههای بهتر برای مدیریت زیرساخت دیجیتال نزدیک نیستیم. امیدوارم این نسخه به شما در مدیریت موثرتر زیرساختهایتان کمک کند. و همچنین امیدوارم شما را ترغیب کند که فراتر از روشهای فعلی حرکت کنید. ممکن است در نهایت از استفاده از کد برای تعریف زیرساخت فراتر برویم. اما هر ابزار خاصی که استفاده کنیم، معتقدم که استفاده متفکرانه از اصول و تکنیکهای طراحی نرمافزار مؤثر میتواند به ما کمک کند بهتر عمل کنیم، و امیدوارم این نسخه جدید کمک کند.
محتوا و محدوده کتاب Infrastructure as Code:
پایاننامه این کتاب این است که روشها، الگوها و تکنیکها را میتوان در پلتفرمهای زیرساخت با استفاده از ابزارهای مختلف زیرساخت اعمال کرد. تمرکز آن کمتر بر ابزارهای خاص و بیشتر بر نحوه استفاده از آنها است. اگرچه در مورد ابزارهای موجود بحث میکنم، اما جزئیاتی در مورد نحوه کار با هیچ ابزار خاصی پیدا نخواهید کرد. الگوها، روشها و تکنیکهایی را پیدا خواهید کرد که باید برای هر ابزار و پلتفرمی که استفاده میکنید مرتبط باشند.
مثالهای کد زیادی برای ابزارها یا ابرهای دنیای واقعی پیدا نخواهید کرد. ابزارها در این زمینه خیلی سریع تغییر میکنند تا مثالهای کد را دقیق نگه دارند. توصیههای این کتاب باید آهستهتر پیر شوند و در ابزارها قابل اجرا باشند. در عوض، مثالهای شبه کد برای ابزارهای خیالی برای نشان دادن مفاهیم مینویسم.
موضوعات زیادی تحت عنوان “زیرساخت” قرار میگیرند که کتاب Infrastructure as Code نمیتواند آنها را پوشش دهد. بنابراین محدوده را بر استفاده از کد برای مدیریت زیرساخت به عنوان سرویس (IaaS) زیرساخت ابری متمرکز کردهام و موضوعاتی مانند پلتفرمهای مهندسی، پورتالهای توسعهدهنده، مهندسی قابلیت اطمینان سایت (SRE)، قابلیت مشاهده، ارکستراسیون کانتینر و هوش مصنوعی را برای کتابها و منابع دیگر رها کردهام.
مخاطبان کتاب Infrastructure as Code:
این کتاب برای افرادی است که در ارائه و استفاده از زیرساخت برای ارائه و اجرای نرمافزار دخیل هستند. ممکن است پیشینهای در سیستمها و زیرساخت یا توسعه و ارائه نرمافزار داشته باشید. نقش شما میتواند مهندسی، آزمایش، معماری یا مدیریت باشد. فرض میکنم که با زیرساخت ابری و ابزارهای خودکارسازی زیرساخت آشنایی دارید.
خوانندگان جدید زیرساخت به عنوان کد باید کتاب Infrastructure as Code را مقدمهای خوب برای این موضوع بدانند. با این حال، اگر بدانید پلتفرمهای ابری زیرساخت چگونه کار میکنند و اصول اولیه حداقل یک ابزار کدنویسی زیرساخت را بدانید، بیشترین بهره را از آن خواهید برد. پیشنهاد میکنم کتاب Infrastructure as Code را با منابع آموزشی برای پلتفرمهای ابری خاص و ابزارهای زیرساخت به عنوان کد که استفاده میکنید، تکمیل کنید.
کسانی که تجربه بیشتری در کار با این ابزارها دارند، باید ترکیبی از مفاهیم و رویکردهای آشنا و جدید را پیدا کنند. محتوا باید زبانی مشترک ایجاد کند و چالشها و راهحلها را به روشهایی بیان کند که برای متخصصان و تیمهای با تجربه مفید باشد.
سرفصلهای کتاب Infrastructure as Code:
- Preface
- I. Foundations
- 1. What Is Infrastructure as Code?
- 2. Principles of Cloud Infrastructure
- 3. Infrastructure Platforms
- 4. Infrastructure as Code Tools and Languages
- II. Design
- 5. Design Principles for Infrastructure as Code
- 6. Infrastructure Components
- 7. Designing Deployable Infrastructure Stacks
- 8. Configuring Infrastructure Stack Instances
- 9. Integrating Infrastructure Stacks
- 10. Designing Infrastructure Code Libraries
- 11. Building Servers as Code
- 12. Designing Environments
- 13. Providing Application Runtime Infrastructure
- III. Delivery
- 14. Core Infrastructure Delivery Workflows
- 15. Building and Distributing Infrastructure as Code
- 16. Implementing Infrastructure Delivery with Pipelines
- 17. Infrastructure Code Testing Strategy
- 18. Infrastructure Code Testing Implementation
- 19. Deploying Infrastructure
- 20. Changing Existing Infrastructure
- 21. Governance
- Index
- About the Author
جهت دانلود کتاب Infrastructure as Code میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.