O que é uma carga de trabalho?

Uma carga de trabalho é uma tarefa computacional, um processo ou uma transação de dados. As cargas de trabalho abrangem a capacidade de computação, a memória, o armazenamento e os recursos de rede necessários para a execução e o gerenciamento de aplicativos e dados. Na estrutura da nuvem, uma carga de trabalho é um serviço, uma função ou um aplicativo que usa a capacidade de computação hospedada em servidores em nuvem. As cargas de trabalho em nuvem dependem de tecnologias como máquinas virtuais (VMs), contêineres, sem servidor, microsserviços, buckets de armazenamento, software como serviço (Saas), infraestrutura como serviço (Iaas) e muito mais.

 

Explicação das cargas de trabalho

Uma carga de trabalho compreende todas as tarefas que um sistema ou software de computador está processando. Essas tarefas podem variar desde a conclusão de uma pequena ação computacional até o gerenciamento de análises de dados complexas ou a execução intensiva de aplicativos essenciais aos negócios. As cargas de trabalho, em essência, definem as demandas impostas aos recursos de TI, que incluem servidores, máquinas virtuais (VMs) e contêineres.

Também podemos categorizar as cargas de trabalho no nível do aplicativo, levando em consideração operações como processamento de dados, gerenciamento de banco de dados e tarefas de renderização. O nível e o tipo de cargas de trabalho podem influenciar o desempenho de um sistema. Em alguns casos, sem um gerenciamento eficaz, a intensidade da carga pode causar interrupções ou lentidão no sistema.

 

Tipos de cargas de trabalho

Requisitos exclusivos de recursos de computação, armazenamento e rede definem cada tipo de carga de trabalho.

  • Cargas de trabalho de computação são aplicativos ou serviços que exigem poder de processamento e memória para executar suas funções. Isso pode incluir VMs, contêineres e funções sem servidor.
  • Cargas de trabalho de armazenamento referem-se a serviços que exigem grandes quantidades de armazenamento de dados, como sistemas de gerenciamento de conteúdo e bancos de dados.
  • As cargas de trabalho de rede, como streaming de vídeo e jogos on-line, exigem alta largura de banda de rede e baixa latência.
  • As cargas de trabalho de big data exigem o processamento e a análise de grandes conjuntos de dados, como aprendizado de máquina (ML) e inteligência artificial.
  • As cargas de trabalho da Web são aplicativos ou serviços acessados pela Internet. Isso inclui sites de comércio eletrônico, plataformas de mídia social e aplicativos baseados na Web.
  • Cargas de trabalho de computação de alto desempenho referem-se a serviços que precisam de alto poder de processamento. Os exemplos incluem modelagem climática e modelagem financeira.
  • As cargas de trabalho da Internet das coisas (IoT) exigem o processamento e a análise de dados de sensores e outros dispositivos, como casas inteligentes, automação industrial e veículos conectados.

Cargas de trabalho no passado e no presente

Nos primórdios dos computadores mainframe de uso compartilhado, as cargas de trabalho eram definidas pelo seu uso. As cargas de trabalho transacionais executavam trabalhos um de cada vez para garantir a integridade dos dados, enquanto as cargas de trabalho em lote representavam um lote de comandos ou programas que eram executados sem a intervenção do usuário. As cargas de trabalho em tempo real processavam os dados recebidos em tempo real.

Mas com o aumento da adoção da nuvem, o conceito de cargas de trabalho evoluiu, mudando dos data centers tradicionais no local para ambientes de nuvem. Essa transformação envolve a migração de cargas de trabalho para ambientes de nuvem de infraestrutura como serviço (IaaS), plataforma como serviço(PaaS) ou software como serviço (SaaS).

Hoje, no contexto da computação em nuvem, uma carga de trabalho é um aplicativo ou recurso nativo da nuvem ou não nativo da nuvem que pode ser executado em um recurso de nuvem. VMs, bancos de dados, contêineres, nós Hadoop e aplicativos são considerados cargas de trabalho em nuvem.

A rede híbrida multicloud é muito mais complicada do que os data centers legados no local. As organizações agora precisam garantir a segurança do contêiner e a integridade em nuvens privadas e públicas, muitas vezes hospedadas por vários provedores de serviços em nuvem (CSPs). No entanto, os serviços em nuvem acomodam cargas de trabalho flutuantes sem a necessidade de capital inicial significativo e provam ser econômicos.

 

