Co to jest usługa Azure Service Fabric?

Ukończone

Zacznijmy od kilku definicji i krótkiego przewodnika po usłudze Azure Service Fabric. To omówienie powinno pomóc w podjęciu decyzji, czy usługa Service Fabric jest dobrym rozwiązaniem do przetwarzania rozproszonego.

Co to jest kontener?

kontener to niepodzielna jednostka oprogramowania, która opakowuje aplikację i wszystkie jej zależności, takie jak biblioteki i pliki konfiguracji, do własnego izolowanego środowiska, które zawiera wszystkie elementy potrzebne do uruchomienia oprogramowania w tym środowisku. Kontener działa bezpośrednio na górze jądra i ma izolowany widok systemu plików i innych zasobów. Aplikacja wewnątrz kontenera nie zna żadnych innych aplikacji ani procesów poza kontenerem.

Dlaczego warto używać kontenerów?

Model kontenera zapewnia następujące korzyści:

  1. Small: Kontenery korzystają z jednego miejsca magazynowego, nakładając wersje i aktualizacje, aby zwiększyć wydajność.

  2. Szybkie: kontenery nie muszą uruchamiać całego systemu operacyjnego, dzięki czemu mogą uruchamiać się szybciej — zwykle w sekundach.

  3. Przenośność: Konteneryzowany obraz aplikacji można przenosić do uruchamiania w chmurze, lokalnie, na maszynach wirtualnych lub bezpośrednio na maszynach fizycznych.

  4. zarządzanie zasobami: Kontener może ograniczyć zasoby fizyczne, które może zużywać na hoście.

Jak są zarządzane kontenery?

orkiestracja kontenerów jest ogólnym terminem dla oprogramowania, które ułatwia administratorom zarządzanie środowiskami za pomocą kontenerów. Administrator wprowadza żądany stan środowiska, na przykład pięć kopii określonej usługi uruchomionej. Następnie orkiestrator próbuje ustawić środowisko zgodnie z żądanym stanem. Po osiągnięciu tego żądanego stanu orkiestrator próbuje zachować ten stan. Jeśli jedna z usług ulegnie awarii, koordynator spróbuje wdrożyć nową kopię.

Większość orchestratorów robi więcej niż tylko obsługuje początkowe wdrożenia i przypadki awarii. Mogą również obsługiwać uaktualnienia i rozwiązywać użycie zasobów oraz zarządzanie.

Orkiestracja kontenerów polega zasadniczo na osiągnięciu i zachowaniu żądanego stanu konfiguracji w środowisku.

Cluster Resource Manager to składnik systemu obsługujący koordynację w usłudze Azure Service Fabric.

Co to jest mikrousługa?

aplikacje mikrousług i architektura mikrousług odnoszą się do małych, niezależnych, luźno powiązanych usług, które współpracują ze sobą, aby uzyskać wynik.

Usługi można opracowywać niezależnie od siebie, korzystając z różnych stosów technologii, bibliotek i struktur. Usługi można wdrażać niezależnie, więc składnik architektury można zaktualizować bez konieczności ponownego wdrażania całej aplikacji. Usługi są odpowiedzialne za utrwalanie własnych danych. Usługi komunikują się przy użyciu dobrze zdefiniowanych interfejsów API i pozostają niezależne od wewnętrznej implementacji siebie nawzajem.

Dlaczego warto używać mikrousług?

Model mikrousług zapewnia następujące korzyści:

  • Zwinność: Mikrousługi są wdrażane niezależnie, co zmniejsza złożoność wydawania funkcji. Usługę można zaktualizować bez ponownego wdrażania całej aplikacji.

  • izolacja błędów: jeśli pojedyncza mikrousługa stanie się niedostępna, nie zakłóca całej aplikacji, pod warunkiem że mikrousługi nadrzędne są zaprojektowane tak, aby prawidłowo obsługiwały błędy.

  • skalowalność: usługi można skalować niezależnie, umożliwiając rozwijanie podsystemów wymagających większej ilości zasobów bez skalowania całej aplikacji. Możesz zobaczyć, jak dobrze to pasuje do modelu kontenerów i orkiestracji kontenerów.

  • izolacja danych: aktualizacje schematu są łatwiejsze, ponieważ dotyczy to tylko jednej mikrousługi.

Co to są usługi bezstanowe i stanowe?

Usługa bezstanowa to taka, w której każde żądanie i odpowiedź można zrozumieć oddzielnie. Możesz sobie wyobrazić uproszczoną usługę kalkulatora, w której wysyłasz obliczenia do wykonania (na przykład 2+2) i otrzymujesz pojedynczą odpowiedź (4). Jeśli chcesz wykonać kolejne obliczenia na tym wyniku (na przykład 4 x 2), ręcznie wyślesz żądanie do obliczenia 4 x 2 i otrzymasz 8. Jednak usługa nie wiedziałaby, że używasz wyniku początkowego obliczenia.

Usługa stanowa to taka, w której każde żądanie i odpowiedź pasują do historii transakcji, o których usługa ma wiedzę i do których może się odwoływać. Użyjmy ponownie przykładu usługi kalkulatora, ale tym razem w wersji stanowej. Zażądasz wykonania obliczenia 2+2 i otrzymasz 4. Tym razem prosisz, aby usługa wzięła poprzedni wynik i pomnożono go przez 2 (załóżmy, że składnia wygląda następująco: Odpowiedź x 2). Otrzymasz 8 w odpowiedzi, tak jak w pierwszym przykładzie. Jednak tym razem usługa kalkulatora wiedziała, że wynik poprzedniej transakcji (odpowiedź) wynosił 4.

Dlaczego warto używać usług bezstanowych i stanowych?

Rozwiązanie może korzystać z usług bezstanowych lub stanowych, albo obu jednocześnie.

Wybór zależy od potrzeb aplikacji. Jeśli chcesz, aby stan usługi był utrwalany między sesjami, potrzebne są usługi stanowe. Jeśli usługi nie potrzebują stanu utrwalonego lub mogą polegać na magazynie zewnętrznym, aby ich stan był trwały, możesz użyć usług bezstanowych.

Dzięki architekturze mikrousług można łączyć ze sobą usługi bezstanowe i stanowe. Mikrousługi są niezależne i mogą korzystać z zupełnie różnych stosów technologicznych, dzięki czemu można zaprojektować niektóre usługi, aby wymagać stanu utrwalonego, a niektóre nie.

Co to jest usługa Azure Service Fabric?

Usługa Azure Service Fabric zarządza rozproszonym systemem obliczeniowym i ułatwia wdrażanie aplikacji konteneryzowanych i zarządzanie nimi, implementowanie architektury mikrousług i korzystanie z niezawodnych usług stanowych oprócz bezstanowych. Usługa Service Fabric oferuje narzędzia programistyczne i operacyjne, obsługę różnych modeli programowania, orkiestrację kontenerów, kondycję klastra i monitorowanie, automatyczne skalowanie i nie tylko.

Diagram przedstawiający zakres usługi Azure Service Fabric, w tym aranżację, modele programowania, automatyczne skalowanie i nie tylko.

Usługa Service Fabric oferuje dwa różne modele klastra w zależności od preferencji. Standardowy model klastra wymaga zarządzania wszystkimi podstawowymi zasobami klastra. Model klastra zarządzanego abstrahuje te zasoby, a platforma Azure nimi zarządza.

Klaster można utworzyć w witrynie Azure Portal lub przy użyciu szablonów usługi Azure Resource Manager.