Différences techniques des systèmes de BI (Power BI, Qlik Sense, Tableau)

Temps de lecture 11 minutes

Nous et Gartner Square 2019 BI :-)


Le but de cet article est de comparer les trois principales plateformes de BI leaders dans le quadrant Gartner:
- Power BI (Microsoft)
- tableau
- Qlik

image
Figure 1. Magic Quadrant de Gartner BI 2019

Je m'appelle Andrey Zhdanov, je suis le chef du département analytique du groupe Analytics. Nous construisons des rapports visuels sur le marketing, les ventes, les finances, la logistique, en d'autres termes, nous effectuons des analyses commerciales et la visualisation des données.

Mes collègues et moi travaillons avec différentes plateformes de BI depuis plusieurs années. Nous avons une très bonne expérience de projet, ce qui nous permet de comparer les plateformes du point de vue des développeurs, des analystes, des utilisateurs commerciaux et des implémenteurs de systèmes de BI.

Nous aurons un article séparé sur la comparaison des prix et la conception visuelle de ces systèmes de BI, nous allons donc ici essayer d'évaluer ces systèmes précisément du point de vue de l'analyste et du développeur.

Nous distinguons plusieurs domaines d'analyse et d'évaluation selon un système en 3 points:
- seuil d'entrée et exigences des analystes;
- sources de données;
- Nettoyage des données, ETL (Extraire, Transformer, Charger)
- Visualisation et développement
- Environnement d'entreprise - serveur, rapports
- Prise en charge des appareils mobiles
- Analytique intégrée dans des applications / sites tiers


1. Seuil d'entrée et exigences des analystes


image

Power BI


J'ai vu de nombreux utilisateurs de Power BI qui n'étaient pas des spécialistes informatiques, mais qui pouvaient créer un bon rapport. Power BI utilise le même langage de requête qu'Excel - Power Query et le langage de formule DAX. De nombreux analystes connaissent bien Excel, donc passer à ce système de BI est assez facile pour eux.

La plupart des actions ne sont pas assez compliquées dans l'éditeur de requêtes. De plus, il existe un éditeur avancé avec le langage M pour les professionnels.
image
Figure 2. Concepteur de requêtes Power BI

Qlik Sense


Qlik Sense a l'air très convivial - un petit nombre de paramètres, une capacité rapide pour créer un rapport, vous pouvez utiliser le constructeur de chargement de données.

Au début, cela semble plus simple que Power BI et Tableau. Mais par expérience, je dirai qu'après un certain temps, lorsque l'analyste crée quelques rapports simples et a besoin de quelque chose de plus complexe, il sera confronté à la nécessité de programmer.

Qlik dispose d'un langage très puissant pour le chargement et le traitement des données. Il existe un langage de formule propriétaire Set Analysis. Par conséquent, l'analyste doit être capable d'écrire des requêtes et des connexions, de placer des données dans des tables virtuelles et d'utiliser activement des variables. Les possibilités de la langue sont très larges, mais elle nécessitera son étude. Tous les analystes Qlik que je connais ont probablement une formation informatique sérieuse.

Les intégrateurs Qlik, comme nous, aiment souvent parler du modèle associatif, lorsque lors du chargement des données ils sont tous placés en RAM, et la communication entre les données est réalisée par le mécanisme interne de la plateforme. Qu'à un choix de valeurs, les sous-requêtes internes ne sont pas faites, comme dans les bases de données classiques. Les données sont générées presque instantanément en raison de valeurs et de relations pré-indexées.

Vrai dans la pratique, cela conduit à la création de jointures de table automatiques lorsque les noms de champ correspondent. Par exemple, vous ne pouvez pas avoir des tables différentes sans relations qui ont le même champ. Vous devez vous y habituer. Vous devez soit renommer les colonnes et vous assurer que les noms ne correspondent pas, soit combiner toutes les tables de faits en une seule et les entourer de répertoires de type «étoile». C'est probablement pratique pour les débutants, mais pour les analystes expérimentés, cela ne fait aucune différence.

Une interface typique de chargement et de traitement de données analytiques ressemble à ceci.
image
Figure 3. Éditeur de chargement de données Qlik Sense, tableau Calendrier

Remarque: Dans Power BI, la situation est généralement différente, vous laissez différentes tables de faits et livres de référence, vous pouvez joindre manuellement les tables de la manière classique, c'est-à-dire Je mappe les colonnes les unes aux autres manuellement.

