Zrozumienie konfiguracji idempotentnej
Idempotencja to matematyczny termin, który może być używany w "Infrastructure as Code" i "Configuration as Code". Może ona zastosować co najmniej jedną operację względem zasobu, co spowoduje taki sam wynik.
Na przykład uruchomienie skryptu w systemie powinno mieć taki sam wynik pomimo liczby wykonanych skryptów. Nie powinno się pojawiać błędów ani wykonywać tych samych działań niezależnie od początkowego stanu środowiska.
W istocie, jeśli stosujesz wdrożenie do zestawu zasobów 1000 razy, po każdym zastosowaniu skryptu lub szablonu należy uzyskać ten sam wynik.
Można osiągnąć idempotentność, wykonując następujące czynności:
- Automatyczne konfigurowanie i ponowne konfigurowanie istniejącego zestawu zasobów.
- Odrzucanie istniejących zasobów i ponowne tworzenie nowego środowiska.
Podczas definiowania pojęć takich jak Infrastrukturę jako Kod oraz Konfigurację jako Kod, zaleca się tworzenie skryptów i szablonów w taki sposób, aby zapewniały idempotentność.
To niezbędne podczas pracy z usługami w chmurze, ponieważ zasoby i aplikacje można regularnie rozszerzać i zmniejszać. Nowe wystąpienia usług można uruchomić w celu zapewnienia elastyczności usług.
Notatka
Możesz przeczytać więcej na temat idempotencji na stronie Idempotency for Windows Azure Message Queues.