5 passos para reduzir seu custo de Azure Analysis Services em até 47%

Diego Lopes
FinOps Brazil
Published in
3 min readMay 16, 2023

--

Photo by Ganapathy Kumar on Unsplash

Uma das responsabilidades do engenheiro de dados, segundo

nesse artigo, é a otimização de custos em ambientes de dados. Para fomentar essa análise, uma pesquisa da fundação FinOps prevê um crescimento médio de 5 a 7 funcionários dedicados a FinOps nas organizações.

O que você tem feito para diminuir o custo da sua infraestrutura de dados?

Reduzir custos com infraestrutura é um desafio contínuo no time de dados, uma vez que seus dados crescem exponencialmente e, se você for bem sucedido na estratégia de democratização, o consumo também tende a crescer com o tempo. Destacamos alguns exemplos de ações práticas para reduzir o seu custo de infraestrutura:

  • Implementar o ciclo de vida do dado;
  • Migrar os dados para serviços mais baratos como object storage service;
  • Alterar a disponibilidade (SLA) do dado;

Como reduzimos em 47% o custo de infraestrutura do serviço Azure Analysis Services

Sobre o Analysis Services

O serviço é uma solução de análise de dados que permite que as empresas armazenem e analisem grandes volumes de informações de forma rápida e fácil. Ele oferece um ambiente seguro e escalável para a criação e gerenciamento de cubos OLAP (Online Analytical Processing) e modelos tabulares. Ao utilizar o Analysis Services, você pode acessar facilmente seus dados por meio de conexões do Excel ou do Power BI,Com recursos avançados de análise, gerenciamento e segurança, é possível obter insights mais profundos sobre seus negócios, permitindo tomar decisões mais informadas e eficazes.

Quais passos fizemos?

Fizemos algumas perguntas antes de tomar a decisão de readequar o SLA deste serviço, entre elas:

  1. Qual o ROI do serviço para a empresa?
  2. Quais são os principais horários de picos do serviço?
  3. Quais são os horários de não utilização do serviço?
  4. Como entregar um produto com melhor performance em horários de pico de uso?
  5. Como diminuir ou até desligar o produto com performance suficiente para horário de pouco ou nenhum uso?

Através dessas análises montamos uma automação em determinadas janelas de tempo para execução de tais açãos de ‘up/down scaling’. Abaixo o script utilizado com execução pelo Azure Datafactory:

import urllib
import json
import requests

userAzure='a@a.com'
passAzure=dbutils.secrets.get(scope = "a", key = "key1")

url = 'https://login.microsoftonline.com/common/oauth2/token'
data = {
'grant_type':'password',
'scope':'a',
'resource':'https://management.core.windows.net/',
'client_id':'xxxx',
'client_secret': 'xxxx',
'username':userAzure,
'password':passAzure
}
response = requests.post(url,data=data)
token=response.json().get('access_token')

headers = {'Content-Type': 'application/json','Authorization': 'Bearer ' + token}
body ={
"sku": {
"capacity": 1,
## aqui é possível utilizar ou versões menores (scaledown) ou maiores (scaleup)
## As versão disponiveis no Analysis Services são essas - Horizontal Scale out - https://azure.microsoft.com/en-us/pricing/details/analysis-services/
"name": "S4",
"tier": "Standard"
}
}

dest= 'https://management.azure.com/subscriptions/xxxxxx/resourceGroups/xxxx/providers/Microsoft.AnalysisServices/servers/xxxx/resume?api-version=2017-08-01'
response = requests.post(dest, headers=headers, json=body)p

Com essas iniciativas conseguimos otimizar os custos sem onerar o produto para o cliente final e tivemos uma redução de 47% no custo de infraestrutura do Azure Analysis Services.

Quer publicar seu conteúdo no blog FinOps Brazil? Convidamos você para dividir sua experiência! Clique aqui e saiba como ajudar na missão de difundir a prática de FinOps. : )

--

--

Diego Lopes
FinOps Brazil

Data Architect, soccer addict, bass player, big data lover