Características da carga de trabalho em nuvem

As cargas de trabalho em nuvem, por meio de arquiteturas comuns e infraestruturas de nuvem, compartilham características distintas. Isso inclui:

  • Escalabilidade: As cargas de trabalho em nuvem oferecem a capacidade de aumentar ou diminuir os recursos com base na demanda, o que aumenta a eficiência do gerenciamento de recursos.
  • Elasticidade: A capacidade das cargas de trabalho em nuvem de se ajustarem às mudanças por meio do provisionamento e desprovisionamento autônomos de recursos é fundamental para as empresas modernas.
  • Resource Pooling: As cargas de trabalho em nuvem compartilham um pool de recursos de computação configuráveis, promovendo a utilização eficiente dos recursos.
  • Serviço mensurável: Os sistemas em nuvem controlam e otimizam automaticamente o uso de recursos aplicando um recurso de medição adequado ao tipo de serviço, seja IaaS, PaaS ou SaaS.
  • Autosserviço sob demanda: Os usuários de nuvem podem provisionar recursos de computação em nuvem, como tempo de servidor e armazenamento em rede, sem interação humana com os provedores de serviços.
evolução-dos-ataques-modernos-de-ransomware

Figura 1: Porcentagem de cargas de trabalho movidas para a nuvem este ano, de acordo com o State of Cloud-Native Security Report.

 

Na nuvem ou no local?

A decisão de onde executar as cargas de trabalho dependerá de variáveis específicas da sua organização e das cargas de trabalho. As organizações devem avaliar as opções e considerar o desempenho, a segurança, a conformidade e o custo para determinar o melhor ambiente

Algumas cargas de trabalho podem exigir configurações específicas de hardware ou rede, o que ressalta a necessidade de identificar sistemas operacionais, dependências de software e outros requisitos de infraestrutura. O desempenho e a escalabilidade também são considerações importantes. Suas cargas de trabalho podem exigir alto desempenho e baixa latência ou a capacidade de aumentar e diminuir rapidamente.

Leve em conta a segurança e a conformidade ao escolher onde executar as cargas de trabalho. Os regulamentos podem restringir determinadas cargas de trabalho a ambientes de nuvem locais ou privados. O custo é outra consideração. Os serviços de nuvem pública podem fornecer uma maneira flexível e econômica de executar cargas de trabalho, especialmente aquelas com demanda variável. Outras cargas de trabalho, no entanto, podem ser mais econômicas se executadas no local ou em um ambiente de nuvem privada.

Implantação de cargas de trabalho na nuvem

A nuvem oferece um ambiente ideal para uma variedade de cargas de trabalho, sendo que algumas cargas de trabalho são particularmente adequadas para a nuvem.

  • Aplicativos da Web: As plataformas de nuvem oferecem a expansibilidade e a disponibilidade necessárias para lidar com grandes volumes de solicitações de aplicativos da Web.
  • Big-Data e Analytics: Os provedores de nuvem oferecem ferramentas de big data e análise para ajudar a gerenciar e processar grandes quantidades de dados.
  • DevOps e CI/CD: As plataformas em nuvem podem fornecer a infraestrutura para dar suporte aos processos automatizados de desenvolvimento, teste e implantação de software.
  • Recuperação de desastres e backup: As plataformas de nuvem podem ser usadas para backups externos de dados e sistemas, bem como para fornecer suporte a failover.
  • Aprendizagem de máquina e IA: Os provedores de nuvem oferecem ferramentas para treinar modelos de ML e dimensioná-los em ambientes de produção.
  • IoT e computação de borda: As plataformas de nuvem fornecem serviços para dar suporte a dispositivos IoT e aplicativos de computação em nuvem, como processamento, armazenamento e análise de dados.

Mas a nuvem não complementa todas as cargas de trabalho. As organizações devem basear sua escolha de plataforma na análise dos requisitos e das características de cada carga de trabalho.

Implantar cargas de trabalho no local

