Les nouveautés de la V4 dévoilées
(Source : écrit par Armin Marx, sur le blog SMS Gateway le 03 Sept. 2019 | lien)
Dans ce billet de blog, j’aimerais expliquer les changements de SMS Gateway Version 4 par rapport à l’ancienne version 3 de SMS Gateway et les problèmes qu’ils ont causés. Comme l’interface web et le comportement de la passerelle SMS n’ont pas changé, vous pourriez avoir l’impression que rien n’a changé. Un bon point de départ est le pipeline de construction.
Construction d’un pipeline
Dans un précédent article de blog, je vous ai déjà présenté le pipeline de construction d’une passerelle SMS version 4. Le pipeline de construction de la version 4 a été complètement retravaillé pour minimiser l’intervention manuelle. Le résultat est un pipeline de construction qui crée automatiquement une image de passerelle SMS dès qu’un changement de code est effectué.
Le pipeline de construction de la version 3 contenait encore quelques étapes manuelles. Comme le facteur humain est toujours une source d’erreur, cette source d’erreur a été exclue.
Cloisonnement
Le disque dur de la passerelle SMS de la version 3 ne contenait que les partitions les plus nécessaires. Ainsi, une mise à jour du firmware peut être jouée exclusivement via le clignotement de la passerelle SMS.
Dans la version 4 de la passerelle SMS, des partitions supplémentaires ont été ajoutées pour permettre une mise à jour du firmware. Un dernier clignotement est donc nécessaire lors du passage à la version 4.
Système d’exploitation
La version 3 était basée sur Debian 7, mais comme cette version est maintenant obsolète et n’est plus supportée par la communauté Debian, un changement était également nécessaire ici. Ce changement a été fait avec la version 4 à Debian 8. Cette étape est bonne, mais en fin de compte, il ne suffit pas de garder le système d’exploitation à l’épreuve du temps. Ce point est donc également important pour la mise à jour du logiciel.
Logiciels utilisés
Les progiciels utilisés ont également changé. Apache2 est maintenant utilisé comme serveur web au lieu de Lighttp. La base de données est également passée de SQLite à MySQL. D’autres progiciels ont également été installés, comme par exemple le HAProxy. Les autres progiciels ont été automatiquement mis à jour via le pipeline de construction. Ces changements ont tous été mis en œuvre dans le pipeline de construction.
Le changement des progiciels a bien sûr eu aussi quelques conséquences. En raison d’un concept de sécurité étendu, une nouvelle couche a été créée dans la passerelle SMS qui n’est utilisée que pour configurer ces paquets. Cette nouvelle couche devait également être implémentée. Pour des raisons de sécurité, le serveur Web exécuté ne peut apporter aucune modification à la configuration. Celles-ci doivent toujours être traitées via la couche de configuration. Ainsi, seuls les changements réellement prévus sont possibles. Les progiciels utilisés sont également pertinents pour la mise à jour du firmware, nous y reviendrons plus loin.
Adaptation des bases de données
La base de données complète doit également pouvoir être mise à jour via le pipeline de construction. Le pipeline de compilation charge les modifications de la base de données via un référentiel git pour s’en assurer. L’un des plus gros problèmes était que la base de données devait également pouvoir être mise à jour. Cependant, le versionnement et la vérification de la base de données pendant le processus de démarrage ont résolu ce problème.
Configuration Importation Exportation
La possibilité d’une exportation d’importation de configuration n’existait pas encore avec la version 3.
L’exportation de l’importation de la configuration. Une fonctionnalité attendue depuis longtemps, qui a également été livrée avec la version 4. L’implémentation originale prévoyait une sélection des différents domaines de configuration. Toutefois, ceci a été écarté pour le moment, car l’importation et l’exportation doivent également fonctionner d’une version à l’autre. Si une exportation de la version 4.0.2 signifie qu’il doit être possible d’importer la version 5.0.0 sur une passerelle SMS également. La sélection n’a donc pas encore été mise en œuvre.
Mise à jour du micrologiciel
Une autre nouveauté de la version 4 est la possibilité de mettre à jour le firmware. Dans la version 3, la passerelle SMS devait être refaite manuellement à chaque mise à jour, ce qui signifiait un travail supplémentaire pour nos clients.
Le partitionnement susmentionné permet de mettre à jour et de compléter le système d’exploitation, y compris les progiciels installés. Toutes les données sont externalisées de telle sorte qu’il est possible de modifier l’ensemble du logiciel. Comme une mise à jour logicielle peut également modifier le schéma de la base de données et qu’une mise à jour du firmware peut avoir lieu à tout moment, à chaque redémarrage de la passerelle SMS, il est vérifié si une nouvelle mise à jour du firmware a été installée et si le schéma de base de données doit être adapté. Ceci est également compatible vers le bas et vers le haut avec les versions SMS Gateway à partir de la version 4.
Conclusion
La version 4 contient de nombreuses nouvelles fonctionnalités et améliorations qui rendent la passerelle SMS prête pour l’avenir. Le pipeline de la nouvelle construction permet d’exclure le facteur humain comme source d’erreur et de s’assurer que seuls les changements réellement prévus sont mis en œuvre. La possibilité d’exporter et d’importer la configuration ainsi que de mettre à jour le firmware facilite grandement son utilisation par l’utilisateur final.