Bon ben j'en ai officiellement marre... Ça fait un an et demi que je suis dans l'entreprise en tant que Apprentissage. On m'a dit que j'utiliserai des outils comme car on a une équipe assez vielle et qui aurait besoin d'un outil d'automatisation qui soit compréhensible... Au lieu de continuer là-dedans on m'en empêche de l'utiliser et de faire du ... Je ne sens pas faire du DevOps et j'ai très envie de changer d'entreprise sur

Suivre

J'ai envie d'utiliser les dernières et de faire avancer des et/ou d'alléger le travail d'un service

En ce moment on m'empêche de communiquer avec la sécurité pour qu'on ai un user tech avec privilège root (mais limité)...

On utilise mal car j'ai un tuteur qui nous "dictent" comment l'utiliser et on a une gestion de projet catastrophique...

Je vais voir les de disponible sur car je veux vraiment travailler sur des dernières technos et vraiment utiliser les bonnes pratiques du ... Un an et demi qu'on me prend pour un con j'ai l'impression...

Afficher le fil de discussion

@zak Mais tout le monde a toujours envie de faire de la nouvelle techno 😂
Il y a même un @CommitStrip sur le sujet je crois !

@aeris @CommitStrip Mais attends comment je peux un jour travailler avec les dernières technos si j'en fais pas en entreprise pour mon apprentissage... Ça me fait chier et je suis frustré mais totalement !!!

J'ai des idées et des envies mais on me mets des barrières...

@zak @CommitStrip C’est un peu le problème de notre métier. La partie formation est assez inexistante et les nouvelles technos rencontrent plein de frilosités…

@zak Mais d’un autre côté, c’est clair que c’est risqué & compliqué de se lancer sur une nouvelle techno pour un projet qui va partir en prod dans X mois.
Faut attendre que la techno mûrisse un peu, et du coup est limite « obsolète » quand elle est enfin mature pour finir dans un soft…

@aeris Après je te parles de qui n'est pas une techno qui date d'hier ! Dans mon entreprise on ne veut pas l'adopter et on m'a recruté pour un profil et j'ai l'impression de rien apprendre et de ne pas avancer dans mes projets... Je veux dire en terme de perspective d'avenir pro par "projet" ^^'

@aeris @CommitStrip Attends je ne comprends pas... Dans l'informatique on ne travaille pas uniquement sur la prd et on ne prends pas de techno qui sont en version instable. Normalement tu as différentes environnements pour valider un projet et le mettre en prd... Je trouve que ça me dépasse parfois et c'est pour ça qu'on s'éclate moins dans notre boulot

@zak Même si tu as différents envs, tout le monde est frileux à l’idée de se lancer dans une nouvelle techno « en aveugle » jusqu’à la 1ère release sur l’env de dev
On n’est même pas sûr d’arriver à l’env de dev un jour d’ailleurs.
Et si on y arrive quand même, pas certain du résultat.

@zak Par exemple pour ansible, il va falloir passer du temps pour porter *tout* l’écosystème existant dessus, ou se farder de la double stack old-school + ansible en parallèle.
Risquer de se retrouver avec un facteur bus de 1 ou moins parce que les autres ne seront pas formés à cette techno.
Etc.
Que des trucs qui peuvent massivement refroidir du décideur…

@zak Ansible est aussi tout sauf un outil magique.
C’est parfois/souvent la plaie pour arriver à en faire ce qu’on veut.
Rapidement tu revois du script shell & cie poper de partout pour contourner les limitations du bordel.

@zak Du coup, les « nouvelles » technos, faut s’en méfier. C’est parfois très coûteux à mettre en place.
Les décideurs sont souvent trop frileux à se lancer sur un nouveau truc, mais à l’inverse les devs sont parfois trop enthousiastes à vouloir faire des nouveaux trucs.

@aeris @zak Pour ne parler que d’Ansible, je comprends de moins en moins l’intérêt de ce truc. À chaque fois qu’on a essayé d’en faire au taf, on fini par se prendre une limitation ou à galérer.

Le principe a un intérêt. Mais au final on l’applique à coup de scripts Bash. Certes, la gestion des erreurs, l’idempotence, tout ça, c’est pas aussi propre, mais hé, ça marche, c’est généralement compatible partout, ça fait précisément ce qu’on veut (après tout, quand on le fait à la main, c’est bash qu’on utilise), etc.