Exemplos de detalhes a serem considerados ao determinar quais cargas de trabalho devem ser implantadas no local incluem:

  • Requisitos de segurança: A implantação no local de cargas de trabalho em setores altamente regulamentados pode ser a melhor opção para garantir a segurança dos dados e a conformidade regulatória.
  • Cargas de trabalho com uso intensivo de dados:As cargas de trabalho que processam e armazenam grandes volumes de dados se beneficiam da implantação no local devido ao alto custo da transferência de dados e do armazenamento em nuvem.
  • Cargas de trabalho sensíveis à latência:Os aplicativos que exigem baixa latência, como processamento de dados em tempo real ou jogos, podem se beneficiar da implantação no local.
  • Cargas de trabalho personalizadas:A implantação no local para garantir o controle sobre a infraestrutura subjacente pode atender melhor aos aplicativos que precisam de hardware personalizado.
  • Considerações sobre custos:A execução de cargas de trabalho no local pode ser econômica devido ao uso de recursos, aos requisitos de armazenamento e aos padrões de uso.

Implantações de nuvem híbrida

Uma nuvem híbrida é um ambiente de computação em nuvem que combina a infraestrutura no local com serviços em nuvem de um ou mais provedores de nuvem privada ou pública. Esse tipo de arquitetura de nuvem permite que as organizações se beneficiem das ofertas de infraestrutura tanto no local quanto na nuvem.

Com uma nuvem híbrida, as organizações podem implantar cargas de trabalho em vários ambientes para acomodar os requisitos do aplicativo ou da carga de trabalho. Elas podem optar por manter as cargas de trabalho confidenciais no local para atender aos requisitos regulatórios e, ao mesmo tempo, implantar outras cargas de trabalho que exigem escalabilidade e flexibilidade em uma nuvem pública.

Para habilitar um ambiente de nuvem híbrida, as organizações devem ter a infraestrutura necessária, como rede e conectividade entre a infraestrutura no local e os serviços em nuvem. Eles também precisarão de uma plataforma de gerenciamento de nuvem, ferramentas de automação e soluções de segurança para gerenciar cargas de trabalho em vários ambientes.

Cargas de trabalho com diagnóstico de nuvem

Muitas organizações priorizam estratégias agnósticas de nuvem, preferindo a liberdade da infraestrutura agnóstica de nuvem e da arquitetura e desenvolvimento de aplicativos. As cargas de trabalho projetadas para serem executadas em qualquer plataforma de nuvem trazem os benefícios da compatibilidade, que incluem:

  • Evite o bloqueio do fornecedor:Ao projetar aplicativos agnósticos à nuvem, as organizações podem mudar de provedor de nuvem sem uma revisão dispendiosa das cargas de trabalho e das pilhas de tecnologia.
  • Portabilidade:As cargas de trabalho independentes da nuvem podem ser implantadas em qualquer plataforma de nuvem, o que proporciona maior flexibilidade e agilidade.
  • Poupança de custos:A opção de implantar cargas de trabalho na plataforma que oferece os recursos mais econômicos permite que as organizações aproveitem as flutuações de custo ou usem instâncias pontuais.
  • Evitando pontos únicos de falha:As organizações podem evitar depender de um único provedor de nuvem para aplicativos essenciais, o que reduz os riscos de tempo de inatividade ou perda de dados.

Para permitir cargas de trabalho independentes da nuvem, as organizações normalmente usam tecnologias e interfaces padrão compatíveis com vários provedores de nuvem, como o Kubernetes para orquestração de contêineres e o Terraform para infraestrutura como código.

Vídeo: Como os engenheiros de segurança e os desenvolvedores de aplicativos podem criar um processo de segurança eficaz

 

Gerenciamento da carga de trabalho

O gerenciamento de cargas de trabalho refere-se ao ciclo interminável de monitoramento, controle e alocação de recursos para cargas de trabalho. A responsabilidade abrange os inúmeros processos necessários para otimizar e equilibrar a distribuição dos recursos de computação para garantir que as cargas de trabalho sejam executadas com o mínimo de interrupção ou tempo de inatividade.

Em um ambiente de nuvem, o gerenciamento da carga de trabalho é essencial porque vários usuários e aplicativos compartilham recursos. O gerenciador de cargas de trabalho deve garantir que cada carga de trabalho tenha acesso aos recursos de que precisa, sem afetar o desempenho de outras cargas de trabalho.