Tableau


Les développeurs de Tableau se positionnent comme BI avec une interface pratique et conviviale qui permettra à l'analyste d'étudier indépendamment leurs données. Oui, dans notre entreprise, il y avait des analystes qui pouvaient faire leurs rapports sans expérience informatique. Mais je vais baisser le score de Tableau pour plusieurs raisons:
- Localisation faible avec la langue russe
- Les serveurs Tableau Online ne sont pas en Fédération de Russie
- Un constructeur de charge assez simple commence à poser des problèmes lorsque vous devez créer un modèle de données assez complexe.
image
Figure 4. Constructeur de chargement de données Tableau

L'une des questions que nous posons lors de l'entretien avec les analystes de Tableau est «Comment construire un modèle de tables de faits avec des tables de référence sans tout mettre dans une seule table?!» Le mélange des données nécessite une utilisation réfléchie. J'ai corrigé plusieurs fois mes erreurs de duplication de données analytiques après de telles associations.

De plus, Tableau a un système assez particulier, lorsque vous créez chaque graphique sur une feuille de feuille distincte, puis créez un tableau de bord, où vous commencez à placer les feuilles créées. Ensuite, vous pouvez créer une histoire, c'est une combinaison de différents tableaux de bord. Le développement dans Qlik et Power BI est plus facile à cet égard, vous avez immédiatement jeté des modèles de graphique sur la feuille, défini des mesures et des dimensions, et le tableau de bord est prêt. Il me semble que les coûts de main-d'œuvre pour préparer chez Tableau augmentent.

2. Sources de données et téléchargement


image

Il n'y a pas de leader clair dans cette section, mais nous mettrons en évidence Qlik en raison de quelques fonctionnalités intéressantes.

Tableau dans la version gratuite est limité dans les sources, mais dans nos articles, nous nous concentrons davantage sur les entreprises, et les entreprises peuvent se permettre des produits et des analystes commerciaux. Par conséquent, Tableau n'a pas abaissé le score pour ce paramètre.
image
Figure 5. Liste des sources possibles de Tableau

Sinon, la liste des sources est impressionnante partout - tous les fichiers de table, toutes les bases de données standard, les connexions Web, tout fonctionne partout. Je n'ai pas rencontré de stockages de données non standard, peut-être y a-t-il des nuances, mais dans la plupart des cas, vous n'aurez pas de problèmes pour charger les données. L'exception est peut-être seulement 1C. Il n'y a pas de connecteurs directs à 1C.

Les partenaires de Qlik en Russie vendent leurs propres connecteurs pour 100 000 à 200 000 roubles, mais dans la plupart des cas, il est moins coûteux de télécharger de 1C vers FTP vers une base de données Excel ou SQL. Et vous pouvez publier la base de données 1C sur le Web et vous y connecter en utilisant le protocole Odata.

PowerBI et Tableau peuvent le faire en standard, mais Qlik demandera un connecteur payant, il est donc également plus facile de télécharger vers une base de données intermédiaire. Dans tous les cas, tous les problèmes de connexion peuvent être résolus.
image
Figure 6. Liste des sources possibles de Qlik Sense

De plus, il convient de noter une caractéristique de Qlik: ils fournissent des connecteurs payants et gratuits en tant que produit distinct.
image
Figure 7. Connecteurs Qlik Sense supplémentaires

J'ajouterai par expérience qu'avec de grandes quantités de données ou de nombreuses sources, il n'est pas toujours conseillé de connecter immédiatement un système de BI. Les projets sérieux utilisent généralement un entrepôt de données, une base de données avec des données déjà préparées pour l'analyse, etc. Vous ne pouvez pas prendre et télécharger disons 1 milliard d'enregistrements dans le système de BI. Ici, il est déjà nécessaire de réfléchir à l'architecture de la solution.
image
image
Figure 8. Sources de données Power BI

