کتاب Principles of Software Architecture Modernization: Delivering engineering excellence with the art of fixing microservices, monoliths, and distributed monoliths (اصول نوسازی معماری نرم افزار: ارائه برتری مهندسی با هنر تعمیر ریزسرویس ها، مونولیت ها و مونولیت های توزیع شده) راهنمای جامع طراحی نرمافزارهای مقیاس پذیر و قابل نگهداری است که توسط یک متخصص نوشته شده است.
این اصول، الگوها، ضد الگوها، معاوضهها و مفاهیمی را که توسعهدهندگان و معماران نرمافزار برای طراحی نرمافزارهایی که هم مقیاسپذیر و هم قابل نگهداری هستند باید درک کنند، پوشش میدهد.
در ادامه مقدمهای از کتاب Principles of Software Architecture Modernization را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Principles of Software Architecture Modernization:
چرا این کتاب را نوشتیم؟
معماری نرمافزار رشتهای شگفتانگیز است، با سبکها و فرمهای زیادی که در طول زمان مد شده و از مد افتاده است. برخی مانند تخته سیاه و مونولیث به سمت تمرکز گرایش دارند. دیگران بر توزیع تمرکز میکنند، مانند رویداد محور، معماری سرویس گرا (SOA، که برای ما عزیز و گرم است)، Microservices، Peer-۲-Peer، REST، یا Remote Procedure Call (RPC).
برخی از سبکها برای سیستمهای تصمیمگیری خوب هستند، مانند Rule-Based. سایرین برای همزمانی و موازیسازی عالی هستند، مانند Share-Nothing و Actor، یا تمرکز بر لایهبندی، مانند Client-Server، N Tier، یا Component-Based. برخی از سبکها برای دادهها و کارهای پس زمینه طولانی مدت مانند SEDA و Streaming خوب هستند.
معماری جالب، هیجانانگیز، انگیزهبخش است و قلب ما را گرم میکند، اما تلههایی نیز وجود دارد: شیوههای بد، ضد الگوهای تاریک، و یکپارچههایی که در دل آن تاریکی زندگی میکنند.
چند بار شکایتهایی از طرف کسب و کار یا مهندس دیگری شنیدید که سیستمی وحشتناک است، نگهداری آن سخت است و ما را عقب نگه میدارد؟ چند بار از کسب و کار شنیدهاید که سازمان فناوری کند است و ارائه نمیدهد؟ چند بار از مهندسان شنیدهاید که آنها در بدهی فنی غرق شدهاند و آنقدر که میتوانند سازنده نیستند؟
پاسخ معماری است. معماری بد این مشکلات را ایجاد کرده است و معماری خوب آنها را برطرف خواهد کرد. این امکان وجود دارد که سیستمهای بهتری داشته باشیم، سیستمهایی که بتوان آنها را حفظ کرد، سالم، مقیاسپذیر، از اصول طراحی و معماری مناسب پیروی کرد و آنچه را که کسبوکار میخواهد و مهندسین میخواهد ارائه کرد.
شما میتوانید کیک خودرا داشته باشید و آنرا میل کنید. کار غیرممکن نیست، اما ما دروغ نخواهیم گفت: این یک نبرد دشوار، پیچیده، بیپایان است که نیازمند نظم و انضباط هومری و توجه به جزئیات است. شما نمیتوانید چنین کاری را بدون مراقبت و اشتیاق انجام دهید: برای خودتان، همکارانتان، شرکتتان و کاری که انجام میدهید.
ما کتاب Principles of Software Architecture Modernization را نوشتیم تا اشتیاق و دیدگاه خود را در مورد مشکلات مشترکی که همه شرکتها در تمام صنایع با آن مواجه هستند به اشتراک بگذاریم. مشکلات عبارتند از بدهی فنی، فقدان اصول صحیح، یکپارچههای توزیع شده، کتابخانههای مشترک داخلی، انتقال کد و داده، و سایر نگرانیهای اساسی. چنین مشکلاتی جدید نیست. آنها برای مدت طولانی وجود داشتهاند و احتمالاً تا زمانی که انسانها یا هوش مصنوعی نرمافزار مینویسند، وجود خواهند داشت.
کتاب ما پاسخهای آسان یا فرمول جادویی موفقیت را به شما نمیدهد. ما اینجا هستیم تا شما را وادار کنیم فکر کنید، تجزیه و تحلیل مبادله انجام دهید و آگاهانهترین تصمیم ممکن را بگیرید. اگر میخواهید یک عصای جادویی برای رفع مشکلات خود داشته باشید، این کتاب برای شما مناسب نیست.
ما در کتاب Principles of Software Architecture Modernization بسیار بصری خواهیم بود، بنابراین انتظار داشته باشید که نمودارهای زیادی به انتقال نکات ما کمک کنند. کتاب ما جاوا محور است اما کد سنگین نیست. نمونههای شبه کد را مشاهده خواهید کرد، اما انتظار نداشته باشید که برنامههای کاربردی کامل ساخته شده به پایان برسد. این کتاب آموزشی نیست.
بیشتر بخوانید: کتاب Architecture Modernization
هدف ما از کتاب Principles of Software Architecture Modernization این است که اطمینان حاصل کنیم که میتوانید مشکلات پیرامون یکپارچهها را به طور کامل درک کنید و چگونه میتوانید به درستی و مؤثر به آنها برخورد کنید. ما به شما کمک میکنیم خونریزی را متوقف کنید، واقعیت خود را درک کنید، و با استفاده از اصول معماری مستحکم و کمی خلاقیت، راهی به سمت روزهای بهتر و سیستمهای بهتر داشته باشید.
ما در کتاب Principles of Software Architecture Modernization بسیار فنی خواهیم بود و موضوعات مختلفی را به هم مرتبط خواهیم کرد، اما نگران نباشید. ما چیزها را به طور عمیق و با سناریوها و مثالهای عملی فراوان توضیح خواهیم داد. موضوعاتی که به آن خواهیم پرداخت دامنه وسیعی دارند و گاهی اوقات نکات مشابهی را از زوایای مختلف مرور میکنیم تا دیدگاههای مختلف را کشف کنیم. امیدواریم مورد پسند شما واقع شود و پیشاپیش از خوانندگان شما سپاسگزاریم.
هنگام خواندن کتاب Principles of Software Architecture Modernization، میتوانید انتظار داشته باشید:
- مثالها: نمونههای عملی از تجربه ما در فناوری.
- تجزیه و تحلیل Tradeoff: معماری همه چیز در مورد معاوضه است، بنابراین انتظار مقایسه بسیاری از جوانب مثبت و منفی را داشته باشید.
- شکلها: نمودارها و تصاویر زیادی برای نشان دادن سناریوها، معاوضهها و گزینهها.
- گزینههای چندگانه: ما چندین گزینه و بهترین تجزیه و تحلیل را ارائه خواهیم داد تا شما را وادار کنیم کل فضای مشکل را در نظر بگیرید.
- تکرار: برخی از اصول را بارها و بارها تکرار میکنیم و آنها را در زمینههای مختلف تجزیه و تحلیل میکنیم تا درک جدیدی پیدا کنیم.
- خلاصه و یادگیری: هر فصل دارای خلاصهای از چیزهایی است که باید از هر فصل به خاطر بسپارید. کتاب Principles of Software Architecture Modernization طولانی است و ممکن است لازم باشد چندین بار آن را بخوانید.
به هر روشی که برای شما مفید است یادداشتبرداری کنید و به آنچه که برایتان جالب یا مخالف است نگاه کنید. (نویسندگان مخالفتهای سازنده را دوست دارند! ) به یاد داشته باشید که وقتی به طور منفعلانه (ورودی) را میخوانید، به اندازه زمانی که تولید میکنید (خروجی) چیزهای زیادی یاد نمیگیرید.
میتوانید یک پست وبلاگ بنویسید، یک سخنرانی یا سخنرانی برقآسا برای مهندسان یا شرکت خود اجرا کنید، یا با یک دوست صحبت کنید. تولید خروجی مهم است، و ما معتقدیم که این بهترین راه برای یادگیری هر چیزی است، نه تنها این کتاب.
بیشتر بخوانید: کتاب Software Architect
با این حال، کتاب Principles of Software Architecture Modernization چنین مطالبی نخواهد داشت:
- پاسخهای آسان: هیچ فرمول جادویی برای اصلاح یکپارچگیهای شما وجود ندارد، فقط گزینههایی است که به شما کمک میکنیم برای یافتن پاسخهای خود پیمایش و هضم کنید. بدون راه حل سریع برای مشکلات پیچیده شما، فقط واقعیت است.
- آموزشها: دستورالعملهای گام به گام در مورد نحوه ساخت برنامهها را پیدا نخواهید کرد. این کتاب آموزشی نیست.
سرفصلهای کتاب Principles of Software Architecture Modernization:
- Cover
- Title Page
- Copyright Page
- About the Authors
- About the Reviewer
- Acknowledgement
- Preface
- Table of Contents
- 1. What’s Wrong with Monoliths?
- 2. Anti-Patterns: Lack of Isolation
- 3. Anti-Patterns: Distributed Monoliths
- 4. Anti-Patterns: Internal Shared Libraries
- 5. Assessments
- 6. Principles of Proper Services
- 7. Proper Service Testing
- 8. Embracing New Technology
- 9. Code Migrations
- 10. Data Migrations
- 11. Epilogue
- Index
جهت دانلود کتاب Principles of Software Architecture Modernization میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.