5 passos para reduzir seu custo de Azure Analysis Services em até 47%
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:
- Qual o ROI do serviço para a empresa?
- Quais são os principais horários de picos do serviço?
- Quais são os horários de não utilização do serviço?
- Como entregar um produto com melhor performance em horários de pico de uso?
- 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. : )