• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wybór narzędzi do większych projektów pod linuksem

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
465 wizyt
pytanie zadane 26 października 2021 w Systemy operacyjne, programy przez doskanoness Obywatel (1,240 p.)
Siema, mam parę projektów w bashu, które rozrosły się do mniej więcej 800-1200 linijek kodu i przez swoje rozmiary są skomplikowane w utrzymaniu. W czym polecilibyście pisać większe rzeczy? Jakieś propozycje, co sądzicie o Ansible i Pythonie?
komentarz 3 listopada 2021 przez miro Pasjonat (23,870 p.)
Zależy co chcesz robić, jeśli czujesz, że ogrom bibliotek z Python ułatwi Tobie życie to bierz ten język.
Jeśli jednak chciałbyś uporządkować kod i brakuje Tobie rzeczy z 'normalnych' języków, to zastanowiłbym się nad Lua. Jest to jeden z najszybszych języków skryptowych, bardzo prosty w nauce, dający więcej możliwości od basha.

Sam przepisałem większe bashowe skrypty na Lua. Jeśli używasz nvim lub chyba sam vim w linuksie to masz go już ten język zainstalowany.

1 odpowiedź

+2 głosów
odpowiedź 26 października 2021 przez draghan VIP (106,230 p.)
Playbooki Ansible'a mogą służyć jako organizer i egzekutor skryptów, ale na pewno nie rzucałbym się do zastępowania skryptów bashowych playbookami.
Playbooki mają być easy-to-read i takie właśnie są: rozwlekłe w formie, niełatwe w utrzymaniu i nie oferują typowo programistycznych konstrukcji - zrobienie czegoś ambitniejszego z manipulacją jakimikolwiek danymi w "języku Ansible" [składanka yaml+jinja2+filtry i moduły Ansible] to niezła łamigłówka, którą mógłbym polecić dla sportu zamiast np. krzyżówki.

Python z kolei jak najbardziej jest godny polecenia - jest efektywnym i elastycznym narzędziem. Jeśli nie przeszkadzają Ci typowo pythonowe bolączki, typu brak prawdziwej hermetyzacji czy ścisłej kontroli typów (czego brak również w bashu), to miałbym tutaj mocnego kandydata na zastępcę.
1
komentarz 27 października 2021 przez efiku Szeryf (75,160 p.)
Wszystko zależy od tego co jest w tych skryptach. Jeżeli ten jest coś związanego z konfiguracją infrastruktury czy coś z sprawdzaniem to lepiej będzie podziałać z Ansible.

Dla przykładu playbook tworzący usera w systemie i odpowiedniej grupie - nie musisz tutaj martwić się o logikę obsługi błędu po ponownym wywołaniu skryptu gdyż Ansible robi to za Ciebie.

Możliwe że jego skrypty zmniejszą się o połowę po przerobieniu ich na playbooki, ale kto wie:D zawsze też można połączyć jedno i drugie
komentarz 27 października 2021 przez efiku Szeryf (75,160 p.)

Aloha @draghan o/

1
komentarz 27 października 2021 przez draghan VIP (106,230 p.)

Hej hej, @efiku. Long time no see. :)

Dla przykładu playbook tworzący usera w systemie i odpowiedniej grupie - nie musisz tutaj martwić się o logikę obsługi błędu po ponownym wywołaniu skryptu gdyż Ansible robi to za Ciebie.

Wszystko to pięknie brzmi, i do pewnego stopnia jest jak w reklamie, ale w praktyce są problemy. Pracowałem 2 lata w zespole gdzie mieliśmy pod opieką cały park maszynowy na różnych OSach (różne distra pingwina i Windowsy) i zawsze były problemy z kompatybilnością modułów między distrami. Kończy się albo dopisywaniem własnych modułów albo akrobacjami w samych playbookach, które robią się przez to mniej i mniej utrzymywalne.

Żeby nie było - ja tutaj absolutnie nie hejtuję Ansible'a. To jest wspaniały tool. Tylko trzeba wiedzieć kiedy się przenieść na bardziej odpowiednie narzędzie.
Z mojego doświadczenia wynika że jak się bashowe skrypty zamieni na playbooki, to wychodzi w efekcie paskudny playbook z powtykanym bashem, żeby załatać braki lub błędy w modułach i ograniczenia "języka Ansible'a" i potem się tylko człowiek drapie po głowie i zastanawia "po co mi to było?", bo efektywniej było zostawić basha w bashu i w Ansiblu mieć tylko zorganizowaną lekką abstrakcję konfiguracyjną i aranżację wykonawczą. Połączenie jednego i drugiego - jak najbardziej. Przepisanie całości na Ansible - nope nope nope.

Podobne pytania

0 głosów
1 odpowiedź 2,037 wizyt
pytanie zadane 10 września 2017 w Systemy operacyjne, programy przez Mateusz Analityk Stary wyjadacz (13,710 p.)
0 głosów
1 odpowiedź 1,082 wizyt
pytanie zadane 15 października 2016 w Systemy operacyjne, programy przez niezalogowany
+1 głos
2 odpowiedzi 538 wizyt

93,114 zapytań

142,095 odpowiedzi

321,661 komentarzy

62,453 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...