Runnery
Europejskie runnery dla GitHub Actions
Zadania GitHub Actions mogą działać na runnerach CRACI na europejskiej infrastrukturze bare-metal, obsługiwanych przez europejską firmę, mniej więcej dwa razy szybciej niż na runnerach hostowanych przez GitHub, z zapisem tego, co pobrał każdy build. GitHub pozostaje Państwa warstwą sterującą. Ta strona dokładnie wyjaśnia, co to oznacza.
Zaktualizowano
Co zmienia europejski runner, a czego nie
Pipeline GitHub Actions ma warstwy, a każda z nich może znajdować się w innym miejscu. Runner CI to tylko jedna z nich: maszyna, na której wykonuje się zadanie. Oto kto obsługuje każdą warstwę i gdzie, w trzech popularnych konfiguracjach.
| Warstwa | Runnery hostowane przez GitHub w github.com | GitHub Enterprise Cloud z rezydencją danych w UE | Runnery CRACI |
|---|---|---|---|
| Repozytorium i przechowywanie kodu źródłowego | GitHub; github.com domyślnie przechowuje dane w USA | GitHub, w regionie UE | GitHub, jak w obecnej konfiguracji. CRACI przetwarza kod w maszynie wirtualnej zadania i go nie przechowuje |
| Orkiestracja, uruchomienia workflow, logi, interfejs checków | GitHub | GitHub; dane i logi Actions przechowywane w regionie UE | GitHub, jak w obecnej konfiguracji |
| Przechowywanie sekretów | GitHub | GitHub | GitHub; dostarczane do runnera CRACI na początku zadania |
| Wykonanie buildu | Runnery hostowane przez GitHub w Microsoft Azure, a dla części standardowych zadań Linux w AWS; regiony niepodane | Runnery hostowane w regionach Azure w UE, dzięki prywatnej sieci Azure | Runnery CRACI na europejskiej infrastrukturze bare-metal |
| Zapis tego, co build pobrał | Brak zapisu | Brak zapisu | SBOM-y i ślady sieciowe przechowywane przez CRACI, hostowane w Europie |
Artefakty z actions/upload-artifact |
GitHub | GitHub; dane Actions przechowywane w regionie UE | GitHub, jak w obecnej konfiguracji |
| Kto to obsługuje | GitHub, firma należąca do Microsoft | GitHub, firma należąca do Microsoft | GitHub w zakresie warstwy sterującej; CRACI Corporation Oy, fińska firma, w zakresie runnera |
Mówiąc prościej: z CRACI moc obliczeniowa, która w czasie buildu ma dostęp do Państwa kodu i sekretów, działa w Europie i jest obsługiwana przez europejską firmę, podobnie jak zapis każdego pakietu pobranego przez build. GitHub nadal przechowuje kod i orkiestruje zadanie. CRACI zastępuje runner, a nie GitHub Actions.
Rezydencja danych to nie suwerenność cyfrowa
Rezydencja danych dotyczy tego, gdzie dane są przechowywane i przetwarzane. Suwerenność cyfrowa dodaje dwa kolejne pytania: kto kontroluje dane i jakie prawo obowiązuje tę stronę, w tym która jurysdykcja może zmusić operatora do wydania danych. Europejskie centrum danych prowadzone przez firmę spoza Europy daje rezydencję, a nie suwerenność. To, które jurysdykcje mają znaczenie w Państwa przypadku, jest pytaniem do doradcy prawnego, a nie do dostawcy runnerów.
Zasada decyzyjna, która obroni się w audycie: należy wypisać każdą warstwę z powyższej tabeli, zanotować, kto ją obsługuje i gdzie działa, a następnie porównać to z wymaganiem. Jeśli wymaganie obejmuje tylko miejsce wykonywania buildów i przechowywania danych buildów, europejski runner może je spełnić. Jeśli obejmuje warstwę sterującą lub przechowywanie kodu, sam runner nie wystarczy.
Opcje w Europie
| Opcja | Co działa w Europie | Kto to obsługuje | Ograniczenia |
|---|---|---|---|
| GitHub Enterprise Cloud z rezydencją danych (GHE.com) | Kod i dane Actions w regionie UE; runnery hostowane w regionach Azure w UE dzięki prywatnej sieci Azure (x64 w France Central i Sweden Central, arm64 w France Central) | GitHub | Tylko Enterprise Cloud; osobne przedsiębiorstwo w GHE.com |
| CRACI | Zarządzane runnery Linux na europejskiej infrastrukturze bare-metal, z dowodami buildu w cenie | CRACI Corporation Oy, europejska firma | Na razie tylko GitHub Actions i Linux |
| Ubicloud | Runnery GitHub Actions w europejskich regionach firmy, w Niemczech i Finlandii | Ubicloud, z biurami w San Francisco, Amstelveen i Stambule | Runnery Ubuntu |
| Avrea | Avrea wymienia dostawców hostingu, w tym Aiven, Google Cloud i OVHcloud, i prosi klientów o omówienie z nią wymagań dotyczących lokalizacji danych | Avrea, założona w Helsinkach | Lokalizację danych uzgadnia się z Avrea; nie jest publikowana dla poszczególnych regionów |
| Blacksmith | Maszyny w Amsterdamie i Frankfurcie, a także w USA; organizacja może poprosić o przeniesienie do innego regionu | Blacksmith, z warstwą sterującą w AWS | Europejska lokalizacja, a nie europejski operator |
| Runnery self-hosted w europejskiej chmurze | Państwa runnery na serwerach europejskiego dostawcy, z Actions Runner Controller lub na zwykłych maszynach wirtualnych | Państwo | To Państwo je aktualizują, izolują i skalują |
| Inna platforma CI z hostingiem w Europie | Wszystko, łącznie z warstwą sterującą: GitLab self-managed lub instancja Forgejo albo Gitea | Państwo lub Państwa partner hostingowy | Migracja CI, a nie zmiana runnera |
Szczegółowe porównania znajdą Państwo na stronach CRACI vs Ubicloud, CRACI vs Avrea i CRACI vs Blacksmith, a szerszy obraz w porównaniu dostawców runnerów GitHub Actions. Jeśli rozważają Państwo utrzymywanie własnych runnerów, zob. runnery zarządzane a self-hosted.
Co CRACI uruchamia w Europie
- Zarządzane runnery hostowane w Europie. Buildy działają na europejskiej infrastrukturze bare-metal obsługiwanej przez CRACI Corporation Oy. CRACI oferuje dziś runnery zarządzane; runnery hostowane przez klienta są na roadmapie.
- Rezydencja danych w UE w planie Enterprise. Plan Enterprise obejmuje rezydencję danych w UE, a także niestandardowy okres przechowywania i SAML SSO.
- Izolacja. Każde zadanie działa we własnej, odizolowanej maszynie wirtualnej.
- Co CRACI przechowuje, a czego nie. CRACI przetwarza Państwa kod źródłowy w maszynie wirtualnej zadania i go nie przechowuje. Przechowuje metadane buildów, dane pakietów, ślady sieciowe, SBOM-y, provenance, cache i zapisy audytowe. Cache zawiera to, co zapisze w nim Państwa workflow.
- Stały zakres wychodzących adresów IP dla list dozwolonych adresów usług, z którymi łączy się build.
- Certyfikacja. System zarządzania bezpieczeństwem informacji CRACI Corporation Oy w zakresie rozwoju i obsługi platformy CRACI ma certyfikat ISO/IEC 27001 wydany przez Into Certification. CRACI jest zgodne z RODO.
Szczegóły potrzebne do Państwa przeglądu bezpieczeństwa znajdą Państwo na stronach bezpieczeństwo, Trust Center i do czego CRACI ma dostęp.
Dlaczego warto przenieść warstwę buildu
Nawet gdy GitHub zostaje, runner jest warstwą, którą warto przenieść w pierwszej kolejności. To w nim Państwa kod jest kompilowany w obecności sekretów i to przez niego pakiety zewnętrzne trafiają do Państwa produktu. Uruchamianie go na europejskiej infrastrukturze utrzymuje to wykonanie oraz zapis każdego pobranego pakietu na infrastrukturze obsługiwanej przez europejską firmę, a nie na mocy obliczeniowej amerykańskiego hiperskalera.
Ten zapis jest też dowodem. CRACI zapisuje zależności każdego zadania jako SBOM ze stanem kompletności, w ramach polityki ruchu wychodzącego, która w razie błędu blokuje ruch, i stale sprawdza je pod kątem nowych podatności. Europejskie regulacje, takie jak Cyber Resilience Act, coraz częściej wymagają od producentów właśnie takiego zapisu.
Przejście to zmiana etykiety: runs-on: craci. CRACI wykonuje buildy mniej więcej dwa razy szybciej niż
runnery hostowane przez GitHub dzięki szybszemu sprzętowi, krótszemu czasowi w kolejce i cache, a opłaty pobiera tylko
za minuty buildu: $0.002 za vCPU-minutę ($0.004 za domyślny runner 2 vCPU), naliczane co sekundę, bez opłaty
miesięcznej. Zob. runnery CRACI, cennik i
jak zmienić dostawcę runnerów.
Kiedy CRACI nie jest odpowiedzią
- Wymaganie obejmuje warstwę sterującą lub przechowywanie kodu. Europejski runner nie wystarczy. Potrzebny jest GitLab self-managed lub self-hosted forge w Europie; zob. alternatywy dla GitLab. CRACI obsługuje dziś tylko GitHub Actions, a GitLab CI i Jenkins są na roadmapie.
- Runnery muszą działać na Państwa własnym sprzęcie lub w Państwa własnej dzierżawie chmurowej. Runnery CRACI hostowane przez klienta są na roadmapie i nie są dziś dostępne.
- Potrzebują Państwo buildów macOS lub Windows w Europie. CRACI uruchamia dziś Linux na x86-64 i ARM64, a Windows i macOS są na roadmapie.
- Potrzebują Państwo najniższej ceny za minutę. Inne europejskie opcje mają niższe ceny katalogowe.
Europejskie runnery GitHub Actions: najczęstsze pytania
Czy buildy GitHub Actions mogą działać w UE?
Tak. Build działa tam, gdzie jest runner, więc runner na europejskiej infrastrukturze wykonuje Państwa build w Europie. Taki runner można uzyskać od dostawcy runnerów zarządzanych, takiego jak CRACI, z GitHub Enterprise Cloud z rezydencją danych, który może umieścić runnery hostowane w regionach Azure w UE, albo uruchamiając runnery self-hosted w europejskiej chmurze.
Czy istnieje europejski dostawca runnerów GitHub Actions?
Tak. CRACI jest firmą europejską, a jej zarządzane runnery dla GitHub Actions działają na europejskiej infrastrukturze bare-metal. Inni dostawcy także uruchamiają maszyny w Europie; warto sprawdzić zarówno, gdzie są maszyny, jak i która firma je obsługuje.
Jeśli mój runner jest w UE, czy moje CI jest suwerenne?
Samo w sobie nie. Europejski runner przenosi wykonanie buildu i zapis tego, co build pobrał. GitHub nadal przechowuje kod, sekrety, logi i artefakty oraz orkiestruje każde zadanie. Aby wyłączyć GitHub z tego obrazu, potrzebna jest inna platforma CI z hostingiem w Europie.
Jakie dane zostają w GitHub, gdy korzystam z europejskiego runnera?
Repozytorium, pliki workflow, magazyn sekretów, uruchomienia workflow i logi, interfejs checków oraz artefakty przesłane przez actions/upload-artifact. Runner otrzymuje kod i sekrety zadania na czas jego wykonania. CRACI przetwarza Państwa kod w maszynie wirtualnej zadania i go nie przechowuje.
Czy GitHub oferuje rezydencję danych w UE dla Actions?
W GitHub Enterprise Cloud z rezydencją danych, hostowanym w GHE.com, można wybrać region UE, a GitHub przechowuje tam repozytoria oraz dane i logi Actions. Jego runnery hostowane mogą działać w regionach Azure w UE dzięki prywatnej sieci Azure. Operatorem nadal jest GitHub, a oferta jest dostępna wyłącznie dla klientów Enterprise Cloud.
Czym różni się rezydencja danych w UE od suwerenności cyfrowej?
Rezydencja danych dotyczy tego, gdzie dane są przechowywane i przetwarzane. Suwerenność cyfrowa dodaje pytanie, kto kontroluje dane i jakie prawo obowiązuje tę stronę. Europejskie centrum danych prowadzone przez firmę spoza Europy daje rezydencję, a nie suwerenność. Warto wypisać każdą warstwę pipeline'u, kto ją obsługuje i gdzie, a następnie porównać to z własnym wymaganiem.
Build na europejskiej infrastrukturze
Proszę umówić demo: uruchomią Państwo jeden ze swoich workflowów na europejskiej infrastrukturze i zobaczą, co pobrał.
Umów demo