Optimaliseer je Azure-kosten met slimme keuzes
Als we alles in de cloud gooien, dan zijn we per definitie flexibeler qua inzet van resources, overal bereikbaar met een betere performance van onze diensten en altijd goedkoper uit. Zo hebben alle grote cloudproviders het in elk geval altijd voorgespiegeld. De werkelijkheid is net iets genuanceerder, zeker met de enorme toename van clouddiensten en steeds complexere cloudomgevingen. Als je niet oplet, dan kunnen de kosten flink oplopen.
Pay-per-use
‘Maar die kosten zijn toch met abonnementen en vaste maandtarieven volledig voorspelbaar?, horen we sommigen al denken. Bij klassiek hosten van applicaties in een hosting center klopt dat inderdaad. Veel clouddiensten zijn echter gebaseerd op het werkelijke verbruik, zoals data-opslag en rekenkracht. De heersende gedachte is hierbij dat kostenoptimalisatie of kostenbesparing nooit ten koste mag gaan van de beschikbaarheid. Daar zijn we in grote lijnen mee eens, althans waar het bedrijfskritische applicaties en workloads betreft. Bij niet-kritische workloads kunnen echter op jouw Azure cloud subscription wel degelijk de nodige knaken worden bespaard.
Slimme keuzes
Die mogelijkheden kunnen worden benut door slimme keuzes te (laten) maken bij zowel het selecteren en inrichten van de services als het ontwerp van de architectuur. We noemen er een paar:
- Splitsen van kritische workload en niet-kritische workload. Door (tijdelijk of standaard) minder ‘computing power’ toe te wijzen aan niet-kritische workload, kan geld worden bespaard. De keerzijde is wel dat de beheerslast toeneemt, zowel ten aanzien van de maatwerkapplicaties als voor de beheerder zelf. Stel: je hebt een warenhuis met enerzijds goedkope producten en anderzijds hoogwaardige artikelen met een hoge marge. Omwille van een snelle afhandeling kun je ervoor kiezen om alle kassa’s met een grote (en dure) rekenkracht uit te rusten. Om kosten te besparen kun je echter ook alle kassa’s een basiskracht meegeven. Met het risico dat dit ten koste gaat van de hogemargeproducten, aangezien die kopers snel geholpen willen en moeten worden. Oplossing: één ‘zwaardere’ kassa voor het hoogwaardige assortiment en de rest met basisfunctionaliteit.
- Accepteren van hogere vaste kosten bij kritische applicaties. Dit kan in de vorm van ‘reserved instances’ waarmee je bij je provider voor specifieke applicaties die 24/7 in de lucht moeten zijn (zoals een ERP-systeem of database) een bepaalde capaciteit reserveert. In ruil voor deze zekerheid voor de provider kun je vaak flinke kortingen bedingen. Dynamisch opschalen blijft overigens gewoon mogelijk. Ook kun je gebruik maken van ‘elastic scaling’, waarbij automatisch tijdelijk minder of juist extra hardware wordt ingeschakeld voor bepaalde toepassingen. Dit wordt vooral toegepast bij data services. Met elastic scaling blijven applicaties te allen tijde presteren, ook zonder ingrijpen van engineers.
- Overstappen van PaaS naar IaaS. Wanneer je er voor niet-kritische workloads voor kiest om een virtuele server in te schakelen in plaats van een cloud native service, dan kan de beheerder de services zelf aan- en uitzetten. Houd er dan wel rekening mee dat dynamisch opschalen met deze oplossing niet mogelijk is, waardoor er beheerkosten voor onder andere beveiligingsupdates komen. Tenzij je deze taken automatiseert, maar ook dat kost uiteraard geld.
Monitoring op dagbasis
Met andere woorden: als je wilt optimaliseren, dan zul je per saldo bereid moeten zijn meer beheertaken (weer) zelf uit te voeren, inclusief monitoring. Die monitoring van het verbruik kan voor individuele services op dagbasis worden ingeregeld, zodat op elk moment kan worden ingegrepen. Realiseer je daarbij wel dat het verdubbelen van de rekencapaciteit vrijwel automatisch ook dubbele kosten betekent.
Heb je de benodigde expertise niet in huis? Of zou je graag eens sparren met een partij die dagelijks met Azure Cost Management te maken heeft? Neem dan gerust contact met ons op via 085 - 487 52 00 of info@delta-n.nl.
Aleks van ’t Hooft, Manager Development