Kies een geschikte hostingoptie voor uw MySQL-app

Voltooid

Als u een nieuwe app ontwikkelt of een bestaande app moderniseren, is het kiezen van de juiste hostingoptie cruciaal om de prestaties, beveiliging en kostenefficiëntie te optimaliseren. Apps werden traditioneel gehost op webservers zoals IIS (Internet Information Services), Apache of NGINX op fysieke of gevirtualiseerde on-premises hardware. Hoewel deze optie het voordeel biedt van het volledige beheer van de omgeving door het infrastructuurteam, is extra inspanning vereist voor het beheren van overhead, kosten vooraf, beschikbaarheid, schaalbaarheid, tolerantie, beveiliging en naleving.

Wanneer u uw app in de cloud implementeert, hoeft u deze gebieden niet meer te beheren. Het hosten van een app in de cloud vermindert de totale instelkosten, biedt verbeterde beschikbaarheid en betrouwbaarheid met BCDR-opties (Business Continuity and Disaster Recovery). hiermee kunt u uw app-resources op aanvraag schalen; en biedt geavanceerde beveiliging.

Microsoft Azure biedt diverse opties voor het hosten van apps die zijn aangepast om te voldoen aan de architectuurvereisten en gebruiksvoorbeelden van uw app.

Diagram met typen MySQL-toepassingen en bijbehorende Azure-services.

Veel van deze hostingopties voor apps kunnen naadloos worden geïntegreerd met Azure Database for MySQL - Flexible Server, een bijzonder effectieve service voor back-enddatabases vanwege de schaalbaarheid, prestaties en beheerbaarheid. In deze les worden enkele algemene MySQL-app-architecturen en Azure-services verkend om u te helpen bij het bepalen van de meest geschikte hostingoptie voor uw app-workload.

Web-apps in Azure-app Service

MySQL is een van de populairste databases voor het ontwikkelen van web- en mobiele apps vanwege de draagbaarheid, snelheid, schaalbaarheid en betrouwbaarheid, allemaal tegen lage kosten. Met behulp van Azure Database for MySQL - Flexible Server in de back-end kunt u eenvoudiger lichtgewicht of bedrijfskritieke LAMP-stack -apps (Linux-Apache-MySQL-PHP) bouwen op internetschaal. U kunt ook ontwikkelen met behulp van populaire CMS's, zoals WordPress, Drupal ofShell, leerbeheersystemen zoals Moodle en e-commerceplatforms zoalsSources, die allemaal compatibel zijn met Azure Database for MySQL - Flexible Server.

Ontwikkelaars kunnen deze met MySQL ondersteunde web- en mobiele apps implementeren in een Windows- of Linux-omgeving met behulp van Azure-app Service, een PaaS-oplossing (Platform-as-a-Service) op basis van HTTP voor het hosten van web-apps, REST API's en mobiele back-ends. Met Azure-app Service kunt u de beheeroverhead verminderen, ontwikkelen in uw favoriete talen, app-implementatie automatiseren, snel omhoog en omlaag schalen en zelfs uw app 'dockerize' om aangepaste Windows- of Linux Docker-containers te hosten.

In containers geplaatste apps in Azure Kubernetes Service of Azure Container Apps (microservicesarchitectuur)

Apps met microservicesarchitectuur zijn onlangs steeds populairder geworden voor hun efficiëntie, tolerantie, schaalbaarheid en eenvoudige implementatie. In tegenstelling tot traditionele monolithische apps werkt elke microservice of container onafhankelijk en kan deze worden bijgewerkt zonder de hele app opnieuw te implementeren.

In Azure kunt u deze microservices implementeren in Azure Kubernetes Service (AKS), een volledig beheerde Kubernetes-service waarmee u snel en eenvoudig apps in containers kunt definiëren, implementeren, fouten opsporen en upgraden.

