मार्टिन फाउलर के इमोटिकेबल सर्वर पर ब्लिकी लेख पर सबसे अच्छा स्पष्टीकरण (हमेशा की तरह) पाया जा सकता है ।
एक सर्वर, यह हार्डवेयर या क्लाउड में एक वर्चुअल सर्वर हो सकता है, आमतौर पर एक ऑपरेटिंग सिस्टम और एप्लिकेशन इस पर चल रहा है।
अक्सर अनुप्रयोग, और ऑपरेटिंग सिस्टम के घटक, कॉन्फ़िगरेशन की आवश्यकता होती है और लागू होने के लिए परिवर्तनों की आवश्यकता होती है। उदाहरण के लिए सुरक्षा पैच, एप्लिकेशन और कॉन्फ़िगरेशन परिवर्तन के नए संस्करणों की तैनाती।
जब आप मानते हैं कि कोई भी परिवर्तन सर्वर की स्थिति पर एक उत्परिवर्तन है, तो शब्द immutable
अधिक समझ में आने लगता है। इसका मतलब है कि इस तरह के सर्वर पर किसी भी म्यूटेशन की अनुमति नहीं है।
यह अक्सर ऐसा होता है, जब लोग सर्वर की स्थिति को बदलने में शामिल होते हैं - चाहे वह एक संस्करण की तैनाती हो, या कॉन्फ़िगरेशन परिवर्तन, या एक सुरक्षा पथ। परिणाम एक सर्वर है जो अब अपेक्षा के अनुरूप काम नहीं कर रहा है। उदाहरण के लिए, ग़लतफ़हमी, आदि के कारण एप्लिकेशन अब नहीं चल सकता है।
यही कारण है कि अपरिवर्तनीय सर्वर बनाने के लिए एक अभ्यास स्थापित किया गया है। अपरिवर्तनीय सर्वर के साथ , सर्वर की एक छवि को सभी कॉन्फ़िगरेशन, पैच, एप्लिकेशन संस्करणों के साथ बनाया जाता है। फिर उस सर्वर छवि का उपयोग विभिन्न वातावरणों में सर्वर बनाने के लिए किया जा सकता है।
पहला वातावरण जहां ऐसी छवि का उपयोग किया जाता है, वह ऐसा वातावरण होगा जहां छवि को काम करने के लिए परीक्षण किया जा सकता है। किसी भी असामान्यता का पता लगाया जाता है, और उसके बाद ही ऐसी छवि को नए संस्करण (जो अच्छी तरह से काम करने के लिए जाना जाता है) के साथ सर्वर को बदलने के लिए एक उत्पादन वातावरण में बढ़ावा दिया जा सकता है ।
एक बार छवियों को बनाने और छवियों को बढ़ावा देने की प्रक्रिया स्वचालित होने के बाद, आपको एक बहुत ही विफलता-प्रूफ प्रक्रिया मिलती है जिसमें बहुत कम मानवीय प्रयास और आपकी सेवा में विफलता का परिचय देने के लिए बहुत कम मौका होता है।
अक्सर अपरिवर्तनीय सर्वरों में उन्हें "दर्ज" करने का कोई तरीका भी शामिल नहीं होता है, जैसे उदाहरण के लिए ssh सर्वर गायब है। इस मामले में यह अक्सर ऐसा भी होता है कि सर्वर (मेट्रिक्स, लॉग) की सभी मेट्रोलोजी को मेट्रिक्स डेटाबेस या लॉग एग्रीगेशन सेवा जैसे सिस्टम से बाहर भेज दिया जाता है।
कंटेनरों के साथ (देखें: डॉकर ) चित्र बनाने के लिए भी एक प्रक्रिया होती है, और फिर इन्हें रनिंग कंटेनर में रखा जाता है। ये अपडेट किए गए चित्रों के आधार पर अक्सर नए कंटेनरों द्वारा प्रतिस्थापित किए जाते हैं, और कभी भी उत्परिवर्तित नहीं होते हैं। मतलब यह है कि कोई भी इंसान बदलाव लाने के लिए "कुछ ठीक करने" के लिए कंटेनर में नहीं जाता है।