Encore une fois sur DevOps et SRE

En s'inspirant de la discussion dans le chat AWS Minsk Community

Ces derniers temps, de véritables batailles font rage sur la définition des concepts DevOps et SRE.
Bien que ces discussions soient déjà plutÎt éculées, y compris pour moi, j'ai décidé de soumettre ma vision de ce sujet à la communauté Habr. Ceux que cela intéresse, bienvenue sous le kat. Que tout recommence !

Contexte

Donc, dans les temps anciens, il y avait une Ă©quipe distincte de dĂ©veloppeurs de logiciels et d'administrateurs de serveurs. Les premiers Ă©crivaient du code avec succĂšs, les seconds, utilisant divers mots chaleureux et affectueux Ă  l'Ă©gard des premiers, configuraient les serveurs, venant pĂ©riodiquement voir les dĂ©veloppeurs et recevant en retour la rĂ©ponse exhaustive « ça fonctionne sur ma machine ». L'entreprise attendait le logiciel, tout stagnait, se cassait pĂ©riodiquement, tout le monde Ă©tait nerveux. Surtout celui qui payait pour ce dĂ©sordre. La glorieuse Ă©poque des lampes. Mais vous savez dĂ©jĂ  d'oĂč viennent les racines du DevOps.

La naissance des pratiques DevOps

Puis sont arrivĂ©s des messieurs sĂ©rieux qui ont dit - cela ne peut pas ĂȘtre une industrie, cela ne peut pas fonctionner ainsi. Et ils ont apportĂ© des modĂšles de cycle de vie. Voici, par exemple, le modĂšle en V.

Encore une fois sur DevOps et SRE
Alors, que voyons-nous ? L'entreprise arrive avec un concept, les architectes conçoivent des solutions, les développeurs écrivent du code, ensuite - c'est le néant. Quelqu'un teste le produit d'une maniÚre ou d'une autre, quelqu'un le livre d'une maniÚre ou d'une autre, et quelque part à la sortie de ce modÚle miracle, un unique client commercial attend le temps favorable promis. On en a conclu qu'il fallait des méthodes pour rationaliser ce processus. Et il a été décidé de créer des pratiques pour les réaliser.

Une parenthĂšse lyrique sur ce qu'est une pratique
Par pratique, j'entends l'association de technologie et de discipline. Par exemple, la pratique de la description de l'infrastructure par code avec Terraform. La discipline est la maniÚre de décrire l'infrastructure par code, elle est dans l'esprit du développeur, tandis que la technologie est justement Terraform.

Ils ont dĂ©cidĂ© de les appeler des pratiques DevOps — je pense qu'ils voulaient dire « de la DĂ©veloppement Ă  l'OpĂ©ration ». Ils ont inventĂ© toutes sortes de concepts compliquĂ©s — des pratiques CI/CD, des pratiques basĂ©es sur le principe de l'IaC, des milliers d'entre elles. Et c'est parti, les dĂ©veloppeurs Ă©crivent du code, les ingĂ©nieurs DevOps transforment la description du systĂšme en code en systĂšmes fonctionnels (oui, le code est malheureusement juste une description, mais pas l'incarnation du systĂšme), la livraison s'active, et ainsi de suite. Les anciens administrateurs, ayant maĂźtrisĂ© ces nouvelles pratiques, se sont fiĂšrement requalifiĂ©s en ingĂ©nieurs DevOps, et tout a dĂ©marrĂ©. Et il y avait le soir, et il y avait le matin
 pardon, je ne voulais pas dire cela.

Tout ne va pas non plus.

Tout juste calmĂ©, et divers « mĂ©thodologues » rusĂ©s ont commencĂ© Ă  Ă©crire de gros livres sur les pratiques DevOps, des dĂ©bats silencieux ont commencĂ© Ă  Ă©clater, qui est ce fameux ingĂ©nieur DevOps et que DevOps est une culture de production, une insatisfaction a de nouveau surgi. Il est soudainement apparu que la livraison de logiciels est une tĂąche absolument non triviale. Chaque infrastructure de dĂ©veloppement a sa propre pile, parfois il faut assembler, parfois dĂ©ployer un environnement, ici on a besoin de Tomcat, lĂ  d'une mĂ©thode astucieuse pour lancer — en gros, la tĂȘte explose. Et le problĂšme, curieusement, se trouve d'abord dans l'organisation des processus — cette fonction de livraison, comme un goulot d'Ă©tranglement, bloque les processus. De plus, l’exploitation (Operations) n'a pas disparu. Elle n'est pas visible dans le modĂšle en V, et il reste tout le cycle de vie Ă  droite. Au final, il faut Ă©galement maintenir l'infrastructure, surveiller, gĂ©rer les incidents, et en plus s'occuper de la livraison. Autrement dit, il faut ĂȘtre d'un cĂŽtĂ© dans le dĂ©veloppement, de l'autre dans l'exploitation — et cela a donnĂ© un dĂ©veloppement & opĂ©rations. Et lĂ  encore est arrivĂ© le grand engouement pour les microservices. De plus, le dĂ©veloppement a commencĂ© Ă  migrer des machines locales vers le cloud — essayez de dĂ©boguer quelque chose en local s'il y a des dizaines ou des centaines de microservices, la livraison continue devient alors un moyen de survie. Pour une « petite entreprise modeste », ça pourrait passer, mais tout de mĂȘme ? Et Google ?

