Le modèle de serveur immuable est une discipline de déploiement favorisant la reproductibilité des déploiements. Elle se caractérise par le fait qu '« un serveur qui, une fois déployé, n'est jamais modifié, est simplement remplacé par une nouvelle instance mise à jour » et la mise en œuvre de cette discipline nécessite une automatisation du déploiement du serveur. Cette automatisation présente de nombreux avantages opérationnels, l'un des plus importants étant de permettre le remplacement rapide et fiable des instances défaillantes dans une infrastructure. Cette automatisation implique également que le déploiement du serveur est décrit par des artefacts logiciels versionnés et fait l'objet d'améliorations itératives.
Un aspect populaire des implémentations de cette discipline est la suppression des méthodes d'accès à distance au serveur une fois qu'il a été lancé (en particulier la suppression de l'accès SSH). La suppression de l'accès à distance est un moyen simple de garantir que la configuration du serveur correspond à la configuration préparée par l'automatisation du déploiement.
Cependant, pour enquêter sur les causes d'une défaillance logicielle dans un post-mortem , s'appuyer sur une surveillance structurée n'est pas toujours suffisant et un accès à distance à la machine peut être nécessaire. Il est courant que la surveillance du serveur ne couvre pas toutes les sources de défaillance ou que la surveillance puisse être altérée par la défaillance du serveur elle-même, ce qui serait probablement le cas si le serveur manque de mémoire ou atteint sa limite de processus.
Comment implémenter le modèle de serveur immuable sans perdre la possibilité de faire des post-mortems?