Niezawodność

Ukończone

Załóżmy, że prowadzisz system do przechowywania danych klinicznych dla organizacji działającej w branży opieki zdrowotnej. Lekarze i inni pracownicy nie tolerują przestojów. Muszą mieć dostęp do systemów informatycznych klinicznych przez całą dobę, aby zapewnić, że zawsze zapewniają najwyższej jakości opiekę.

Aby sprostać ciągłym wymaganiom lekarzy, aplikacje muszą obsługiwać błędy z minimalnym wpływem na użytkowników. W jaki sposób można zadbać o to, aby aplikacje działały prawidłowo, zarówno w przypadku lokalnych zdarzeń, jak i awarii na dużą skalę?

W tej lekcji dowiesz się, jak uwzględnić elementy z filaru niezawodności w projekcie architektury.

Co to jest niezawodność?

W złożonej aplikacji wiele rzeczy może ulec awarii w tym samym momencie i na dowolną skalę. Poszczególne serwery i dyski twarde mogą przestać działać. Problem z wdrożeniem może spowodować przypadkowe usunięcie wszystkich tabel w bazie danych. Całe centra danych mogą stać się nieosiągalne. Oprogramowanie wymuszające okup może złośliwie zaszyfrować wszystkie dane. Ważne, aby aplikacja była niezawodna i umożliwiała odpowiednie postępowanie zarówno w przypadku zdarzeń ściśle zlokalizowanych, jak i tych o szerszym zasięgu.

Projektowanie pod kątem niezawodności koncentruje się na zachowaniu działania w przypadku zdarzeń na małą skalę i tymczasowych warunków, takich jak częściowe awarie sieci. Możesz mieć pewność, że aplikacja obsługuje zlokalizowane błędy, integrując wysoką dostępność z każdym składnikiem. Ten projekt aplikacji eliminuje pojedyncze punkty awarii. Taki projekt architektury minimalizuje również wpływ wynikający z konieczności utrzymania infrastruktury. Projekty o wysokiej dostępności zwykle mają na celu wyeliminowanie wpływu zdarzeń szybko i automatycznie oraz zapewnienia, że system może nadal przetwarzać żądania bez żadnego efektu.

Projektowanie pod kątem niezawodności koncentruje się także na odzyskiwaniu danych po ich utracie oraz po wystąpieniu awarii na większą skalę. Odzyskiwanie danych w przypadku tych typów zdarzeń często obejmuje aktywną interwencję, ale kroki automatycznego odzyskiwania mogą skrócić czas potrzebny do odzyskania danych. Zdarzenia tego typu mogą spowodować pewne przestoje lub trwałą utratę danych. Odzyskiwanie po awarii to zarówno staranne planowanie, jak i wykonanie działań.

Uwzględnienie wysokiej dostępności i możliwości odzyskiwania w projekcie architektury chroni firmę przed stratami finansowymi, które wynikają z przestojów i utraconych danych. Chronią one również twoją firmę przed utratą reputacji spowodowanej utratą zaufania od klientów.

Tworzenie architektury pod kątem niezawodności gwarantuje, że aplikacja spełni zobowiązania firmy wobec klientów. Chcesz mieć pewność, że systemy są dostępne dla użytkowników końcowych i mogą odzyskać sprawność po awarii.

Tworzenie architektury o wysokiej dostępności

Aby uzyskać dostępność, zidentyfikuj umowę dotyczącą poziomu usług (SLA), do której zobowiązujesz się. Zapoznaj się z potencjalnymi możliwościami wysokiej dostępności aplikacji w stosunku do umowy SLA i określ, gdzie masz odpowiednie pokrycie i gdzie należy wprowadzić ulepszenia. Celem jest dodanie nadmiarowości do składników architektury w celu zmniejszenia prawdopodobieństwa wystąpienia awarii.

Przykłady składników projektu o wysokiej dostępności obejmują klastrowanie i równoważenie obciążenia:

  • Klastrowanie zastępuje pojedynczą maszynę wirtualną zestawem skoordynowanych maszyn wirtualnych. Gdy jedna maszyna wirtualna ulegnie awarii lub stanie się nieosiągalna, usługi mogą przełączyć się do innej, która może obsłużyć żądania.

  • Moduł równoważenia obciążenia rozdziela żądania na wiele wystąpień usługi, wykrywając wystąpienia, które uległy awarii, i uniemożliwiając kierowanie do nich żądań.

Tworzenie architektury umożliwiającej odzyskiwanie po awarii

Na potrzeby odzyskiwania danych należy przeprowadzić analizę prawdopodobnych scenariuszy utraty danych i poważnych przestojów. Analiza powinna zawierać omówienie strategii odzyskiwania oraz bilansu kosztów i korzyści dla każdego z nich. To ćwiczenie zapewnia ważny wgląd w priorytety organizacji i pomaga wyjaśnić rolę aplikacji. Wyniki analizy powinny zawierać następujące wartości czasu trwania aplikacji:

  • Cel punktu odzyskiwania (RPO): maksymalny czas trwania akceptowalnej utraty danych. Cel punktu odzyskiwania jest mierzony w jednostkach czasu, a nie w ilości danych. Na przykład: „dane z 30 minut”, „dane z czterech godzin” itp. Cel punktu odzyskiwania dotyczy ograniczeń i odzyskiwania danych utraconych, a nie skradzionych.

  • Cel czasu odzyskiwania (RTO): maksymalny czas trwania akceptowalnego przestoju, w którym specyfikacja definiuje "przestój". Jeśli na przykład dopuszczalny czas trwania przestoju wynosi osiem godzin, jeśli wystąpi awaria, cel czasu odzyskiwania wynosi osiem godzin.

Po zdefiniowaniu celu punktu odzyskiwania i celu czasu odzyskiwania można zaprojektować funkcje tworzenia kopii zapasowych, przywracania, replikacji i odzyskiwania w architekturze tak, aby spełniały założone cele.

Każdy dostawca usług w chmurze oferuje zestaw usług i funkcji, których można użyć do poprawy dostępności i możliwości odzyskiwania aplikacji. Jeśli to możliwe, nie twórz własnych usług i rozwiązań, ale korzystaj z tych już istniejących.

Dyski twarde mogą przestać działać, centra danych mogą stać się nieosiągalne, a hakerzy mogą zaatakować. Ważne jest, aby korzystając z dostępności i możliwości odzyskiwania, utrzymać dobrą reputację wśród klientów. Dostępność koncentruje się na utrzymaniu działania w przypadku takich warunków, jak awarie sieci, natomiast możliwość odzyskiwania koncentruje się na odzyskiwaniu danych po awarii.

Sprawdź swoją wiedzę

1.

Załóżmy, że chcesz zwiększyć dostępność systemu, aby zaoferować klientom lepsze umowy dotyczące poziomu usług (SLA). Które z poniższych stwierdzeń możesz zastosować jako wiodącą zasadę?

2.

Który z poniższych elementów ma wpływ na zdefiniowany cel punktu odzyskiwania (RPO)?