Middle
Nədir dəyişməz infrastruktur (Immutable Infrastructure)?
sobes.tech Süni İntellekt
AI-dan cavab
Bu yanaşmada infrastruktur komponentləri (serverlər, konteynerlər) yerləşdirildikdən sonra dəyişdirilmir. Hər hansı bir dəyişiklik, lazım olan konfiqurasiyalarla yeni komponent nümunəsinin yaradılmasını və köhnəsinin əvəz olunmasını tələb edir.
Əsas fikirlər:
- Geri alma asanlığı: Əgər yeni versiya problemlərə səbəb olursa, sadəcə trafiki köhnə, dəyişməz nümunələrə yönəldərək asanlıqla əvvəlki vəziyyətə qayıtmaq mümkündür.
- Etibarlılıq: "Konfiqurasiya sürüşməsi" (configuration drift) riskini aradan qaldırır, bu da işləyən serverlərdə əl ilə edilən dəyişikliklərin uyğunsuz vəziyyətlərə səbəb olmasının qarşısını alır.
- Testin asanlığı: Hər yerləşdirilən nümunə eyni şəkildə qurulur, bu da inkişaf, test və istehsal mühitlərini daha çox oxşar edir.
- Miqyaslama: Yatay miqyaslama və avtomatlaşdırılmış klaster idarəetməsi ilə yaxşı işləyir.
Tətbiq nümunələri:
- Virtual maşın şəkillərinin (AWS-də AMI) və ya konteynerlərin (Docker şəkilləri) istifadəsi, bunlar bir dəfə qurulur və işə salındıqdan sonra dəyişdirilmir.
- Packer kimi alətlərdən istifadə edərək şəkillər yaradılması.
- Kubernetes kimi orkestratorlar, konteynerlərin həyat dövrünü idarə edir və köhnə podların yeni podlarla asanlıqla dəyişdirilməsinə imkan verir.
Dəyişdirilə bilən infrastruktur ilə müqayisədə:
| Xüsusiyyət | Dəyişdirilə bilən infrastruktur | Dəyişdirilməz infrastruktur |
|---|---|---|
| Dəyişikliklər | Birbaşa işləyən nümunələrdə edilir | Yeni nümunə yaradılır, köhnə əvəz olunur |
| Geri alma | Çətin, əl ilə hərəkət tələb edir | Asan, köhnə nümunələrə keçid |
| Etibarlılıq | Konfiqurasiya sürüşməsi riski | Yüksək tutarlılıq |
| İdarəetmə | Tez-tez əl ilə idarəetmə, konfiqurasiya | Şəkillərdən istifadə, avtomatlaşdırma |
Bu yanaşma, komponentlərin yaradılması və yerləşdirilməsində daha çox avtomatlaşdırma tələb edir, lakin infrastrukturun proqnozlaşdırıla bilməsi və etibarlılığını əhəmiyyətli dərəcədə artırır.