O gerenciamento da carga de trabalho pode se tornar especialmente complexo em ambientes de várias nuvens, onde as cargas de trabalho são distribuídas em várias plataformas de nuvem. O gerenciamento eficaz de cargas de trabalho em várias nuvens requer uma compreensão clara dos recursos de cada plataforma de nuvem e dos requisitos específicos de cada carga de trabalho.

Balanceamento de carga

O gerenciamento de cargas de trabalho também envolve o balanceamento de carga ou a distribuição de cargas de trabalho em vários recursos de computação para otimizar a utilização dos recursos e evitar gargalos. Normalmente, as organizações dependem de técnicas como round-robin, conexões mínimas e hash de IP para obter cargas bem equilibradas.

Priorização de cargas de trabalho

Para gerenciar as cargas de trabalho, as equipes de DevOps precisam priorizar suas cargas de trabalho com base na criticidade, nos requisitos de desempenho e nos contratos de nível de serviço. A priorização adequada garante que as cargas de trabalho de missão crítica recebam os recursos necessários para serem executadas de forma ideal, mesmo durante o pico de demanda.

Monitoramento e otimização

O monitoramento do desempenho das cargas de trabalho e o ajuste da alocação de recursos para otimizar o desempenho e minimizar os custos são fundamentais para o gerenciamento de cargas de trabalho. Isso pode envolver escala automática, autotuning e outras técnicas de otimização.

 

Automação da carga de trabalho

Comumente usada por empresas com infraestruturas de TI complexas, a automação de cargas de trabalho simplifica os processos de TI automatizando o agendamento, a execução e o monitoramento de cargas de trabalho. Com o crescimento da transformação digital, a automação da carga de trabalho tornou-se essencial para as operações funcionais de TI. Os benefícios da automação da carga de trabalho incluem:

Redução de erros

Ao automatizar tarefas repetitivas e manuais, a automação da carga de trabalho elimina a necessidade de intervenção humana, o que reduz o risco de erros e possíveis eventos adversos, como a perda de dados.

Eficiência aprimorada

A automação de tarefas repetitivas e demoradas pode liberar as equipes para se concentrarem em tarefas essenciais. Em vez de verificar manualmente se há erros nos registros, por exemplo, a automação da carga de trabalho pode identificar e alertar a equipe de TI sobre os erros, liberando-a para se concentrar na resolução de problemas em vez de monitorar os registros.

Otimização da utilização de recursos

A automação da carga de trabalho pode otimizar a utilização dos recursos, garantindo que as tarefas e os processos sejam programados e executados no momento ideal. Ao programar tarefas com uso intensivo de recursos para serem executadas fora dos horários de pico, por exemplo, as equipes reduzem o potencial de contenção de recursos.

Aumento da agilidade

Ao automatizar o provisionamento e a implantação de aplicativos e serviços, a automação da carga de trabalho reduz o tempo e o esforço necessários para colocar novos serviços on-line. Isso permite que as equipes de TI respondam às necessidades comerciais com mais rapidez e eficiência.

Conformidade aprimorada

Ao executar os processos de TI de forma consistente e auditável por meio da automação da carga de trabalho, as organizações reforçam a conformidade com os padrões regulatórios, reduzindo, em última análise, o risco de violações de conformidade.

Custos reduzidos

Ao remover tarefas repetitivas e manuais da equação, a automação da carga de trabalho não só otimiza a utilização dos recursos como também reduz a necessidade de recursos adicionais de hardware e software. Isso também reduz o custo das operações de TI e permite que a equipe de TI se concentre em tarefas de maior valor.

As ferramentas de automação de carga de trabalho no mercado variam de soluções de código aberto (por exemplo, Jenkins e Ansible) a plataformas de nível empresarial (por exemplo, BMC Control-M e IBM Workload Automation). Em geral, essas ferramentas oferecem uma série de recursos e funcionalidades, incluindo agendamento de tarefas, automação orientada por eventos, monitoramento e geração de relatórios de carga de trabalho e integração com outros sistemas e aplicativos de TI.

 

Proteção de carga de trabalho em nuvem

A migração de cargas de trabalho para a nuvem oferece inúmeros benefícios às organizações, mas também apresenta desafios de segurança. A superfície de ataque se expande na nuvem. Mesmo com os controles de segurança implementados, uma vulnerabilidade de dia zero ou um servidor ou bucket de armazenamento configurado incorretamente pode representar riscos significativos para as cargas de trabalho.