Naast AKS biedt Azure Container Apps (ACA) een serverloze containerhostingservice die ideaal is voor moderne apps die zijn gebouwd op basis van microservices. ACA vereenvoudigt de implementatie en schaal van containers zonder onderliggende infrastructuur zoals virtuele machines of Kubernetes-clusters te beheren. Het is goed geïntegreerd met Azure Logic Apps en Azure Functions voor gebeurtenisgestuurde architectuur, die snelle schaalaanpassing en beheer van app-onderdelen ondersteunt. ACA is met name nuttig voor apps die flexibele bewerkingen en snelle iteraties vereisen, waardoor dynamische schaalopties worden geboden op basis van HTTP-verkeer of gebeurtenisgestuurde triggers. Deze service ondersteunt zowel Windows- als Linux-containers, zodat u naadloos microservices kunt implementeren die in verschillende programmeeromgevingen zijn ontwikkeld.

Door gebruik te maken van ACA samen met traditionele Kubernetes-implementaties via AKS, kunt u profiteren van meer flexibiliteit bij het organiseren, schalen en beheren van hun container-apps. Deze aanpak maximaliseert niet alleen de operationele efficiëntie, maar verbetert ook de mogelijkheid om snel te reageren op marktwijzigingen en klantbehoeften.

Serverloze apps op basis van gebeurtenissen met Azure Functions en Azure Logic Apps

Serverloze apps versnellen de ontwikkeling met behulp van een gebeurtenisgestuurd model, met triggers die automatisch code uitvoeren om te reageren op gebeurtenissen en bindingen om naadloos aanvullende services te integreren. Er worden alleen kosten in rekening gebracht voor de tijd en resources die nodig zijn om de code uit te voeren.

Azure Functions en Azure Logic Apps zijn serverloze oplossingen in Azure waarmee u systemen kunt bouwen om te reageren op een reeks kritieke gebeurtenissen.

  • Azure Functions Azure Functions is een zeer veelzijdige serverloze rekenservice waarmee code wordt uitgevoerd als reactie op verschillende triggers, zoals HTTP-aanvragen, timergebeurtenissen (cron-taken) of Azure-servicegebeurtenissen (zoals berichten uit Azure Storage-wachtrijen of Service Bus). Met deze flexibiliteit kunt u apps bouwen die in realtime reageren op wijzigingen zonder de serverinfrastructuur te beheren. Azure Functions ondersteunt een breed scala aan programmeertalen, waaronder C#, Java, JavaScript, Python en PowerShell, waardoor deze toegankelijk is voor een diverse ontwikkelaarsbasis. Deze functies kunnen ook communiceren met andere Azure-resources.
  • Azure Logic Apps biedt een serverloze ontwerpervaring waarmee u taken, processen en werkstromen tussen apps en ondernemingen kunt automatiseren en organiseren. Met behulp van een visualontwerper in Azure Portal of in Visual Studio kunt u werkstromen instellen om complexe bedrijfsscenario's te automatiseren met minimale codering. Deze werkstromen organiseren een verzameling functies of stappen die acties worden genoemd die worden uitgevoerd om een complexe taak uit te voeren, zoals het verwerken van batchorders en het samenvoegen van resultaten.

Azure biedt ook services zoals Azure Event Grid, Azure Service Bus en Azure Event Hubs voor het doorgeven en beheren van gebeurtenissen en berichten die serverloze apps kunnen activeren in gebeurtenisgestuurde werkstromen.

Monolithische verouderde toepassingen op Virtuele Azure-machines

Sommige organisaties hebben mogelijk verouderde apps met monolithische architecturen die nauw zijn gekoppeld aan bedrijfsprocessen en moeilijk te moderniseren. U kunt deze apps migreren naar Azure met behulp van een lift-and-shift-model en deze hosten op Azure Virtual Machines. Dit is een IaaS-service (Infrastructure-as-a-Service).

Hoewel de voordelen van Azure de mogelijkheid bieden om back-up- en herstelservices, schijfversleuteling en schaalopties in te schakelen waarvoor geen kosten vooraf nodig zijn, moet u nog steeds handmatig investeren in het implementeren, onderhouden en beheren van apps op Azure-VM's.