Michaël Hompus: Je WordPress site hosten bij Microsoft? Are you serious?
De volgende speaker werkt al 18 jaar als een software-developer. En we hebben een primeurmond na elf jaar bij WindVision begint die maanden aan een nieuw baan. Bij info-support. Dus voor hem ook een spannende nieuwe tijd. En hij heeft het mooie van twee werelden. Ik denk dat hij werkt altijd als bijwerkt dat hij met Microsoft. Dan maakt hij het closed corporate-systeem en aan de andere kant houdt hij zelfs een eigen wordblaswebzij bij. En deelt hij daarmee in open-source-spaart technische oplossing voor de problemen die hij dagelijk tegenkomt. En het mooie daarvan is dat je dat nieuwe oplossing kan bedenken tussen twee verschillende systemen. Hij werkt dus vooral met Microsoft Azure of het Nederlands Azure. Wie kent Microsoft Azure? En wie heeft er al eens aan gelacht om z'n werepress-cyte op te houzen? Kijk, dat was precies. Maar Micheal, vandaag over gaan herren. Eigenlijk de combinatie werepress en Microsoft en is het mogelijk. Micheal, hallo. Dank je wel. Nou, we zijn blij dat ondanks de titel Microsoft in de titel Microsoft genoemd hebben, en er toch nog mensen in ieder geval durven aan te schrijven. Ik hoop jullie niet te leurd te stellen. Nou, ik ben al geïnteresseerd. Ik doe dus vooral mijn werk in Microsoft Stack, dus Microsoft programmaertalen, software oplossingen. En al die mooie oplossingen die ik vind, die ik nog nergens anders gevonden heb, die schrijf ik dus op mijn blog. Mocht je geïnteresseerd zijn, kan je die ook daar terug vinden. Vandaag moet je hier allemaal lief voor me zijn, ondanks dat ik als Microsoft aanhangen ben, omdat ik Code of Conduct geldt vandaag hier op dit isent. Maar mocht je hierna kritiek willen spuiën, feedback willen geven met Twitterhandel, of op LinkedIn, dan ben je van harte welkom om de discussie aan te gaan. Ook hierna na de sessie. Geen probleem. Ik ga mijn slides na deze sessie delen. Voor degenen die willen teruglezen, alle linkjes willen volgen. Ze staan in de slides en die kan je dan hierna terugvinden. Ik ga het vandaag hebben. Heel verrassend. Over Microsoft Azure. Over architecturen, hoe je WordPress zou kunnen hosten in Azure. En wat ook voor en nadelen van die verschillende architecturen zijn. En ook wat krachtige kanten van Azure. Onder andere wat je met templates kan werken met een API. Ik zal een stukje benadrukken over kosten.  Wat komt er nou bekijken? Waar moet je aan denken? Want het is niet gratis, of niet helemaal gratis. En het einde van deze sessie kan je gewoon aan de slag met Azure. Dan laat ik jullie zien hoe je zelf ook kan beginnen. Als eerst Microsoft. Iedereen kent Microsoft en meestal mensen kennen ook Microsoft Azure. Dus dat hoef ik dan niet helemaal uit te leggen. Maar Microsoft is niet meer het Microsoft van je vader. Zoals recentelijk werd gequoet. Microsoft is behoorlijk veranderd in de afgelopen jaren. En waar men in het verleden vanuit Microsoft redelijk lelijk was over open source en Linux. Om het netjes te zeggen is dat nu wel anders. Er is een redelijk ander beleid. Iedereen is welkom. En eigenlijk net zoals de Code of Conduct die hier vandaag geldt, geldt ook de filosofie binnen Microsoft tegenwoordig. Het maakt niet meer uit je religie, je seksuele orientatie. Of je gehandicap bent, blind, slechtsziend. Je bent allemaal welkom als medewerker, maar ook als gebruiker. En dat geldt dus ook voor alle andere operating system, device, etc. Alle nieuwe projecten die Microsoft tegenwoordig doen, zijn eigenlijk open source tensile. En een hele goede reden is waarom het niet open source zou kunnen of zou mogen. En dat zie je ook in .NET Core, programmeertaal, maar ook Visual Studio Code, de nieuwe editor. Alles is open source. Je kan zelf bijdragen, maar ook elke SDK die tegenwoordig uitkomt. Nieuwe Touring, bijna alle staat op GitHub en je kan zelf contributen. Ook de documentatie, dus docs.microsoft.com, is tegenwoordig open source. Als je een artikel bezoekt, ik heb hier even eentje uitgekozen over die ik zelf heb aangepast. Dan zie je rechts boven de pagina een pennetje staan, druk erop en je komt meteen in GitHub bij die pagina. En kan je hem gaan editen en als een poelrequest submitten. En het leuke is, je ziet misschien niet op deze grote, het meest rechte fotootje dat ben ik. Dus ook de contributors worden echt wel benoemd die aan die pagina hebben meegewerkt. Zoals ik al zei, cross-device. Je hoeft niet meer een Windows-telefoon te hebben of een Windows PC of een Windows Tablet. Je kan ook met je Android-device net zoveel Microsoft software gebruiken. Je kan met je iOS-device net zoveel Microsoft software gebruiken. Of nou de Office Suite is of andere apps.  Ik gebruik zelf Edge en de browser op mijn telefoon. Ik ben waarschijnlijk een van de weinige in Nederland, dat besef ik. Maar die keuze heb ik dan weer om toch te doen. Cross-platform, bring your own code, dat is een man-trandu. Programmeer in Java, je bent welkom. Programmeer in PHP, je bent welkom. Microsoft zorgt ervoor dat jij met jouw programmeertaal op hun platform terecht kan. En dat is wel iets heel anders dan een jaar of tien geleden. Waar het altijd was, je moest alles van Microsoft gebruiken. En als je er helemaal in zat, had je weinig mogelijkheden om iets anders te doen. En online kom je dus steeds meer dit soort quotes tegen. Of plaatjes op Twitter en op blogs. En ze zijn een allerlei varianten. Deze was er echt al voor dat Microsoft GitHub kocht. Cyclesurfers tegenwoordig als een docker image te draaien. Nou, dat is ook een wereld van verschil of het heenopsticht van vroeger. En Microsoft en Linux gaan in Azure Hand in Hand. Dit zijn gewoon de plaatjes die tegenwoordig online te vinden zijn. Vonden dat je heel erg uit hoeft te zoeken of bij de fanboys hoeft te zijn. Azure, gelukkig de meeste mensen kennen het al, is dus de public cloud die Microsoft aanbiedt. Vroeger heette dit Windows Azure. En dat is ook met de reden dat het ge rebrand is. Om te laten zien, dit is niet meer Windows specifiek. Nee, dit is Microsoft breed en ook voor de hele wereld. Zoals ik al zei, public cloud heeft 50 regio's, meer dan 50 regio's in de wereld waar zij beschikbaar zijn. En die regio's zoals de regio die West-Europa heet, dat staat gelijk aan Amsterdam. In Amsterdam staat een van de oudste Azure regio's West-Europa. En als je dus iets deployt in West-Europa, dan staat het dus in Amsterdam. Vondst Nederland is wel prettig. Als je daar iets neerzet, dan weet je dat het binnen Nederlandse landsgrenzen staat. Ze bieden meer dan 100 diensten aan binnen Azure. Dus ik ga ze zeker niet allemaal benoemen. En eigenlijk, voor alles wat nu een buzzword is, hebben ze wel een dienst. Of nou IoT of Blockchain is. Wat je ziet is wat er gebeurd is. Er zijn bouwsteentjes. Ze combineren bepaar en dat is weer een nieuwe dienst die je kan afnemen. Mocht het belangrijk zijn, te zijn redelijk compliant.  Ze hebben wereldwijd over de safety certificeringen op hun cloud. Nou moet ik al zeggen dat GDPR of AVG en ISO 27001, eigenlijk ook wel hoster in Nederland, daar ook wel aan voldoen. Maar mocht je een Amerika-klant hebben zitten die aan HIPAA moeten voldoen. Nou, dan heb je het voordeel dat Azure cloud ook certificeerd is. En je dus daar op kan leunen. Dit is de kaart met alle regio's die er nu zijn. Nou, dit is de afgelopen jaren behoorlijk geëxplodeerd. Azure was ook het eerste cloud platform die bijvoorbeeld in Afrika nu beschikbaar is. Doordat er nu twee datacenters worden gebouwd in Zuid-Afrika. Maar ze zitten dus ook in Zuid-Amerika en in Australië. En China, dat is een apart gedeelte van de cloud. En Duitsland heeft ook een eigen stukje cloud. Vanochtend, of gisteravond, kwam het nieuws dat Microsoft daarmee stopt. Dat het niet meer relevant is door dat de wetgeving is veranderd. En dus de Amerikaanse overheid toch overal bij mag. Dat is meteen een nadeel van hoster bij Microsoft. Maar dat geldt zelfde voor het hoster bij Amazon of het hoster bij Google. Amerikaanse overheid kan heel ver gaan als ze per zee iets willen hebben. Gelukkig wel, de rechter moet toestemming geven. Dus daar geloven we dan de Amerikanen op dat ze zich daar netjes aan houden. Klein stukje over wat maakt Azure anders? Dan een gemiddelde hosting provider. Bijvoorbeeld opslag. Stel ik slaan bestandje op in Azure. Dan wordt dat op drie verschillende servers opgeslagen. Op drie verschillende racks, drie verschillende power supply units. In ieder geval over allerlei eenheden heen die potentiëel kapot kunnen gaan. En als ik dus een bestand op slaan, Azure, garen dit Microsoft dat binnen een jaar het 99,99% van de tijd beschikbaar is. En dat is best wel heel veel. Maar dat is het minste wat je kan hebben. Tegenwoordig heb je ook iets wat heet, ook trouwens de foto die je zag, dat waren de Amsterdamse datacenters. Een zonrededant is tegenwoordig nieuw. Dan heb je nog steeds binnen een regio, West Europa of in dit geval een foto van Friends Central. Dit zijn drie datacenters die rond Parijs liggen. En dan wordt je bestandje in die drie datacents opgeslagen. En jij krijgt pas terug dat het opgoed opgeslagen is als het in die drie datacenters staat. Maar dat levert wel extra latensie op.  Dus het duurt één à twee miljoen seconden langer voordat je bestand opgeslagen is. Maar dan kan Microsoft wel een extra negen toevoegen aan hun gegarandeerde beschikbaarheid van jouw bestandje. De volgende stap is regional redundant. Stel ik slaan bestand op in West-Europa, Amsterdam. Dan wordt als het daar opgeslagen is, aanzien gewoon een kopie opgeslagen drie maal in Dublin, in Noord-Europa. Overigenschappig dat Noord-Europa zuidelijker ligt dan West-Europa, maar dat tezijde. Op het moment dat je dat gaat doen, betaal je natuurlijk wel iets meer, want het wordt zes keer opgeslagen, dus Microsoft wil iets meer geld van je hebben. Maar het voordeel is, stel nou, Nederland loopt onder water, dan worden alle datacenters misschien tegelijkertijd geraakt. En dan is irland nog steeds beschikbaar, want dat ligt zover van Nederland af, dat dezelfde ramp waarschijnlijk niet op die twee plekken tegelijkertijd zich plaatsvindt. Als in Nederland alle stroom uit zou vallen, dan is irland waarschijnlijk zover van het netwerk losgekoppeld, dat dat geen effect heeft. Terwijl als je bijvoorbeeld Parijs hebt, dan heb je wel drie datacenters, maar als heel Parijs plat ligt, dan heb je ook nog steeds dat je onbereikbaar zou zijn. Maar dat betaal je wel voor. Die tweede locatie komt pas beschikbaar op het moment dat de eerste locatie niet meer bereikbaar is. Dus het kan zijn dat je dat moment dus even onbereikbaar bent. Ga je nog iets meer betalen dan kan je die tweede locatie wel eens riet-only beschikbaar krijgen. Dit is de basis van alle diensten onder Asche. Microsoft leunt hier zelf enorm op. Dit soort storage wordt gebruikt in alle diensten die ze daarbovenop beschikbaar stellen. Gebruik je een cycledatabase, die bestanden staan op storage, die onder water, op deze manier werken. En als je dus een keuze maakt voor wat voor majsqualservice je wilt hebben, ga je dus ook een keuze maken, waar ga je het opopslaan. Dan weet je in ieder geval hieraan wat voor keuze je hebt en waarom het ene duurder is dan het andere. Gaan we naar wordpress kijken binnen de architecturen die we kunnen aanbieden in Azure. Dan hebben we een aantal varianten. Misschien meest voor de handliggende. Dit is de eerste twee seksies van alle diensten die je nu in Azure kan kiezen. Dus dit is die hele componentenbak waar je uit kan kiezen.  Ik heb voor jullie dus nu even een selectie gemaakt en de vijf uitgekozen die het meest voor de handliggende zijn om mee aan de gang te gaan. Ik kan je zeggen, DNS. Ja, DNS kan je ook gebruiken natuurlijk om je site in de lucht te hebben. Kan je ook kiezen om Azure te gebruiken. Maar zo zijn er nog veel meer. Kies je voor de dienst database voor majsqual, dan krijg je een manage database. Dat betekent dat updates installeren hoef je niet zelf te doen. Majsqual doet door Microsoft voor jou geupdate. Dus als je majsqual een nieuwe versie krijgt, binnen dezelfde major version, dan zorgt Microsoft ervoor dat je zonder downtime een gepetched SQL Server krijgt. En je kan op dit moment uit twee smaken kiezen. Het is sowieso de Community Edition. En je kan kiezen tussen 5.6 of 5.7. Standard zit er een firewall bij, dus kan je er niet mee verbinden. Je moet elk IP address waar je wilt dat met jouw database kan verbinden, even in de file aangeven. Je kan gewoon via de portal, via de webinterface. Je kan het via shell scripting doen. Dat maakt niet uit. Maar wel een veilig gedachte dat het standard niet ieder hele wereld met jouw database kan connecten. Standard kan je ook alleen over SSL verbinden. Je kan het uitzetten. Dat is je eigen risico wat je wil nemen. Microsoft biedt 99,99% SLA. Als die niet gehaald wordt, krijg je geld terug. Ja, je hebt liever de uptime, maar goed. Je krijgt in ieder geval iets van je geld terug. Het leuke is, hij is ook schaalbaar. Je kiest hoeveel CPU's je SQL Server krijgt, hoeveel gigabyte opslag je wilt dat hij heeft. Je kan ook gewoon... Morgen moet ik meer capaciteit hebben. Je sleept de slider iets verder naar rechts. En daarna kan je weer naar links lepen. Dat is gewoon dynamisch te wijzigen. Ook zit de standard backup bij. Minimaal 7 dagen. En tot 35 dagen terug. Dat betekent point-and-time backup. Dus het betekent dat als ik zeg ik wil nu een backup hebben van 2 uur gistermiddag. Of 1 over 2 gistermiddag, dan kan dat. Dan zeg je gewoon dat is de tijdstip. En je krijgt een kopie van je SQL data bezig van dat moment. Dit kan je ook allemaal zelf in regelen. Dit kan je aan de zelfscripten.  Je kan het allemaal zelf bouwen. Ja, dat is de prijs die je met Microsoft betaalt. Dan krijg je wel eens 1 geheel. De groepkoopste variant zit je op 25 euro per maand. Dat is dus niet... Je kan zelf groepkopen hosten. De vraag is alleen of je al die andere dingen dan ook... ... qua onderhoud-updates daarvoor terugkrijgt. Let wel. Omdat het een transactionele support heeft vanwege die backups... ... wordt MyISAN niet onderstuind. En er zijn WordPress-plugins... ... die heel erg heftig leunen op MyISAN. Dan gaat het niet performen, kan ik je vertellen. Dus InnoDB, memory tables, geen probleem. Maar leunen je op een van de andere vier storage engines binnen MySQL... ... dan heb je een probleem. Dan moet je hier niet voor kiezen. Dan kan je nog steeds je eigen SQL-mySQL-inricht op een virtual machine. Maar dan moet je je niet deze dienst afnemen. Je kent je aan de SSL-verbinding. Kan dat ook een SSL-verbinding naar de MySQL-port toe? Naar de MySQL-port toe. Ja. Goed, de datebees is leuk. Maar dan hebben we nog niks met WordPress. Standard binnen Microsoft-platform heb je web-apps. Die kunnen heel veel. En heel veel is niet relevant voor WordPress. Dus dat ga ik nu vandaag niet over vertellen. Maar niet draaien op Windows. En die gebruik je internet-information-server als web-server. Daar kan WordPress op draaien. Daar kan PHP op draaien, geen probleem. Maar niet elke plug-in werkt met IES. Vooral de output-caching-plugins. Die hebben nog wel eens issues hiermee. Waarom zou ik voor web-apps willen kiezen? Standard zijn die zowel horent en horizontaal als verticaal schaal waren. Je kan ze dus zwaarder maken. Meer CPU, meer procesoren, zodat je meer capaciteit hebt. Maar je kan ze ook horent aan schalen. Je kan beter vier kleintjes hebben draaien. Dan één hele zware. Standard kan je dat allebei. Voor WordPress is daarbij heel belangrijk. Het is shared storage. Want als je een plug-in of een bestaantje op slaat, moet wel elke web-server hetzelfde bestaantje kunnen teruggeven. Als ik een pagina maak, ik upload daar een foto bij. En andere web-server probeert die pagina terug te sturen naar de gebruiker. En die foto is niet aanwezig. Dan heb ik een kapot pagina. De shared storage is daar heel belangrijk in. Dat is ook een performance bottleneck. Standard krijg je ook load balancing.  Dus je hoeft geen load balancer zelf in te richten. Krijg je gaten erbij. En je kan ook het schalen inrichten dat dat automatisch gebeurt. CPU load komt boven de 80%. Zet hij er een tweede instantie neer. Komt dan weer boven de 80%, zet hij er een derde instantie neer. De CPU zakt onder de 20%. Verwijdert hij weer een server voor je. Gebeurt helemaal automatisch, hoeft je niks wat te doen. En je betaalt alleen maar voor die instances op het moment dat ze dus nodig waren, omdat je die load had. Je kan in een web-app MySQL in-app optie gebruiken. Dan krijg je eigenlijk op de web-server een MySQL-installatie. Maar dan kan je het dus niet meer schalen. Want je kan niet die database meeschalen over instances heen. Dus eigenlijk alleen maar voor testdoeleinden zou je dit moeten doen. Dan zit er wel PAP MyAdmin meteen bij. Het is een optie. Mocht je even snel iets willen testen met WordPress, dan zou je hiervoor kunnen kiezen. Dus nadeel draait op Windows. Shared storage en schalen is ingebouwd. En eigenlijk heb je een externe MySQL nodig, anders kan je niet schalen. En dit is dan een mooie extractuurplaatje erbij. Hoe je dit zou kunnen inrichten. Tegenwoordig, dit heet eerst web-app voor Linux. Dat hebben ze gerien met web-app voor containers. Kan je dezelfde inrichting gebruiken, maar kan je er containers achter hangen. Heb je nog steeds de voordelen van het kunnen schalen en het load balanzen. En je kan zelf kiezen wat voor container je er achter aan wil hebben. Dat is dan tot netkor, Java, Node, PHP. Zij zijn allemaal standaard containers beschikbaar. Maar je kan ook gewoon van Docker Hub een container pakken. Of als je een eigen Docker repository hebt die gebruiken. En ook geavanceerdere scenario's met Docker Compose of Kubernetes Pod Definition mocht je daarmee gewerkt hebben of ervaring meer hebben. Kan je allemaal aan zo'n web-app hangen. Heb je nog steeds het voordeel van die load balancer, DNS, SSL-regis, configuratie. Allemaal dat soort dingen hoef je allemaal nog steeds niet zelf in te richten. Dat heeft Microsoft voor je gedaan. En je kan je eigen container achter hangen. Moet je wel weten hoe je een container maakt. Dat is dan de consequentie. Het voordeel is dus je kan je website op Linux draaien. Dat vindt WordPress toch net iets prettiger.  Het schalen is nog steeds ingebouwd. Echter als je die shared story's nodig. En dat kan een performance bottleneck zijn. Dan de, wat we ook als infrastructure as a service oplossing noemen. Gewoon virtual machines draaien. Dat kunnen heel veel hosting providers voor je. Ik ga zeker niet zeggen dat als je hier goedkoper is. Er zijn andere platformen en daar kan je nog veel goedkoper virtual machines afnemen. De goedkoopste virtual machine is 1 CPU en 1 gigabyte geheugen. En dan kom je ongeveer op 7 euro 65 per maand uit. In T-stadding kan ook virtual machines krijgen met 128 CPU's. Met 4 terabyte geheugen. Nou, dan, als je verwoord pressant nog niet vlampt dan weet ik niet. We hebben al 23.000 euro per maand kwijt. Dit is niet de zwaarste machine die je af kan nemen. Er is nog eens waarde. 384 CPU's met 8 terabyte geheugen. Iemand enige idee voor welk doel einde je die virtual machines kan afnemen. Close. Sap. Als je sap compliant servers wil hebben, dan zit je blijkbaar aan dit soort specificaties. Overigens, die zijn maar 25.000 euro per maand. Maar dat is wel inclusief de korting omdat je ze minimaal 3 jaar moet afnemen. Dus reken maar uit 3 jaar, maat 12 maanden, maal... Een hoop geld. Memorie is hier ram toch? Ja, ram. De niet storage, ram. 8 terabyte ram. Ja, en dat is virtual. Dus die host die er onder zit, die heeft nog meer capaciteit. Die server noemt Microsoft intern de beast. Ik kan wel voorstellen waarom. Binnen die virtual machines, vrije keus. Windows kan, krijg je de kopie licentie bij, heb je al licentie, kan je ook korting krijgen, want dan kan je licentie in hybride vorm gebruiken. Maar Ubuntu, Red Hat Enterprise, wat jij wil, je kan dat er binnen draaien. Gewoon alles supporten vanuit Microsoft en alles. Wat krijg je bij een virtual machine? Aanitoring, dus je kan zien hoeveel CPU gebruikt wordt, hoeveel. Memorie, je kan de alerts en mailtjes krijgen van, hey, je had de schrijven. Wordt nu wel heel zwaar belast of je memory is bijna op. Kan je allemaal inregelen? Ik heb een roel dat als mijn server een paalde tijd niet actief is geweest, dan is waarschijnlijk iets stuk, dan reboot-ie de server vormen. Kan je allemaal in elkaar klikken in de poortel.  Verticaal schalen kan, ga ik hopelijk zo meteen laten zien. 1 CPU, gooi ik wil de 2 hebben, je zegt in de poortel geef me een machine met 2 CPU, hij reboete de omgeving en je hebt 2 CPU's. Backup restore in regelen is alleen maar klik, klik, klik. En ik heb een backup, een snapshot elke dag, elke week, elke maand, ik kan zelf verkiezen wat ik wil. En je kan dan zeggen hey restore die backup en dan heb je de server van dat moment weer terug. Maar een virtual machine wordt niet door Microsoft, Microsoft zorgt dat die in de lucht is, maar een update voor Ubuntu installeren zou je er zelf moeten doen. Omdat die server maar als eentje is uitgevoerd toen ik van de week mijn blog aan het update was, of in ieder geval Ubuntu aan het update was, was ik wel 5 minuten uit de lucht. Dat is risico wat ik neem door een single server neer te zetten. Voordeel voor een virtual machine is dus, draait op Linux, kan echt een horizontal niet uit zichzelf schalen en een externe MySQL is mijn voorkeur qua beheer. Niets houdt je wel tegen om MySQL op die server te installeren. Alleen dan moet je hem ook zelf gaan onderhouden. Dat is je eigen keus. En vrij recent, Kubernetes Service is een nieuwe dienst die Microsoft aanbiedt. Dan krijg je gewoon een Kubernetes omgeving die ook voor jou wordt geupdate. Dus jij hoeft er weer geen onderhoud te doen, Microsoft zorgt erbij dat hij op de laatste versie draait, komen er patches uit, updates, Microsoft zorgt ervoor dat jouw omgeving wordt bijgewerkt. En er zit ook alle processen in om je Docker containers bij te werken, dat ze allemaal netjes 1 voor 1 worden gedaan, alles wat Kubernetes als dienstverlening doet. Echter moet je dan wel zelf al je containers gaan kiezen, configureren, wat jij wil. Lootbalancing en dat soort dingen zitten er dan allemaal bij. Dus, draait op Linux voordeel, Externe MySQL en Shared Stories is wel handig, want binnen je Docker container opslaan is niet handig, omdat er dan een tweede Docker container bij komt. Ja, dan staan die bestanden nog steeds maar op één van de twee containers.  Maar of jij Azure Shared Stories gebruikt, omdat je weer drie Docker containers met één of andere softwarepakketje voor Shared Stories gebruikt, die keuze heb je dan zelf. Maar hoe meer keuzevrijheid, hoe meer werk je weer aan het onderhoud. Alles wat je binnen Azure hebt, bijna alles, kun je template. Dat noemen we zogenaamde ARM template van Azure Resource Manager. Dat is eigenlijk gewoon een JSON bestand, waarin je beschrijft wat je wilt hebben. Een virtual machine, een storage account, een MySQL database, alles wat je wilt hebben. En dan zeg je tegen de API, dit is mijn template, maak het maar aan. Dat kan via de portal, sterker nog als je in de portal op een plusje klikt van ik wil een webserver hebben, een water- en JSON bestand genererd en die wordt aan de API aangeleverd. Dan kan via de comment line interface, ook vanuit Linux, vanuit Mac, vanuit Windows, via PowerShell of gewoon als je wilt, kan je zelf registreren tegen de rest de API praten. En dit kan ook onderdeel zijn van je continuous integration en continuous deployment pipeline. Ik hoop dat mensen weten wat CECD is. Ik kan er niet op alweer alles gaan uitleggen, want daar heb ik geen tijd voor. Wat het inhoud is, en dat ga ik je laten zien, is dat je dan op een hele consistente manier je omgeving update en in de luchthoud. En dat kan met Visual Studio Team Services, wat voor Microsoft is, gratis om mee te werken, maar ook van andere software, Team City of welk application lifecycle management tool je zelf ook maar gebruikt. Nou, ik ga dat even demo'en als alles mee zit. Ik heb hier Visual Studio Code, ik heb hier een ARM template, ik ga hem niet helemaal uitleggen, maar ik heb een WordPress omgeving, ik heb drie WordPress omgevingen, een test, een acceptatie en een productie omgeving, want iedereen heeft natuurlijk test, acceptatie en productie voor zijn WordPress omgeving. Toch? Ja. Er zijn twee mensen die een ja durven, en eentje die twijfelen. Ja, dat is... Ik heb nog een test. Oké. Iedereen werkt hier niet alleen op productie. Ja, ik heb nog steeds geen enthousiaste reacties. Ik heb dus wel zo'n omgeving in elkaar gezet. Dit is mijn template. Ik heb dus maar één template die geldt voor test, acceptatie en productie. Drie identieke omgevingen komen eruit.  Mijn focus staat nu hieronder, op de regel ik heb al geprobeerd in te zoomen, dus ik hoop dat het ene sinds leesbaar is, maar ik heb hier nu staan mijn VM-size is Standard B1S. Die één CPU, één gigabyte memory machine, dat is een B1S. Dat is gewoon even de code voor die machine. Stel, ik ben nu verbonden met die machine. En als ik endproc doe, zegt hij ook, je hebt één CPU. Nu ga ik zeggen, nee, ik wil twee CPU's hebben, dus ik verander hier in mijn template Standard B2S. Dit staat gewoon in een git-repositorie. Need more power is mijn commit. En ik ga dit nu pushen naar mijn source-control-systeem, wat dus bij mij in mijn geval visual studio-team-services is. Nou, of we hebben geen verbinding, maar ik heb hier wel naar de andere kant. Gelukkig kan ik tegenwoordig ook alles in de browser editen, dus dan doen we hier gewoon even hetzelfde. Nu is mijn bestand gewijzigd. Ik sta nu B2S in mijn template. Dat is alles wat ik hoef te doen. En nu gaat de magie beginnen. Ik heb een beeld. En zoals je ziet is mijn commit gezien. En is er nu een beeld gestart. Die beeld gaat alle bestanden uit mijn repositorie pakken die relevant zijn voor deze pipeline. Nou, gelukkig hij is klaar. Dan gaan we naar de release doen. Die heet heel verrassend WordCamp Nijmegen. En we zien hier dat mijn pipeline begonnen is. En we zijn op dit moment aan het uitrollen naar test. Dus op dit moment wordt mijn testomgeving gepetst met de wijziging die ik net gestuurd heb. Wat is nou het leuke om het op deze manier te doen, is dat ik hier bijvoorbeeld een optie heb compare. Ik kan nu zien wat ik of mijn collega's aan deze template gewijzigd heeft. En ik kan dus zien oh, iemand heeft die regel van 1 naar 2 veranderd. En het heet blame, maar eigenlijk hoort je te staan. Contribute by of mag iets positieven. Die heeft het werk gedaan. En ik kan nu zien dat deze regel een minute geleden door mij is gewijzigd. En ik kan ook de voorgeving zien. Dat is gewoon allemaal tooling, support. Maar dat zou een reden kunnen zijn om jouw template, jouw definities van jouw server in source control te zetten. Nou, dit moment wordt de omgeving geupdate.  Dit duurt afhankelijk van resources 1 naar 2 minuten voordat deze wijzigings doorgevoerd. En ik verwacht elk moment dat hier mijn verbinding verbroken gaat worden met deze shelf. Dat gaan we zo even terugkijken. Zal iemand? Oké, dan kan ik ondertussen doorgaan. Kosten van azure, waar moet je aan denken? Standard is alles pay as you go. Wat je gebruik, daar betaal je voor. Dus zet ik vandaag mijn squal aan. En morgen zet ik hem uit en betal ik voor 1 dag hosting. Niet voor een maand, niet voor een jaar, nee, alleen voor wat ik gebruikt heb. Wat dat tricky kan zijn, is dat de kosten tussen regio's verschillend kunnen zijn. Iets host in Brazilië is vrij duur. In Australië ook. Zuid-Ofst-Azië is over het algemeen ook duurig, mocht je het nodig hebben. West-Europa is meestal redelijk goedkoop, maar op dit moment is maar een squal in West-Europa heel duur. Dus waarschijnlijk zijn ze daar bijna door hun capaciteit heen. Gaan ze de prijs iets omhoog gevoel. Is nooit Europa goedkoop en hopen ze dat jij in Ierland jouw databees gaat neerzetten. Is een optie. Maar dat is wel even dat je moet weten. Kosten kunnen dus per regio verschillen. Zou allemaal weer mooie sites niet hadden voor je in de gaten houden. Er zijn regelingen voor startups en voor goede doelen en voor het onderwijs om azure-korting of credits te krijgen. Ben jij een gezeticeerd goed doel, dan krijg jij 5.000 dollar of euro per jaar aan credits om azure te gebruiken. Startups kunnen, geloof ik, twee jaar lang gekopen. Zo zijn er allerlei regelingen. Hoveel geld voor stafelkortingen. Dus hoe meer afneemt hoe gekoper het wordt. En bijvoorbeeld als je een virtual machine, een reserve-instance, dus ik zeg van ik wil een jaar lang die virtual machine gebruiken, krijg je korting. Afhankelijk van de grootte kan het wel verschillen. Dus dat is ook al iets om rekening mee te houden. Waar moet je aan denken? Bijvoorbeeld netwerkverkeer. Inkomendverkeers gratis. Dus altijd verkeer na je service gratis. Uitgaatverkeer en na 5 gigabyte per maand moet je daar kleine 8 cent per gigabyte voor betalen. Mijn ervaring is dat als je een hele high traffic site hebt dat je dan op 5 euro per maand uitkomt. Managedisks, wil een hardeschrijf. Een hardeschrijf van 230 gigabyte kost ongeveer 1 euro 30 per maand.  Wil je SSDs, kan ben je 4 euro 90 per maand kwijt. Ook hier weer allemaal stafelkortingen mogelijk maar. Bestanden op azure op slaan bijvoorbeeld zo'n search storage. Betal je dus een 5 cent per gigabyte voor lokale storage. En wat ik al eerder zei, ga je nou georegionaal op slaan dan mee duurt eruit. Dus dan ben je 8 cent, 8,5 cent per gigabyte kwijt. Over het algemeen zijn dit niet de schokkende bedragen voor de gemiddelde WordPress-installatie. Tenminste niet die je ken. Maar het is niet zo goedkoop als sommige hoosters. Mijn ervaringen bij WordPress in Azure, is nog steeds commonsense en algemene performance guidelines die WordPress zelf adviseert. Je kan een site met 50 plugins, 6Mb per foto, 160 CSS in IAS bestanden die elke request werden gedownload. Dan word je site nooit snel. Dan kan je hem op de grootste hardware neerzetten. Maar de basis is gewoon niet te onhoorden. Shared storage kan een bottleneck zijn wanneer je heel veel plugins hebt. Want het elk request wordt heel je bestandssysteem gelezen en dat gaat gewoon de performance opbreken. Queries die dus echt mijn isam nodig hebben, of plugins die mijn isam nodig hebben. Als jij 150 multi-sites draait en je hebt een plugin die gebroken rechten per site ondersteunt en je gaat elk request real-time berekenen of jij iets mag en je wilde proberen dan nog een post te editen, dan na een minuten zegt de server er echt van sorry. En dan kan je de 4 CPU's in gooien en dan kan je er 8 terabyte memory in stoppen. Het houdt echt op. Waarom zou je kiezen voor Asher? Ik ga zeker niet zeggen dat de allerhandige hosting providers niet goed zijn of dat dit beter is. Maar bijvoorbeeld omdat je gewoon zelf, nu zelf hoost en je dat buiten de deur zou willen zetten, zou een optie kunnen zijn. Omdat ze hele hoge SLA's leveren die mogelijk hoger liggen dan bij jouw hosting provider als dat voor jou belangrijk is. Omdat je alleen maar betaalt voor wat je gebruikt, dat kan heel interessant zijn. Dus wil je even iets uitproberen? Ja, je hebt er maar 2 dagen nodig, 1 week. Dan betaal je alleen maar voor die week. Omdat je veel meer controle wil hebben over de inrichting dan je hosting provider misschien biedt.  Omdat je misschien over de hele wereld wil deployen en je niet met alle hosting providers over de hele wereld te maken wil hebben. Of omdat mij ik soort gewoon goede kortingen geeft te geven zijn om de Azure te gaan gebruiken. En omdat je zelf en jullie je dus ook gewoon gratis kan beginnen. Dus wil je zelf aan het slag? ga naar azubitmax.com slash nl nl slash free en er kunt een abonnement afnemen en de eerste 170 euro krijg je gratis. Er krijg je voor Microsoft. Zo kan je in de jaartijd 170 euro aan diensten afnemen zonder lijdervolft te bedalen. Ik heb net visual studio code laten zien, is gratis, editor, kun je gewoon downloaden, werkt op windows linux mac. En ik heb net visual studio team service laten zien, is gratis, onheilig hoeveelheid private git repositories publiek kan je natuurlijk gewoon github gebruiken, werkt VSDS ook mee. En bied je bijvoorbeeld CECD, pipelines, mocht je daarin geïnteresseerd zijn. Dat is alles wat ik jullie mee wil geven. Dat was mijn tijd, of in ieder geval de tijd die ik nodig had. Dus als er nog vragen zijn, dan hoor ik het graag. Je moet vragen. Die visual studio team, was dat alleen de kit of ook de SVM? Verhalen? Visual studio team service is ondersteund naast git. Visual studio of VS source control is echt van oude micsoft en dat zijn de enige twee op dit moment. Hij ondersteunt wel externe repositories. Dus je kan wel van github, bitbucket en nog wat andere providers externe bronnen gebruiken als ingang. Maar binnen VSDS is het eigenlijk tegenwoordig alleen nog maar git. Wel met LFS support, wat Microsoft heeft ontwikkeld bijvoorbeeld. Want heel bindos draait in VSDS. Windows developer team zit gewoon in VSDS. Dus dat was de reden waarom ze dat nodig hadden. Ik heb wel een vraag. Hoe zit het met support en contact met Microsoft? Mijn ervaring heel goed. Over een Azure portal, bij alles wat je hebt, als je een probleem hebt, is er een supportknop. Dan kan je gewoon invullen wat je probleem is. En binnen vier uur krijg je opgebeld of krijg je mail en word je geholpen. Wil je hoger sport, ja kan, maar dan moet je ervoor gaan betalen. Maar dit is de plek waar support het beste geregeld is van alle Microsoft-producten. 