As estratégias de segurança da carga de trabalho em nuvem podem ajudar a proteger sua organização.

  • Implementar controles de gerenciamento de acesso:A implementação de uma política de acesso com privilégios mínimos pode limitar os possíveis danos de uma violação de segurança.
  • Automate Security Controls:A automação pode garantir que os controles de segurança sejam aplicados de forma consistente em todas as cargas de trabalho e acelerar os tempos de resposta no caso de um incidente de segurança.
  • Monitorar e gerenciar vulnerabilidades:A verificação regular de vulnerabilidades e a aplicação imediata de patches são cruciais para proteger as cargas de trabalho em nuvem.
  • Segurança de contêineres e cargas de trabalho sem servidor:Examine as imagens do contêiner em busca de vulnerabilidades e implemente políticas de isolamento apropriadas para funções sem servidor.
  • Criptografar dados confidenciais:A criptografia de dados pode proteger dados confidenciais mesmo que outros controles de segurança falhem. Lembre-se de criptografar os dados em repouso e em trânsito.

 

Implementar um CWPP

Projetada para ser dimensionável, a plataforma de proteção de carga de trabalho em nuvem (CWPP) pode se adaptar para proteger um número crescente de cargas de trabalho, fornecendo segurança consistente independentemente do tamanho do ambiente de nuvem. Os CWPPs são centrados na carga de trabalho, o que significa que eles protegem a carga de trabalho independentemente de onde ela reside - no local, na nuvem ou em um ambiente híbrido. Como as cargas de trabalho se movem rapidamente entre plataformas e infraestruturas, esse tipo de proteção de carga de trabalho é essencial.

Os CWPPs oferecem às organizações uma alternativa de plataforma muito necessária à proliferação de ferramentas, resolvendo problemas de complexidade e maximizando a segurança com visibilidade e controle centralizados, gerenciamento de vulnerabilidades, gerenciamento de acesso, proteção antimalware e muito mais.

 

Perguntas frequentes sobre carga de trabalho

