Wybierz odpowiednią opcję hostingu dla aplikacji MySQL
Jeśli tworzysz nową aplikację lub modernizujesz istniejącą, wybór odpowiedniej opcji hostingu ma kluczowe znaczenie dla optymalizacji wydajności, zabezpieczeń i wydajności. Tradycyjnie aplikacje były hostowane na serwerach internetowych, takich jak Internet Information Services (IIS), Apache lub NGINX na sprzęcie fizycznym lub zwirtualizowanym. Chociaż ta opcja zapewnia zespołowi infrastruktury pełną kontrolę nad środowiskiem, wymaga dodatkowego nakładu pracy w zakresie zarządzania kosztami, dostępnością, skalowalnością, odpornością, zabezpieczeniami i zgodnością.
Podczas wdrażania aplikacji w chmurze należy wyeliminować konieczność zarządzania tymi obszarami. Hosting aplikacji w chmurze zmniejsza ogólne koszty konfiguracji, zapewnia lepszą dostępność i niezawodność dzięki opcjom ciągłości działania i odzyskiwania po awarii (BCDR); umożliwia skalowanie zasobów aplikacji na żądanie; zapewnia zaawansowane zabezpieczenia.
Platforma Microsoft Azure oferuje zróżnicowany zakres opcji hostingu aplikacji dostosowanych do wymagań architektury i przypadków użycia aplikacji.
Wiele z tych opcji hostingu aplikacji bezproblemowo integruje się z usługą Azure Database for MySQL — serwer elastyczny, szczególnie efektywną usługą dla baz danych zaplecza ze względu na skalowalność, wydajność i możliwości zarządzania. W tej lekcji przedstawiono niektóre typowe architektury aplikacji MySQL i usługi platformy Azure, które ułatwiają określenie najbardziej odpowiedniej opcji hostingu dla obciążenia aplikacji.
Aplikacje internetowe w usłudze aplikacja systemu Azure
MySQL jest jedną z najpopularniejszych baz danych do tworzenia aplikacji internetowych i mobilnych ze względu na przenośność, szybkość, skalowalność i niezawodność, a wszystko to przy niskich kosztach. Korzystając z usługi Azure Database for MySQL — serwer elastyczny w zapleczu, można łatwiej tworzyć lekkie lub krytyczne dla misji lamp (Linux-Apache-MySQL-PHP) stosu aplikacji internetowych. Możesz również opracowywać przy użyciu popularnych systemów CMS, takich jak WordPress, Drupal lub Ponadto, systemów zarządzania nauką, takich jak Moodle, i platformy handlu elektronicznego, takie jak Pakiet, które są zgodne z usługą Azure Database for MySQL — serwer elastyczny.
Deweloperzy mogą wdrażać te aplikacje internetowe i mobilne oparte na bazie danych MySQL w środowisku systemu Windows lub Linux przy użyciu usługi aplikacja systemu Azure Service, opartego na protokole HTTP rozwiązania platformy jako usługi (PaaS) do hostowania aplikacji internetowych, interfejsów API REST i zapleczy mobilnych. Dzięki usłudze aplikacja systemu Azure możesz zmniejszyć nakład pracy związany z zarządzaniem, opracowywać je w ulubionych językach, automatyzować wdrażanie aplikacji, szybko skalować w górę i w dół, a nawet "dockerize" aplikację do hostowania niestandardowych kontenerów platformy Docker systemu Windows lub Linux.
Konteneryzowane aplikacje w usłudze Azure Kubernetes Service lub Azure Container Apps (architektura mikrousług)
Ostatnio aplikacje z architekturą mikrousług są coraz bardziej popularne pod kątem wydajności, odporności, skalowalności i łatwości wdrażania. W przeciwieństwie do tradycyjnych aplikacji monolitycznych, każda mikrousługa lub kontener działa niezależnie i może być aktualizowana bez ponownego wdrażania całej aplikacji.
Na platformie Azure można wdrożyć te mikrousługi w usłudze Azure Kubernetes Service (AKS), w pełni zarządzanej usłudze Kubernetes, która ułatwia szybkie i łatwe definiowanie, wdrażanie, debugowanie i uaktualnianie nawet najbardziej złożonych aplikacji konteneryzowanych.
Oprócz usługi AKS usługa Azure Container Apps (ACA) oferuje bezserwerową usługę hostingu kontenerów idealną dla nowoczesnych aplikacji utworzonych na podstawie mikrousług. Usługa ACA upraszcza wdrażanie i skalowanie kontenerów bez zarządzania podstawową infrastrukturą, taką jak maszyny wirtualne lub klastry Kubernetes. Integruje się dobrze z usługami Azure Logic Apps i Azure Functions na potrzeby architektury opartej na zdarzeniach, która obsługuje szybkie skalowanie i zarządzanie składnikami aplikacji. Analiza głównej przyczyny jest szczególnie przydatna w przypadku aplikacji wymagających operacji zwinnych i szybszych iteracji, zapewniając dynamiczne opcje skalowania na podstawie ruchu HTTP lub wyzwalaczy sterowanych zdarzeniami. Ta usługa obsługuje kontenery systemów Windows i Linux, co umożliwia bezproblemowe wdrażanie mikrousług opracowanych w różnych środowiskach programistycznych.
Dzięki wykorzystaniu usługi ACA wraz z tradycyjnymi wdrożeniami platformy Kubernetes za pośrednictwem usługi AKS możesz korzystać z większej elastyczności w sposobie organizowania, skalowania i zarządzania konteneryzowanymi aplikacjami. Takie podejście nie tylko maksymalizuje wydajność operacyjną, ale także zwiększa możliwość szybkiego reagowania na zmiany na rynku i wymagania klientów.
Aplikacje bezserwerowe oparte na zdarzeniach z usługami Azure Functions i Azure Logic Apps
Aplikacje bezserwerowe przyspieszają programowanie przy użyciu modelu opartego na zdarzeniach, z wyzwalaczami, które automatycznie wykonują kod w celu reagowania na zdarzenia i powiązania w celu bezproblemowej integracji dodatkowych usług. Opłaty są naliczane tylko za czas i zasoby potrzebne do wykonania kodu.
Usługi Azure Functions i Azure Logic Apps to rozwiązania bezserwerowe na platformie Azure, które ułatwiają tworzenie systemów reagujących na serię zdarzeń krytycznych.
- Azure Functions Azure Functions to wysoce wszechstronna bezserwerowa usługa obliczeniowa, która wykonuje kod w odpowiedzi na różne wyzwalacze, takie jak żądania HTTP, zdarzenia czasomierza (zadania cron) lub zdarzenia usługi platformy Azure (takie jak komunikaty z kolejek usługi Azure Storage lub service Bus). Ta elastyczność umożliwia tworzenie aplikacji, które reagują w czasie rzeczywistym na zmiany bez zarządzania infrastrukturą serwera. Usługa Azure Functions obsługuje szeroką gamę języków programowania, w tym C#, Java, JavaScript, Python i PowerShell, dzięki czemu jest dostępny dla zróżnicowanej bazy deweloperów. Te funkcje mogą również współdziałać z innymi zasobami platformy Azure.
- Usługa Azure Logic Apps udostępnia bezserwerowe środowisko projektowe, które pomaga automatyzować i organizować zadania, procesy i przepływy pracy między aplikacjami i przedsiębiorstwami. Korzystając z projektanta wizualnego w witrynie Azure Portal lub w programie Visual Studio, możesz skonfigurować przepływy pracy w celu zautomatyzowania złożonych scenariuszy biznesowych przy minimalnym kodowaniu. Te przepływy pracy organizują kolekcję funkcji lub kroków nazywanych akcjami wykonywanymi w celu wykonania złożonego zadania, takiego jak przetwarzanie zamówień wsadowych i agregowanie wyników.
Platforma Azure udostępnia również usługi, takie jak Azure Event Grid, Azure Service Bus i Azure Event Hubs , do przekazywania zdarzeń i komunikatów, które mogą wyzwalać aplikacje bezserwerowe w przepływach pracy opartych na zdarzeniach.
Monolityczne starsze aplikacje na maszynach wirtualnych platformy Azure
Niektóre organizacje mogą mieć starsze aplikacje z architekturami monolitycznymi, które są ściśle powiązane z procesami biznesowymi i trudne do modernizacji. Te aplikacje można migrować na platformę Azure przy użyciu modelu lift-and-shift i hostować je na maszynach wirtualnych platformy Azure, która jest usługą Infrastruktura jako usługa (IaaS).
Chociaż zalety platformy Azure obejmują możliwość włączania usług tworzenia kopii zapasowych i przywracania, szyfrowania dysków i opcji skalowania, które nie wymagają kosztów z góry, nadal trzeba będzie zainwestować nakład pracy ręcznej w celu wdrażania, konserwacji i zarządzania aplikacjami na maszynach wirtualnych platformy Azure.