Moodle to system zarządzania uczeniem typu open source, który wymaga dostępu do magazynu o wysokiej przepływności i małych opóźnieniach. Wiele wdrożeń moodle wymaga łatwej skalowalności, aby dostosować się do rosnącego zapotrzebowania. W tym artykule wyjaśniono, jak wdrożyć aplikację Moodle przy użyciu usług platformy Azure w usłudze Azure Virtual Machine Scale Sets i przechowywać pliki danych szkoleniowych dostępnych dla użytkowników w usłudze Azure NetApp Files. W tym artykule opisano wdrożenie strefowe na potrzeby replikacji o wysokiej dostępności i między strefami, a także przedstawiono przykłady wdrożenia z jedną strefą.
Architektura
Aby zapewnić najlepsze środowisko użytkownika, środowisko Moodle wymaga spójnego dostępu o małych opóźnieniach do skalowalnego magazynu udostępnionego w celu spełnienia wymagań pracowników biurowych i domowych korzystających z usługi. Zestawy skalowania maszyn wirtualnych i pule pojemności usługi Azure NetApp Files oraz woluminy mogą mieć rozmiar w górę i w dół w miarę zmian zapotrzebowania.
Pobierz plik programu Visio z tą architekturą.
Oprócz wdrożenia moodle architektura używa replikacji między strefami usługi Azure NetApp Files w celu replikacji woluminów danych do strefy pomocniczej. Replikacja między strefami używa stref dostępności w celu zapewnienia wysokiej dostępności w regionie i replikacji do innej strefy w tym samym regionie. Pula pojemności korzystająca z poziomu usługi Standardowa może hostować docelowe woluminy danych podczas normalnego działania.
Korzystając z tego podejścia, nie trzeba uruchamiać niektórych składników konfiguracji, takich jak usługi obliczeniowe i pomocnicze, podczas normalnego działania. W związku z tym nie poniesiesz żadnych kosztów operacyjnych dla tych składników. Zestawy skalowania maszyn wirtualnych można również skalować w dół do minimum.
Tylko w scenariuszu odzyskiwania po awarii należy uruchomić i skalować w górę niezbędne składniki, aby kontynuować korzystanie z replikowanych woluminów danych. W tej chwili można uaktualnić poziom usług docelowych woluminów usługi Azure NetApp Files do poziomu usługi Premium lub Ultra w razie potrzeby.
Po odzyskaniu strefy podstawowej kierunek replikacji zostanie odwrócony. Strefa podstawowa jest aktualizowana przy użyciu zmian, które są stosowane podczas pracy w trybie failover, a usługa może zostać przywrócona po awarii. Użytkownicy są przekierowywani do strefy trybu failover za pośrednictwem usługi Azure Traffic Manager, która działa w warstwie DNS w celu szybkiego i wydajnego kierowania przychodzących żądań DNS na podstawie wybranej metody routingu.
Przepływ pracy
Uczniowie uzyskują dostęp do danych aplikacji Moodle za pośrednictwem bramy aplikacja systemu Azure, w której mogą używać zestawów skalowania maszyn wirtualnych do tworzenia skalowalnej platformy obliczeniowej, która uruchamia aplikację Moodle do hostowania użytkowników. Usługa Azure NetApp Files obsługuje dane zawartości aplikacji Moodle. Użyj pamięci podręcznej Redis na potrzeby buforowania sesji użytkownika, blokowania i rozpoznawania kluczy. Przechowuj zawartość szkoleniową, postęp ucznia i dane wewnętrzne w bazie danych MySQL.
Wstaw zawartość szkoleniową za pośrednictwem bezpiecznej bramy sieci VPN bezpośrednio z centrum danych klienta.
Uczniowie uzyskują dostęp do zawartości za pośrednictwem aplikacji wdrożonej w zestawach skalowania maszyn wirtualnych za pośrednictwem bezpiecznej bramy aplikacji.
Rozwiązanie można skalować w górę lub w dół w zależności od zapotrzebowania, dodając lub usuwając maszyny wirtualne w zestawie skalowania i dostosowując poziom usługi woluminu usługi Azure NetApp Files.
Składniki
Moodle jest jednym z najpopularniejszych i powszechnie przyjętych bezpłatnych systemów zarządzania nauką typu open source.
Azure Database for MySQL to usługa relacyjnej bazy danych obsługiwana przez program MySQL Community Edition. Usługi Azure Database for MySQL — serwer elastyczny można używać do hostowania bazy danych MySQL na platformie Azure.
Usługa Azure Cache for Redis to bezpieczny broker pamięci podręcznej i obsługi komunikatów danych, który zapewnia dostęp do danych dla aplikacji o wysokiej przepływności i małych opóźnieniach.
Użyj usługi Azure Virtual Machine Scale Sets , aby utworzyć grupę maszyn wirtualnych o zrównoważonym obciążeniu i zarządzać nimi. Możesz automatycznie zwiększyć lub zmniejszyć liczbę wystąpień maszyn wirtualnych w odpowiedzi na zapotrzebowanie lub zdefiniowany harmonogram.
Azure NetApp Files to usługa platformy Azure, której można użyć do migrowania i uruchamiania najbardziej wymagających obciążeń plików przedsiębiorstwa w chmurze, takich jak natywne aplikacje SMBv3, NFSv3 i NFSv4.1, bazy danych, magazyny danych i aplikacje obliczeniowe o wysokiej wydajności.
Alternatywy
Usługę Moodle można wdrożyć przy użyciu dowolnej udostępnionej usługi plików opartej na systemie plików NFS, która spełnia wymagania dotyczące małych opóźnień, operacji wejściowych lub wyjściowych na sekundę oraz przepływności, szczególnie w przypadku większej liczby równoczesnych użytkowników. Możesz użyć usługi NFS opartej na zestawie maszyn wirtualnych z systemem Linux, ale ta konfiguracja może powodować problemy z zarządzaniem, skalowalnością i wydajnością. Usługa Azure NetApp Files zapewnia najmniejsze opóźnienia, najlepszą wydajność i skalowalność oraz bezpieczny dostęp do magazynu udostępnionego NFS.
Alternatywne wdrożenia przy użyciu usługi Azure NetApp Files
Ten diagram przedstawia przykład wdrożenia w jednym regionie:
Ta konfiguracja z jednym regionem zapewnia dostęp o wysokiej dostępności do aplikacji Moodle i innych składników konfiguracji.
Szczegóły scenariusza
To rozwiązanie dotyczy wdrożeń moodle. Organizacje korzystające z platformy Moodle obejmują branże, w tym edukację, działalność biznesową, DZIAŁ IT i finanse.
W tym artykule opisano rozwiązanie spełniające potrzeby Moodle'a. Podstawowym elementem rozwiązania jest usługa Azure NetApp Files, która jest usługą Azure Storage. Za pomocą tej usługi można migrować i uruchamiać najbardziej wymagające obciążenia plików w skali przedsiębiorstwa w chmurze:
- Natywny blok komunikatów serwera (SMB) w wersji 3, NFSv3 i NFSv4.1 udziałów plików
- Obciążenia bazy danych
- Obciążenia magazynu danych
- Aplikacje obliczeniowe o wysokiej wydajności
Kwestie wymagające rozważenia
Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.
Niezawodność
Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca niezawodności.
Usługa Azure NetApp Files jest oparta na bez systemu operacyjnego nadmiarowego sprzętu półprzewodnikowego. Usługa działa bez przerw, nawet podczas operacji konserwacji. Aby uzyskać więcej informacji na temat odporności, zobacz Odporność na uszkodzenia, Wysoka dostępność i Odporność w usłudze Azure NetApp Files.
Usługa Azure NetApp Files zapewnia wysoką dostępność przechowywanych danych. Aby uzyskać gwarancję dostępności usługi Azure NetApp Files, zobacz Umowa SLA dla usługi Azure NetApp Files.
Zabezpieczenia
Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca zabezpieczeń.
Dla wszystkich opcji wdrażania należy podać prawidłową parę kluczy publicznych i prywatnych RSA protokołu SECURE Shell (SSH-2). Długość powinna wynosić co najmniej 2048 bitów. Platforma Azure nie obsługuje innych formatów kluczy, takich jak ED25519 i ECDSA. Usługa Azure NetApp Files obsługuje zarówno klucze zarządzane przez klienta, jak i zarządzane przez platformę. Te rozwiązania zapewniają nieograniczony dostęp do przechowywanych danych, spełniają wymagania dotyczące zgodności i zwiększają bezpieczeństwo danych. Aby uzyskać informacje i najlepsze rozwiązania dotyczące zabezpieczeń usługi Azure NetApp Files, zobacz Często zadawane pytania dotyczące zabezpieczeń usługi Azure NetApp Files.
Optymalizacja kosztów
Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca optymalizacji kosztów.
W przypadku wdrożenia środowiska Moodle o średniej do dużej wielkości około 5000 użytkowników z współczynnikiem współbieżności wynoszącym 10% zalecana przepływność wynosi około 500 MB/s. To wdrożenie można skompilować na Standard_D32s_v4 infrastruktury maszyny wirtualnej z systemem Linux, która używa 8 TB dysku zarządzanego P60.
Usługa Azure NetApp Files oferuje bardziej ekonomiczne rozwiązanie, które korzysta z 4 TiB pojemności ultraserwerowej. W przypadku aplikacji o większej skali, które wymagają większej pojemności usługi Azure NetApp Files, zarówno poziomy usługi Premium, jak i Standardowa zapewniają wystarczającą wydajność. Użyj poziomu usługi Premium lub Standard, aby zwiększyć efektywność kosztową.
Skorzystaj z kalkulatora cen platformy Azure, aby oszacować koszty zasobów platformy Azure pod kątem określonych wymagań. Aby uzyskać więcej informacji, zobacz Model kosztów usługi Azure NetApp Files.
Aby uzyskać kalkulator, który oblicza wydajność usługi Azure NetApp Files i całkowity koszt posiadania (TCO), zobacz Kalkulator wydajności usługi Azure NetApp Files. Użyj tego kalkulatora, aby znaleźć optymalną równowagę między pojemnością, wydajnością i kosztami.
Sprawność operacyjna
Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Lista kontrolna projektu dotycząca doskonałości operacyjnej.
Efektywność wydajności
Wydajność to możliwość skalowania obciążenia w celu spełnienia wymagań, które są na nim nakładane przez użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.
To rozwiązanie można skalować w górę lub w dół zgodnie z potrzebami:
Zestawy skalowania maszyn wirtualnych zapewniają automatyczne skalowanie zasobów. Aby uzyskać więcej informacji, zobacz Overview of autoscale with Azure Virtual Machine Scale Sets (Omówienie skalowania automatycznego za pomocą zestawów skalowania maszyn wirtualnych platformy Azure).
Możesz łatwo i nieintrusywnie skalować pule pojemności i woluminy usługi Azure NetApp Files w górę i w dół, aby zaspokoić zapotrzebowanie. Aby uzyskać więcej informacji, zobacz Zmienianie rozmiaru puli pojemności lub woluminu.
Możesz dostosować poziom usługi woluminu usługi Azure NetApp Files, który może być w warstwie Standardowa, Premium lub Ultra. Wybrany poziom wpływa na limit przepływności woluminów z automatyczną jakością usługi. Aby uzyskać więcej informacji, zobacz Kwestie dotyczące wydajności usługi Azure NetApp Files.
Wdrażanie tego scenariusza
Aby zapoznać się z przewodnikiem wdrażania aplikacji Moodle w usłudze Azure NetApp Files, zobacz Artykuł Azure NetApp Files for NFS storage with Moodle (Usługa Azure NetApp Files dla magazynu NFS z aplikacją Moodle).
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Główny autor:
- Arnt de Gier | Inżynier ds. marketingu technicznego
Następne kroki
- Opcja Moodle Cloud
- Wskazówki dotyczące usługi Azure Moodle w witrynie GitHub
- Dokumentacja moodle: magazyn pamięci podręcznej Redis
- Usługa Azure NetApp Files dla magazynu NFS z platformą Moodle
- Architektury rozwiązań korzystające z usługi Azure NetApp Files
- Automatyczne skalowanie za pomocą elastycznego trybu aranżacji zestawów skalowania maszyn wirtualnych