- عنوان کتاب: Effective Platform Engineering
- نویسنده: Ajay Chankramath, Sean Alvarez, Bryan Oliver
- حوزه: برنامهنویسی پایتون
- سال انتشار: 2025
- تعداد صفحه: 695
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 6.44 مگابایت
من مدتها قبل از اینکه آنها را «پلتفرم» بنامیم، سیستمهای نرمافزاری میساختم. اولین خاطرات مهندسی من مربوط به کلنجار رفتن با ماشینهای SunOS/IBM AIX، اجرای شبیهسازیهای عظیم نیمههادی برای منطق قابل برنامهریزی و پیمایش افزایش ناگهانی ترافیک سیستم در طول نیازهای محاسباتی اولیه، مدتها قبل از دوران قدرت محاسباتی فراگیر است. در آن زمان هیچکدام از ما از اصطلاح «DevOps» استفاده نمیکردیم؛ ما فقط داشتیم کشف میکردیم که چگونه همه چیز را در حال اجرا نگه داریم. با این حال، در طول سالها، متوجه شدم که داربست اطراف تیمهای محصول که شامل سیستمهای نامرئی، انتزاعات، ابزار و فرهنگ است، اغلب تفاوت بین پیشرفت پایدار و آنتروپی سازمانی است. مهندسی پلتفرم به این شهود شکل داد. و با گذشت زمان، بیشتر از محصولات نهایی، جذب توانمندسازها شدم: خطوط لوله CI/CD، پورتالهای توسعهدهندگان، مسیرهای هموار، قالبهای طلایی، پشتههای مشاهدهپذیری. من به اندازه کافی خوش شانس بودهام که به شکلدهی استراتژی پلتفرم در سازمانها و استارتآپهای بزرگ، از سیلیکون ولی گرفته تا شرکتهای دیجیتال جهانی، کمک کنم و همچنین در راهاندازی روش مهندسی پلتفرم در Thoughtworks نقش مهمی داشتهام. با این کتاب، میخواستم درسهای انباشتهشده، چه فنی و چه انسانی، را خلاصه کنیم و یک راهنمای عملی، مستدل و عمیقاً کاربردی برای هر کسی که سعی در ساخت پلتفرمهایی دارد که به جای مانع شدن برای مهندسان، آنها را توانمند میسازد، ارائه دهیم. این کتاب، کتابی پر از کلیشهها یا رؤیاهای براق نیست. این یک راهنما است که از محدودیتها، بدهبستانها و زمینههای دنیای واقعی ساخته شده است – چیزی که ما به سختی یاد گرفتیم، بنابراین شما مجبور نیستید آن را یاد بگیرید. من از زمان ساخت اولین تجزیهگر Backus-Naur خود به عنوان بخشی از کلاس طراحی کامپایلر در دانشگاه، مجذوب سیستمهای پیچیده شدهام. اگرچه مسیر شغلی من قلمروهای زیادی را خارج از مهندسی نرمافزار پوشش داده است، اما نزدیک به دو دهه است که این امتیاز و لذت محض (بیشتر اوقات) را داشتهام که در کنار افراد شگفتانگیزی در بسیاری از بخشهای اقتصاد، با برخی از بزرگترین سهام، سیستمهایی را طراحی و پیادهسازی کنم که امکان ایجاد و پشتیبانی از نرمافزار را فراهم میکنند. این امر به طور طبیعی نه تنها شامل زیرساختها، بلکه شامل فرآیندها، ساختارهای سازمانی و معیارهای نتایج – به عبارت دیگر، سیستمها – نیز میشود. همانطور که استافورد بیر جمله معروفی دارد: «هدف یک سیستم، کاری است که انجام میدهد.» دلیل اینکه روزها، هفتهها و ماهها طول میکشد تا توسعهدهندگان به ابزارهای معمولی کار خود دسترسی پیدا کنند یا برنامهریزیهای قبلی انجام دهند، این است که سیستم (یا فرآیند) برای عملکرد خود به این شکل طراحی شده است. دلیل اینکه فناوریهای اصلی حتی در مهمترین سیستمهای استراتژیک شما، چندین نسخه عقب هستند و ارتقاء آنها به طرز دردناکی اتفاق میافتد، اگر اصلاً اتفاق بیفتد، این است که این سیستمهای نگهداری برای عملکرد خود به این شکل طراحی شدهاند. دلیل اینکه پنج تیم در یک شرکت با پنج رویکرد متفاوت برای یک مشکل معماری وجود دارد – میتوانم ادامه دهم، اما فکر میکنم منظورم را متوجه شدهاید. کاملاً امکانپذیر است که به اهداف یک پلتفرم مهندسی مدرن دست یافت، اما صرفاً عقل سلیم یا مفاهیم ساده مدیریت شما را به آنجا نمیرساند. اگر میتوانستند، هر کسی که تلاش میکرد، موفق میشد. در سراسر این کتاب، رویکردها، نشانگرهای فرهنگی شرکتی، اقدامات و شیوههای مهندسی را که بخشی از پلتفرمهای موفقی بودهاند که با آنها مواجه شدهایم و به ایجاد آنها کمک کردهایم، گردآوری میکنیم. حتی زمانی که در حال ساخت پلتفرم نیستید، شیوههای مهندسی پلتفرم هنوز راهی عالی برای بهبود مهارتهای شما و ایجاد کیفیت و ارزش بیشتر برای هر موقعیت نرمافزارمحور هستند.
I’ve been building software systems long before we called them “platforms.” My earliest engineering memories are of wrangling SunOS/IBM AIX machines, running massive semiconductor simulations for programmable logic, and navigating system traffic spikes during primary compute needs, long before the era of ubiquitous computing power. None of us used the term “DevOps” back then; we were just figuring out how to keep things running. However, over the years, I realized that the scaffolding surrounding product teams encompassing invisible systems, abstractions, tooling, and culture was often the difference between sustainable progress and organizational entropy. Platform engineering gave shape to that intuition. And, over time, I found myself drawn more to the enablers than the end products: CI/CD pipelines, developer portals, paved paths, golden templates, observability stacks. I’ve been fortunate enough to help shape platform strategy across large organizations and startups, from Silicon Valley to global digital firms, and have also been instrumental in setting up the platform engineering practice at Thoughtworks. With this book, I wanted us to distill the accumulated lessons, both technical and human, and offer a hands-on, opinionated, and deeply practical guide for anyone trying to build platforms that empower engineers rather than hinder them. This isn’t a book of platitudes or glossy visions. It’s a manual forged from real-world constraints, tradeoffs, and context—what we learned the hard way so you don’t have to. I have been captivated by complex systems since building my first Backus–Naur parser as part of a compiler design class back in college. Even though the path of my career has covered a lot of territory outside software engineering, for nearly two decades I’ve had the privilege, and the sheer fun (most of the time), of working alongside some amazing people across many sectors of the economy, with some of the largest stakes, to design and implement systems that enable the creation and support of software. This naturally involves not just infrastructure but also processes, organizational structures, and measures of outcomes—in other words, systems. As Stafford Beer famously said, “The purpose of a system is what it does.” The reason it takes days, weeks, and months of waiting or advance planning for developers to get access to the ordinary tools of their trade is that this is how the system (or process) was designed to function. The reason core technologies in even your most strategically important systems are multiple versions behind with upgrades happening painfully, if they happen at all, is because that is how those maintenance systems were designed to function. The reason there are five teams in the same company with five different approaches to the same architectural problem—I could go on, but I think you get my point. It is absolutely possible to deliver on the goals of a modern engineering platform, but mere common sense or simple notions of management are not going to get you there. If they could, everyone who tries would succeed. Throughout this book, we capture the approaches, corporate cultural markers, measures, and engineering practices that have been part of the successful platforms we have encountered and helped create. Even when you’re not building a platform, platform engineering practices are still a great way to improve your skills and bring more quality and value to any software-defined situation.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: Effective Platform Engineering
نظرات کاربران