Mais pourquoi Qlik s'est-il démarqué? J'aime vraiment 3 choses:
- Fichiers QVD
Propre format de stockage des données. Parfois, vous pouvez créer des projets commerciaux sérieux uniquement sur des fichiers QVD. Par exemple, le premier niveau est constitué de données brutes. Le deuxième niveau est les fichiers traités. Le troisième niveau est constitué de données agrégées, etc. Ces fichiers peuvent être utilisés dans différentes applications, différents employés et services peuvent en être responsables. La vitesse de téléchargement de ces fichiers est dix fois plus rapide que celle des sources de données conventionnelles. Cela vous permet d'économiser sur la base de données et d'échanger des informations entre différentes applications Qlik.

- Chargement incrémentiel des données
Oui, Power BI et Tableau peuvent également le faire. Mais Power BI nécessitera une version Premium coûteuse, et Tableau n'a pas la même flexibilité que Qlik. Dans Qlik sur les fichiers QVD, vous pouvez prendre des instantanés du système à différents moments, puis traiter ces données comme vous le souhaitez

- Connexion de scripts externes
En plus des fichiers QVD pour le stockage des données, dans le code de script Qlik, vous pouvez également être déplacé en dehors de l'application et connecté à l'aide de la commande Inclure. Cela vous permet déjà d'organiser le travail d'équipe, d'utiliser des systèmes de contrôle de version, de gérer un code unique pour différentes applications. Power BI dispose d'un éditeur de requêtes avancé, mais nous n'avons pas pu configurer un tel travail d'équipe comme dans Qlik. En général, tous les BI ont des problèmes avec cela; il est tout simplement impossible de gérer les données et le code et les visualisations dans toutes les applications à partir d'un seul endroit. Le maximum que nous avons pu faire était de rendre les fichiers QVD et le code de script. Les éléments visuels doivent être modifiés dans les rapports eux-mêmes, ce qui ne nous permet pas de modifier massivement les visualisations de tous les clients en même temps.

Mais qu'en est-il d'un mécanisme comme une connexion Live? Tableau et Power BI prennent en charge une connexion LIVE à un certain nombre de sources, contrairement à Qlik. Nous sommes plutôt indifférents à cette fonctionnalité, car la pratique montre qu'en matière de big data, travailler avec une connexion LIVE devient tout simplement impossible. Et dans la plupart des cas, la BI est nécessaire pour les mégadonnées.

3. Nettoyage des données, ETL (Extraire, Transformer, Charger)


image

Dans cette section, j'ai 2 leaders, Qlik Sense et Power Bi.
Disons simplement que Qlik est puissant, mais difficile. Vous comprendrez leur langage de type SQL et vous pourrez faire presque tout - tables virtuelles, jointures et jointures de tables, parcourir la table et générer de nouvelles tables, un tas de commandes de traitement de lignes. Par exemple, un champ dans 1 cellule, qui est bouché avec des données comme «Ivanov 851 White» à la volée, peut être décomposé non seulement en 3 colonnes (comme tout le monde le sait), mais immédiatement en 3 lignes, par exemple. La même chose à la volée pour rendre la combinaison de 3 lignes en 1 est également facile.
image
Figure 9. Comment charger et transposer une table dans Qlik Sense à partir de Google Sheets

Power BI à cet égard est plus simple, mais la plupart des tâches sont facilement résolues via le concepteur de requêtes. Définissez un certain nombre de paramètres, transposez la table, travaillez sur les données, et tout cela sans une seule ligne de code.
image
Figure 10. Comment charger et transposer une table dans Power BI depuis AmoCRM

Tableau semble avoir une idéologie différente. Ils sont plus pour la beauté et le design. Connecter un tas de sources différentes, les combiner toutes et traiter à l'intérieur de Tableau me semble très difficile. Dans les projets commerciaux, dans la plupart des cas, Tableau prépare et accumule déjà des données dans des stockages et des bases de données.
image
Figure 11. Comment charger et transposer une table dans Tableau

4. Visualisation


image

Dans cette section, nous n'avons pas mis en évidence le leader. Nous aurons un article séparé où, en utilisant l'exemple d'un cas, nous montrerons le même rapport dans les 3 systèmes (article «Analyse des filles à faible responsabilité sociale») . Il y a plus à voir avec le goût et la compétence de l'analyste. Sur Internet, vous pouvez trouver de très belles images construites sur la base de l'un de ces systèmes. Les capacités de visualisation de base sont à peu près les mêmes pour tout le monde. Le reste est résolu à l'aide d'Extensons. Il y a payé, gratuit. Il existe des extensions des fournisseurs eux-mêmes, ainsi que des pigistes et des intégrateurs. Vous pouvez vous-même écrire votre propre extension de visualisation pour n'importe quelle plate-forme.

