{"id":31761,"date":"2019-10-31T21:42:55","date_gmt":"2019-10-31T18:42:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\/"},"modified":"2019-10-31T21:42:55","modified_gmt":"2019-10-31T18:42:55","slug":"mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","title":{"rendered":"Microservices : la taille compte, m\u00eame avec Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>19 septembre \u00e0 Moscou <noindex><a rel=\"nofollow\" href=\"https:\/\/www.meetup.com\/HighLoad-User-Group\/events\/254238096\/\">a eu lieu<\/a><\/noindex> premi\u00e8re rencontre th\u00e9matique HUG (Highload++ User Group) consacr\u00e9e aux microservices. Lors de celle-ci, nous avons pr\u00e9sent\u00e9 une conf\u00e9rence intitul\u00e9e \u00ab L'exploitation des microservices : la taille a son importance, m\u00eame si vous avez Kubernetes \u00bb, o\u00f9 nous avons partag\u00e9 l'exp\u00e9rience approfondie de la soci\u00e9t\u00e9 \u00ab Flant \u00bb dans l'exploitation de projets ayant une architecture microservices. Cela sera principalement utile \u00e0 tous les d\u00e9veloppeurs qui envisagent d'appliquer cette approche dans leurs projets actuels ou futurs.<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/5d84197eef093da02b3db2156841e644.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNous pr\u00e9sentons <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=g9cgppj0gKQ\"><b>la vid\u00e9o de la conf\u00e9rence<\/b><\/a><\/noindex> (50 minutes, bien plus informatif qu'un article), ainsi qu'un r\u00e9sum\u00e9 principal sous forme de texte.<\/p>\n<p><i>NB : La vid\u00e9o et la pr\u00e9sentation sont \u00e9galement disponibles \u00e0 la fin de cette publication.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Introduction<\/h2>\n<p>\nEn g\u00e9n\u00e9ral, une bonne histoire a une introduction, un corps principal et une conclusion. Cette conf\u00e9rence ressemble davantage \u00e0 une introduction, qui est en plus tragique. Il est \u00e9galement important de noter qu'elle pr\u00e9sente un point de vue sur les microservices. <i>d'exploitation<\/i>.<\/p>\n<p>Je commencerai par ce graphique, dont l'auteur (en 2015) <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/bliki\/MicroservicePremium.html\">a commenc\u00e9<\/a><\/noindex> est Martin Fowler :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/f0cc0e00f32f5ea0a736e09fd20eaa85.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOn peut y voir que dans le cas d'une application monolithique, apr\u00e8s avoir atteint une certaine taille, la productivit\u00e9 commence \u00e0 chuter. Les microservices se distinguent par le fait que leur productivit\u00e9 initiale est plus faible, mais \u00e0 mesure que la complexit\u00e9 augmente, la d\u00e9gradation de l'efficacit\u00e9 pour eux est moins \u00e9vidente.<\/p>\n<p>Je compl\u00e9terai ce graphique pour le cas d'utilisation de Kubernetes :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/1b83f03639324c610a84bfd434317f48.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPourquoi l'application avec microservices s'est am\u00e9lior\u00e9e ? Parce que cette architecture impose des exigences s\u00e9rieuses en mati\u00e8re d'architecture, qui sont \u00e0 leur tour bien satisfaites par les possibilit\u00e9s de Kubernetes. D'autre part, une partie de cette fonctionnalit\u00e9 sera \u00e9galement utile pour le monolithe, surtout parce que le monolithe typique aujourd'hui n'est pas tout \u00e0 fait un monolithe (les d\u00e9tails seront abord\u00e9s plus tard dans la conf\u00e9rence).<\/p>\n<p>Comme on peut le voir, le graphique final (quand les applications monolithiques et microservices sont dans une infrastructure avec Kubernetes) ne diff\u00e8re pas beaucoup de l'original. Ensuite, nous aborderons les applications exploit\u00e9es avec Kubernetes.<\/p>\n<h2>L'utilit\u00e9 et la nocivit\u00e9 des microservices<\/h2>\n<p>\nEt ici, la pens\u00e9e principale :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/c555e5fbdf09e4bb2be17fad23b8ff6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQu'est-ce que <b>une<\/b> architecture microservices normale ? Elle doit vous apporter un r\u00e9el b\u00e9n\u00e9fice, en augmentant l'efficacit\u00e9 du travail. Si l'on se r\u00e9f\u00e8re au graphique, voici \u00e0 quoi cela ressemble :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/c27a7af10812580f0543888256a0e698.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSi on l'appelle <b>utile<\/b>, alors de l'autre c\u00f4t\u00e9 du graphique se trouvera <b>la nocivit\u00e9<\/b> des microservices (qui nuisent au travail) :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/27a7298bd8f877b2bc69d19378a542e2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nRevenons \u00e0 la \u00abpens\u00e9e principale\u00bb : faut-il faire confiance \u00e0 mon exp\u00e9rience ? Depuis le d\u00e9but de cette ann\u00e9e, j'ai regard\u00e9 <b>85 projets<\/b>. Tous n'\u00e9taient pas des microservices (environ un tiers \u00e0 la moiti\u00e9 d'entre eux avaient cette architecture), mais c'est quand m\u00eame un grand nombre. Nous (la soci\u00e9t\u00e9 \u00abFlant\u00bb) en tant que sous-traitants avons la chance de voir une large vari\u00e9t\u00e9 d'applications, d\u00e9velopp\u00e9es tant par de petites entreprises (avec 5 d\u00e9veloppeurs) que par de grandes (~500 d\u00e9veloppeurs). Un autre point positif est que nous voyons comment ces applications vivent et \u00e9voluent au fil des ans.<\/p>\n<h2>Pourquoi les microservices ?<\/h2>\n<p>\nSur la question de l'utilit\u00e9 des microservices, il existe <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/microservice-trade-offs.html\">une r\u00e9ponse<\/a><\/noindex> bien sp\u00e9cifique<\/p>\n<ol>\n<li> d'un certain Martin Fowler :<\/li>\n<li> des fronti\u00e8res claires de modularit\u00e9 ;<\/li>\n<li> un d\u00e9ploiement ind\u00e9pendant ;<\/li>\n<\/ol>\n<p>\nla libert\u00e9 de choix des technologies.<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/e9fa2f1a03da2017e90c5f952b752187.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJ'ai beaucoup discut\u00e9 avec des architectes et des d\u00e9veloppeurs de logiciels, leur demandant pourquoi ils ont besoin de microservices. J'ai \u00e9labor\u00e9 ma propre liste de leurs attentes. Voici ce que j'ai trouv\u00e9 :<\/p>\n<ul>\n<li> Si je devais d\u00e9crire \u00aben sentiments\u00bb certains de ces points, cela donnerait :<\/li>\n<li> des fronti\u00e8res claires des modules : nous avons un terrible monolithe, et maintenant tout sera soigneusement ordonn\u00e9 dans des d\u00e9p\u00f4ts Git, o\u00f9 tout est \u00ab\u00e0 sa place\u00bb, sans m\u00e9langer le chaud et le doux ;<\/li>\n<li> ind\u00e9pendance de d\u00e9ploiement : nous pourrons d\u00e9ployer les services de mani\u00e8re ind\u00e9pendante, pour acc\u00e9l\u00e9rer le d\u00e9veloppement (publier de nouvelles fonctionnalit\u00e9s simultan\u00e9ment) ;<\/li>\n<li> b<i>de<\/i>plus de fiabilit\u00e9 : si une d\u00e9gradation partielle se produit (un microservice sur 20 tombe), alors seule un bouton cessera de fonctionner, et le syst\u00e8me dans son ensemble continuera \u00e0 fonctionner.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Une architecture microservices typique (nuisible)<\/h2>\n<p>\nPour expliquer pourquoi dans la r\u00e9alit\u00e9 tout n'est pas comme nous l'attendons, je vais pr\u00e9senter <i>une repr\u00e9sentation<\/i> collective de l'architecture des microservices, bas\u00e9e sur l'exp\u00e9rience de nombreux projets diff\u00e9rents.<\/p>\n<p>Prenons l'exemple d'une boutique en ligne abstraite, qui cherche \u00e0 concurrencer Amazon ou au moins OZON. Son architecture de microservices ressemble \u00e0 ceci :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/3b85936587109631d16882a52dd1b310.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPour diverses raisons, ces microservices sont \u00e9crits sur diff\u00e9rentes plateformes :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/e145b212a83814218add965ce26b3fed.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPuisqu chaque microservice doit \u00eatre autonome, bon nombre d'entre eux n\u00e9cessitent leur propre base de donn\u00e9es et cache. L'architecture finale se pr\u00e9sente comme suit :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/299b2ac7b6956e295c3d59210955e5e9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Quelles en sont les cons\u00e9quences ?<\/h2>\n<p>\nChez Fowler, et \u00e0 ce sujet <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/microservice-trade-offs.html\">un article<\/a><\/noindex> \u2014 sur le \u00ab prix \u00bb \u00e0 payer pour l'utilisation des microservices :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/50fc6ac602cb2eb8383d2103101c01ce.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNous allons voir si nos attentes \u00e9taient justifi\u00e9es.<\/p>\n<h3>Des fronti\u00e8res claires entre les modules\u2026<\/h3>\n<p>\nMais <b>combien de microservices devons-nous r\u00e9ellement ajuster<\/b>, pour d\u00e9ployer le changement ? Pouvons-nous vraiment comprendre comment tout fonctionne, sans traceur distribu\u00e9 (puisque chaque requ\u00eate est trait\u00e9e par la moiti\u00e9 des microservices) ?<\/p>\n<p>Il existe un mod\u00e8le de \u00ab<noindex><a rel=\"nofollow\" href=\"http:\/\/www.laputan.org\/mud\/\">grosse boule de boue<\/a><\/noindex>\u00bb, et ici nous avons carr\u00e9ment une boule de boue distribu\u00e9e. Pour l'illustrer, voici un sch\u00e9ma approximatif de la circulation des requ\u00eates :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/c91086409c06f5a76b1f76bec30b737d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Ind\u00e9pendance du d\u00e9ploiement\u2026<\/h3>\n<p>\nTechniquement, elle est atteinte : nous pouvons red\u00e9ployer chaque microservice individuellement. Mais en pratique, il faut prendre en compte que de nombreux microservices sont toujours d\u00e9ploy\u00e9s <b>en m\u00eame temps<\/b>, et nous devons consid\u00e9rer <b>l'ordre de leur d\u00e9ploiement<\/b>. Id\u00e9alement, nous devrions vraiment tester dans un environnement s\u00e9par\u00e9, dans le bon ordre pour le d\u00e9ploiement de la version.<\/p>\n<h3>Libert\u00e9 de choix technologique\u2026<\/h3>\n<p>\nElle existe. Juste rappeler que cette libert\u00e9 fr\u00f4le souvent l'anarchie. Il est crucial ici de ne pas choisir des technologies juste pour le plaisir de les \u00ab essayer \u00bb.<\/p>\n<h3>Ind\u00e9pendance du d\u00e9veloppement\u2026<\/h3>\n<p>\nComment cr\u00e9er un environnement de test pour toute l'application (avec autant de composants) ? De plus, il faut le maintenir \u00e0 jour. Tout cela conduit \u00e0 ce que <b>le nombre r\u00e9el d'environnements de test<\/b>, que nous pouvons effectivement maintenir, <b>s'av\u00e8re minimal.<\/b>.<\/p>\n<p>Et d\u00e9ployer tout cela localement ? En r\u00e9alit\u00e9, souvent le d\u00e9veloppeur travaille ind\u00e9pendamment, mais \u00ab au petit bonheur la chance \u00bb, car il doit attendre qu'un environnement de test se lib\u00e8re.<\/p>\n<h3>Scalabilit\u00e9 distincte\u2026<\/h3>\n<p>\nOui, mais elle est limit\u00e9e par les syst\u00e8mes de gestion de bases de donn\u00e9es utilis\u00e9s. Dans l'exemple donn\u00e9, il n'y aura pas de probl\u00e8mes avec Cassandra, mais il y en aura avec MySQL et PostgreSQL.<\/p>\n<h3>Une<i>de<\/i>plus grande fiabilit\u00e9\u2026<\/h3>\n<p>\nNon seulement la d\u00e9faillance d'un microservice compromet souvent le bon fonctionnement de l'ensemble du syst\u00e8me, mais il y a aussi un nouveau probl\u00e8me : <b>rendre chaque microservice r\u00e9sistant aux pannes est tr\u00e8s difficile<\/b>. Parce que dans les microservices, diff\u00e9rentes technologies sont utilis\u00e9es (memcache, Redis, etc.), pour chacune, il faut tout r\u00e9fl\u00e9chir et mettre en \u0153uvre, ce qui, bien s\u00fbr, est possible, mais n\u00e9cessite d'\u00e9normes ressources.<\/p>\n<h3>Mesure de la charge\u2026<\/h3>\n<p>\nTout va vraiment bien avec \u00e7a.<\/p>\n<h3>La \u00ab l\u00e9g\u00e8ret\u00e9 \u00bb des microservices\u2026<\/h3>\n<p>\nNous avons non seulement de grandes <b>surcharges r\u00e9seau<\/b> (multipliant les requ\u00eates DNS, etc.), mais aussi \u00e0 cause de nombreux sous-appels, nous avons commenc\u00e9 \u00e0 <b>r\u00e9pliquer des donn\u00e9es<\/b> (stocker des caches), ce qui a conduit \u00e0 un volume de stockage significatif.<\/p>\n<p>Et voici le r\u00e9sultat par rapport \u00e0 nos attentes :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/ab189c8649d720c7add975ac54811f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Mais ce n'est pas tout !<\/h3>\n<p>\nParce que :<\/p>\n<ul>\n<li> Nous aurons probablement besoin d'un bus de messages.<\/li>\n<li> Comment faire une sauvegarde coh\u00e9rente \u00e0 un moment donn\u00e9 ? La seule <i>vraie<\/i> option est de couper le trafic pour cela. Mais comment faire cela en production ?<\/li>\n<li> S'il s'agit de soutenir plusieurs r\u00e9gions, organiser la r\u00e9silience dans chacune d'elles est une t\u00e2che tr\u00e8s laborieuse.<\/li>\n<li> Il y a un probl\u00e8me de modifications centralis\u00e9es. Par exemple, si nous devons mettre \u00e0 jour la version PHP, nous devrons faire un commit dans chaque d\u00e9p\u00f4t (et il y en a des dizaines).<\/li>\n<li> La croissance de la complexit\u00e9 op\u00e9rationnelle semble exponentielle.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Que faire avec tout cela ?<\/h2>\n<p>\n<b>Commencez par une application monolithique<\/b>. L'exp\u00e9rience de Fowler <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/bliki\/MonolithFirst.html\">dit<\/a><\/noindex> montre que presque toutes les applications microservices r\u00e9ussies ont commenc\u00e9 par un monolithe devenu trop grand, qui a ensuite \u00e9t\u00e9 divis\u00e9. En m\u00eame temps, pratiquement tous les syst\u00e8mes construits comme microservices depuis le d\u00e9but ont rencontr\u00e9 de graves probl\u00e8mes t\u00f4t ou tard.<\/p>\n<p>Une autre pens\u00e9e pr\u00e9cieuse est que pour qu'un projet avec une architecture microservices soit r\u00e9ussi, vous devez tr\u00e8s bien comprendre <b>\u00e0 la fois le domaine et comment cr\u00e9er des microservices<\/b>. Et le meilleur moyen de conna\u00eetre un domaine, c'est de cr\u00e9er un monolithe.<\/p>\n<h2>Mais que faire si nous nous trouvons d\u00e9j\u00e0 dans cette situation ?<\/h2>\n<p>\nLa premi\u00e8re \u00e9tape pour r\u00e9soudre tout probl\u00e8me est de le reconna\u00eetre et de comprendre qu'il s'agit d'un probl\u00e8me, que nous ne voulons plus souffrir.<\/p>\n<p>Dans le cas d'un monolithe surdimensionn\u00e9 (lorsque nous avons \u00e9puis\u00e9 notre capacit\u00e9 \u00e0 ajouter des ressources), nous le divisons, mais dans ce cas, c'est l'inverse : lorsque l'exc\u00e8s de microservices ne fait plus de bien, mais nuit \u2014 <b>d\u00e9coupez le superflu et regroupez<\/b>!<\/p>\n<p>Par exemple, pour l'image composite ci-dessus\u2026<\/p>\n<p>\u00c9liminez les microservices les plus douteux :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/4b72ede0452890027a950d31ced26405.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nRegroupez tous les microservices responsables de la g\u00e9n\u00e9ration du frontend :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/3bf2831a637cfa148b032ba8c521353a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 en un microservice \u00e9crit dans un (moderne et normal, comme vous le pensez) langage \/ framework :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/73f53f5f4f41f72a7c6d187d855bbd95.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl disposera d'un ORM (une base de donn\u00e9es) et d'abord de quelques applications :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/f44baf6a02bf00317f1395ab339f57a9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 mais en r\u00e9alit\u00e9, il est possible d'en transf\u00e9rer beaucoup plus, obtenant ainsi ce r\u00e9sultat :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/97c02ae24199bca42e4bf24f8031578a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDans Kubernetes, nous lan\u00e7ons tout cela en tant qu'exemplaires s\u00e9par\u00e9s, ce qui signifie que nous pouvons toujours mesurer la charge et les mettre \u00e0 l'\u00e9chelle s\u00e9par\u00e9ment.<\/p>\n<h2>En r\u00e9sum\u00e9<\/h2>\n<p>\nRegardez la situation de mani\u00e8re plus large. Tr\u00e8s souvent, tous ces probl\u00e8mes avec les microservices surviennent parce que quelqu'un a pris sa t\u00e2che, mais voulait \u00ab jouer avec les microservices \u00bb.<\/p>\n<p><b>Dans le mot \u00ab microservices \u00bb, la partie \u00ab micro \u00bb est superflue<\/b>. Ils sont \u00ab micro \u00bb uniquement parce qu'ils sont plus petits qu'un \u00e9norme monolithe. Mais il ne faut pas penser \u00e0 eux comme \u00e0 quelque chose de petit.<\/p>\n<p>Et pour conclure, revenons au graphique initial :<\/p>\n<p><img decoding=\"async\" alt=\"Microservices : la taille compte, m\u00eame avec Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/a75665af4caa7c4982f70c59ec3c6e89.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLa note \u00e9crite \u00e0 son intention <i>(en haut \u00e0 droite)<\/i> revient \u00e0 dire que <b>les comp\u00e9tences de l'\u00e9quipe qui r\u00e9alise votre projet sont toujours primordiales<\/b> \u2014 c'est elles qui joueront un r\u00f4le cl\u00e9 dans votre choix entre microservices et monolithes. Si l'\u00e9quipe manque de comp\u00e9tences mais commence \u00e0 cr\u00e9er des microservices, l'histoire sera certainement fatale.<\/p>\n<h2>Vid\u00e9os et diapositives<\/h2>\n<p>\nVid\u00e9o de la pr\u00e9sentation (~50 minutes ; malheureusement, elle ne transmet pas les nombreuses \u00e9motions des visiteurs, qui ont en grande partie d\u00e9termin\u00e9 l'ambiance de l'expos\u00e9, mais c'est comme \u00e7a) :<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"g9cgppj0gKQ\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/g9cgppj0gKQ\/hqdefault.jpg\" alt=\"Lire la vid\u00e9o\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p>Pr\u00e9sentation de l'expos\u00e9 :<\/p>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"\/\/speakerdeck.com\/player\/f4f5ab9957084712bc92aa8a0ef61e45\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><\/p>\n<h2>P.S.<\/h2>\n<p>\nD'autres expos\u00e9s sur notre blog :<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">Surveillance et Kubernetes<\/a><\/noindex>\u00bb <i>(Dmitry Stolyarov ; 28 mai 2018 \u00e0 RootConf)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/345116\/\">Meilleures pratiques CI\/CD avec Kubernetes et GitLab<\/a><\/noindex>\u00bb <i>(Dmitry Stolyarov ; 7 novembre 2017 \u00e0 HighLoad++)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/331188\/\">Notre exp\u00e9rience avec Kubernetes dans de petits projets<\/a><\/noindex>\u00bb <i>(Dmitry Stolyarov ; 6 juin 2017 \u00e0 RootConf)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/324274\/\">Cr\u00e9ation d'images Docker pour CI\/CD rapidement et facilement avec dapp<\/a><\/noindex>\u00bb <i>(Dmitry Stolyarov ; 8 novembre 2016 \u00e0 HighLoad++)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/322686\/\">Pratiques de livraison continue avec Docker<\/a><\/noindex>\u00bb <i>(Dmitry Stolyarov ; 31 mai 2016 \u00e0 RootConf)<\/i>.<\/li>\n<\/ul>\n<p>\nVous serez peut-\u00eatre \u00e9galement int\u00e9ress\u00e9 par les publications suivantes :<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/347518\/\">La mort de la folie des microservices en 2018<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/425085\/\">7 meilleures pratiques d'exploitation des conteneurs selon Google<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/340270\/\">Statistiques de The New Stack sur les difficult\u00e9s de mise en \u0153uvre de Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c. \u041d\u0430 \u043d\u0451\u043c \u043f\u0440\u043e\u0437\u0432\u0443\u0447\u0430\u043b \u0434\u043e\u043a\u043b\u0430\u0434 \u00ab\u042d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes\u00bb, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0424\u043b\u0430\u043d\u0442\u00bb \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439. \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0432\u0441\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0449\u0438\u043c\u0441\u044f \u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23651,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31761","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:42:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:42:55+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Microservices : la taille compte, m\u00eame si vous avez Kubernetes | ProHoster","description":"Le 19 septembre, le premier meetup th\u00e9matique HUG (Highload++ User Group) a eu lieu \u00e0 Moscou, consacr\u00e9 \u00e0.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes | ProHoster","og:description":"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:42:55+00:00","article:modified_time":"2019-10-31T18:42:55+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31761","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 07:42:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:11:22","updated":"2026-01-21 07:42:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/31761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=31761"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/31761\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/23651"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=31761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=31761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=31761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}