• 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

Object Storage Arubacloud
0 głosów
301 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ź 1,809 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,034 wizyt
pytanie zadane 15 października 2016 w Systemy operacyjne, programy przez niezalogowany
+1 głos
2 odpowiedzi 361 wizyt

92,571 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...