samo porównywanie, który produkt potrafi więcej a który mniej to za mało....
Ja skłaniam się w kierunku Ansible/AWX (ewentualnie Tower )głównie dlatego, że:
- daje to w miarę do ogarnięcia interfejs graficzny, więc zadania (job'y), które tworzysz mogą być uruchamiane przez inne zespoły (sam zrobiłem już kilka takich i sa używane regularnie). Wydaje mi się, iż przykładowe zadanie przeszukujące przełączniki L2 i sprawdzające, na których interfejsach nie ma 802.1x powinno być także odpalane, np. przez Twojego kierownika, albo kogoś z bezpieki... (albo przynajmniej co jakiś czas zerkać na wynik zadania 'audytowego')
- czasem zadania, które będziesz chciał/musiał zautomatyzować będą częścią większego procesu (np. provisioning maszyny wirtualnej, albo on/off środowiska), więc nie do końca organizacja będzie się cieszyła, że im wystawiasz jakiś skrypcik z małoznanym modułem Norninr na jakimś linux'ie podbirkowym bez backupów (oczywiście tutaj trochę przesadzam - lubię Twojego linuxa)
- masz możliwość wywołania za pomocą API zadań/skryptów, które tworzysz (czasem się przydaje)
- często masz ludzi, którzy zarządzają tym produktem, albo mogą Ci pomóc, więc Ty możesz skupić się na automatyzacji a nie administrowaniem narzędziami
- fakt, że z AWX/Ansible korzystają inne zespoły (w Twojej , lub innej firmie) daje Ci możliwość podglądania innych, uczenia się wdrażania prawdziwych rozwiązań devops (np. awx dev/test/prod, kontroli wersji git w dowolnym wydaniu, jira i ten cały grajdołek związany z ideologią działania). Żeby nie było, że sobie tam gdzieś tworzysz procesy i chwalisz się, że jesteś dev-net'owcem a przed Tobą w rzeczywistości daleka droga
- Ansible zmusza Cię do utrzymania porządku i schematu działania (pliki i zmienne w swoich katalogach itp)
- w przypadku AWX masz ustandaryzowane i przejrzyste zasady przydzielania uprawnień, tworzenia harmonogramu, planowania zadań
- w przypadku AWX możesz trochę bezpieczniej zarządzać hasłami, ponieważ czysty ansible i vault to no nie wiem... ciekaw jestem jak to jest w Norninr
Ansible mnie jednak często wkurza - to jednak rozwiązanie do wszystkiego, więc można się spodziewać, że im dalej w las, tym więcej przeszkód.
Często tracę sporo czasu na doprowadzenie czegoś do działania na playbook'u, wiedząc, że zwykłym skryptem pythonowym bym to w godzinę ogarnął...(ale może dlatego, że jeszcze mało tych playbooków robiłem). Czasem robię tak, że niektóre taski ansiblowe są od przetwarzania danych (te robię w skryptach pythonowych) a inne sprowadzające Ansible do narzędzia pobierającego dane z urządzeń a potem wykonania zadań na tych urządzeniach (nie wiem czy to logicznie zabrzmiało).
Często chłopcy zarządzający AWX'em wrzucają patch'e/nowe wersje, więc trzeba powtarzać testy sprawdzające czy Twoje playbook'i dalej działają - to też często można automatyzować, jednak to dodatkowa praca dla Ciebie, bo to Ty jesteś odpowiedzialny za job'a.