کتاب Continuous Deployment: Enable Faster Feedback, Safer Releases, and More Reliable Software (استقرار مداوم: بازخورد سریعتر، نسخههای ایمنتر و نرمافزار قابل اطمینانتر را فعال کنید) توضیح میدهد که چگونه میتوان پیادهسازیهای ایمن و قابل اعتماد را بدون ورودی دستی برای تولید انجام داد.
چارچوبی را برای اجرای نسخههای افزایشی و ایمن در طول کار توسعه روزمره، که منحصراً پیرامون چالشهای استقرار مداوم در سیستمهای توزیعشده و بیاهمیت ساختار یافته است، یاد خواهید گرفت. با مصاحبه ها و مطالعات موردی از متخصصان صنعت تکمیل کنید.
در ادامه مقدمهای از کتاب Continuous Deployment را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Continuous Deployment:
استقرار مداوم: راهی برای حذف کامل دخالت دستی در خط لوله نرم افزار
این کتاب در مورد استقرار مداوم است: روشی برای ساختاردهی خط لوله نرم افزار شما به گونهای که کاملاً بدون دخالت دستی باشد. با این روش، هر کامیت کدی که دروازههای کیفیت خود را پشت سر بگذارد، به طور خودکار در تولید مستقر میشود.
این موضوع تنشی را که اغلب در مهندسی نرم افزار مورد بحث قرار میگیرد به سطح میآورد: رسیدن سریع به تولید در مقابل رسیدن ایمن به تولید. در ظاهر، استقرار مداوم ممکن است شبیه مورد اول باشد، اما با بررسی دقیقتر، واقعاً با مورد دوم همسو میشود. با بررسی دقیقتر، من استدلال میکنم که نیازی به انتخاب نداریم.
در دو دهه گذشته، شاهد تعدادی از روشهایی بودهایم که نشان میدهد سرعت و قابلیت اطمینان در واقع در هنگام تحویل نرم افزار دست به دست هم میدهند. DevOps، برنامهنویسی افراطی (XP)، ادغام مداوم (CI) و تحویل مداوم (CD): این روشها بارها و بارها نشان دادهاند که تکرارهای کوتاهتر پایداری سیستمهای تولید را بهبود میبخشند، نه اینکه مانع آن شوند.
دلیل این امر این است که تکرارهای کوتاهتر اندازه تغییرات در هر انتشار را کاهش میدهند، ارتباط بین نقشها را تقویت میکنند، فرهنگ خودکارسازی را تشویق میکنند و امکان بازخورد اولیه و مداوم را فراهم میکنند. به طور کلی، تکرارهای کوتاهتر و استقرارهای مکرر پایداری و کیفیت نرم افزار را بهبود میبخشند.
من استقرار مداوم را گام طبیعی بعدی در این خط فکری میدانم.
در طول دوران حرفهای خود به عنوان مشاور نرم افزار، خوش شانس بودم که با چندین شرکت کار کردم که در حال حاضر استقرار مداوم را تمرین میکردند یا پس از پیوستن من به تیم آنها آن را پذیرفتند. من سادگی و سرعت آن را دوست داشتم و تا به امروز واقعاً معتقدم که این کارآمدترین روش توسعه نرم افزاری است که با آن مواجه شدهام. با این حال، من همچنین متوجه شدم که همه در ابتدا با آن راحت نیستند.
این امر به ویژه برای همکاران جوان یا افراد جدیدی که قبلاً با این روش کار نکرده بودند صادق بود. قابل درک است که اگر به مراحل طولانی تست دستی، شاخههای ویژگی طولانی و تأییدهای دستی عادت داشته باشید، رفتن کد به تولید در عرض چند دقیقه میتواند شوک فرهنگی بزرگی باشد. من میخواستم با اشتراکگذاری منابع در مورد نحوه برخورد با آن کمک کنم، اما خلا ادبیات در مورد این عمل را پیدا کردم.
بنابراین، تنها چیزی که میتوانستم به اشتراک بگذارم این بود که چگونه جریان کار خودم را تنظیم کردم و چگونه شروع به نوشتن کد متفاوت کردم زمانی که میدانستم استقرار در تولید تقریباً فوری خواهد بود.
متوجه شدم که به اندازه کافی روی تیمهای مختلف خودم را تکرار میکنم، شاید این ایده ارزش اشتراکگذاری با مخاطبان گستردهتری را داشته باشد. من آن را نمیدانستم، اما در ذهنم قبلاً شروع به نوشتن مطالب این کتاب کرده بودم.
من متوجه شدم که استقرار مداوم افزایش تحویل مداوم است که به اندازه کافی مهم است که بحث جداگانهای داشته باشد. این مهم است زیرا مزایای اضافی به همراه دارد، معایب اضافی دارد و نیاز به برخی ملاحظات اضافی برای کار خوب در یک تیم دارد.
همه این «اضافات» چیزی است که در کتاب Continuous Deployment پوشش خواهیم داد، با استفاده از پایه تحویل مداوم برای کاوش در استقرار مداوم کاملاً خودکار در تولید.
کتاب Continuous Deployment برای چه کسانی است؟
من این کتاب را برای همکاران صنعت نرم افزار و به ویژه برای مهندسان نرم افزاری که ارزش بهبود مسیر کد خود را به تولید میبینند نوشتم.
به طور خاص، کتاب Continuous Deployment برای شما مناسب است اگر:
- شما قبلاً با تحویل مداوم آشنا هستید، اما با استقرار مداوم آشنا نیستید و کنجکاو هستید که بیشتر در مورد آن بدانید.
- شما با استقرار مداوم آشنا هستید و در مورد اینکه آیا گام بعدی مناسبی برای تیم شما است تردید دارید.
- شما قبلاً تصمیم به انتقال به استقرار مداوم گرفتهاید، اما میخواهید بدانید که پس از حذف دروازه دستی برای تولید چه انتظاری دارید.
- شما یک محصول Greenfield را شروع میکنید و میخواهید از این فرصت برای امتحان استقرار مداوم استفاده کنید، اما نمیدانید که چگونه آن را از ابتدا راهاندازی کنید.
- شما در حال پیوستن به تیمی هستید که قبلاً استقرار مداوم را پذیرفته است و میخواهید بدانید که چرا و چگونه این کار را انجام میدهند.
اگرچه مخاطب اصلی کتاب Continuous Deployment، افرادی هستند که روزانه کد مینویسند، اما این کتاب میتواند برای افراد در نقشهای دیگر مانند مهندسان تضمین کیفیت، مالکان محصول، مدیران محصول، اسکرام مسترها، مدیران مهندسی و افراد در موقعیتهای مختلف رهبری فنی نیز ارزشمند باشد.
اگر عنوان شغلی شما در این لیست است، ممکن است به ویژه به قسمت اول، “استقرار مداوم” علاقهمند باشید که دیدگاه جامعتری از این عمل را ارائه میدهد.
علاوه بر این، فصلهای قسمت دوم، “قبل از توسعه” و قسمت چهارم، “پس از توسعه” توضیح میدهند که چگونه نقشهای تیم دیگر را در یک گردش کار استقرار خودکار در تولید ادغام کنید، که برای بهرهبرداری کامل از پتانسیل آنها ضروری است.
اگر یک توسعهدهنده هستید، ممکن است بخواهید به طور خاص بر روی قسمت سوم، “در طول توسعه” تمرکز کنید که به تفصیل نحوه تقسیم فرآیند توسعه به استقرارهای تولید کوچک و مستقل را توضیح میدهد.
همچنین باید نگاهی به قسمت پنجم، “مطالعات موردی” بیندازید که در آن مثالهای واقعی از شرکتهایی که استقرار مداوم را تمرین میکنند پیدا خواهید کرد و نحوه ساخت خطوط لوله و ابزارهای خود را مشاهده خواهید کرد.
آنچه برای خواندن کتاب Continuous Deployment نیاز دارید:
از آنجایی که استقرار مداوم بر بسیاری از مفاهیم دیگر که از جنبش چابک نشأت گرفتهاند، مانند DevOps، CI و CD، بنا شده است، اگر میخواهید بیشترین بهره را از این کتاب ببرید، باید حداقل با آنها آشنا باشید.
خوشبختانه، اکثر شرکتها امروزه حداقل تا حدی با این روشها آشنا هستند و آنها را تا حدی اجرا میکنند. من در فصل 1 خلاصهای کامل از XP، DevOps، CI و CD ارائه خواهم داد تا بتوانید به «چرا» بازگردید و حافظه خود را تازه کنید.
با این حال، اگر شما و یا تیم شما قبلاً هرگز این روشها را نشنیدهاید، ممکن است بخواهید قبل از اینکه استقرار مداوم را در نظر بگیرید، به آنها نگاه کنید و این کتاب را برای بعد بگذارید.
کتاب Continuous Deployment چه چیزی را پوشش میدهد
این کتاب شامل پنج بخش است که به شرح زیر سازماندهی شده است:
بخش اول، «استقرار مداوم»
این بخش از کتاب Continuous Deployment شامل تمام تئوریها است و همه چیزهایی را که باید در مورد استقرار مداوم به عنوان یک عمل بدانید توضیح میدهد.
فصل 1 کتاب Continuous Deployment، مقدمهای و زمینه تاریخی برای آن ارائه میدهد، فصل 2 مزایای آن را توضیح میدهد، فصل 3 بر پیامدها و «گرفتاریهای» اصلی آن تمرکز میکند، فصل 4 پیشنیازهای لازم برای پذیرش آن را توضیح میدهد و فصل 5 بر چالشهای آن تمرکز میکند.
بخش دوم، «قبل از توسعه»
اینجاست که همه چیز عملیتر میشود. این بخش از کتاب Continuous Deployment، بر تمام فعالیتهایی تمرکز دارد که از توسعه پشتیبانی میکنند قبل از اینکه تیم شروع به نوشتن کد کند و جایی است که من مثالی را معرفی میکنم که در بقیه کتاب استفاده خواهد شد.
در فصل 6 کتاب Continuous Deployment، نحوه برش بهترین بکلاگ محصول برای استفاده از استقرارهای مکرر و در فصل 7 نحوه بستهبندی الزامات بینرشتهای برای آمادهسازی هر افزونه برای تولید را توضیح میدهد.
بخش سوم، «در طول توسعه»
در این بخش از کتاب Continuous Deployment، به جزئیاتی میپردازیم که میتواند استقرار مداوم را بسازد یا خراب کند: نحوه انجام توسعه روزمره به عنوان یک دنباله از افزایشهای تولید کوچک و ایمن. با پیروی از مثالی که در بخش دوم معرفی شد، این بخش همچنین نمونههای کد جامعی را معرفی میکند.
نمونهها به سه فناوری نوشته شدهاند که من به دلیل محبوبیت آنها در صنعت انتخاب کردهام: جاوا اسکریپت با React.js، جاوا با SpringBoot و SQL. حتی اگر قبلاً از آنها استفاده نکردهاید، آنها آنقدر محبوب هستند که احتمالاً آنها را به اندازه کافی میشناسید تا بتوانید کد را حتی اگر در پشتههای مختلف کار میکنید بخوانید.
فصل 8 کتاب Continuous Deployment، نمایش افزودن ویژگی جدیدی را با استقرار پس از استقرار نشان میدهد و فصل 9 بر نحوه بازسازی تدریجی عملکرد پیچیدهای که قبلاً زنده است تمرکز میکند. در نهایت، فصل 10 بر پیچیدگیهای بازسازی فروشگاههای داده با استقرارهای خودکار تمرکز دارد.
بخش چهارم، «پس از توسعه»
بخش چهارم جایی است که شما در مورد تمام فعالیتهایی که پس از توسعه اتفاق میافتد یاد خواهید گرفت، جایی که استقرار مداوم واقعاً به ثمر میرسد.
فصل 11 کتاب Continuous Deployment، نحوه انجام تست اکتشافی ایمن در تولید و فصل 12 همه طعمهای انتشارات و آزمایشهای A/B را پوشش میدهد.
بخش پنجم، «مطالعات موردی»
در نهایت، بخش پنجم شامل تعدادی مطالعه موردی نوشته شده توسط متخصصان صنعت است. این شامل تجربیات دست اول شرکتهایی است که از استقرار مداوم در «طبیعت» استفاده میکنند، از جمله تاریخچه چگونگی رسیدن آنها به آنجا، چالشهایی که با آنها روبرو بودهاند و نحوه ساخت مسیر محصولات خود برای تولید است.
سرفصلهای کتاب Continuous Deployment:
- Foreword
- Preface
- I. Continuous Deployment
- 1. Continuous Deployment
- 2. Benefits
- 3. The Mindset Shift
- 4. You Must Be This Tall
- 5. Challenges
- II. Before Development
- 6. Slicing Upcoming Work
- 7. Building for Production
- III. During Development
- 8. Adding New Features
- 9. Refactoring Live Features
- 10. Data and Data Loss
- IV. After Development
- 11. Testing in Production
- 12. Releasing
- Conclusion and Next Steps
- V. Case Studies
- Case Study: AutoScout24
- Case Study: OTTO
- Case Study: N26
- Case Study: ClimatePartner
- Case Study: Motability Operations
- Case Study: REA Group
- Case Study: Maze
- Case Study: TravelPerk
- Index
- About the Author
جهت دانلود کتاب Continuous Deployment میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.