Tempo de Execução Gerenciado
Um Tempo de Execução Gerenciado (Managed Runtime) refere-se a um serviço ou plataforma em nuvem que cuida da sobrecarga operacional da execução de código de aplicação. Em vez de gerenciar os servidores subjacentes, sistemas operacionais, aplicação de patches e escalonamento da infraestrutura, o provedor ou plataforma de nuvem gerencia todo o ambiente de tempo de execução para o desenvolvedor. Os desenvolvedores se concentram puramente em escrever e implantar sua lógica de aplicação.
No desenvolvimento de software moderno e acelerado, o gerenciamento de infraestrutura é um dreno significativo nos recursos de engenharia. Os Tempos de Execução Gerenciados abstraem essa complexidade, permitindo que as equipes de desenvolvimento acelerem o tempo de lançamento no mercado. Essa mudança permite que as organizações concentrem o talento de engenharia na lógica de negócios principal e no desenvolvimento de recursos, em vez de na manutenção da infraestrutura.
A plataforma abstrai a camada de computação. Quando um desenvolvedor implanta código (por exemplo, um serviço conteinerizado ou uma função), o Tempo de Execução Gerenciado provisiona automaticamente os recursos necessários, gerencia o ambiente de execução (como JVM, interpretadores Node.js, Python), lida com o balanceamento de carga e garante alta disponibilidade. O escalonamento é frequentemente automatizado com base no tráfego de entrada.
Este conceito está intimamente relacionado ao Serverless Computing, Orquestração de Contêineres (como serviços gerenciados do Kubernetes) e Plataforma como Serviço (Platform as a Service - PaaS). Enquanto o PaaS fornece o ambiente, o Tempo de Execução Gerenciado geralmente se refere à camada específica de abstração que lida com o ciclo de vida da execução.