प्रत्येक साधनाने काहीतरी वाईट गोष्ट बदलली — आणि तेच साधन कुठेतरी चुकीचे ठरते. या कोर्समधील प्रत्येक मोठ्या कल्पनेसाठी: ती येण्याआधी जीवन कसे होते, तिचे प्रामाणिक फायदे ✅ आणि तोटे ❌, आणि कुठे वापरावी 👍 विरुद्ध कुठे नाही 👎.
हाताने सांभाळलेल्या VM चे ताफे: प्रत्येक VM वर एक ॲप, SSH + shell स्क्रिप्ट किंवा Ansible ने deploy, हाताने बदललेले लोड बॅलन्सर, scaling = infra टीमकडे तिकीट, आणि पहाटे 3 वाजता पेजर वाजतो कारण एक प्रोसेस मेली आणि काहीही तिला पुन्हा चालू केले नाही. Google ने एक दशक अंतर्गत उत्तर (Borg) चालवले; Kubernetes ही तीच कल्पना, सार्वजनिक. मधल्या काळात Heroku-सारखे PaaS होते — सुंदर सोपे, पण मर्यादित आणि मोठ्या प्रमाणावर महाग — आणि "एका मोठ्या VM वर docker-compose", म्हणजे ट्रेंच कोट घातलेला single point of failure.
एकतर प्रत्येक service साठी एक क्लाउड लोड बॅलन्सर — प्रत्येकाचे खरे पैसे, गुणिले प्रत्येक service, गुणिले प्रत्येक environment — किंवा हाताने चालवलेली nginx VM जी एकच धाडसी व्यक्ती समजू शकत असे. Ingress ने "एक गेट, अनेक खोल्या" ही declarative वस्तू बनवली.
क्षमता-नियोजनाच्या बैठका. तुम्ही peak load चा अंदाज केलात, तेवढे सर्व्हर विकत घेतलेत, आणि मंगळवारी पहाटे 3 वाजताही त्यांचे पैसे भरलेत. अंदाज चुकला? एकतर निकालाच्या दिवशी outage किंवा रिकाम्या लोखंडाचे रॅक. "Scaling" म्हणजे क्रिकेटच्या फायनलदरम्यान माणसाने बटणे दाबणे.
isolation म्हणजे प्रत्येक टीम/प्रोजेक्टसाठी संपूर्ण cluster (किंवा VM ताफा) — कमाल वेगळेपणा, कमाल बिले, आणि cluster अपग्रेडमध्ये बुडालेली ops टीम. Namespaces ने एका इमारतीत हलक्या खोल्या दिल्या.
एक DBA (किंवा सर्वात दुर्दैवी डेव्हलपर) हाताने डेटाबेस सर्व्हर सांभाळत असे: install, patch, कोणीही न तपासलेले backup, आणि घामाच्या हातांनी live केलेले failover. RDS-सारख्या सेवांनी (2009+) याचे भाड्याच्या, स्वयंचलित ग्रंथपालात रूपांतर केले.