J'aime le style de Tableau, je le considère strict et corporatif. Mais obtenir une image vraiment belle dans Tableau est difficile. Un excellent exemple de rendus Tableau qui utilisent uniquement des extensions. Je ne pourrai pas répéter cela, car Je n'ai pas ces extensions, mais c'est magnifique.
image
Figure 12. Apparence des rapports d'extensions Tableau c

Power BI peut également être rendu intéressant.
image
Figure 13. Apparence des rapports des extensions Power Bi c

La seule chose que je ne comprends pas dans Power BI, c'est pourquoi ils ont des couleurs si étranges par défaut. Sur n'importe quel graphique, je dois changer la couleur pour ma propre entreprise et celle de l'entreprise et je suis étonné de la couleur standard.

Qlik Sense dépend également des extensions. L'utilisation de modules complémentaires peut modifier les rapports au-delà de la reconnaissance. Vous pouvez également rouler votre propre thème et design.
image
Figure 14. Apparence des rapports des extensions Qlik Sense c

Du point de vue du développeur, Qlik Sense est plus pratique pour moi en raison des options standard comme les mesures et mesures alternatives. Il est possible de définir plusieurs dimensions et mesures dans les paramètres de visualisation, et l'utilisateur peut facilement spécifier ce qu'il doit regarder sur un graphique particulier.

Dans Power Bi et Tableau, je dois configurer les paramètres, les boutons et programmer le comportement du système en fonction de ces paramètres. Je me demande pourquoi c'est si difficile. La même chose avec la possibilité de changer le type de viloise.

Dans Qlik, vous pouvez masquer différents types de visualisations dans un objet, et dans Power BI et Tableau, cela est plus difficile. Encore une fois, cela dépend davantage de la compétence de l'interprète. Vous pouvez créer un chef-d'œuvre dans n'importe quel système, mais sans expérience, des graphismes inexpressifs seront obtenus partout.

5. Environnement d'entreprise - serveur, rapports


image

Tous les produits ont des versions de serveur d'entreprise. J'ai travaillé avec toutes les éditions et je peux dire que tout le monde a ses forces et ses faiblesses. Le choix du produit doit être sélectionné à partir de vos exigences logicielles, en tenant compte de leurs nuances. Tous les fournisseurs peuvent bénéficier de droits à la fois au niveau des comptes et des groupes et au niveau de la sécurité au niveau des lignes de données. Les rapports planifiés sont automatiquement mis à jour.

Qlik Sense Enterprise est une excellente occasion de créer des analyses au sein de votre organisation pour les moyennes entreprises. Cela peut sembler plus cher que Power BI Pro, mais n'oubliez pas que les serveurs Power BI Pro sont situés dans le cloud sur le territoire de Microsoft et que vous ne pouvez pas affecter les performances, et lorsque vous avez besoin de Power BI Premium, qui peut être déployé sur vos serveurs, alors Le prix commence à partir de 5000 $ par mois.

image

Qlik Sense Enterprise commence à 230 000 roubles. pour 5 licences (frais annuels, puis uniquement support technique), ce qui est beaucoup plus abordable que Power BI Premium. Et Qlik Sense Enterprise vous permettra de profiter pleinement de Qlik. Peut-être sauf un. Pour une raison quelconque, Qlik a décidé qu'une fonction telle que la possibilité d'envoyer des rapports au format PDF par e-mail devrait être fournie en tant que service NPrinting distinct.

Mais Qlik Sense Enterprise est plus puissant que Power BI Pro, et la comparaison suivante peut donc être effectuée ici.

Qlik Sense Enterprise = Power BI Premium, à capacités égales, est moins cher avec des déploiements moyens. Les implémentations volumineuses sont généralement calculées déjà du côté du fournisseur, où elles peuvent donner des conditions individuelles pour votre entreprise.

À cet égard, nous donnerons la préférence à Qlik Sense Enterprise, il y a toutes les opportunités de construire des analyses sérieuses sur d'énormes données. À notre avis, Qlik fonctionnera plus rapidement que Power BI sur des baies de grande taille, lors des conférences Qlik, des clients ont d'abord testé leurs données dans des milliards d'enregistrements et Power BI a montré de moins bons résultats.
image
Figure 15. Apparence des rapports Qlik Sense Enterprise Server