Au final, pour moi, Ansible ça se limite à déployer des serveurs (l’installation de base c’est facile) rapidement. Pour le reste, c’est tellement casse-tête que revenir à l’automatisation à l’ancienne est plus efficace. C’est toujours mieux que tout faire à la main, ceci dit.

1/ @breizh @aeris Hello Breizh :) Parce que l'outil a des limites et tu ne peux pas l'utiliser pour tout et n'importe quoi ! C'est pour ça qu'il y en a plusieurs comme Chef, Puppet, etc. Par exemple, je veux créer une VM sur Azure ou Aws mais Ansible ne le peut pas car il n'est pas assez mature. Il faut s'orienter vers Terraform ou Saltstack (je crois) :)

De plus, même si tu n'as pas les modules pour Ansible tu peux te les créer toi même :)

@zak @breizh Ansible, chef ou puppet font globalement la même chose hein. C’est comme java/c#/ruby/python. Chacun fait la même chose, mais chacun a ses limitations, différentes d’une techno à l’autre.

@zak @breizh Donc faut choisir une techno et s’y tenir.
Tu choisis aussi plutôt chef/cfengine si tu aimes ruby et salt/ansible si tu préfères python

@aeris @breizh Oui tout à fait :)
Il faut garder une certaine logique :)

@aeris @breizh Oui tout à fait je suis d'accord avec toi :)
Mais ça dépend encore une fois du besoin réel que tu en as :)

Par exemple, pourquoi Mastodon est écrit en Ruby alors que Java EE est plus performant selon des études que tu trouve sur ?

Chaque outil a ses avantages, ses possibilités et forcément des limitations... Comme le shell d'ailleurs ^^

@zak @breizh Non, Mastodon est en ruby parce que gargron est dev ruby… Faut pas croire qu’ils ont fait un benchmark avant hein !

@aeris @breizh LooL du coup c'est la même chose avec Ansible et le Shell ou Chef, Puppet, etc. C'est selon tes projets et en fonction de tes besoins

2/ @breizh @aeris La gestion des erreurs et très bien gérés je trouve sur Ansible qu'en shell ou bash perso ^^'

Oui je suis d'accord que cet outil a un très grand intêret pour le déploiement ou la suppression des applications :)
Pour le reste tout dépend de ce que tu veux faire :) A voir avec d'autres outils :)

@zak @breizh Non, la gestion des erreurs est une véritable catastrophe.
Si un truc merde, tu te retrouves dans un état incohérent, et parfois à te battre avec du coup le séquençage ansible qui t’es imposé.

@zak @breizh Par exemple suite à un service taulé, Ansible va chercher à agir sur le service via systemctl avant de déployer le fichier de config qui était erroné. Du coup systemctl va refusé la commande, et ansible refusé de mettre à jour le fichier de config…

@zak @breizh Et là tu pleures bien ta misère parce que rien n’est prévu sur ansible pour lui dire quoi appliquer avant quoi quand une dépendance est pourtant indiqué dans la config…

@zak @breizh Et si tu me dis « oui mais ansible est indempotent », je te répond que ansible l’est peut-être, mais que les softs derrière, eux, le sont rarement.

@zak @breizh Du coup la garantie d’avoir un rollback ramenant EXACTEMENT à l’état de départ en cas d’erreur dans un ensemble de règles est en pratique proche de 0.

@aeris @breizh Tu veux dire que tu as une machine avec un état D, tu l'as passé à l'état J et tu veux revenir à l'état D ?

A voir pour les rallbacks :o

@aeris @breizh Alors pour indempotent je vais te dire... "Oui ce n'est pas faux" x)

Petite référence à Kaameloott :P

@aeris @breizh Logiquement c'est en fonction de ce que tu as listé en premier comme task au niveau de l'ordre d'exécution

Je ne sais pas si c'est ça dont tu parles ? ^^'

@aeris @breizh Je suis désolé j'ai du mal à voir le cas précis mais je te crois :)
Après il y a sans doute des bonnes raisons pour qu'il agisse comme ça ^^

@zak @breizh Cas classique : tu dois arrêter un service avant de déployer son fichier de config puis le redémarrer.

@zak @breizh
L’arrêt du service va bien se passer
Mais le fichier de conf va contenir une coquille
Du coup ansible va partir en erreur sur le restart, le service ne pouvant se lancer

@zak @breizh Du coup, tu fixes ton fichier, tu relances ansible et…
Et bien l’état d’arrêt va merder parce que le fichier sur disque étant foireux, la commande d’arrêt/status du service explose au vol…

