W świecie technologii, gdzie platformy i narzędzia rozwijają się w zawrotnym tempie, integracja różnych systemów staje się kluczowa. Jednym z narzędzi, które w ostatnich latach zyskało na popularności, jest Backstage – otwartoźródłowa platforma rozwijana przez firmę Spotify. Pozwala ona tworzyć wewnętrzne portale programistyczne, które są łatwo rozszerzalne dzięki szerokiemu katalogowi wtyczek. W połączeniu z nowoczesnymi rozwiązaniami do zarządzania infrastrukturą, jak Stratos, Backstage staje się potężnym narzędziem dla zespołów inżynieryjnych.
Co to jest Backstage i jak działa?
Backstage to framework mający na celu ułatwienie tworzenia portali programistycznych, które integrują różne narzędzia i usługi używane w firmach. Dzięki swojej modularności oraz elastyczności, można w nim łatwo tworzyć i integrować własne wtyczki, co czyni go niezwykle wszechstronnym narzędziem. Obecnie Backstage jest wykorzystywany przez wiele dużych firm, które potrzebują centralizować zarządzanie różnorodnymi projektami oraz infrastrukturą.
Jednym z głównych atutów Backstage jest łatwość w budowie własnych wtyczek. Społeczność Backstage stale rozwija narzędzia i komponenty, które ułatwiają pracę programistom – aktualnie dostępnych jest ponad 200 gotowych wtyczek, a ich liczba stale rośnie. Narzędzia takie jak Kubernetes, Jenkins, czy GitHub można łatwo integrować z Backstage, co znacznie upraszcza zarządzanie projektami w dużej skali.
Stratos – wielochmurowy menedżer zasobów
Stratos, z kolei, to otwartoźródłowy interfejs użytkownika (UI) zaprojektowany do zarządzania różnymi platformami chmurowymi i klastrami Kubernetes. Stratos wspiera takie platformy jak Cloud Foundry, Kubernetes, a także rozwiązania komercyjne takie jak Amazon EKS, Azure AKS i Google GKE. Stratos jest szczególnie użyteczny w środowiskach wielochmurowych, gdzie zarządzanie różnymi klastrami i usługami może być wyzwaniem.
W połączeniu z Backstage, Stratos pozwala na centralizację zarządzania infrastrukturą w jednym, intuicyjnym interfejsie. To rozwiązanie zdobyło popularność wśród firm, które zarządzają skomplikowanymi środowiskami chmurowymi i chcą mieć wszystko pod ręką – od zasobów infrastrukturalnych po kod aplikacji.
Jak zintegrować Stratos z Backstage?
Integracja Stratos z Backstage pozwala na korzystanie z funkcji Stratos bezpośrednio w portalu Backstage. Proces ten polega na stworzeniu dedykowanej wtyczki, która wyświetla interfejs Stratos wewnątrz Backstage. Dzięki temu użytkownicy mogą zarządzać klastrami Kubernetes oraz innymi usługami chmurowymi bez potrzeby opuszczania platformy.
Krok 1: Utworzenie wtyczki w Backstage
Aby zintegrować Stratos z Backstage, pierwszym krokiem jest utworzenie wtyczki frontendowej. Backstage udostępnia prostą komendę, która pozwala na wygenerowanie szablonu nowej wtyczki:
bash
yarn new
W trakcie tego procesu system poprosi o podanie ID dla wtyczki – można tutaj wpisać np. stratos
. Po zakończeniu procesu, wtyczka będzie gotowa do dalszej konfiguracji.
Krok 2: Dodanie interfejsu Stratos
Po utworzeniu wtyczki, kolejnym krokiem jest dodanie interfejsu Stratos. Można to osiągnąć poprzez osadzenie iframe, który wyświetli Stratos w Backstage:
tsx
import React from 'react';
import { Header, Page, Content } from '@backstage/core-components';
export const ExampleComponent = () => (
);
W powyższym przykładzie iframe z interfejsem Stratos jest osadzony na stronie Backstage. Adres URL może różnić się w zależności od sposobu wdrożenia Stratos (np. Docker, Cloud Foundry czy Kubernetes).
Krok 3: Wdrożenie Stratos
Stratos można wdrożyć na kilka sposobów, w tym za pomocą Dockera, co jest jednym z najprostszych rozwiązań dla celów testowych:
bash
docker run -p 5443:5443 splatform/stratos:stable
Po uruchomieniu Stratos, można go wdrożyć na lokalnym serwerze, który następnie będzie wyświetlany w iframe osadzonego w Backstage.
Proxy i bezpieczeństwo
W zależności od konfiguracji Stratos, może być konieczne ustawienie serwera proxy, aby obsłużyć ruch w iframe. W przypadku użycia Stratos z nieważnym certyfikatem SSL, można na przykład skonfigurować serwer Nginx jako pośrednika:
nginx
server {
listen 8080 default_server;
location / {
proxy_pass https://localhost:5443/;
proxy_set_header Host $host;
proxy_hide_header X-Frame-Options;
}
}
Konfiguracja proxy pozwala na ominięcie problemów związanych z polityką bezpieczeństwa przeglądarek, które mogą blokować wyświetlanie zawartości w iframe ze względu na niepoprawne certyfikaty SSL.
Korzyści z integracji
Integracja Backstage z Stratos umożliwia centralizację zarządzania klastrami Kubernetes i innymi usługami chmurowymi w jednym miejscu. Dzięki temu zespoły inżynierskie mogą efektywnie monitorować i zarządzać infrastrukturą, a także śledzić rozwój aplikacji, wszystko z poziomu jednego, intuicyjnego interfejsu. Stratos stał się popularnym narzędziem w firmach takich jak Comcast czy TwentyFive, gdzie wielochmurowe środowiska są normą.
Podsumowanie
Integracja narzędzi takich jak Stratos z Backstage to doskonały przykład na to, jak otwartoźródłowe projekty mogą wspomagać rozwój nowoczesnych platform inżynieryjnych. Dzięki temu, firmy mogą budować elastyczne i skalowalne środowiska, które umożliwiają zarządzanie infrastrukturą oraz kodem na ogromną skalę, upraszczając jednocześnie codzienną pracę zespołów developerskich.
Dzięki potężnym możliwościom Backstage i wsparciu dla wtyczek, integracja z narzędziami takimi jak Stratos jest nie tylko możliwa, ale i bardzo prosta w implementacji, co czyni Backstage jedną z najbardziej wszechstronnych platform do zarządzania infrastrukturą i rozwojem oprogramowania.