Cinq conseils pour réduire les coûts de plate-forme sur site

Avec les fournisseurs de cloud, les clients recherchent des moyens de réduire leurs dépenses et les coûts totaux de leurs applications. Souvent, à mesure que les entreprises se développent et que de plus en plus de cas d'utilisation sont à bord, il est nécessaire d'acheter plus de clusters pour faciliter leurs applications.

Cependant, les clusters sont chers. En outre, avec des applications mal optimisées qui entraînent des coûts de maintenance exorbitants, il existe une option latente pour les organisations d'optimiser leurs applications existantes en termes de coût et d'efficacité – les deux ayant un impact positif sur l'entreprise. Dans cet esprit, voici cinq conseils pour réduire les coûts de plate-forme sur site.

VOIR AUSSI: Sans serveur et DevOps en 2020 – "Aller sans serveur est un excellent moyen de réduire les coûts"

Identifier les applications de gaspillage

Un bon point de départ est d'identifier vos applications de gaspillage. Avec différents ensembles de développeurs d'applications soumettant des applications, certains gaspillent inévitablement des ressources et affectent les applications stratégiques. Bien sûr, cela nuit à la performance globale des applications, mais cela a également un impact financier. Cependant, cela peut facilement être déterminé en utilisant les KPI au bon moment pour offrir aux développeurs une vue d'ensemble complète des clusters individuels.

Pour les clusters à un niveau plus détaillé, des plans peuvent être développés pour résoudre les problèmes – et ces plans peuvent être affinés à mesure que les équipes de gestion ajoutent plus de nœuds. Par exemple, si les développeurs identifient une source de problèmes, ils peuvent utiliser les KPI à temps pour identifier l'état exact des applications au point de défaillance. Dans la situation actuelle, les équipes opérationnelles disposent des outils pour comprendre leurs clusters, mais elles sont dans un état réactif plutôt que proactif.

En d'autres termes, les équipes ne peuvent identifier et répondre aux problèmes qu'après leur apparition. Pour les équipes qui souhaitent adopter une attitude plus proactive, elles ont désormais la possibilité d '& # 39; actions automatiques & # 39; à mettre en place qui va y remédier plus rapidement. Par exemple, en créant une réponse automatisée lorsque le "critère X" est satisfait, les systèmes de gestion peuvent empêcher cette application de retarder inutilement d'autres applications critiques.

Une autre étape pour les équipes qui souhaitent adopter une approche proactive consiste à configurer des files d'attente prioritaires pour garantir que les applications significatives maintiennent leurs performances lorsque des applications moins critiques extraient des ressources. En termes simples, les applications de faible priorité peuvent être supprimées à distance.

Maximisez les ressources de cluster existantes

Une situation courante dans laquelle les développeurs se retrouvent à travailler au sein d'un cluster et à découvrir que leurs ressources s'épuisent. Il est courant pour eux de demander plus de nœuds pour améliorer les performances, mais il est important de déterminer d'abord s'ils tirent le meilleur parti de leurs ressources existantes.

Par exemple, il est assez courant que les développeurs copient et collent des commandes de pipeline, mais utilisent la même heure de début. En conséquence, les clusters de ressources sont déséquilibrés et, avec des personnes qui utilisent et exécutent généralement des applications pendant les heures de bureau, nous constatons une utilisation maximale entre 9h00 et 17h00. Cela signifie qu'il y a 16 heures par jour où les applications peuvent être exécutées avec des ressources plus abondantes.

Cette maximisation des ressources existantes améliore les performances des applications existantes, mais permet également de connecter plus d'applications au matériel existant, éliminant ainsi le besoin d'acheter davantage de clusters.

Optimiser le stockage HDFS existant

Bien qu'il semble s'agir d'un problème de base, le stockage HDFS peut être un goulot d'étranglement pour les organisations qui n'ont pas suffisamment d'espace disque pour leurs applications. Cela est particulièrement vrai pour les grandes organisations avec d'énormes charges de travail de données – d'autant plus que l'archivage et les requêtes représentent une charge majeure pour la plupart des clusters.

Pour y remédier, nous devons comprendre comment les équipes utilisent les données et à partir de là développer des stratégies d'archivage des données. Bien qu'il soit possible de dépenser plus et d'augmenter le matériel disponible, l'option la plus viable sur le plan économique est de s'attaquer à ce problème grâce à une utilisation plus intelligente des données. En utilisant les données pour voir qui a créé quelles tables, lors de leur dernière ouverture, combien de partitions il y a, etc., une bonne stratégie d'archivage peut être développée qui supprime les tables qui ne sont pas utilisées par l'entreprise.

De plus, une grande partie de ce processus peut être automatisée en permettant à la politique de fixer des priorités et de créer des tableaux basés sur des statistiques mesurables.

Ajustez bien vos applications

La création d'applications efficaces qui n'allouent pas de ressources est un autre moyen important de réduire les coûts. Cependant, ce processus peut souvent prendre des heures ou des jours, car les équipes doivent collecter manuellement les données nécessaires pour prendre ces décisions.

Pour un développeur Spark, par exemple, toutes ces informations doivent être collectées personnellement; vous devez parcourir les journaux, ouvrir l'interface utilisateur Spark, consulter le serveur d'historique Spark, consulter le gestionnaire de ressources, puis faire des essais et des erreurs pour découvrir le problème. Ce qu'il faut, c'est un modèle de libre-service dans lequel les équipes de données peuvent réduire l'échelle de temps à quelques heures, car les informations sur les applications sont immédiatement disponibles.

Avec des statistiques jusqu'au niveau opérationnel, les équipes reçoivent des informations sur les applications qui sont lentes, qui peuvent être résolues du côté de la configuration et qui ont des données biaisées. Et avec une résolution de solution inférieure, le temps consacré aux problèmes de maintenance et les dépenses de personnel prenant en charge les applications peuvent être réduits. Au lieu de cela, le personnel de soutien peut travailler dans d'autres domaines qui offrent plus de valeur à l'entreprise.

VOIR AUSSI: Ce qu'il en coûte réellement – une étiquette de prix écologique pour le développement de logiciels

Promouvoir de meilleures applications pour la production

Une autre façon de garantir que les ressources des applications sont maximisées dès le départ est de promouvoir de meilleures applications pour la production. Les applications incorrectes qui sont promues en production avec un code incorrect conduisent souvent à d'autres applications qui en souffrent. En s'efforçant d'améliorer l'efficacité du cycle de développement logiciel, les futures applications extrairont moins de ressources. Cela devrait être un effort manuel du chef d'équipe qui effectue une évaluation manuelle du code – ce sont eux qui déterminent que le code est assez bon pour être poussé à différentes étapes.

Cependant, la vérification du code à cette échelle prend du temps. Il existe probablement plusieurs équipes qui créent des applications de données, mais comment gérez-vous la qualité du code du développement à la sauge en passant par l'UAT et la production? De plus, comment pouvons-nous le faire efficacement?

Encore une fois, l'automatisation est une bénédiction pour les équipes de données. En donnant des recommandations basées sur l'API, les chefs d'équipe n'ont pas à évaluer le code tant qu'il n'est pas prêt. Cela peut être implémenté en créant des check-ins qui vérifient indépendamment le code et le renvoient au développeur pour approbation finale. Cela favorise des applications efficaces avec les bonnes dimensions pendant la production tout en minimisant le gaspillage de ressources. L'avantage le plus important est le gain de temps pour les équipes dans le processus de développement, car les chefs d'équipe n'ont pas à tout vérifier manuellement, de sorte que davantage d'applications peuvent être créées à une vitesse plus élevée.

En examinant ces cinq domaines, les organisations peuvent augmenter l'efficacité de leurs charges de travail de données. Cela augmente non seulement la fiabilité, mais réduit également le coût d'achat de plus de nœuds à mesure que l'entreprise se développe. Pour une croissance à long terme, cette approche est intégrale et nécessaire pour garantir que les équipes informatiques puissent passer leur temps dans des domaines autres que la réparation d'applications.

Pensez aux données utilisables – comprenez l'environnement et laissez ces données fonctionner partout pour optimiser les performances, automatiser la résolution des problèmes et maîtriser les coûts.