Qlik Sense Cloud = Power BI Pro. Qlik Sense Cloud coûte 1,5 fois plus cher * et il y a une limitation très importante que cette plateforme ne nous permet pas. Vous ne pouvez pas utiliser d'extensions, même intégrées. Et sans extensions, Qlik perd un peu sa beauté visuelle.
image
Figure 16. Apparence du panneau de configuration de Power BI Pro

* Une alternative consiste à utiliser Qlik Sense Enterprise par abonnement. Mais pour que cet article ne soit pas perçu comme de la publicité, nous ne couvrirons pas nos tarifs


Et Tableau est un peu à l'écart pour nous. Ils ont à la fois des abonnements cloud de 70 $ par développeur et 15 $ par vue, et des solutions de serveur coûteuses. Mais l'idée principale de Tableau est que pour les mégadonnées, vous devez traiter les données et les stocker sur le côté. Objectivement, moins de fonctionnalités ne permettent pas un traitement sérieux des données dans Tableau. Visualisez, analysez, oui. Mais pour les petites et moyennes entreprises, il est généralement difficile de créer un stockage séparé. J'aurais donc sous-estimé le score de Tableau donc, sinon pour leur 1 puce. Le serveur Tableau envoie des e-mails sans problème selon un calendrier avec des pièces jointes en CSV ou PDF. Et vous pouvez faire la distribution des droits, des filtres automatiques et plus encore. Pour une raison quelconque, Power BI et Qlik ne peuvent pas le faire, mais pour quelqu'un, cela peut être critique. Pour cette raison, Tableau maintient une position dans notre litige.

image
Figure 17. Apparence du panneau de configuration de Tableau Server

Toujours dans l'environnement d'entreprise, vous devez penser au coût de mise en œuvre et de maintenance. En Russie, la pratique a montré que Power BI est plus courant dans les petites entreprises. Cela a conduit à l'émergence d'un grand nombre de postes vacants et de CV, l'émergence de petits intégrateurs. Cela vous permettra de trouver des spécialistes pour un petit projet. Mais très probablement, ils n'auront pas tous l'expérience de grandes implémentations et ne travailleront pas avec le Big Data. Qlik et Tableau sont l'inverse. Il y a peu de partenaires Qlik et Tableau encore moins. Ces partenaires se spécialisent dans les déploiements importants avec une facture moyenne élevée. Il n'y a pas beaucoup de postes vacants et de CV sur le marché, le seuil d'entrée sur ces produits est plus compliqué que dans Power BI. Mais en Russie, il y a des introductions réussies de ces produits à des milliers d'utilisateurs et ces produits se montrent bien sur les mégadonnées. Il vous suffit de comprendre les forces et les faiblesses des produits appliqués spécifiquement à votre entreprise.

6. Prise en charge des appareils mobiles.


image

Dans cette section, nous mettons en évidence Power BI et Tableau. Vous pouvez installer des applications mobiles et elles apparaîtront de manière assez adéquate sur les écrans des appareils mobiles. Bien qu'il nous semble que l'analyse sur les appareils mobiles perd l'analyse sur un PC. Tout de même, ce n'est pas si pratique d'utiliser des filtres, les images sont petites, les chiffres difficiles à voir, etc.

image
Figure 18. Apparence du rapport Power BI sur iPhone

image
Figure 19. Apparence du rapport Tableau sur iPhone

image
Figure 20. Apparition du rapport Qlik Sense sur iPhone

Pourquoi les points Qlik sont-ils sous-estimés? Pour des raisons inconnues de nous, le client mobile n'est disponible que sur iPhone; sur Android, vous devrez utiliser un navigateur classique. De plus, lorsque vous utilisez Qlik, vous devez immédiatement comprendre qu'un certain nombre d'extensions ou de visualisations ne sont pas réduites ou positionnées automatiquement dans les appareils mobiles comme prévu.Un rapport qui a l'air très agréable sur un PC est bien pire sur un petit écran. Nous devons faire un rapport distinct pour les appareils mobiles, où supprimer les filtres, les KPI et un certain nombre d'objets. Cela s'applique également à Power BI ou Tableau, mais dans Qlik, c'est particulièrement prononcé. Nous espérons que Qlik travaillera sur son client mobile.

