Dobre praktyki przy wdrażaniu Infrastructure as Code – organizacja kont
Jakiś czas temu rozmawiałem z kolegą po fachu, architektem rozwiązań, na temat przygotowania firmy do wdrożenia podejścia Infrastructure as Code. Teraz chciałbym przybliżyć również tobie, jakie są ogólne zalecenia AWS odnośnie do tego.
W pierwszej kolejności Amazon zaleca utworzenie zespołu ekspertów odpowiedzialnych za wdrożenie i późniejsze szkolenie z zakresu AWS CDK. Liczebność zespołu jest zależna od wielkości firmy. Mogą to być dwie osoby lub wiele, tworząc tzw. Cloud Center of Excellence (CCoE). Grono to ma za zadanie ustalić standardy, w jaki sposób infrastruktura chmury jest/będzie wdrożona za pomocą IaC. W dalszym etapie główną działalnością zostanie mentoring i wspieranie programistów infrastruktury.
CCoE definiuje również jednostki organizacyjne w AWS, tworząc tak zwane „landing zone”, którą jest wstępnie skonfigurowane wielokontowe środowisko. Do jego konfiguracji Amazon poleca wykorzystanie usługi AWS Control Tower. Moim zdaniem jest to dobry pomysł dla firm, niemających jeszcze wdrożonych żadnych rozwiązań zapewnienia zgodności. Usługa jest darmowa. Pozwala na zarządzanie całym systemem wielu kont AWS.
Jeśli chodzi o wykorzystanie indywidualnych kont programistów CDK, to każdy oczywiście korzysta z własnego konta i powinien mieć możliwość wdrażania nowych zasobów na tych kontach w razie potrzeby, na przykład dla potrzeb programowania czy testowania swojego kodu.
Natomiast w dalszym etapie CI/CD naszego kodu IoC należy już wykorzystywać konta środowisk integracyjnych, testowych i proda. Oczywiście każde środowisko odizolowane od siebie na własnym koncie AWS.
Ten podział odpowiedzialności konta powinien wyglądać jak na grafice.