WordPress in App Service

Azure Front Door
Azure Load Balancer
Azure Virtual Network
Azure App Service
Azure Database for MySQL

In dit artikel wordt een oplossing beschreven voor kleine tot middelgrote WordPress-installaties. De oplossing biedt de schaalbaarheid, betrouwbaarheid en beveiliging van het Azure-platform zonder dat er complexe configuratie of beheer nodig is. Zie WordPress-hostingopties in Azure voor oplossingen voor grotere of opslagintensieve installaties.

Architectuur

Architectuurdiagram van WordPress op Azure-app Service. Azure Front Door routeert verkeer naar web-apps. Azure Database for MySQL slaat dynamische inhoud op.

Een Visio-bestand van deze architectuur downloaden.

Notitie

U kunt deze oplossing uitbreiden door tips en aanbevelingen te implementeren die niet specifiek zijn voor een bepaalde WordPress-hostingmethode. Zie WordPress in Azure voor algemene tips voor het implementeren van een WordPress-installatie.

Gegevensstroom

In dit scenario wordt een schaalbare installatie van WordPress behandeld die wordt uitgevoerd op Azure-app Service.

  • Gebruikers hebben toegang tot de front-endwebsite via Azure Front Door met Azure Web Application Firewall ingeschakeld.
  • Azure Front Door distribueert aanvragen over de App Service-web-apps waarop WordPress wordt uitgevoerd. Azure Front Door haalt gegevens op die niet zijn opgeslagen in de cache van de WordPress-web-apps.
  • De WordPress-toepassing maakt gebruik van een service-eindpunt voor toegang tot een flexibele serverinstantie van Azure Database for MySQL. De WordPress-toepassing haalt dynamische informatie op uit de database.
  • Lokaal redundante hoge beschikbaarheid is ingeschakeld voor Azure Database for MySQL via een stand-byserver in dezelfde beschikbaarheidszone.
  • Alle statische inhoud wordt gehost in Azure Blob Storage.

Onderdelen

  • De WordPress op App Service-sjabloon is een beheerde oplossing voor het hosten van WordPress in App Service. Naast App Service gebruikt de oplossing ook de andere Azure-services die in deze sectie worden beschreven.
  • App Service biedt een framework voor het bouwen, implementeren en schalen van web-apps.
  • Azure Front Door is een modern netwerk voor cloudinhoudlevering. Als gedistribueerd netwerk van servers levert Azure Front Door efficiënt webinhoud aan gebruikers. Netwerken voor inhoudslevering minimaliseren de latentie door inhoud in de cache op te slaan op edge-servers in locaties met een punt-of-aanwezigheid bij eindgebruikers.
  • Azure Content Delivery Network levert webinhoud efficiënt aan gebruikers door blobs op strategisch geplaatste locaties op te slaan. In deze oplossing kunt u Content Delivery Network gebruiken als alternatief voor Azure Front Door.
  • Azure Virtual Network biedt een manier voor geïmplementeerde resources om met elkaar, internet en on-premises netwerken te communiceren. Virtuele netwerken bieden isolatie en segmentatie. Ze filteren en routeren ook verkeer en maken het mogelijk om verbindingen tussen verschillende locaties tot stand te brengen. In deze oplossing zijn de twee netwerken verbonden via peering van virtuele netwerken.
  • Azure DDoS Protection biedt verbeterde DDoS-risicobeperkingsfuncties. Wanneer u deze functies combineert met best practices voor het ontwerpen van toepassingen, helpen ze om bescherming te bieden tegen DDoS-aanvallen. Schakel DDoS Protection in op virtuele perimeternetwerken.
  • Netwerkbeveiligingsgroepen gebruiken een lijst met beveiligingsregels om binnenkomend of uitgaand netwerkverkeer toe te staan of te weigeren op basis van bron- of doel-IP-adres, poort en protocol. In de subnetten van dit scenario beperken netwerkbeveiligingsgroepsregels de verkeersstroom tussen de toepassingsonderdelen.
  • Azure Key Vault slaat de toegang tot wachtwoorden, certificaten en sleutels op en beheert deze.
  • Azure Database for MySQL - flexibele server is een relationele databaseservice die is gebaseerd op de opensource MySQL-database-engine. De implementatieoptie voor flexibele servers is een volledig beheerde service die gedetailleerde controle en flexibiliteit biedt voor databasebeheerfuncties en configuratie-instellingen. In dit scenario slaat Azure Database for MySQL WordPress-gegevens op.
  • Blob Storage biedt schaalbare, geoptimaliseerde objectopslag. Blob Storage is geschikt voor cloudeigen workloads, archieven, data lakes, high-performance computing en machine learning.

Alternatieven

  • U kunt Azure Cache voor Redis gebruiken om een sleutel-waardecache te hosten voor WordPress-invoegtoepassingen voor prestatieoptimalisatie. De cache kan worden gedeeld tussen de App Service-web-apps.
  • In plaats van Azure Front Door kunt u Content Delivery Network gebruiken om webinhoud aan gebruikers te leveren.

Scenariodetails

Dit voorbeeldscenario is geschikt voor kleine tot middelgrote installaties van WordPress.