Si vous prévoyez d'effectuer des analyses à partir d'appareils mobiles beaucoup de temps, il est logique de mettre les 3 clients et de vérifier leur affichage sur les rapports de test. Tout fournisseur sur son site Web a une galerie de rapports de test pour examen.

7. Analytique intégrée dans des applications / sites tiers


image

L'utilisation de l'analyse en tant que service tiers n'est pas toujours pratique. Peut-être que vous développez votre produit, mais vous n'êtes pas prêt à commencer à zéro le moteur de visualisation et d'analyse. Vous souhaitez peut-être déployer des analyses sur votre site Web afin que le client s'enregistre, télécharge ses données et analyse dans son compte personnel. Pour ce faire, vous avez besoin d'Embedded Analytics.
Tous les produits vous permettent de le faire, mais dans cette catégorie, nous mettons en évidence Qlik.

Power Bi et Tableau indiquent clairement qu'à de telles fins, vous devez acheter un produit distinct Tableau Embedded Analytics ou Power BI Embedded. Ce ne sont pas des solutions bon marché en milliers de dollars par mois, ce qui limite immédiatement leur utilisation. La plupart des projets deviennent immédiatement non rentables pour nos clients. Cela signifie que vous devez non seulement publier un rapport de l'ensemble d'Internet, mais aussi assurer la publication de rapports selon certains accès, avec protection des données, autorisation de l'utilisateur, etc.

Et Qlik vous laissera sortir. Bien sûr, ils ont également une plate-forme Qlik Analytics qui est concédée sous licence au serveur et organise un nombre illimité de connexions. Il sera également coûteux comme les concurrents Tableau et Power Bi. Et dans le cas de connexions illimitées, il n'y a pas particulièrement d'options.

Mais Qlik a un concept comme Mashup. Disons que vous avez Qlik Sense Enterprise et 10 licences. Analytique standard, apparence, tout est déjà fatigué. Vous créez votre propre site Web ou application, et vous pouvez implémenter toutes vos analyses sur place. L'astuce est que, pour le dire simplement, Mashup est une visualisation dans le code du programme. Par API, vous pouvez configurer par programme la création de visualisation à l'intérieur de votre application ou site. Vous aurez toujours besoin de Qlik Sense Enterprise pour l'octroi de licences (licences pour la connexion au site = licences pour la connexion à BI), pour le téléchargement de données, etc., mais les visualisations ne seront pas affichées côté serveur, mais seront intégrées à votre application ou site. Vous pouvez utiliser des styles CSS, définir de nouvelles polices et couleurs. Vos 10 utilisateurs ne se connecteront plus au serveur d'analyse,Ils utiliseront votre portail ou application d'entreprise. Analytics atteindra un nouveau niveau.

image
Figure 21. Apparence du rapport Qlik Sense intégré au site Web

Il sera déjà difficile de comprendre où se trouvent les éléments du site et où Qlik Sense commence déjà.
Bien sûr, vous aurez besoin d'un programmeur, ou plutôt de quelques-uns. Un pour la programmation Web, un pour travailler avec l'API Qlik. Mais le résultat en vaut la peine.

Conclusions Pour résumer.


image

Il est difficile de dire sans équivoque qui est le meilleur et qui est le pire. Power BI et Qlik dans nos concurrents sont sur un pied d'égalité, Tableau est légèrement inférieur. Mais peut-être que pour votre entreprise, le résultat sera différent. Dans les plateformes de BI, le composant visuel est très important. Si vous avez regardé des dizaines de rapports de démonstration et d'images sur Internet pour tous les systèmes de BI et que vous n'aimez pas l'apparence de l'une des plates-formes, alors vous ne la mettrez probablement pas en œuvre, même si vous êtes satisfait du prix ou de ceux-ci. caractéristiques.

Ensuite, vous devrez certainement calculer le coût des licences, la mise en œuvre et le contenu de la plateforme de BI. Peut-être que dans votre cas, un leader sera révélé. L'entrepreneur ou la possibilité d'embaucher un spécialiste approprié est d'une grande importance. Sans professionnels sur aucune plateforme, le résultat sera désastreux.

Intégration BI réussie pour vous, Andrey Zhdanov et Vladimir Lazarev, Analitiks Group

Source: https://habr.com/ru/post/fr444758/


All Articles