Internal Developer Portal — Backstage Có Gì Hot?

Developer Portal — Nơi Developer Mất 30 Phút Mỗi Ngày
Mỗi lần cần tìm service owner của payment-service, developer phải search Slack, tra wiki, hỏi người quen. Mỗi lần cần deploy, lại mở AWS Console, GitHub Actions, Grafana — ba tab khác nhau. Mỗi lần onboard team mới, senior mất cả ngày giải thích kiến trúc hệ thống.
Đó là bài toán mà IDP (Internal Developer Portal) giải quyết. Và Backstage — framework mã nguồn mở của Spotify — đang trở thành lựa chọn phổ biến nhất cho bài toán này.
Backstage Là Gì?
Backstage là nền tảng web mở, cho phép tổ chức xây dựng portal nội bộ tùy biến. Nói đơn giản: đây là "one-stop shop" cho developer — nơi mọi thông tin về service, document, tool, deployment đều nằm ở một chỗ.
Điểm mạnh lớn nhất: plugin system. Backstage có hơn 150 plugin sẵn có — từ Kubernetes, AWS, CI/CD đến monitoring. Không cần build từ đầu, chỉ cần cài và cấu hình.
Tại Sao Tổ Chức Nên Đầu Tư Vào Developer Portal?
1. Giảm cognitive load
Developer không cần nhớ từng service chạy ở đâu, ai là owner, document nằm trong repo nào. Portal tập hợp tất cả — search một lần là ra.
2. Standardize golden path
Golden Paths — quy trình chuẩn cho các tác vụ phổ biến. Tạo service mới? Chọn template, điền thông tin, portal tự scaffold repo, CI/CD, monitoring. Không cần senior hướng dẫn từng bước.
3. Tăng velocity
Theo khảo sát CNCF 2025, tổ chức triển khai IDP giảm 40% thời gian onboarding developer mới và 25% thời gian deploy. Không phải vì tool nhanh hơn — mà vì developer không cần context-switching giữa 5 tool khác nhau.
4. Service catalog — Kiến trúc hệ thống rõ ràng
Service catalog hiển thị tất cả service trong tổ chức: owner, team, dependencies, trạng thái deploy, link đến document. Khi có incident, biết ngay service nào bị ảnh hưởng và ai cần liên hệ.
Cài Đặt Backstage — 15 Phút Đầu Tiên
Bước 1: Scaffold project
npx @backstage/create-app@latest my-portal
cd my-portal
Bước 2: Chạy development server
yarn dev
Mở http://localhost:3000 — portal mặc định đã hoạt động. Giao diện đơn giản, có catalog mặc định để explore.
Bước 3: Cấu hình catalog
Tạo file catalog-info.yaml trong repo service:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: payment-service
description: Service xử lý thanh toán
annotations:
github.com/project-slug: myorg/payment-service
tags:
- nodejs
- payments
links:
- url: https://grafana.example.com/d/payment
title: Grafana Dashboard
spec:
type: service
lifecycle: production
owner: team-payments
system: payment-system
providesApis:
- payment-api
Commit file này vào repo service. Backstage sẽ auto-discover và thêm vào catalog.
Bước 4: Cài plugin thiết yếu
# Kubernetes plugin — xem pod, deployment
yarn --cwd packages/app add @backstage/plugin-kubernetes
# CI/CD — tích hợp GitHub Actions
yarn --cwd packages/app add @backstage/plugin-github-actions
# TechDocs — document living trong code
yarn --cwd packages/app add @backstage/plugin-techdocs
Mỗi plugin thêm một tab vào portal. Developer có thể xem Kubernetes pod, CI/CD pipeline, document — tất cả trong một giao diện.
Backstage Vs Các Lựa Chọn Khác
- Backstage (Spotify): Mở, plugin ecosystem lớn nhất, cộng đồng CNCF. Phù hợp cho tổ chức muốn tùy biến sâu. Cần đội ngũ duy trì.
- Port (getport.io): SaaS, nhanh để bắt đầu, ít tùy biến hơn. Phù hợp team nhỏ muốn kết quả nhanh.
- Cortex: Tập trung vào service catalog + scorecard. Mạnh về governance, ít plugin hơn Backstage.
- Grafana (kiosk): Nếu đã dùng Grafana, plugin Grafana for Backstage tích hợp trực tiếp.
Góc nhìn thực tế: Backstage là lựa chọn an toàn nhất cho tổ chức có team platform engineering. Không phải vì nó tốt nhất — mà vì community lớn nhất, plugin nhiều nhất, và tài liệu phong phú nhất. Khi gặp vấn đề, likelihood tìm được answer trên GitHub cao hơn bất kỳ tool nào khác.
Tips Khi Triển Khai
1. Bắt đầu với catalog, đừng nhảy vào plugin
Triển khai service catalog trước. Đưa tất cả service lên portal. Khi developer quen rồi, mới thêm plugin nâng cao. Triển khai all-at-once thường dẫn đến adoption thấp.
2. Tích hợp với tool hiện có
Backstage mạnh nhất khi kết nối với hệ sinh thái sẵn có — GitHub, AWS, Grafana, PagerDuty. Không cần thay đổi workflow hiện tại, chỉ cần tập trung thông tin vào một nơi.
3. Dùng TechDocs cho document
TechDocs cho phép viết document bằng Markdown ngay trong repo service, và publish lên portal tự động. Document sống cùng code, luôn cập nhật. Không còn wiki lạc hậu.
4. Định nghĩa owner rõ ràng
Mỗi service trong catalog phải có owner cụ thể. Khi có incident hoặc câu hỏi, biết ngay liên hệ ai. Đây là quy tắc vàng của service catalog.
Kết Luận
Internal Developer Portal không phải xa xỉ phẩm — nó là khoản đầu tư vào trải nghiệm developer. Khi developer mất ít thời gian hơn cho việc tìm kiếm và chuyển đổi ngữ cảnh, họ dành nhiều thời gian hơn cho việc viết code và tạo giá trị.
Backstage không phải lựa chọn duy nhất, nhưng nó là nơi bắt đầu hợp lý nhất cho hầu hết tổ chức. Bắt đầu nhỏ — catalog trước, plugin sau — rồi mở rộng dần.
Bài viết nằm trong series DevOps Handbook — hướng dẫn thực tế cho developer muốn mở rộng kỹ năng. Bài trước: Secrets Management Cho Developer.
Bài viết được hỗ trợ bởi AI (Amy 🌸). Nội dung đã được kiểm duyệt bởi tác giả.