A migração da carga de trabalho refere-se à movimentação de aplicativos, dados e processos de TI de um ambiente de nuvem para outro. A migração envolve planejamento e execução cuidadosos para minimizar o tempo de inatividade e evitar a perda de dados.
A orquestração de cargas de trabalho envolve a coordenação e o gerenciamento da execução de cargas de trabalho em vários ambientes de nuvem. As ferramentas de orquestração podem automatizar tarefas como alocação de recursos, balanceamento de carga de trabalho e escala.
Pense na escala horizontal como uma escala "para fora". A escala horizontal envolve a adição de mais nós a um sistema e a distribuição da carga de trabalho entre eles. Em vez de adicionar mais potência a um servidor, o senhor pode adicionar mais servidores à sua infraestrutura, por exemplo. O escalonamento horizontal pode proporcionar maior capacidade além dos limites de uma única máquina. Ele também pode melhorar a redundância e a disponibilidade porque a falha de um único nó não afeta necessariamente todas as cargas de trabalho. O escalonamento vertical, também conhecido como escalonamento para cima, envolve a adição de mais recursos a um único nó em um sistema para aumentar sua capacidade. Isso pode envolver o aumento da potência da CPU, da RAM ou do armazenamento de um servidor. O dimensionamento vertical beneficia as organizações ao melhorar o desempenho de um aplicativo sem exigir alterações no código do aplicativo. Na prática, um equilíbrio entre a escala horizontal e vertical entra em ação, dependendo das necessidades e restrições do sistema.
Uma vulnerabilidade de dia zero é uma vulnerabilidade de software previamente desconhecida em um aplicativo ou sistema operacional. Como o fornecedor do software não sabe que a vulnerabilidade existe, ela pode ser explorada sem aviso. Os desenvolvedores tiveram "zero dias" para desenvolver uma correção.
As cargas de trabalho em nuvem podem ser divididas em cargas de trabalho estáticas e cargas de trabalho dinâmicas. As cargas de trabalho estáticas estão sempre ativas, enquanto as cargas de trabalho dinâmicas são ativadas quando necessário, como para aplicativos internos automatizados ou para a ativação de instâncias de servidores virtuais.
A computação em nuvem é um modelo que permite que os desenvolvedores executem aplicativos como funções individuais na nuvem, com o provedor de nuvem gerenciando automaticamente a alocação de recursos. As cargas de trabalho sem servidor são orientadas por eventos, com recursos atribuídos dinamicamente com base na demanda.
A virtualização é uma tecnologia-chave na computação em nuvem que permite a distribuição e o isolamento eficientes das cargas de trabalho. Ele permite que várias cargas de trabalho sejam executadas em uma única máquina física, cada uma em seu próprio ambiente isolado.
Em um ambiente de nuvem, uma pilha de aplicativos ou uma pilha centrada na carga de trabalho pode incluir os serviços de nuvem empregados para executar o aplicativo ou a carga de trabalho, como instâncias de computação em nuvem, serviços de armazenamento em nuvem, bancos de dados gerenciados e ferramentas DevOps baseadas em nuvem. Essa pilha pode ser gerenciada e protegida usando uma plataforma de proteção de carga de trabalho em nuvem (CWPP), que fornece controles de segurança em toda a pilha, desde a camada de infraestrutura até a camada de aplicativos.
Uma carga de trabalho baseada em contêiner ou em contêineres refere-se a aplicativos e suas dependências empacotados em um contêiner que pode ser executado de forma consistente em vários ambientes de computação. As cargas de trabalho baseadas em contêineres são leves e usam sistemas operacionais compartilhados, o que as torna mais eficientes do que as VMs para determinadas cargas de trabalho.
A arquitetura de microsserviços divide os aplicativos em serviços pequenos e fracamente acoplados, cada um executado como uma carga de trabalho separada. Essa abordagem aumenta a escalabilidade e o isolamento de falhas, mas pode aumentar a complexidade do gerenciamento da carga de trabalho.
Baixa latência refere-se a um pequeno atraso entre o momento em que uma entrada é processada e o momento em que a saída correspondente é produzida. Muitas atividades que exigem feedback imediato dependem de baixa latência. Os exemplos incluem jogos síncronos, negociação de ações de alta frequência, voz sobre IP (VoIP) como Skype ou Zoom, transmissão ao vivo e até mesmo algumas partes da operação de veículos autônomos.
A computação de borda envolve o processamento de dados mais próximo de sua origem, reduzindo a latência e o uso da largura de banda. Isso pode beneficiar as cargas de trabalho da IoT, que geralmente exigem processamento em tempo real.
A disponibilidade do serviço refere-se à porcentagem de tempo em que uma carga de trabalho está disponível para uso, sendo que "disponível para uso" significa que ela desempenha sua função quando necessário. A disponibilidade do serviço é uma métrica comum para medir a confiabilidade.
Confiabilidade é a capacidade de uma carga de trabalho de executar sua função pretendida de forma correta e consistente quando se espera que ela o faça. Isso inclui a capacidade de operar e testar a carga de trabalho durante todo o seu ciclo de vida.
Resiliência é a capacidade de uma carga de trabalho de se recuperar de interrupções na infraestrutura ou no serviço, adquirir dinamicamente recursos de computação para atender à demanda e mitigar interrupções, como configurações incorretas ou problemas transitórios na rede.
Um portfólio de tecnologia é um conjunto de cargas de trabalho necessárias para o funcionamento da empresa.
A proteção contra desvios refere-se ao processo de garantir que o estado atual de um sistema esteja alinhado com seu estado definido ou desejado, evitando desvios não intencionais ao longo do tempo, conhecidos como desvios. Isso é crucial em ambientes de nuvem, onde as configurações podem mudar rapidamente. A proteção contra desvios envolve monitoramento contínuo e estratégias de correção automatizadas para detectar e corrigir desvios, garantindo a estabilidade, a consistência e a segurança do sistema. Ele ajuda a manter a conformidade, reduzir os riscos de segurança devido a configurações incorretas e garantir a utilização eficiente dos recursos.
A expansão da carga de trabalho refere-se à proliferação descontrolada de cargas de trabalho, geralmente resultando em utilização ineficiente de recursos e aumento de custos. As organizações podem evitar a expansão da carga de trabalho por meio da implementação da governança da carga de trabalho, da auditoria e da otimização regulares das cargas de trabalho e do uso de ferramentas de automação e orquestração.