@zak @breizh Du coup ansible se taule dès le status/stop, et ne déploie pas le nouveau fichier de config…
Et du coup tu peux redémarrer autant de fois ansible que tu veux, tu n’as aucun moyen de revenir à un état cohérent…

@aeris @breizh Jamais eu ce problème là encore une fois. Mais ça veut dire que c'est un bug ou un cas qui n'est pas prévu donc il faut le remonter

Déplier

@aeris @zak Je sais pas si Ansible le permet, mais normalement, dans ce genre de cas, tu laisses le service tourner, tu backup le fichier, tu changes le fichier, tu testes la conf (ou tu reload si pas d’autre moyen de tester). En cas de foirage, tu remets le backup et tu relances le service si nécessaire, puis tu notifies.

Et ce, même en automatisé : ça évite que tout explose et que tu doives réparer en urgence et en panique.

@breizh @zak Ça c’est le monde idéal. Pour certains softs mal gaulés, il vaut mieux les éteindre avant de modifier la config.

Déplier
Déplier

@breizh @aeris Voilà un exemple de ce qu'il faut faire en effet !

Si pour les gens Ansible c'est magique à ce point forcément que des gens rallent dessus x)

Déplier

@aeris @breizh C'est peut être que tu es moins à l'aise avec l'outil c'est juste ça. Perso j'arrive à résoudre mes problèmes sous Ansible qu'avec le Shell :O

Après je n'ai pas beaucoup fait de Shell et je ne peux pas dire que j'ai une grande expérience dedans malheureusement ^^'

Moi j'ai un peu de mal avec le shell car il type pas ses variables par exemple et je trouve ça trop lourd à gérer..

@zak @breizh Quand on parle de script, on ne parle pas forcément de shell hein.
Python, ruby ou perl font très bien l’affaire aussi.
Ou Go d’ailleurs !

@aeris @zak Je faisais du Python avant quand je trouvais Bash limité. Puis j’ai progressé. Maintenant je fais quasiment que du Bash, puisqu’en général si Bash me suffit plus, c’est que je suis plus en train de scripter… on verra avec le temps.

Mais je ne te contredis pas, effectivement, on peut scripter dans d’autres langages.

@breizh @aeris C'est surtout ton besoin réel ! Si c'est facile ou complexe

@zak @aeris Arrête de parler de complexité. Je fais des trucs complexes en Bash quand il faut du Bash, et des trucs simples en Python quand Python est plus pratique. Penser que Bash est fait pour les trucs simples est une erreur – qui montre que tu ne le connais pas.

@aeris @breizh Tiens tu me parles de nouvelles technos justement et pourtant Python, Ruby, Perl et Go ce sont beaucoup de langages pour rien si on suit ton raisonnement car il vaut mieux faire du Shell qui est "facile". En plus tu dois appeler des commandes linux pour faire du scripting Python ou Ruby donc ça revient au même x)

C'est quoi l’avantage de Ruby ou de Go pour le scripting ? :O

@zak @aeris Au final, tu préfères Ansible à Bash parce que tu as appris correctement Ansible et pas Bash :-p

Bash est typé : c’est juste qu’il y a que des strings et des tableaux :-p

@breizh @aeris Hmmm non parce que Bash te sorts des erreurs de merde et complètement conne tandis que Ansible il te le dis intelligemment :)

LooooooooL !!!!

Ecrire 5 en Bash :

nb=((5))

En python :

nb=5

Si tu fais des programmes complexe c'est très vite la merde pour résoudre ton problème et là je parle seulement d'un problème de typpage...

@zak @aeris Nan mais j’ai dis que c’était des strings et des tableaux. En Bash tu fais nb=5 hein.

@breizh @aeris Bah ça c'est perturbant pour moi car c'est un nombre alors que c'est un string pour bash...

@zak @aeris Boarf, on s’y fait. Si tu veux utiliser ta string comme nombre, tu peux. nb=5; [[ nb -eq 5 ]]; echo $? t’afficheras 0 (succès).

@breizh @aeris J'ai rencontré des problèmes de typpage là-dessus donc je peux pas avouer que ce langage soit bien...

Déplier
Inscrivez-vous pour prendre part à la conversation
Framapiaf

Le réseau social de l'avenir : Pas d'annonces, pas de surveillance institutionnelle, conception éthique et décentralisation ! Possédez vos données avec Mastodon !