À medida que os consumidores buscam soluções que atendam as suas necessidades e exigências (demanda), um mercado se desenvolve e amadurece em torno de um conjunto de ofertas de produtos e serviços para atender a essas necessidades (oferta).
Para simplificar transações no mercado, é desenvolvido um conjunto de descrições de produtos e serviços, que incluem um sistema padrão de pesos e medidas para garantir uma troca rápida, simples, justa e equitativa.
Os pesos e medidas padrão definem uma maneira comum e independente de avaliar (medir) e garantir que os consumidores recebam o que lhes foi prometido e pelo qual estão pagando. Essas definições, medidas e garantias permitem a existência de um mercado estável e saudável, no qual vários fornecedores competem pelos negócios dos consumidores com base no melhor custo, qualidade e velocidade de entrega.
O modelo econômico com a evolução da tecnologia, começando com o mainframe
No início da era da computação, as comunidades de mainframes desenvolveram uma definição de pesos e medidas padrão denominada MIPs (milhões de instruções por segundo). Os MIPs são um indicador da execução de um conjunto de instruções padrão no mainframe, que representam uma transação simulada, envolvendo todos os recursos (computação, memória e armazenamento).
Os MIPs representam uma medida representativa da taxa de transferência potencial, isto é, uma medida de resultado potencial para um aplicativo genérico em execução no host do mainframe.
Com os MIPs como referência padrão de desempenho, os preços dos serviços de mainframe foram estabelecidos em torno do consumo de MIPs. Ter medidas universais de MIPs e uma especificação técnica robusta permitiu que os fornecedores entrassem no mercado de mainframe ao longo do tempo, melhorando o custo de entrega por MIP e a qualidade das ofertas em um mercado competitivo.
É importante observar que, além do hardware para mainframe, os pacotes de software para mainframe foram precificados com base nos MIPs implantados. Trata-se da correlação entre um sistema subjacente mais poderoso e o valor que o software que está hospedado nele oferecerá.
Os MIPs permitiram o desenvolvimento de um ecossistema de mainframe, que faturou e prosperou devido a uma descrição robusta de produto, um conjunto universal de medidas de serviço e um modelo de precificação associado, alinhado com o desempenho do aplicativo.
Evolução dos sistemas distribuídos: foco no desempenho dos componentes SPEC vs. foco no desempenho do aplicativo
À medida que os aplicativos eram movidos para sistemas distribuídos, era preciso definir novamente um conjunto de descrições, medidas e garantias alinhadas com o desempenho dos aplicativos.
Os aplicativos operavam em sistemas dedicados, que hospedavam computação, memória e armazenamento dedicados. Dada a maturidade dos sistemas operacionais Windows e Unix, capazes de executar no hardware de vários fornecedores (IBM, HP, Compaq, Dell etc.), todos com a arquitetura de chips Intel, um conjunto de referências de desempenho padrão foi desenvolvido por um consórcio de fornecedores de hardware e foi criada a SPEC (Standard Performance Evaluation Corporation).
A SPEC estabeleceu parâmetros de referência e metodologia de teste padrão para validar as informações de desempenho dos sistemas de servidores subjacentes (incluindo computação, armazenamento e virtualização). Com a suposição da indústria de hardware de que componentes mais rápidos permitem transações mais rápidas de aplicativos, a SPEC naturalmente mudou o foco do desempenho do aplicativo para o desempenho do componente. Alguns testes SPEC se concentraram nas medidas para representar aplicativos (indicadores de resultado), mas foram exceções à regra.
Com a SPEC a indústria rompeu com o alinhamento dos indicadores de desempenho diretamente ligados ao rendimento potencial das aplicações.
O desempenho dos aplicativos nunca foi tão importante
O ambiente de TI atual é muito mais complexo, com aplicativos implantados em uma variedade de tecnologias distribuídas em um data center, na nuvem e também em tecnologias sem servidor. E este é apenas o começo.
Essa complexidade está levando a um conjunto de terminologias naturalmente desenvolvidas em todo o setor para se referir a um aplicativo, os componentes do aplicativo e seu relacionamento com a infraestrutura. Essa taxonomia permite discussões sobre o desenvolvimento, entrega, gestão e otimização da entrega de aplicativos.
É aqui que o termo “carga de trabalho” foi introduzido pela primeira vez como uma descrição do comportamento do código de um aplicativo. No entanto, como aconteceu nos primeiros dias do mainframe e dos sistemas distribuídos, o significado é fluido e interpretado de forma diferente por diferentes grupos. Hoje, não há acordo sobre uma definição padrão e indicadores associados para o que significa “carga de trabalho”.
A complexidade atual da TI exige uma definição padrão de “Workload Profile” (Perfis de Carga de Trabalho)
Embora exista um acordo geral de que a carga de trabalho é a demanda de um aplicativo colocada em uma plataforma para entregar um resultado desejado, também é aí que o acordo termina.
A maioria define carga de trabalho como o consumo simultâneo de recursos do código de um aplicativo na plataforma ou infraestrutura subjacente. Essa definição é usada na “migração de carga de trabalho para a nuvem”, na qual cada carga de trabalho representa um servidor ou instância a ser migrada.
Cargas de trabalho são extremamente dinâmicas, pois se baseiam em variáveis como o número de usuários, versões de código, hora do dia, dia do mês, eventos especiais, limitações de recursos e muitos outros fatores.
Mais recentemente, o termo “perfil de carga de trabalho” tem sido usado cada vez mais para representar o consumo simultâneo expandido com a inclusão da variabilidade de carga, requisitos de previsibilidade de serviço, restrições de serviço, risco e prioridade de consumo, enfim, o custo total.
Em outras palavras, o perfil de carga de trabalho pode ser entendido como um conjunto de variáveis que descrevem e definem padrões de utilização, regulamentação, segurança, priorização de serviços (todo o gerenciamento de risco) e o custo total de entrega.
Uma definição robusta de perfil de carga de trabalho somada a um conjunto de medidas e o desenvolvimento de ferramentas e metodologia de teste, permitirá a automatização do provisionamento, teste e validação da qualidade, visando garantir que um aplicativo tenha os recursos disponíveis para entregar no perfil de carga de trabalho a qualquer momento, isto é, um indicador de resultado focado na aplicação.
Comments are closed.


Comentários