SRE de Google

Google est arrivĂ©, a mangĂ© les plus grands cactus et a dĂ©cidĂ© que cela ne lui convenait pas, qu'il avait besoin de fiabilitĂ©. Et la fiabilitĂ© doit ĂȘtre gĂ©rĂ©e. Il a donc dĂ©cidĂ© qu'il avait besoin de spĂ©cialistes pour gĂ©rer la fiabilitĂ©. Il les a appelĂ©s ingĂ©nieurs SRE et a dit : "Voici tout ce dont vous avez besoin, faites comme d'habitude, bien. Voici votre SLI, voici votre SLO, voici votre surveillance." Et il les a dirigĂ©s vers les opĂ©rations. Il a appelĂ© son "DevOps fiable" SRE. Tout semblait en ordre, mais il y a un hack sale que Google pouvait se permettre : engager Ă  des postes d'ingĂ©nieurs SRE des personnes ayant les qualifications de dĂ©veloppeurs et qui avaient un peu bricolĂ© chez eux en comprenant le fonctionnement des systĂšmes en cours d'exploitation. D'ailleurs, mĂȘme Google a des problĂšmes Ă  recruter ces gens, principalement parce qu'il se retrouve en concurrence avec lui-mĂȘme — il faut bien qu'il y ait quelqu'un pour dĂ©crire la logique mĂ©tier. La livraison a Ă©tĂ© confiĂ©e aux ingĂ©nieurs de release, les ingĂ©nieurs SRE gĂšrent la fiabilitĂ© (Ă©videmment, pas directement, mais en influençant l'infrastructure, en changeant l'architecture, en surveillant les modifications et les indicateurs, et en s'occupant des incidents). C'est joli, on peut Ă©crire des livres. Que faire si vous n'ĂȘtes pas Google, mais que la fiabilitĂ© vous prĂ©occupe quand mĂȘme ?

Le développement des idées DevOps

C'est lĂ  que Docker est arrivĂ©, issu de lxc, suivi de divers systĂšmes d'orchestration comme Docker Swarm et Kubernetes, et les ingĂ©nieurs DevOps ont poussĂ© un soupir de soulagement — l'unification des pratiques a facilitĂ© la livraison. Au point qu'il est devenu mĂȘme possible de confier la livraison aux dĂ©veloppeurs — qu'est-ce que c'est que ce deployment.yaml ? La conteneurisation rĂ©sout le problĂšme. Et la maturitĂ© des systĂšmes CI/CD est telle que l'on peut Ă©crire un fichier et tout se met en route — les dĂ©veloppeurs s'en sortent tout seuls. Et ici, nous commençons Ă  parler de la maniĂšre de crĂ©er notre propre SRE, avec
 mĂȘme n'importe qui.

SRE n'est pas chez Google

Eh bien, la livraison est terminĂ©e, nous pouvons sembler respirer un peu, retourner aux bons vieux temps oĂč les administrateurs surveillaient les charges des processeurs, optimisaient les systĂšmes et sirotaient tranquillement des breuvages mystĂ©rieux dans le calme et la tranquillité  Attendez. Ce n'est pas pour cela que nous nous sommes lancĂ©s (et c'est dommage !). Il apparaĂźt soudainement qu'avec l'approche de Google, nous pouvons adopter d'excellentes pratiques — ce n'est pas la charge des processeurs qui est importante, ni Ă  quelle frĂ©quence nous remplaçons les disques, ou mĂȘme comment nous optimisons les coĂ»ts dans le cloud, mais les mĂ©triques commerciales — tous ces SLx tant discutĂ©s. La gestion de l'infrastructure reste de mise, il faut gĂ©rer les incidents, ĂȘtre de garde de temps Ă  autre, et en gĂ©nĂ©ral, ĂȘtre au fait des processus d'affaires. Les gars, commencez Ă  programmer progressivement Ă  un bon niveau, Google vous attend dĂ©jĂ .

En rĂ©sumĂ©. Soudain, mais vous ĂȘtes dĂ©jĂ  fatiguĂ© de lire et vous avez hĂąte d'Ă©crire un commentaire Ă  l'auteur de l'article. DevOps en tant que pratique de livraison a Ă©tĂ©, est et sera toujours. Et cela ne disparaĂźtra pas. SRE en tant qu'ensemble de pratiques d'exploitation rend cette livraison rĂ©ussie.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster