Fin juin, Novossibirsk a pris HighLoad ++ pour la deuxième fois. Si l'année dernière l'effet de la nouveauté a joué un rôle important dans le fait que tout le monde était satisfait de tout, alors cette fois, nous devions nous préparer beaucoup plus soigneusement pour préserver et dépasser l'impression. Tout d'abord, avec une force triplée, nous avons repris l'essentiel - le programme. Maintenant que les discours ont eu lieu et ont même été examinés de manière sélective au deuxième tour, les commentaires des participants à la conférence ont été collectés et traités, nous pouvons dire avec confiance que cela a été un succès.
La base de HighLoad ++ Siberia était de 38 excellents rapports, pleins d'expérience et d'expertise approfondie. Les géants internationaux et les entreprises régionales ont tous partagé leur expérience de travail avec des tâches pour lesquelles des outils standard n'existent tout simplement pas.
Une conférence spéciale a été organisée par des personnes. Nous avons honnêtement essayé de comprendre ce qui se passait et comment faire les mêmes événements sincères dans d'autres endroits, mais non - pour une atmosphère amicale indescriptible, nous devions retourner en Sibérie, et nous étions tous pour. De plus, nous pensons déjà à de nouveaux produits.
Ils ont amené l'ours avec eux, pas un seul représentant de la faune locale n'a été blessé.Mais ce que nous n'allons pas changer, c'est l'approche dans le choix des rapports. Sauf si nous commençons à affirmer plus tôt des sujets que nous appliquons déjà: HighLoad ++ à Moscou dans 4 mois et certains rapports ont déjà été
annoncés . Jusqu'à présent, c'est la seule conférence en Sibérie sur les charges élevées, et la quantité d'informations utiles et de détails techniques inconditionnels était d'environ un tiers du grand frère de Moscou, et si nous nous tournons vers la densité dans l'âme des participants, elle était beaucoup plus élevée. Selon le comité du programme, certains rapports peuvent être ajoutés en toute sécurité en haut de tous les rapports sur les charges élevées au cours de la dernière décennie. Cela est également confirmé par les notes d'audience - le score moyen des rapports est de 4,2.
Afin que vous puissiez vous faire une
idée du programme
HighLoad ++ Siberia ,
nous donnons quelques brefs résumés. Ce n'est pas le sommet de la note de vote, et vous n'avez pas à faire attention à l'ordre - c'est juste un ensemble de sujets intéressants qui sont suffisamment différents pour être un petit échantillon représentatif. Nous publierons progressivement toutes les vidéos pour l'image complète sur la
chaîne youtube (abonnez-vous, comme, cliquez sur la cloche - ce sont toutes des choses de blog pour voir les mises à jour).
Appels vidéo: de millions par jour à 100 participants dans une conférence
Alexander Tobol (camarades de classe)Désormais, dans toutes les messageries instantanées populaires, il est possible d'appeler l'interlocuteur. Bien sûr, il est pratique d'utiliser le même outil pour toute communication. Par conséquent, si vous avez un moyen de communication d'entreprise, mais qu'il n'y a pas encore d'appels, cela vaut la peine d'être ajouté. Par où commencer, quels protocoles et technologies utiliser, connaît Alexander Tobol (
alatobol ). Même si vous ne prévoyez pas de développer un service d'appel vidéo dans un avenir proche, le rapport d'Alexander regorge de détails concrets sur les réseaux de données en général. C'est probablement pourquoi son rapport a reçu, semble-t-il, une note record d'auditeurs à 4,9 sur 5.

L'année dernière, Alexander a
parlé en détail de l'appareil des appels P2P, mais cette fois, il n'a rappelé que les principaux points et est passé à des fonctionnalités, par exemple, la signalisation et le codage des appels un à plusieurs. Il est facile de comprendre que si l'un des participants a une mauvaise qualité de communication (et que la majeure partie de ce trafic passe par les réseaux mobiles), le débit binaire devra être réduit pour tous les participants à la conversation. Mais pour décider quoi faire avec cela, il est logique de regarder ce que d'autres ont accompli dans cette direction, et - évidemment - de prendre le meilleur et de corriger les défauts.

À Odnoklassniki sélectionné:
- N'utilisez pas de codecs logiciels, mais encodez H.264;
- utiliser l'intégralité du canal sous un même flux, c'est-à-dire N'encodez pas et n'envoyez pas de vidéo en deux résolutions;
- utiliser un mixage d'extrémité pour une haute qualité et un circuit centralisé pour une basse;
- jusqu'à 3-4 participants, l'option préférée est Mesh.
Dans la comparaison finale, cette solution est comparable à la latence du zoom, à la consommation et à la qualité de la batterie, mais Zoom n'est pas compatible avec WebRTC (et nous avons tous lu les nouvelles à ce sujet). Lorsque vous décidez de répéter la procédure et de comparer les concurrents, n'oubliez pas OK. Ou profitez immédiatement des conseils d'Alexandre, son rapport était une fois de plus rempli de détails techniques importants, ce qui semble être une instruction assez bricolage.
Comment créer un système de notification d'événements très chargé
Artyom Gashkin (CFT)La société CFT est un brillant représentant des spécificités informatiques régionales - une grande entreprise de technologie financière. Ce rapport portait sur le travail du centre de traitement CardStandard, qui - pensez-y - traite les paiements pour une troisième carte dans le pays.

Dès que vous payez quelque chose, c'est ce traitement qui vous informe par SMS ou push. La banque qui a émis votre carte - l'émetteur souhaite également recevoir une telle notification en ligne. C'est l'objectif du projet, dont Artyom Gashkin a parlé: mettre en œuvre un module d'envoi de notification qui ferait face à une double charge. Malheureusement, Artyom n'avait pas le droit de nommer les données exactes, il a seulement dit que la charge sur les modules individuels atteint 200 transactions par seconde. Dans le même temps, des travaux étaient en cours pour réduire la charge en modifiant les paramètres du système. Les développeurs ont voulu faire une telle marge de performance afin de ne pas revenir sur ce problème le plus longtemps possible. Les exigences de la solution sont assez standard, mais surtout, le temps de traitement des autorisations ne doit pas augmenter.
Traditionnellement, Oracle est utilisé pour l'entreprise, qui, si possible, est très difficile à mettre à l'échelle horizontalement. Par conséquent, afin de ne pas augmenter la charge sur la base de données, c'est-à-dire conserver le nombre minimum de connexions à la base de données, Apache Kafka a été sélectionné.
Les ingénieurs ont abordé le choix de l'option d'implémentation comme il se doit pour les ingénieurs - nous avons mesuré le temps nécessaire pour déplacer 400 000 enregistrements d'un sujet à un autre. Ces données peuvent être interprétées comme le temps pendant lequel le traitement rétablira sa capacité de travail après une défaillance. Nous nous sommes arrêtés chez un producteur avec une attente asynchrone de livraison, croyant que 20-30 secondes est un temps de récupération acceptable. Artyom a également parlé d'une implémentation spécifique - d'une part, tout est à la surface, car Kafka garantit que si deux enregistrements sont envoyés séquentiellement à la partition du sujet, ils seront livrés dans le même ordre. D'autre part, les développeurs ont dû plonger profondément dans les fonctionnalités du travail et de la documentation. À l'heure actuelle, les notifications de la transaction sont envoyées à la banque en environ 0,5 seconde.
La mise à l'échelle du système résultant est facile - si la charge augmente, vous devez augmenter le nombre de gestionnaires spécifiques. Les modules de routage et de notification fonctionnent sans modifications et le module qui génère des notifications est responsable de la logique métier. Lorsque vous devez également envoyer rapidement, par exemple, des mots de passe à usage unique, il suffira d'implémenter de nouveaux gestionnaires. Ce raffinement n'affectera pas le système existant et tous les tests de régression passeront sans problème.
Depuis que le CFT a été mentionné, nous vous expliquerons comment leur partenariat a orné la conférence. Ils ont organisé tout un salon où des concours et des jeux ont eu lieu pendant deux jours. Mais le point culminant du programme a été StudioCFT - un studio sur place pour enregistrer des podcasts avec des haut-parleurs et un gourou de la conférence. Parmi les invités: Vladislav Blinov et Valeria Baranova de Tinkoff Bank, Sergey Sporyshev de ITSumma, Victor Eremchenko de Miro, Sergey Polovko de Yandex, ainsi que Oleg Bunin et Alexey Obrovets (une
conversation dont les hommes parlent en 2019). Interviews publiées sur
la chaîne YouTube de l' entreprise.

MEILLEUR GÉODISTE () À l'ouest du Rio Grande
Andrey Aksenov (Avito, Sphinx)"Utilisez l'interpolation linéaire, les garçons."
Andrei a commencé dans le style ironique habituel, disent-ils, si cela est compréhensible, alors vous pouvez diverger. Compris, c'est compréhensible, mais si vous ajoutez également l'expérience du développeur Sphinx, sur lequel la recherche fonctionne dans Avito, alors tout ira mieux. Andrey a choisi la fonction GEODIST (), qui est notamment utilisée pour le tri, les filtres, la recherche sur la carte, etc., comme thème de HighLoad ++ Siberia.

Tâche: trouver la distance entre deux points donnée par deux coordonnées. Il semblerait que la septième année, le deuxième trimestre. Mais si la distance est calculée non pas dans les limites du cahier, mais au moins à l'échelle d'une région de la Fédération de Russie, alors la distance doit être considérée sur la "sphère". Ou plutôt un ellipsoïde. Et exactement, un géoïde. Après tout, comment ne pas s'impliquer avec le géoïde, quelles approximations et anciennes techniques d'optimisation fonctionnent en grande production, nous ne reviendrons pas - voir le rapport.
Expérience de modélisation de l'équipe ComputerVision Mail.ru
Groupe Eduard Tyantov Mail.ruL'équipe de vision par ordinateur résout les problèmes des projets de produits B2B spécialisés Cloud, Mail et Vision. Cette reconnaissance des visages et des attractions pour les photos, le texte des photos pour le courrier, etc. Eduard Tyantov (
EdT ) a commencé la partie substantielle de son rapport par une déclaration adaptée à tous les domaines, mais particulièrement pertinente pour l'IA:
"L'énoncé du problème est une étape critique."
À ce stade, une collaboration continue entre le chef de produit et le spécialiste de l'apprentissage automatique est requise. Si vous essayez d'économiser de l'argent, vous manquerez quelque chose de vraiment important ou passerez plusieurs mois à apprendre à reconnaître les visages peints, et le modèle de production ne rencontrera jamais un tel exemple. Soit dit en passant, sur les autres fonctionnalités de la gestion de projet, qui sont basées sur les technologies d'apprentissage automatique, Edward parlera en septembre sur
UseData Conf .

Et seulement lorsque la déclaration est claire pour tous les participants au projet, nous pouvons commencer à travailler sur une tâche qui commence par la préparation des données. De toute évidence, ils doivent être nettoyés, à la fois à partir d'un mauvais balisage et des ordures à l'intérieur des classes, et d'une division excessive ou insuffisante en classes. Et parfois, des données doivent être générées, et si pour la tâche de reconnaissance de caractères il suffit de prendre PIL et de déformer le texte, alors dans d'autres cas, vous devez être beaucoup plus inventif.
S'agissant directement de la formation, dans le domaine de l'apprentissage métrique, Eduard, s'appuyant sur la vaste expérience de Mail.ru, a recommandé sans équivoque
Angular Softmax pour la reconnaissance des formes et la classification en principe, et a parlé d'astuces qui le rendent plus efficace.

Et l'inclusion de connaissances assez simples distillant et décomposant presque pour rien donne + 0,5–1% à AP. L'encodage par paire d'octets a très bien fonctionné pour les textes, et la formation en FP16 avec Apex de Nvidia permet d'économiser 20% (vingt!) De temps pour pratiquement les cadeaux.
Comment porter des modèles à la production est une grande conversation distincte, car les scientifiques des données utilisent PyTorch, et personne ne veut le déployer du tout. Une bonne option, comment y faire face, est apparue récemment. Les développeurs de PyTorch ont réalisé la douleur de leurs utilisateurs et ont publié TorchScript, qui sérialise le modèle Python dans un graphique statique. Avec cette conversion, tout fonctionne exactement de la même manière qu'en Python, et la première vague de bugs a déjà été détectée - vous pouvez l'utiliser.
Amazon Scaling
Vasily Pantyukhin (Amazon Web Services)Ce rapport est un exemple typique de la façon dont nous acquérons une expérience internationale d'entreprises internationales. C'est vrai - nous appelons les enfants russophones qui ont grandi dans notre culture d'ingénieur et lors de nos conférences. Les locuteurs étrangers sont bons pour la publicité, mais en fait, les participants jugent généralement leurs rapports pas trop élevés. Nos conférences professionnelles, au sens généralement russe, visent à l'échange d'expériences professionnelles. Et à l'étranger, les reportages sont populaires sur les actualités de l'entreprise qu'aucune conférence technique spécialisée ne prendra dans notre programme. Pourquoi est-ce une question distincte, mais nous sommes ceteris paribus essayant de choisir des locuteurs russophones. Cela, du point de vue de l'absence de barrière linguistique et de la différence de mentalité, est bon pour comprendre le matériel.
En revenant à AWS, des millions d'utilisateurs sont simultanément servis par leurs services, obtenant les résultats souhaités. Le système évolue automatiquement, s'adaptant de manière résiliente à chaque utilisateur de sorte qu'il lui semble qu'il est seul dans cet univers. C'est ce que pensait Vasily Pantyukhin, jusqu'à ce qu'il devienne architecte sur Amazon. Maintenant, bien sûr, il sait ce qui se cache sous le capot des services cloud AWS et a partagé certains aspects intéressants avec les invités de la conférence. Quels serveurs physiques se cachent derrière le concept éphémère du cloud, quelles optimisations sont utilisées pour eux, comment le service AWS Lambda le plus évolutif est organisé, comment Amazon construit ses propres bases de données et comment le réseau est organisé.
Surtout, le discours de Vasily impressionne par l'inspiration avec laquelle il parle de solutions et le fait mentionné qu'après avoir plongé dans l'appareil interne, il a seulement commencé à faire davantage confiance aux services de l'entreprise. Ce rapport est utile à la fois pour les personnes qui débutent avec AWS et pour celles qui ont besoin de détails techniques, c'est-à-dire de tout le monde.
Vasily a également tenu une
réunion sur le thème de la «cartographie conviviale pour le cerveau», qui, à en juger par la discussion dans le
chat , a été très utile. Mais ce ne sera pas dans le dossier, c'est un format spécial. Par conséquent, un hack de vie pour l'avenir: si lors de notre conférence, vous choisissez entre un rapport et un mitap, puis donnez la préférence à un mitap, puis regardez le rapport dans l'enregistrement, heureusement, nous enregistrons tous et donnons la vidéo dans quelques jours.
Backend NodeJS
Yuri Gavshin (Bolt)Bolt - évolution rapide de l'anglais - une plate-forme pour la fourniture de services de transport: taxi, transport privé, location de motos et de scooters électriques. Au cours des trois dernières années, la société a augmenté de plus de dix fois à tous égards, de sorte que les principales exigences pour le backend sont: une production rapide en production, une tolérance aux pannes et une résilience (un service interrompu n'affecte pas les performances des services voisins), l'évolutivité.
La base de la pile est NodeJS. Sa caractéristique distinctive est une entrée / sortie non bloquante et un fonctionnement asynchrone avec le réseau. Il n'y a pas d'opinion claire quant à savoir si c'est une bonne idée et comment les services complexes peuvent être effectués sur NodeJS dans la communauté pour le moment. Il semble qu'il n'y ait pas beaucoup de raisons de choisir Node au lieu d'un langage de serveur mature, mais un court délai de commercialisation n'est que l'une d'entre elles, donc l'expérience de production dans le développement d'un backend très chargé est très intéressante. De plus, Yuri a expliqué en détail et avec des exemples comment utiliser efficacement les avantages et niveler les inconvénients de NodeJS, par exemple, il a recommandé d'utiliser TypeScript et de passer en asynchrone / attendre. Il a prêté attention à une caractéristique telle que les inconvénients de la construction de monolithes. NodeJS oblige les développeurs à limiter la taille des services, ce qui, selon l'équipe Bolt, est un plus. Il a abordé les sujets des tests et de la surveillance.

Tout ce qui est resté dans les coulisses du rapport, et bien plus ont pu être trouvés auprès des développeurs du service sur le stand de la société. En plus de la pile technologique, ils ont également discuté de la relocalisation en Estonie - mais cela se fait déjà dans le cadre de la réunion, au cours de laquelle il y avait traditionnellement un lieu et un temps. De petites réunions spontanées et des discussions animées sont la raison pour laquelle des conférences sont nécessaires. Où d'autre pouvez-vous regarder des astuces de codage en direct de Zabbix ou partager les douleurs de la documentation.

En général, cette fois, nous avons été soutenus par plus d'entreprises. Nous pensons avoir passé le test l'année dernière et prouvé aux habitants que nous travaillons pour leur bien.
Là où il est né, il est venu à portée de main
Il nous semble donc. Et c'est l'idée principale que nous poursuivons, en prenant nos conférences en dehors de Moscou. Pour que les développeurs sympas ne soient pas obligés d'affluer vers la capitale ou les bureaux à l'étranger des grandes entreprises car il n'y aura que des tâches difficiles pour eux, il est nécessaire de développer des communautés régionales professionnelles. Par exemple, nous avons spécialement invité des militants communautaires de Novossibirsk et Krasnoyarsk, et en même temps de Saint-Pétersbourg et de Krasnodar, afin qu'ils partagent leur expérience et pompent avec succès leur région.
Il est vrai que cela vaut la peine de noter que nous recommandons toujours de voyager à Moscou. Le contenu de nos conférences n'est pas répété, donc si vous voulez être au courant de tout ce qui se passe dans le monde des charges élevées, nous nous réunirons en novembre à Skolkovo.
Réseautage, etc.
Ils ont commencé à manger une ambiance conviviale la veille lors d'une réunion des intervenants. C'est notre tradition maintenant - après avoir couru sur le site, mais avant la conférence, organisez des rassemblements. Afin que les conférenciers apprennent à se connaître et à comprendre le comité de programme, ils ont vu que les gens étaient les mêmes, ont cessé de s'inquiéter de la performance et sont venus lundi de bonne humeur, prêts à partager leur expérience unique.

Et puis déjà pendant la conférence, nous avions aussi de la place pour la communication et même le divertissement. Pas tout de même, plongé dans le hardcore, parfois il faut changer. Les stands pour cela sont le plus.
Sberbank avait pour cible le tir comme jeux de plein air, ainsi que des jeux vidéo plus familiers aux informaticiens.

Le maître sportif ne pouvait pas rester à l'écart - ils ont installé le hockey sur table, qui n'était pas vide pendant une minute. , , , , , -.

, , .

, , .

, .

., — «, ».

, . .

, , , HighLoad++ Siberia 2020 .
, , . , , . , .
, ,
.
DevOps ,
TeamLead Conf ,
KnowledgeConf - puisque la communauté des rédacteurs techniques de Novossibirsk est très activement impliquée dans son organisation - offrez-le, et nous trouverons comment le mettre en œuvre.