Wprowadzenie
Podczas wdrażania infrastruktury jako kodu można zautomatyzować wdrożenia, zwiększyć zaufanie do wdrożeń i zwiększyć wydajność pracy zespołu. Jednak te korzyści mają zastosowanie tylko wtedy, gdy Ty i Twój zespół są sumienni i unikaj ręcznego wprowadzania zmian w środowisku.
W tym module dowiesz się, jak zastosować konfigurację i ład do środowiska i potoków platformy Azure, aby uniknąć nieoczekiwanych lub niekontrolowanych zmian.
Uwaga
Termin funkcji GitHub Actions dla potoku to przepływ pracy. Dla uproszczenia w tym module używamy potoku do odwoływania się do obu potoków w usłudze Azure Pipelines i przepływów pracy w funkcji GitHub Actions.
Przykładowy scenariusz
Załóżmy, że pracujesz jako administrator platformy Azure w firmie z toy. W ciągu ostatnich kilku miesięcy ty i Twój zespół konwertują wdrożenia platformy Azure, aby korzystać z aplikacji Bicep. Procesy wdrażania zostały zautomatyzowane przy użyciu potoków. Jednak twój zespół nadal ma niektórych członków, którzy nie przyjęli jeszcze sposobu myślenia o wdrażaniu wszystkich zmian jako kodu.
Ostatnio było kilka sytuacji, w których osoby wdrożone na platformie Azure przy użyciu różnych procesów:
- Ktoś dokonał bezpośredniej zmiany konfiguracji witryny internetowej przy użyciu witryny Azure Portal.
- Ktoś wdrożył nowy plik Bicep bezpośrednio z własnego komputera.
- Ktoś skopiował poświadczenia jednostki usługi potoku i użył ich do uzyskania dostępu do środowiska produkcyjnego przy użyciu interfejsu wiersza polecenia platformy Azure.
- Ktoś zobowiązał się do zmiany pliku Bicep bezpośrednio w głównej gałęzi repozytorium, pomijając przeglądy żądań ściągnięcia.
- Ktoś zaktualizował plik Bicep przy użyciu żądania ściągnięcia. Zmiany zostały zweryfikowane, przetestowane i wdrożone w prawidłowej sekwencji środowisk.
Na poniższym diagramie przedstawiono następujące scenariusze:
Spośród wszystkich tych zmian wdrożono tylko liczbę 5 za pomocą przyjętych narzędzi automatyzacji i procesu, w którym zespół zgodził się. Żadna z innych zmian nie spowodowała żadnych szkód, ale nie chcesz naciskać szczęścia. Twój zespół zdecydował się wymusić proces, dzięki czemu możesz uzyskać największe korzyści z inwestycji w automatyzację. Ty i Twój zespół zgodzili się zamknąć możliwość wdrażania w środowisku platformy Azure, z wyjątkiem zatwierdzonego procesu:
Co zrobisz?
W tym module dowiesz się, jak wymusić wdrożenie infrastruktury platformy Azure jako kod. Należy wziąć pod uwagę mechanizmy kontroli, które należy zastosować do każdego środowiska, oraz zastosować zasady ładu i zabezpieczeń w celu ochrony zasobów platformy Azure. Dowiesz się również, jak zabezpieczyć potoki i repozytoria, zapewniając, że wszystkie aspekty konfiguracji platformy Azure są zgodne z zalecanym i wzmocnionym procesem.
Napiwek
Ten moduł zawiera wprowadzenie do wielu funkcji zabezpieczeń. Jednostka podsumowania zawiera linki do dodatkowych informacji o każdej funkcji.
Jaki jest główny cel?
Po ukończeniu tego modułu możesz zidentyfikować mechanizmy kontroli zabezpieczeń i ładu, które należy zastosować do środowiska platformy Azure, repozytoriów i potoków, co umożliwia wdrożenie całej infrastruktury jako kodu.
Wymagania wstępne
Należy zapoznać się z używaniem:
- Infrastruktura jako kod i jego zalety oraz technologia, taka jak Bicep lub Terraform.
- Platforma Azure, w tym witryna Azure Portal, subskrypcje, grupy zasobów i zasoby.
- Usługa Git umożliwia zarządzanie kodem, w tym gałęziami i żądaniami ściągnięcia.
- Wdrożenia automatyczne za pośrednictwem funkcji GitHub Actions lub usługi Azure Pipelines.