Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
technique:tech_team:pres_infra [2021/10/16 22:56] – qduchemi | technique:tech_team:pres_infra [2021/11/23 00:08] (Version actuelle) – qduchemi |
---|
<bootnote>Tous les schémas sont modifiables en important le PNG sur [diagrams.net](https://diagrams.net/).</bootnote> | <bootnote>Tous les schémas sont modifiables en important le PNG sur [diagrams.net](https://diagrams.net/).</bootnote> |
| |
| {{ :technique:tech_team:infra.png |}} |
| |
- En vert : les **machines physiques**, qu'on appelle aussi **serveurs** ou **hyperviseurs**. | - En vert : les **machines physiques**, qu'on appelle aussi **serveurs** ou **hyperviseurs**. |
| |
## Machines physiques | ## Machines physiques |
| |
| ### Historiquement |
| |
Picasoft possède deux machines physiques, appelées Alice et Bob, et ce sont des « tours ». Si tu es curieux·se, la configuration matérielle est [[technique:infrastructure:hyperviseurs:tetaneutral:description|ici]]. Pour te faire une idée, ce sont ces tours : | Picasoft possède deux machines physiques, appelées Alice et Bob, et ce sont des « tours ». Si tu es curieux·se, la configuration matérielle est [[technique:infrastructure:hyperviseurs:tetaneutral:description|ici]]. Pour te faire une idée, ce sont ces tours : |
{{ :technique:tech_team:machines.jpg?300 |}} | {{ :technique:tech_team:machines.jpg?300 |}} |
</bootnote> | </bootnote> |
| |
Si! On appelle ça des machines //rackables//, avec des rails sur les côtés, qu'on entasse dans des armoires. Mais... c'est beaucoup plus cher. Alors on a choisi d'acheter des ordinateurs moins « professionnels » mais assez puissants, avec nos moyens. | Si ! On appelle ça des machines //rackables//, avec des rails sur les côtés, qu'on entasse dans des armoires. Mais... c'est beaucoup plus cher. Alors on a choisi d'acheter des ordinateurs moins « professionnels » mais assez puissants, avec nos moyens. |
| |
<bootnote question> | <bootnote question> |
</bootnote> | </bootnote> |
| |
Parce qu'en général, les hébergeurs n'hébergent que des machines rackables. On connaissait Tetaneutral, on a discuté avec eux, et ils ont accepté d'héberger nos tours! | Parce qu'en général, les hébergeurs n'hébergent que des machines rackables. On connaissait Tetaneutral, on a discuté avec eux, et ils ont accepté d'héberger nos tours ! |
| |
Ces machines sont aussi appelées **hyperviseurs**. Comme on le voit sur le schéma, les services comme Mattermost ou Etherpad ne tournent pas directement sur Alice et Bob, mais à l'intérieur d'autres machines comme `pica01`, `pica02`... | Ces machines sont aussi appelées **hyperviseurs**. Comme on le voit sur le schéma, les services comme Mattermost ou Etherpad ne tournent pas directement sur Alice et Bob, mais à l'intérieur d'autres machines comme `pica01`, `pica02`... |
</bootnote> | </bootnote> |
| |
Exactement! C'est ce qu'on appelle des machines virtuelles. Et justement, on appelle **hyperviseur** une machine spécialisée dans la création, l'administration, la sauvegarde... de machines virtuelles. | Exactement ! C'est ce qu'on appelle des machines virtuelles. Et justement, on appelle **hyperviseur** une machine spécialisée dans la création, l'administration, la sauvegarde... de machines virtuelles. |
| |
| ### Et maintenant... |
| |
| Picasoft possède une troisième machine : Caribou ! (normalement, la suite d'Alice et Bob, c'est Charlie, mais ça valait le coup d'être un peu plus originaux. :-P) |
| |
| Contrairement à Alice et Bob, Caribou est une machine rackable et est hébergée par Rhizome, un FAI associatif de l'UTC. Rhizome a une armoire dédiée dans la salle machine de la DSI de l'UTC : |
| |
| {{ :technique:tech_team:armoire_rhizome.jpg?300 |}} |
| |
| On la voit ici en train d'être installée dans l'armoire : |
| |
| {{ :technique:tech_team:rack_caribou.jpg?600 |}} |
| |
| C'est une installation plus « standard », compatible avec ce qui se fait dans toutes les salles machines. On pourra donc déplacer plus facilement cette machine si besoin. |
| |
## Machines virtuelles | ## Machines virtuelles |
<bootnote question>Mais pourquoi s'embêter à simuler une machine entière à l'intérieur d'une autre machine ?</bootnote> | <bootnote question>Mais pourquoi s'embêter à simuler une machine entière à l'intérieur d'une autre machine ?</bootnote> |
| |
C'est très pratique pour plein de raisons! | C'est très pratique pour plein de raisons ! |
| |
1. Isoler les services pour la sécurité. Par exemple, `monitoring` est une machine virtuelle qui héberge des services très critiques, dont dépend le reste de l'infrastructure, comme la gestion des comptes. On va donc isoler cette machine. | 1. Isoler les services pour la sécurité. Par exemple, `monitoring` est une machine virtuelle qui héberge des services très critiques, dont dépend le reste de l'infrastructure, comme la gestion des comptes. On va donc isoler cette machine. |
2. Créer des environnements de test. `pica01-test` est une machine où on peut tout casser pour s'entraîner, et on est très content que cette machine soit isolée des services qui tournent pour de vrai ! Sans machine virtuelle, il aurait fallu acheter une machine physique dédiée aux tests, ça revient vite cher... | 2. Créer des environnements de test. `pica01-test` est une machine où on peut tout casser pour s'entraîner, et on est très content que cette machine soit isolée des services qui tournent pour de vrai ! Sans machine virtuelle, il aurait fallu acheter une machine physique dédiée aux tests, ça revient vite cher... |
3. Allouer des ressources différentes. Chaque machine a un processeur virtuel et une mémoire virtuelle qu'on choisit en fonction des besoins. Par exemple, `media` héberge et traite de gros fichiers mais n'a pas besoin d'être très rapide : on lui met beaucoup de RAM et peu de processeurs. De la sorte, si une machine consomme 100% de son processeur, elle n'impactera pas les autres. | 3. Allouer des ressources différentes. Chaque machine a un processeur virtuel et une mémoire virtuelle qu'on choisit en fonction des besoins. Par exemple, `media` héberge et traite de gros fichiers, mais n'a pas besoin d'être très rapide : on lui met beaucoup de RAM et peu de processeurs. De la sorte, si une machine consomme 100% de son processeur, elle n'impactera pas les autres. |
4. Transférer facilement les machines. Puisqu'elles sont virtuelles, les machines ne sont finalement qu'un gros fichier que l'on peut transférer sur un autre hyperviseur. Si `pica02` devient trop gourmande en ressource, parce que tout le monde utilise Mattermost, on pourra la mettre sur une troisième machine physique « simplement » en la transférant par Internet! | 4. Transférer facilement les machines. Puisqu'elles sont virtuelles, les machines ne sont finalement qu'un gros fichier que l'on peut transférer sur un autre hyperviseur. Si `pica02` devient trop gourmande en ressource, parce que tout le monde utilise Mattermost, on pourra la mettre sur une troisième machine physique « simplement » en la transférant par Internet ! |
| |
On passe le plus clair de notre temps sur les machines virtuelles, parce que c'est l'endroit où tournent les services « pour de vrai ». | On passe le plus clair de notre temps sur les machines virtuelles, parce que c'est l'endroit où tournent les services « pour de vrai ». |
</bootnote> | </bootnote> |
| |
Presque! On les installe dans des **conteneurs**. | Presque ! On les installe dans des **conteneurs**. |
| |
### Conteneurs | ### Conteneurs |
Parce qu'une machine virtuelle, c'est quand même assez lourd ! Il faut simuler tout le matériel. Tandis qu'un conteneur, c'est une sorte de **virtualisation légère** : on ne simule pas le matériel, ni même le système d'exploitation (du moins son noyau, son cœur) : on utilise celui de l'hôte. C'est beaucoup plus rapide. | Parce qu'une machine virtuelle, c'est quand même assez lourd ! Il faut simuler tout le matériel. Tandis qu'un conteneur, c'est une sorte de **virtualisation légère** : on ne simule pas le matériel, ni même le système d'exploitation (du moins son noyau, son cœur) : on utilise celui de l'hôte. C'est beaucoup plus rapide. |
| |
Pour résumer, on a donc trois niveau : | Pour résumer, on a donc trois niveaux : |
| |
- Les hyperviseurs, qui sont en chair et en os et qui nous servent à créer des machines virtuelles, faire des sauvegardes, etc. | - Les hyperviseurs, qui sont en chair et en os et qui nous servent à créer des machines virtuelles, faire des sauvegardes, etc. |
- Les conteneurs, qui font concrètement tourner les services, et qui s'appuient sur le « matériel » des machines virtuelles pour fonctionner, tout en étant isolés les uns des autres. | - Les conteneurs, qui font concrètement tourner les services, et qui s'appuient sur le « matériel » des machines virtuelles pour fonctionner, tout en étant isolés les uns des autres. |
| |
<bootnote learn>Pour en savoir plus sur les conteneurs, rendez-vous à la [[technique:tech_team:pres_docker|prochaine page]], qui parle de Docker, un logiciel qui permet de créer des conteneurs!</bootnote> | <bootnote learn>Pour en savoir plus sur les conteneurs, on parle de Docker [[technique:tech_team:pres_docker|dans une des pages suivantes]]. Docker est le logiciel qu'utilise Picasoft pour créer des conteneurs. Mais avant, il faut pouvoir [[technique:tech_team:ssh|se connecter aux machines de Picasoft]] !</bootnote> |