terça-feira, 13 de dezembro de 2022

Destravando a Elasticidade da Nuvem para gerar ROI


A nuvem oferece inúmeros benefícios em sua adoção, contudo um desse benefícios acredito que seja o mais potencial para agregar retorno financeiro nos produtos de uma organização, a elasticidade. Conforme definição da Wikipedia, “a elasticidade é definida como o grau em que um sistema é capaz de adaptar-se a carga de trabalho através de provisionamento e desprovisionamento de recursos automaticamente, de forma que em cada ponto no tempo, os recursos disponíveis correspondam à demanda atual, tão próxima quanto possível”. Através dessa definição, podemos identificar que os recursos necessários para uma melhor experiência da execução de um produto, tanto no viés computacional, como também da alocação de custos, é a elasticidade dos recurso da nuvem, uma vez que eles poderão ter o tamanho exato para atender a demanda com qualidade.

Ainda assim, existe um ponto na elasticidade que precisamos considerar para ativar sua eficiência máxima, o tempo de provisionamento do recurso, Isso porque cada tipo de recursos da nuvem contém especificidades em sua criação, exemplificando, uma máquina virtual pode levar alguns minutos até que esteja disponível para utilização devido sua configuração de inicialização, em compensação, um imagem de contêiner pode ser criada em poucos segundos. O tempo de vida desses recursos tanto durante seu provisionamento até o seu completo desprovisionamento gerará custos. Por isso é importante analisar qual será a melhor arquitetura de recursos para habilitar uma elasticidade eficiente.

Agora que já entendemos como destravar com eficiencia a elasticidade dos recursos da nuvem, podemos relacionar essa habilidade com FinOps, porque dimensionar recursos em seu tamanho ideal conforme a demanda em um determinado momento, é a forma mais eficaz para gerar o melhor ROI (Retorno sobre o Investimento) em relação aos gastos da nuvem. Durante a fase Otimização de FinOps, existe uma tarefa Definição de Política de Otimização, nesta atividade o time de Operações deve definir quais são as melhores práticas e configurações para criação de novos recursos, garantindo assim dimensionamento adequado, evitando a existência de recursos maiores do que a necessidade, habilitando assim o melhor gasto versus a taxa de utilização. 

No livro “O Caminho das Pedras da Cultura FinOps”, além de tratar dessa atividade, ofereço outras ideias de tarefas e ações que poderão compor um plano personalizado para as organizações na adoção da cultura FinOs.  



Marcelo Goberto de Azevedo 

Cloud Leader na GFT Brasil

//marcelogoberto.com.br


quarta-feira, 30 de novembro de 2022

Iniciando com Gerenciamento de Custos da Nuvem com FinOps


As organizações estão cada vez mais acelerando a utilização da nuvem como vantagem competitiva em seus produtos. Conforme uma pesquisa realizada pela Rakuten SixthSense CIO Challenges, 77% dos líderes de TI consideram a utilização de novas tecnologias, como a nuvem, uma forma de garantir a continuidade do sucesso de suas organizações. Em 2023, existe a previsão de um aumento considerável na demanda por utilização de serviços em nuvem, principalmente porque todas as organizações estão sofrendo transformações em seus núcleos de negócio com foco no digital.

Os serviços de nuvem possuem um modelo de precificação mais flexíveis e principalmente mais justos em relação ao custo benefício oferecido, entretanto sua granularidade e múltiplos formatos podem comprometer uma operação elevando os custos para níveis muito altos. Em muitos casos, é muito simples exponenciar os custos de R$ 1 para R$ 100 mil em alguns poucos dias, e ainda, podemos incluir nesta complexidade a taxa de crescimento na criação de novos recursos por departamentos, em razão da automatização das entregas.

Com o intuito de habilitar as organizações no controle dos custos em nuvem, foi criado o modelo operacional FinOps, a principal função do modelo é criar entendimento em todos envolvidos com os custos dos recursos em nuvem, combinado as melhores práticas de gerenciamento dos custos, com a cultura da responsabilidade financeira, seja no modelo descritivo, prescritivo ou ainda, preditivo, gerando informações que facilitaram a tomada de decisões, aumentando o valor do negócio para a organização. 

Entretanto muitas organizações fracassam durante o processo dessa implementação da cultura FinOps por adotar algumas estratégias simplistas ou minimalista, vejamos algumas dessas:

Focar em Redução de Gastos

FinOps não trata sobre reduzir gastos com a utilização em nuvem, sua principal função é habilitar uma organização na melhor destinação sobre os valores investidos com serviços em nuvem para geração de valor aos seus produtos, popularmente conhecido como ROI (Retorno Sobre Investimentos). Gastar com serviços na nuvem não é sinônimo de gastar demais, somente quando efetuamos gastos desnecessários, como por exemplo, recursos sem utilização, super dimensionamento de recursos, funcionalidades desnecessárias, entre outras tantas razões, é que nossos gastos se tornam um problema. FinOps irá garantir que cada centavo gasto em nuvem estará sendo acompanhado e avaliado se esse valores investidos estão retornando como valor agregado, garantindo assim uma máxima eficiência do ROI.

Um único time

FinOps precisa ter domínio de múltiplos assuntos, começando pelo conceitos financeiros, passando por gerenciamento por demanda, envolvendo operações de TI com DevOps, participação decisória de executivos e diretores de vários níveis. Por isso é importante que o time de FinOps tenha interseção com vários times dentro da organização, para garantir que o conjunto desses times seja multifuncional e consiga oferecer todas as perspectivas possíveis para garantir a entrega de valor agregado alinhado com os objetivos de negócio da organização.

Falta de Transparência

Um dos maiores entregáveis de FinOps são seus relatórios que através de números conseguem oferecer muitas informações e ideias dos caminhos que estão sendo traçados e possibilidade de predição de caminhos futuros, assim como identificação de possíveis desvios e falhas. A maioria das organizações acaba criando mecanismos para evitar a disseminação de números, que consideram sigiloso e que possam oferecer uma visão geral e panorâmica de seus negócios, entretanto os números dos gastos com nuvem devem ser tratados como públicos dentro da organização, principalmente com o propósito de criar uma responsabilidade coletiva dos gastos, sendo assim, será impossível essa habilitação de transparência sem que os relatórios sejam transparentes e acessíveis facilmente por todos envolvidos na cadeia dos produtos da organização.

FinOps é um Processo Simples

Muitas vezes a implementação da cultura FinOps surge da necessidade urgente de redução de custos em curto prazo, normalmente é criada uma força tarefa que irá executar ações para avaliar e identificar os recursos que podem ser reduzidos ou descontinuados gerando resultados rápidos. Entretanto, essa é somente uma ação que FinOps permeia, existem muitas tarefas e ações que devem ser realizadas dentro de um ciclo que irá garantir que a adoção da cultura FinOps seja um processo contínuo e altamente eficiente na questão de gerenciamento de custos.

O FinOps é uma jornada que necessita ser trilhada com uma boa estratégia, para garantir que os passos sejam firmes, consistentes e principalmente constantes. Por se tratar de uma cultura, é necessário que todos estejam cientes e comprometidos com o plano para geração de resultados para organização.

No livro “O Caminho das Pedras da Cultura FinOps” procuro oferecer um caminho com ideias de tarefas e ações que poderão compor um plano personalizado para as organizações na adoção da cultura FinOps, garantindo um processo aderente e condizente com a maturidade da organização e com foco no tamanho dos times que podem ser disponibilizados para iniciar o desenho do plano na implementação da cultura FinOps que resultará na habilitação da inovação através da nuvem com eficiência de gastos, que vão além da lucratividade. 


Marcelo Goberto de Azevedo 

Cloud Leader na GFT Brasil

//marcelogoberto.com.br


terça-feira, 18 de outubro de 2022

Paleta de Cores Sustentável

Os temas que envolvem sustentabilidade englobam cada vez mais setores dos mais variados portes de organizações. Além da questão da sobrevivência e da qualidade de vida dos habitantes do planeta, os consumidores estão cada vez mais interessados em escolher produtos de organizações que estejam conscientes em relação ao seu comportamento diante de aspectos sociais, ambientais e de governança, a famosa sigla ASG (ESG em inglês).

E, como não poderia ser diferente, o setor de TI está cada vez mais se tornando foco em discussões. A área investe em planos de ações para reduzir a pegada de carbono, contribuindo para a redução das interferências nas mudanças climáticas.

Outro fator que promove o foco de sustentabilidade em tecnologia é a sua atual velocidade de expansão. Atualmente, inúmeros setores estão adicionando soluções baseadas em tecnologia e acelerando rapidamente na sua adoção e extensão de mais serviços e produtos digitais. Neste contexto, se faz necessário que ações sejam implementadas com foco em atingir a maior escala possível dos resultados, gerando assim um impacto massivo e de larga escalabilidade.

Atualmente na loja do Android, existem mais de 3 milhões de aplicativos disponíveis para download. Já o número de website está em torno de 1.169.621.187, de acordo com a pesquisa de servidores da Web de março de 2022 da Netcraft. Cada um desses sistemas oferece várias telas para que seus usuários possam interagir, consumindo informações, registrando transações, trocando mensagens, entre outras tantas funcionalidades.

O consumo de energia dos dispositivos com tela desses eletrônicos, sejam smartphones, computadores, notebooks, Smart TVs, entre outros, é gigante. Muitos desses aparelhos apresentam a funcionalidade de economizar energia por meio de padrão de cor, com as telas OLED (Organic Light-Emitting Diode) que detém a capacidade de desligar um simples ponto (pixel) quando a ausência de qualquer cor é detectada, ou seja, a cor preta.

A diminuição do consumo médio energético nesses dispositivos pode ser de 10% de economia, além de aumentar a vida útil da bateria até 47%, no caso dos smartphones e notebooks.

Muitas organizações que desenvolvem aplicativos, já estão oferecendo uma versão “escura” de suas telas para possibilitar essa economia de energia e bateria, que também é aliada em oferecer outros benefícios diretos para os usuários, como: melhoria na experiência realçando os destaques de elementos importantes, redução de desconforto visual por longos períodos de exposição a claridade artificial, assim como a redução da fadiga ocular pela diminuição do brilho.

Através de um estudo realizado por Jon Doucette, da Jonathan Design, Jon apresentou uma paleta de cores chamada EMERCY-C composta com seis opções de cores, sendo elas:


  • #822007 » Vermelho Enferrujado
  • #000000 » Preto
  • #b2bbc0 » Azul Cinza
  • #19472a » Verde Floresta
  • #3d414c » Cobalto
  • #ffffff » Branco

Essa paleta de cores, quando utilizada, gerará um consumo superior em apenas 4% em comparação a uma tela completamente preta. Uma pequena ressalva, a cor branca só deve ser usada para pequenos destaques.

Essa base de cores pode ser utilizada para geração da versão escura, ou facilmente como a versão final do aplicativo ou site, agregando assim todos os benefícios para a experiência do usuário e implementando o foco sustentável.

Originalmente publicado no blog da GFT

sexta-feira, 30 de setembro de 2022

Sustentabilidade com Gerenciamento de Custos da Nuvem


  

A grande maioria dos países, organizações e líderes do planeta estão comprometidos para que em 2050 seja alcançado a meta de zerar a emissão de carbono em nosso planeta. Para que esse grande desafio seja atingido temos duas grandes frentes, a primeira é obviamente reduzir a emissão de gás carbônico na natureza e a segunda é aumentar as fontes que podem neutralizar os gases emitidos.

 

Apesar de todos os esforços até o momento, durante a Cúpulas da Américas realizada em junho de 2022, um índice apresentado pela Universidade de Yale e Columbia (EUA), constatou que somente dois países (Dinamarca e a Grã-Bretanha) estão no caminho no certo, os demais precisam intensificar suas ações para o atingimento da meta até meados do século.

 

As organizações podem ter um papel colaborativo nesse processo. A adoção da nuvem pelo seu incrível poder e flexibilidade de habilitar produtos e serviços rapidamente, muniu as organizações com um poder inovação inimaginável, entretanto a mesma facilidade tem se tornado um problema para gerenciamento de eficiência energética, porque acabamos tornando intangível os consumos energéticos dos recursos em nuvem, diferentemente quando as organizações mantinham seus parques tecnológicos fisicamente.

 

Com o propósito de tangibilizar esses números, seja do consumo energético, como da metrificação da emissão de CO2 baseados nos recursos utilizados, os provedores de nuvem criaram relatórios, calculadoras e dashboards que oferecem uma visão bem detalhada. Neste outro artigo falamos mais sobre essas ferramentas [https://blog.gft.com/br/2022/05/03/calculando-o-impacto-de-carbono-do-seu-uso-da-nuvem] e como utilizá-las em suas contas.

 

Uma organização em posse dessas informações, já pode começar a montar um plano de implementação de eficiência energética de seus recursos. As formas mais rápidas e simples normalmente são:

 

Aferição de recursos provisionados e sem utilização - Muitas vezes recursos são criados para determinadas atividades com começo, meio e fim, como por exemplo, provas de conceitos, ambientes de desenvolvimento, contudo muitos são esquecidos de serem eliminados e continuam ativos gerando custos e consumo energético.

 

Super dimensionamento de máquinas ou instâncias - Com a facilidade de dimensionamento de instâncias para utilização, muitas vezes baseados em experiência anteriores com receio que os recursos não sejam suficientes, acabam por alocar mais memórias, espaço, processamento para garantir a estabilidade dos produtos. Porém, na maioria das vezes essa disposição de recursos não acaba sendo utilizada em sua plenitude, gerando gastos e consumo energético extra.

 

Retenção de dados desnecessárias - O volume de dados coletados e armazenados tem apresentado um curva de ascensão cada vez maior, por consequência direta esses dados ficam armazenados gerado custos, existem duas maneiras de efetuar uma redução, seja pela mudança de camada de armazenamento mais baratas, como também a destruição dos dados que perdem sua validade para o negócio.

 

Replicação de dados irrelevantes - Atualmente a maneira mais eficiente de garantir a qualidade de um dados é replicá-lo em vários locais, criando assim várias cópias dele mesmo e possibilitando sua recuperação em quase de perda, entretanto não são todos os dados que necessitam desse mecanismo, principalmente informações não produtivas.

 

Manutenção de recursos disponíveis em janela de tempo sem utilização - Nem mesmo todas as máquinas trabalham 24 x 7, sejam elas para serem utilizados por pessoas ou rotinas programas, na maioria das vezes somente em algumas janelas de tempo é necessário sua disponibilidade, logo é fundamental que fora desses intervalos essas mesmas sejam pausadas ou até mesmo desprovisionados, até a próxima janela de necessidade.


Essas são algumas ações que uma vez implementadas irão gerar uma redução drástica na emissão de gás carbônico proveniente da utilização de energia nos recursos da nuvem. Ainda podemos acrescentar neste cenário a utilização de inteligência artificial para analisar nossos ambientes, seja na nuvem ou locais, para oferecer recomendações de correto dimensionamento, como também configuração eficiente de escalabilidade da arquitetura.

 

Através desse processo de implementação de uma estratégia corporativa de sustentabilidade para seus recursos, já estaremos habilitando a nossa organização para dar seus primeiros passos no mundo de gerenciamento de custos de nuvem, também conhecido como FinOps. Isso quer dizer, podemos gerar corte de gastos que podem ser revertidos para ações visando o aumento da neutralidade de emissão de gás, como apoio a projeto e organizações que reflorestam áreas.

 

A unificação de Green Conding com FinOps habilitará uma cultura de responsabilidade ambiental, como também promoverá uma maior transparência dos custos. Ou seja, alocar de forma eficiente os recursos financeiros de uma organização é também reduzir sua pegada de carbono, tudo isso acaba se interligando e gerando mais um motivo para adoção do modelo de sustentabilidade em tecnologia, principalmente em relação aos recursos em nuvem.

terça-feira, 11 de janeiro de 2022

Utilizando a Engenharia do Caos para gerar Soluções Resilientes

 

Todas as empresas estão percebendo os benefícios da transformação digital, com adoção de soluções em nuvem, que por definição oferecem alta escalabilidade e infinito potencial de crescimento rápido, entretanto essa vantagem pode se tornar uma desvantagem se os recursos começarem a falhar em escala também e causarem danos maiores para todos. 

Sendo o caos basicamente um estado de completa desordem e confusão, como esse conceito aliado a engenharia pode oferecer ideias e validações para a prevenção de falhas das nossas soluções?

Atualmente, durante o processo de arquitetura de soluções, principalmente em nuvem, é extremamente usual a inclusão no desenho final, de recursos e técnicas que visam garantir a resiliência das aplicações contra possíveis falhas. Por definição a resiliência é a capacidade de se recuperar de falhas e tudo continuar funcionando, sua principal meta é retornar um aplicativo para um estado totalmente funcional após uma falha. 

Imagine que exista uma forma de submeter um aplicativo ou uma solução, as possíveis falhas que possam ocorrer no mundo real e valide ao mesmo tempo as condições de resiliência, essa prática é conhecida como Engenharia do Caos, seu propósito é testar a resiliência dos sistemas ao conduzir experimentos que injetam falhas, simulando condições reais.

O conceito deste método é similar ao de uma vacina: injetar partes do vírus inofensivas que irão fornecer imunidade ao seu sistema, sem causar nenhum mal.

Entre os principais benefícios desse método está identificar pontos únicos de falhas na arquitetura, com experimentos de abordagem proativa, que resultam na identificação de falhas, mas também insumos para sua solução.

Analisar os efeitos de falhas no mundo real é outro grande benefício, não sabemos exatamente como uma solução se comporta em situações específicas, executando simulações controladas, ajudará a entender o comportamento.

Todo sistema por padrão deve ter uma excelente observância, a utilização da Engenharia do Caos, exige a implementação de mecanismo de monitoramento e alertas que irão melhorar essa observabilidade. 

Mesmo que estejam tratando de micro serviços, por exemplo, existe um grande complexidade de dependência dos sistemas para que o resultado seja alcançado, na maioria das vezes conseguimos isolar um sistema para garantir sua resiliência, entretanto compreender a propagação de falhas entre os componentes, exige um grande conhecimento de todos os comportamentos, e os experimentos da engenharia do Cais proporcionará uma melhor compreensão dos cenários.

A Engenharia do Caos é uma maneira de garantir a previsibilidade das soluções, gerando de uma forma proativa a implementação da cultura de aceitação do erro como parte do processo de aprendizado.


Recentemente a Microsoft anunciou a versão pública do Azure Chaos Studio, uma plataforma de experimentação de engenharia de caos totalmente gerenciada para acelerar a descoberta de situações singulares de falhas. 

Nos desenhos de arquitetura, em teoria pelo menos, conseguimos criar ambientes extremamente resilientes, porém a verdade é que só conseguiremos verificar essa eficiência numa possível falha. Com a ferramenta Azure Chaos Studio podemos criar várias simulações de cenários como,  alto tráfego de clientes, máquinas com 100% de processamento, falta de memória, serviços que são interrompidos ou afetados por problema, entre outras tantas. Esses experimentos irão fornecer resultados e análises que poderão auxiliar em estratégias e ações para mitigar ou validar a confiabilidade das soluções facilmente.

Através da utilização da plataforma Azure Chaos Studio é possível personalizar experimentos de forma simples e fácil, assim como gerenciamos pastas e arquivos, a interface intuitiva auxilia na organização e fornece uma biblioteca (em contínua expansão) de cenários de falhas. 

Em cada passo do experimento você pode utilizar dois tipos de abordagem de injeção de falhas, que pode ser a instalação de agente dentro de máquina virtual, ou chamadas diretas de serviços, como por exemplo chamadas de API. Outra simplicidade, cada experimento é armazenado no formato JSON, o que facilita muito a administração, compreensão e atualização sistêmica. 


Todo experimento poderá ser acoplado numa esteira de CI/CD para validação de testes de integração ou estresse, a adição de falhas durante esse processo pode auxiliar na localização de problemas que usualmente não seriam encontrados pelos testes.

Outra vantagem no momento, é que até abril/2022 a oferta de execução dos experimentos dentro do Azure Chaos será gratuita e após essa data será cobrado com base na duração pela qual as suas ações do experimento são executadas.

Podemos entender, que é fundamental para a qualidade das nossas soluções, que as possíveis falhas ou comportamentos inesperados possam ser identificados e resolvidos antes mesmo que se manifestem. O investimento para garantir a resiliência de uma arquitetura será a entrega de valor com eficiência e eficácia para os clientes. 

Quanto mais escalável e complexa a solução, maior será a responsabilidade em mantê-la estável independentemente das condições externas que possam afetá-la. A Engenharia do Caos auxiliará na garantia da previsibilidade, de uma forma proativa, melhorando a confiabilidade das soluções. 

Fontes

Azure Chaos Studio - https://azure.microsoft.com/services/chaos-studio


Marcelo Goberto de Azevedo 

Cloud Engineering Lead na GFT Brasil

//marcelogoberto.com.br