Os aplicativos que rodam em computadores em escala de warehouse (WSCs) dominam muitas decisões de trade-off de dimensionamento de sistemas. Consequentemente, em uma implantação típica de WSC, são necessárias diferentes camadas de software. Dessa forma, assinale a opção que apresenta, corretamente, a camada de software com as seguintes características: “Software que implementa um serviço específico. Muitas vezes esta camada é dividida em serviços online e computações offline, já que eles tendem a apresentar requisitos diferentes.”
- A)Platform-level software.
Incorreta, porque platform-level software oferece base para execução de aplicações, não o serviço específico descrito no enunciado.
- B)Cluster-level infrastructure.
Incorreta, porque cluster-level infrastructure trata do gerenciamento e da infraestrutura do cluster, não da aplicação em si.
- C)Application-level software.
Correta, porque é a camada que implementa um serviço específico e costuma se dividir em partes online e offline.
- D)Monitoring and development software.
Incorreta, porque monitoring and development software auxilia observação, teste e operação, mas não é a camada de serviço final.
- E)Security-level software.
Incorreta, porque security-level software cuida de proteção e controle de acesso, não da entrega do serviço específico.
Gabarito: C
Em ambientes de warehouse-scale computers (WSCs), costuma existir uma divisão bem prática das camadas de software para organizar o que roda no datacenter. A ideia central é separar infraestrutura, plataforma, observabilidade e, no topo, o software que entrega valor direto ao usuário ou ao negócio. Isso ajuda a enxergar onde cada responsabilidade fica e por que certos componentes precisam escalar de maneira diferente. A camada perguntada na questão é a de application-level software, porque ela é justamente a que implementa um serviço específico. Pense em um serviço de busca, streaming, recomendação, pagamento ou e-commerce: é nessa camada que o sistema faz o trabalho final percebido pelo usuário. A própria descrição da questão já entrega a pista mais importante ao mencionar que essa camada muitas vezes se divide em serviços online e computações offline. Essa separação faz sentido porque os requisitos são diferentes. Os serviços online precisam responder rápido, com baixa latência e alta disponibilidade. Já as computações offline podem rodar em lote, analisar grandes volumes de dados e demorar mais, sem prejudicar a experiência imediata do usuário. É o clássico contraste entre “responder agora” e “processar depois”. Então, o gabarito C está correto porque application-level software é a camada de aplicação, isto é, a camada que entrega o serviço específico. As demais alternativas tratam de infraestrutura, plataforma, monitoramento ou segurança, que são importantes, mas não são a camada descrita no enunciado.