Potentiële gebruikscases

  • Media-gebeurtenissen die verkeerspieken veroorzaken
  • Blogs die WordPress gebruiken als hun inhoudsbeheersysteem
  • Zakelijke of e-commercewebsites die Gebruikmaken van WordPress
  • Websites die zijn gebouwd met behulp van andere inhoudsbeheersystemen

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Betrouwbaarheid

Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten hebt gedaan. Zie Overzicht van de betrouwbaarheidspijler voor meer informatie.

Houd rekening met de volgende aanbevelingen wanneer u deze oplossing implementeert:

  • App Service biedt ingebouwde taakverdeling en statuscontroles. Met deze functies kunt u de beschikbaarheid behouden wanneer een App Service-web-app mislukt.
  • Wanneer u een netwerk voor contentlevering gebruikt om alle antwoorden in de cache op te cachen, profiteert u van een klein beschikbaarheidsvoordeel. Als de oorsprong niet reageert, hebt u nog steeds toegang tot inhoud. Caching biedt echter geen volledige beschikbaarheidsoplossing.
  • U kunt Blob Storage repliceren naar een gekoppelde regio voor gegevensredundantie in meerdere regio's. Zie Redundantie in Azure Storage voor meer informatie.
  • Als u de beschikbaarheid van Azure Database for MySQL wilt verhogen, schakelt u hoge beschikbaarheid in dezelfde zone in. Met deze functie maakt u een stand-byserver in dezelfde beschikbaarheidszone als de primaire server. U moet de rekenlaag Algemeen gebruik of Bedrijfskritiek gebruiken om hoge beschikbaarheid van dezelfde zone mogelijk te maken. Zie de opties voor hoge beschikbaarheid die van toepassing zijn op uw behoeften voor meer informatie.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie Overzicht van de beveiligingspijler voor meer informatie.

Houd rekening met de volgende aanbevelingen wanneer u deze oplossing implementeert:

  • Gebruik Azure Web Application Firewall in Azure Front Door om het verkeer van het virtuele netwerk dat naar de front-endtoepassingslaag stroomt te beveiligen. Zie Azure Web Application Firewall in Azure Front Door voor meer informatie.
  • Sta uitgaand internetverkeer niet toe vanuit de databaselaag.
  • Openbare toegang tot privéopslag is niet toegestaan.

Zie algemene tips voor beveiliging en prestaties van WordPress en documentatie over Azure-beveiliging voor meer informatie over WordPress-beveiliging.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.

Bekijk de volgende kostenoverwegingen wanneer u deze oplossing implementeert:

  • Verwachtingen voor verkeer (GB/maand). Uw verkeersvolume is de factor die het grootste effect heeft op uw kosten. De hoeveelheid verkeer dat u ontvangt, bepaalt het aantal App Service-exemplaren dat u nodig hebt en de prijs voor uitgaande gegevensoverdracht. Het verkeersvolume correleert ook rechtstreeks met de hoeveelheid gegevens die wordt geleverd door uw netwerk voor contentlevering, waarbij de kosten voor uitgaande gegevensoverdracht goedkoper zijn.
  • Hoeveelheid gehoste gegevens. Het is belangrijk om rekening te houden met de hoeveelheid gegevens die u host in Blob Storage. Opslagprijzen zijn gebaseerd op de gebruikte capaciteit.
  • Schrijfpercentage. Bedenk hoeveel nieuwe gegevens u naar uw website schrijft en host in Azure Storage. Bepaal of de nieuwe gegevens nodig zijn. Voor implementaties in meerdere regio's komt de hoeveelheid nieuwe gegevens die u naar uw website schrijft overeen met de hoeveelheid gegevens die in uw regio's wordt gespiegeld.
  • Statische versus dynamische inhoud. Bewaak de prestaties en capaciteit van uw databaseopslag om te bepalen of een goedkopere SKU uw site kan ondersteunen. De database slaat dynamische inhoud op en het netwerk voor contentlevering slaat statische inhoud in de cache op.
  • App Service-optimalisatie. Zie Azure-app Service en kostenoptimalisatie voor algemene tips voor het optimaliseren van App Service-kosten.

Prestatie-efficiëntie

Prestatie-efficiëntie is de mogelijkheid om op efficiënte wijze uw werkbelasting te schalen om te voldoen aan de vereisten die gebruikers eraan stellen. Zie overzicht van de pijler Prestatie-efficiëntie voor meer informatie.

In dit scenario wordt de WordPress-front-end gehost in App Service. U moet de functie voor automatische schaalaanpassing inschakelen om het aantal App Service-exemplaren automatisch te schalen. U kunt een trigger voor automatische schaalaanpassing instellen om te reageren op de vraag van klanten. U kunt ook een trigger instellen die is gebaseerd op een gedefinieerd schema. Zie Aan de slag met automatisch schalen in Azure en het artikel Prestatie-efficiëntieprincipes van Azure Well-Architected Framework voor meer informatie.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Hoofdauteur:

Andere Inzenders:

  • Adrian Calinescu | Senior Cloud Solution Architect

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen

Productdocumentatie:

Microsoft-trainingsmodules: