Välj ett lämpligt värdalternativ för din MySQL-app

Slutförd

Om du utvecklar en ny app eller moderniserar en befintlig app är det viktigt att välja rätt värdalternativ för att optimera prestanda, säkerhet och kostnadseffektivitet. Traditionellt fanns appar på webbservrar som IIS (Internet Information Services), Apache eller NGINX på fysisk eller virtualiserad lokal maskinvara. Även om det här alternativet ger infrastrukturteamet fullständig kontroll över miljön, krävs ytterligare arbete för att hantera omkostnader, startkostnader, tillgänglighet, skalbarhet, återhämtning, säkerhet och efterlevnad.

När du distribuerar din app till molnet eliminerar du behovet av att hantera dessa områden. Att vara värd för en app i molnet minskar de totala konfigurationskostnaderna, ger förbättrad tillgänglighet och tillförlitlighet med BCDR-alternativ (Business Continuity and Disaster Recovery). gör att du kan skala dina appresurser på begäran; och ger avancerad säkerhet.

Microsoft Azure erbjuder ett brett utbud av värdalternativ för appar som är anpassade för att uppfylla appens arkitekturkrav och användningsfall.

Diagram som visar typer av MySQL-program och motsvarande Azure-tjänster.

Många av de här appvärdalternativen integreras sömlöst med Azure Database for MySQL – flexibel server, en särskilt effektiv tjänst för serverdelsdatabaser på grund av dess skalbarhet, prestanda och hanterbarhet. Den här lektionen utforskar några vanliga MySQL-apparkitekturer och Azure-tjänster som hjälper dig att avgöra det lämpligaste värdalternativet för din apparbetsbelastning.

Webbappar i Azure App Service

MySQL är en av de mest populära databaserna för att utveckla webb- och mobilappar på grund av dess portabilitet, hastighet, skalbarhet och tillförlitlighet, allt till låga kostnader. Genom att använda Azure Database for MySQL – flexibel server i serverdelen kan du enklare skapa lättvikts- eller verksamhetskritiska LAMP-stackappar (Linux-Apache-MySQL-PHP) i internetskala. Du kan också utveckla med hjälp av populära CMS:er som WordPress, Drupal eller Joomla, inlärningshanteringssystem som Moodle och e-handelsplattformar som Magento, som alla är kompatibla med Azure Database for MySQL – flexibel server.

Utvecklare kan distribuera dessa MySQL-baserade webb- och mobilappar i en Windows- eller Linux-miljö med hjälp av Azure App Service, en HTTP-baserad PaaS-lösning (Platform-as-a-Service) för värdtjänster för webbappar, REST-API:er och mobila serverdelar. Med Azure App Service kan du minska hanteringskostnaderna, utveckla på dina favoritspråk, automatisera appdistributionen, skala upp och ned snabbt och till och med "dockerize" din app som värd för anpassade Windows- eller Linux Docker-containrar.

Containerbaserade appar i Azure Kubernetes Service eller Azure Container Apps (mikrotjänstarkitektur)

Nyligen har appar med mikrotjänstarkitektur blivit allt populärare för sin effektivitet, återhämtning, skalbarhet och enkla distribution. Till skillnad från traditionella monolitiska appar fungerar varje mikrotjänst eller container oberoende av varandra och kan uppdateras utan att omdistribuera hela appen.

I Azure kan du distribuera dessa mikrotjänster till Azure Kubernetes Service (AKS), en fullständigt hanterad Kubernetes-tjänst som hjälper dig att snabbt och enkelt definiera, distribuera, felsöka och uppgradera även de mest komplexa containerbaserade apparna.

Utöver AKS erbjuder Azure Container Apps (ACA) en serverlös värdtjänst för containrar som är idealisk för moderna appar som skapats av mikrotjänster. ACA förenklar distribution och skalning av containrar utan att hantera underliggande infrastruktur, till exempel virtuella datorer eller Kubernetes-kluster. Den integreras väl med Azure Logic Apps och Azure Functions för händelsedriven arkitektur, med stöd för snabb skalning och hantering av appkomponenter. ACA är särskilt fördelaktigt för appar som kräver agila åtgärder och snabba iterationer, vilket ger dynamiska skalningsalternativ baserat på HTTP-trafik eller händelsedrivna utlösare. Den här tjänsten stöder både Windows- och Linux-containrar, så att du kan distribuera mikrotjänster som utvecklats i olika programmeringsmiljöer sömlöst.

Genom att använda ACA tillsammans med traditionella Kubernetes-distributioner via AKS kan du få mer flexibilitet i hur de orkestrerar, skalar och hanterar sina containerbaserade appar. Detta tillvägagångssätt maximerar inte bara driftseffektiviteten utan förbättrar också möjligheten att snabbt svara på marknadsförändringar och kundernas krav.

Händelsedrivna serverlösa appar med Azure Functions och Azure Logic Apps

Serverlösa appar påskyndar utvecklingen med hjälp av en händelsedriven modell, med utlösare som automatiskt kör kod för att svara på händelser och bindningar för att sömlöst integrera ytterligare tjänster. Du debiteras bara för den tid och de resurser som krävs för att köra koden.

Azure Functions och Azure Logic Apps är serverlösa lösningar i Azure som hjälper dig att skapa system för att reagera på en rad kritiska händelser.

  • Azure Functions Azure Functions är en mycket mångsidig serverlös beräkningstjänst som kör kod som svar på en mängd olika utlösare, till exempel HTTP-begäranden, tidsinställda händelser (cron-jobb) eller Azure-tjänsthändelser (till exempel meddelanden från Azure Storage-köer eller Service Bus). Med den här flexibiliteten kan du skapa appar som svarar i realtid på ändringar utan att hantera serverinfrastrukturen. Azure Functions har stöd för ett brett utbud av programmeringsspråk, inklusive C#, Java, JavaScript, Python och PowerShell, vilket gör det tillgängligt för en mångsidig utvecklarbas. Dessa funktioner kan också interagera med andra Azure-resurser.
  • Azure Logic Apps ger en serverlös designupplevelse som hjälper dig att automatisera och samordna uppgifter, processer och arbetsflöden mellan appar och företag. Med hjälp av en visuell designer i Azure Portal eller i Visual Studio kan du konfigurera arbetsflöden för att automatisera komplexa affärsscenarier med minimal kodning. Dessa arbetsflöden samordnar en samling funktioner eller steg som kallas åtgärder som körs för att utföra en komplex uppgift, till exempel bearbetning av batchbeställningar och aggregeringsresultat.

Azure tillhandahåller även tjänster som Azure Event Grid, Azure Service Bus och Azure Event Hubs för att vidarebefordra och hantera händelser och meddelanden som kan utlösa serverlösa appar i händelsedrivna arbetsflöden.

Monolitiska äldre program på virtuella Azure-datorer

Vissa organisationer kan ha äldre appar med monolitiska arkitekturer som är nära kopplade till affärsprocesser och svåra att modernisera. Du kan migrera dessa appar till Azure med hjälp av en lift-and-shift-modell och vara värd för dem på Azure Virtual Machines, som är en IaaS-tjänst (Infrastruktur som en tjänst).

Även om fördelarna med Azure är möjligheten att aktivera säkerhetskopierings- och återställningstjänster, diskkryptering och skalningsalternativ som inte kräver några startkostnader, måste du fortfarande investera manuella ansträngningar för att distribuera, underhålla och hantera appar på virtuella Azure-datorer.