لندن — در حالی که بکاستیج (Backstage) به تازگی پنج ساله شده است، اما به واقع بالغترین پلتفرم در دنیای مهندسی پلتفرم (platform engineering) محسوب میشود و استانداردی را برای پورتالهای توسعهدهنده داخلی (internal developer portals) تعیین کرده است. این نه تنها از نظر محبوبیت، بلکه از نظر تأثیرگذاری بر جامعه متنباز نیز صدق میکند.
بکاستیج به عنوان یک اکوسیستم باز در شرکت پخش صوتی اسپاتیفای (Spotify) آغاز به کار کرد، جایی که توسعهدهندگان بیش از صد افزونه را برای گسترش قابلیتهای آن به صورت درونمنبع (inner-sourced) توسعه دادند. در طول پنج سال گذشته، این پروژه به یک پروژه متنباز بزرگ با بیش از ۳۴۰۰ پذیرنده تبدیل شده است، از جمله Airbnb، Booking.com، H&M، HCA Healthcare، LEGO، OVO Energy، Philips، Toyota North America و SeatGeek. در حال حاضر بیش از دو میلیون توسعهدهنده در خارج از شرکت بنیانگذار از بکاستیج استفاده میکنند.
سال گذشته، چارچوب باز بکاستیج برای ساخت پورتالهای توسعهدهنده یکی از پنج پروژه برتر بنیاد محاسبات کلود نیتیو (Cloud Native Computing Foundation) یا CNCF از نظر سرعت بود. در سال ۲۰۲۳، این پروژه بیشترین تعداد کامیت (commit) را در بین تمام پروژههای CNCF داشته است. این پروژه متنباز در حال حاضر در حال انجام ممیزی امنیتی مورد نیاز برای پیوستن به پروژههای فارغالتحصیل CNCF است.
اکوسیستم متنباز بکاستیج در حال حاضر حدود ۱۶۰۰ مشارکتکننده دارد و ۱۳۰۰۰ توسعهدهنده گواهینامه بکاستیج را کسب کردهاند. بیش از ۲۳۰ افزونه بکاستیج وجود دارد، از جمله افزونههایی که با Argo CD، Datadog، GitHub Actions، Grafana، Snyk و Terraform ادغام میشوند. Spotify Portal یک پورتال توسعهدهنده داخلی از پیش ساخته شده به صورت نرمافزار به عنوان سرویس (SaaS) است که سال گذشته منتشر شد.
در KubeCon + CloudNativeCon اروپا، The New Stack با تایسون سینگر، رئیس پلتفرم و فناوری در اسپاتیفای، و کریس آنیزچیک، مدیر ارشد فناوری CNCF، به گفتگو نشست تا به طور اختصاصی درباره نحوه رشد بکاستیج از یک پورتال توسعه داخلی به یک چارچوب متنباز با ۸۹٪ سهم بازار صحبت کند. و البته، آنها درباره برخی از اعلامیههای هیجانانگیز درباره افزونههای بکاستیج و آینده مهندسی پلتفرم در عصر هوش مصنوعی صحبت کردند.
متنباز راه را هموار میکند
هدف مهندسی اسپاتیفای این است که اولین شرکتی باشد که نوآوریهای خود را به صورت متنباز منتشر میکند — مانند چارچوب پورتال توسعهدهنده داخلی خود — در غیر این صورت، توسعهدهندگان آن در نهایت مجبور به مهاجرت به ابزارهای دیگر خواهند شد.
این شرکت این درس را به سختی با کوبرنتیز (Kubernetes) آموخت، زمانی که اسپاتیفای ابتدا یک فروشنده متفاوت را برای ارکستراسیون کانتینر (container orchestration) خود انتخاب کرد. سینگر گفت، بعداً، زمانی که اسپاتیفای مجبور شد به K8s مهاجرت کند، زیرا آن ارکستراتور در بازار پیروز شد، این حرکت ۱۰ میلیون دلار برای شرکت پخش هزینه داشت. او گفت، متنباز فقط یک حس اقتصادی خوب است.
پس از اتمام این انتقال به کوبرنتیز، اسپاتیفای به یک سرمایهگذار اولیه در تجربه توسعهدهنده و بهرهوری توسعهدهنده خود تبدیل شد.
سینگر گفت: «یکی از چیزهایی که اسپاتیفای خیلی وقت پیش آموخت — قبل از اینکه [اصطلاح] "مهندسی پلتفرم" واقعاً ابداع شود — این بود که مجموعهای از فشارها وجود دارد که در نهایت شما را واقعاً متمرکز بر بهبود تجربه توسعهدهنده میکند.»
او ادامه داد: «ما با بزرگترین شرکتهای جهان رقابت میکردیم. ما خیلی سریع در حال رشد بودیم و باید واقعاً بر توسعه سریع ویژگیها تمرکز میکردیم. همانطور که ما از صرف زمان زیاد بر روی [آن] لایههای زیرساختی سطح پایین دور شدیم، به بالای پشته منتقل شدیم تا توسعهدهندگان ویژگیها خیلی سریعتر حرکت کنند.»
همانطور که صنعت فناوری سوار بر یک رکود اقتصادی دیگر میشود، او فقط پیشبینی میکند که تأکید بیشتری بر تجربه توسعهدهنده وجود داشته باشد. شرکتها باید با منابع کمتر کارهای بیشتری انجام دهند.
سینگر گفت: «بسیاری از شرکتهای فناوری [مشتریان] ما به این نگاه میکنند که: چگونه میتوانم با نیروی کار خود کارآمدتر باشم؟ بکاستیج — و IDPها به طور کلی — یک راه بسیار بسیار مؤثر برای انجام این کار هستند، تا همه چیز را سادهتر [و] مشابه تر کنند.»
یکی از تمرکزهای سازمان پلتفرم و مهندسی او، یافتن راهی برای پرورش بیشتر توسعهدهندگان T شکل است: کسانی که عمیقاً در یک حوزه تخصصی غوطه ور میشوند، اما درک خوبی از سایر حوزهها نیز دارند.
در اسپاتیفای، این به این معنی است که توسعهدهندگان بکاند (backend) بتوانند مهندسی داده (data engineering) سریع انجام دهند. اما برای دستیابی به این هدف، همه چیز باید در سراسر کل اکوسیستم داده، خطوط لوله (pipelines) و نقاط پایانی (endpoints) یکسان به نظر برسد. این کار از طریق یک کاتالوگ نرمافزاری انجام میشود که قابلیت کشف و استفاده مجدد در سراسر سازمان را تشویق میکند.
سینگر گفت: «من فکر میکنم هرچه انواع بیشتری از قابلیتها را در دسترس قرار میدهیم، بیشتر و بیشتر میبینیم که مردم میگویند، "این مشکل ما نیز هست." و سپس، هنگامی که مشکلات اصلی تجربه توسعهدهنده را حل کردید، مانند توسعهدهندگان بکاند، میتوانید آن راه حلها را برای سایر بخشهای یک سازمان تحقیق و توسعه (R&D)، مانند اکوسیستم داده، تکرار کنید.»
در حال حاضر در مرحله آزمایش آلفا برای مشتریان موجود پورتال، این افزونه تجربه داده برای بکاستیج به زودی در نسخه پریمیوم پورتال منتشر خواهد شد. این محصول:
- سازمانها را قادر میسازد تا دادههای تجاری را در پورتال کشف، درک و مدیریت کنند.
- فراداده (metadata) را از منابع داده مختلف دریافت میکند، سپس آن را در کاتالوگ نرمافزاری بکاستیج مدلسازی میکند و قابلیت دید (visibility) در اکوسیستم داده را در همان صفحه با سایر موجودیتهای نرمافزاری فراهم میکند.
- با ابزارهای انبار داده (data warehouse tools) BigQuery، Redshift، Snowflake و dbt ادغام میشود.
- با ویژگیهای اصلی پورتال ادغام میشود تا تیمها بتوانند مجموعهدادهها (datasets) را به همان روش نرمافزار جستجو، فهرستبندی و مدیریت کنند.
سینگر گفت: «اکنون من میتوانم تمام مشکلات ناشی از اکوسیستم آشفته داده را نیز در آنجا حل کنم، با استفاده از همان پارادایمها، با استفاده از همان چیزهایی مانند Soundcheck که به شما امکان میدهند کیفیت را به اکوسیستم خود وارد کنید، اکوسیستم را از هم جدا کنید و به نقطهای برسید که هر شرکتی برای توسعه و ویژگیهای سریعتر به آن نیاز دارد.»
Soundcheck یکی از محبوبترین افزونههای بکاستیج است که بر سلامت تیم (team health) و همسویی حول بهترین شیوههای DevOps تمرکز دارد.
نگهدارنده، مشارکتکننده و کاربر، همزمان
بکاستیج اسپاتیفای را علاوه بر مأموریت اصلی خود در پخش صوتی، به یک تجارت متنباز تبدیل میکند.
سینگر گفت: «یکی از چالشهای نگهدارنده، مشارکتکننده و کاربر یک محصول بودن این است که شما با چیزی شروع کردید که شاید کمی متفاوت از چیزی بود که منتشر کردید.»
این "مشکل الماس"، همانطور که او آن را مینامد، زمانی پدیدار میشود که پروژههای داخلی و متنباز از هم جدا شوند. همانطور که پروژه متنباز شروع به تسلط میکند، تیم داخلی تلاش میکند تا آنها را دوباره به هم نزدیک کند. برای مقرون به صرفهتر بودن، تیم اسپاتیفای در حال انتقال و بازسازی نسخه خود از بکاستیج است تا بیشتر شبیه نسخه متنباز باشد. سینگر گفت، این دو نسخه بسیار نزدیک به همگرایی هستند.
این بازی تجاری/متنباز Jenga به انتخاب ابزار و زبان نیز مربوط میشود. او اسپاتیفای را "عمدتاً یک فروشگاه گوگل" توصیف کرد، به این معنی که تیم پلتفرم او معمولاً برای محصولات داده مانند BigQuery و Dataflow ساختار ایجاد میکند. با این حال، از آنجا که Snowflake نیز بسیار محبوب است، حتی اگر اسپاتیفای از آن استفاده نمیکند، افزونه تجربه داده باید با آن سازگار باشد.
سینگر گفت: «ما افزونه را به گونهای توسعه دادیم که بتوانید با منابع داده کافی ادغام شوید که برای ما خیلی سخت نباشد که فقط چند تغییر کوچک ایجاد کنیم.»
«این یک الگوی نسبتاً رایج است، زیرا ما افزونههایی را که در داخل داریم و فکر میکنیم ارزشمند هستند، برمیداریم و حدود ۷۰٪ از کارهایی را که همه باید انجام دهند، انجام میدهیم. و سپس حدود ۳۰٪ وجود دارد که باید برای مواردی که ما استفاده نمیکنیم، سفارشیسازی کنیم.»
او در پایان اضافه کرد که این انتخابهای به ظاهر فداکارانه در واقع یک "نیروی مثبت برای کیفیت" هستند، زیرا این انتخابها به اسپاتیفای کمک میکنند تا مسئله را انتزاعی کند و در عین حال مرزهای دامنه (domain) را تقویت کند.
در یکی دیگر از مزایای فرعی، PagerDuty در حال حاضر یک شریک طراحی برای پورتال است. سینگر گفت، از آنجا که PagerDuty "تلاش زیادی برای اطمینان از اینکه افزونه آنها یکی از ارزشمندترین افزونههای موجود است، انجام داده است"، این افزونه "اکوسیستم بکاستیج را ابزاری میکند و سیگنال با کیفیت بالایی را به توسعهدهندگان اسپاتیفای برمیگرداند."
معیارها همیشه مهم هستند
از آنجا که یک پلتفرم یا پورتال توسعهدهنده داخلی با اختیاری بودن استفاده متمایز میشود، میزان پذیرش یکی از معیارهای کلیدی موفقیت است. قبل از نگاه کردن به استفاده خارجی، مهم است که به داخل اسپاتیفای نگاه کنیم.
تمام رشد جامعه متنباز در حالی حاصل شده است که تیمهای توسعهدهنده اسپاتیفای همچنان با بکاستیج درگیر هستند. میزان پذیرش داخلی بکاستیج اسپاتیفای در سطح چشمگیر ۹۶٪ در بین تمام کارکنان تحقیق و توسعه خود، نه فقط توسعهدهندگان، باقی مانده است.
سینگر گفت: «ما تعداد بسیار زیادی معیار را برای اکوسیستم توسعه خود دنبال میکنیم، از جمله ابزار دقیق (instrumentation) کل اکوسیستم توسعه، محیطهای توسعه یکپارچه (integrated development environments) و سیستمهای منابع انسانی (human resources systems) در داخل بکاستیج.»
در زمانی که هشتگ #RTO — بازگشت به دفتر (return to office) — در حال ترند شدن است، اسپاتیفای علناً سیاست کار از راه دور خود را دو برابر کرده است. این تصمیم فقط از روی هوس گرفته نشد. همانطور که سینگر گفت: «ما به این نگاه میکنیم که آیا توسعهدهندگان از راه دور ما کم و بیش از افرادی که در دفاتر ما هستند، مولد هستند؟ و ما واقعاً هیچ تفاوتی نمیبینیم.»
اسپاتیفای که یک مشتری بلندمدت پلتفرم بینش توسعهدهنده DX است، با DX شریک شد و هفته گذشته یک افزونه DX Backstage منتشر کرد تا سازمانهای دیگر بتوانند به تجربه توسعهدهنده قابل اندازهگیری (measurable developer experience) بپردازند.
سینگر گفت: «آنها واقعاً خوب هستند — شاید به خوبی آنچه که ما در داخل اسپاتیفای داریم نباشند، اما واقعاً خوب هستند. من فکر میکنم این یک ارزش افزوده بسیار بزرگ برای افرادی خواهد بود که سعی میکنند چگونه از بکاستیج ارزش بگیرند و [بازگشت سرمایه] را بدست آورند و بفهمند که کجا باید تمرکز کنند.»
DX یک چیز دارد که دیگران ندارند، که این است که آنها اطلاعات زیادی در مورد صنعت دارند. بنابراین من به دادههای صنعت آنها نگاه میکنم تا بتوانید نحوه عملکرد خود را مقایسه کنید.»
بخشی از مأموریت تیمهای مهندسی پلتفرم این است که ارزش تجاری توسعهدهندگان را ثابت کنند و در نتیجه، چرا اختصاص بودجه به بهرهوری توسعهدهنده مهم است. سینگر گفت که تیم سازمانی پورتال (Portal enterprise team) با شرکتهای بزرگ، از جمله بانکها، صحبت کرده است، جایی که تیمهای مالی و تدارکات (procurement teams) قطعاً تصمیمگیرنده هستند.
«در اسپاتیفای، ما سیگنالهایی دریافت کردیم که یک پورتال توسعهدهنده میتواند بهبود شما را ۲ برابر کند. اما وقتی شما یک بانک هستید و ۳۰۰۰۰ توسعهدهنده دارید، مانند ۵٪، ۲٪ بهبود، اینها اعداد بسیار بزرگی هستند و این باعث میشود آنها واقعاً هیجانزده شوند زیرا توسعهدهندگان بسیار زیادی دارند.»
«ما سیگنالهای زیادی را میبینیم که سازمانهای توسعه بزرگ که مرتبههای بزرگی بزرگتر از اسپاتیفای هستند، ارزش پیشنهادی پیشرفت با این را میبینند.»
سوار شدن بر موج مهندسی پلتفرم
مهندسی پلتفرم و پورتالهای توسعهدهنده داخلی موج بعدی هستند که سینگر و آنیزچیک شاهد آن هستند که به صنعت فناوری برخورد میکند و تغییری اساسی در نحوه عملکرد کلود، کوبرنتیز و اکنون هوش مصنوعی ایجاد میکند.
در واقع، در حالی که سهم بازار غالب را دارد، بکاستیج فقط توسط حدود ۳۴۰۰ سازمان پذیرفته شده است که به نظر زیاد نمیرسد.
آنیزچیک گفت: «اتفاقی که میافتد این است که اگر آنها یک نسخه خانگی (homegrown version) درست کنند، مانند یک IDP نیمهکاره است — شاید آنها کاتالوگ خدمات خود را نوشته باشند — اما این فقط یک مسئله زمان است که این شرکتها نیز بکاستیج را بپذیرند.»
او گفت: «در روزهای اولیه کوبرنتیز، مردم برنامهریزهای کوچک خود را در بالای آن نوشتند. مردم مدتی کارهای خانگی انجام خواهند داد، تا زمانی که راه حل بهتری در آنجا وجود داشته باشد، که اکنون وجود دارد.»
در حالی که بکاستیج در ابتدا به عنوان راه حلی برای شرکتهای متوسط و بزرگ در نظر گرفته شده بود که به پیچیدگی در کلود رسیدگی میکنند، سینگر گفت که او شاهد پذیرش زیادی در استارتآپهایی به کوچکی ۵۰ مهندس است.
او گفت: «شما در حال حاضر این فشار و مجموعههای مشکل را در شرکتهای کوچکتر میبینید. من فکر میکنم این بازتابی از نحوه ساخت نرمافزار مدرن است — بسیار جزء جزء (componentized)، بسیار شکسته، بسیار سریع حرکت میکند — که شرکتهای کوچک نیز ارزش پیشنهادی را درک میکنند. بنابراین من فکر میکنم این نویدبخش ادامه ساخت موج است.»
به این اضافه کنید، در عصر هوش مصنوعی، کد بیشتری نسبت به همیشه، سریعتر ایجاد میشود.
سینگر گفت: «با استفاده از Cursor AI، همه این چیزهای شگفتانگیز، میتوانید نرمافزار را فوقالعاده سریع ایجاد کنید. و این یکی از چالشهای اسپاتیفای بوده است: ما در ایجاد نرمافزار واقعاً خوب هستیم. ما ۹۰ میلیون خط کد یا چیزی شبیه به آن داریم، و این به سرعت پیچیدگی ایجاد میکند.»
«شما این شرکتها را میبینید. آنها سریع پیش میروند. آنها در حال ایجاد نرمافزار هستند. و سپس استفاده مجدد از قبل به یک مشکل تبدیل میشود. و این به لنگر قایق تبدیل میشود که در نهایت شما را سنگین میکند.»
در مواجهه با هوش مصنوعی
ظهور عوامل هوش مصنوعی (AI agents) سینگر را متزلزل نمیکند. او گفت: «هر چه کد بیشتری را با این IDEهای عاملدار (agentic IDEs) ایجاد کنید، احتمال بیشتری وجود دارد که، یک، سریع ایجاد شود، و دو، کیفیت پایینی داشته باشد.»
این امر مهندسی پلتفرم، محافظهای IDP و قابلیت دید را حتی ضروریتر میکند. بکاستیج تلاش میکند تا هجوم هوش مصنوعی را با ویژگیهایی مانند Soundcheck و قابلیتهای الگوبرداری (templating capabilities) که باید به استانداردسازی و حفظ کیفیت کمک کنند، به عقب براند. با استفاده از افزونههای داشبورد، قابلیت مشاهده (observability) و نظارت (monitoring)، کاربران میتوانند تخلفات امنیتی را در صورت عدم رعایت سیاستهای اکوسیستم داده انتخابی، پیدا و علامتگذاری کنند.
شاید بزرگترین اطلاعیه اسپاتیفای در KubeCon Europe افزونه AiKA برای پورتال باشد. این "دستیار دانش هوش مصنوعی" (AI knowledge assistant) یک ربات چت هوش مصنوعی (AI chatbot) است که برای اولین بار در نمونه داخلی بکاستیج اسپاتیفای، IDE آن، Slack و موارد دیگر ادغام شد. AiKA، یک ربات چت مبتنی بر تولید تقویتشده بازیابی (retrieval-augmented generation) یا RAG، اکوسیستم سازمانی و داده را درک میکند، از جمله ارجاع به مطالب منبع خود.
اسپاتیفای که همیشه یک سازمان مصرفکننده محصولات خود (dogfooding organization) بوده است، متوجه میشود که همکاران مشتاق به استفاده از AiKA حتی در خارج از نقشهای فنی هستند و بیش از ۱۰۰۰ کارمند روزانه از ربات چت استفاده میکنند.
AiKA باید تا پایان آوریل برای مشتریان موجود پورتال در نسخه آلفا منتشر شود. برای کسب اطلاعات بیشتر در مورد AiKA در اواخر این ماه، به The New Stack مراجعه کنید.