1. Uma arquitetura distribuída do tipo BUS permite uma maior flexibilidade na comunicação entre diferentes aplicações. Descreva, por suas palavras, em que consiste esta arquitetura e justifique se concorda com a afirmação anterior.
Esta arquitetura é composta por um componente principal, o BUS. Este componente funciona como uma espécie de fila de mensagens, onde diversas aplicações podem subscrever a determinados tópicos e publicar em determinados tópicos.
A grande vantagem desta arquitetura é o facto dos produtores e consumidores estarem completamente decoupled uns dos outros, uma vez que utilizam o BUS para comunicação assíncrona. Ou seja, apenas necessitam de conhecer e utilizar um protocolo, o imposto pelo BUS.
2. No guião das aulas práticas dedicado à ferramenta Ansible foram criados diferentes roles para facilitar a instalação automática da aplicação Swap. Qual a função dos roles num playbook Ansible? De que forma os roles contribuem para um melhor aprovisionamento de aplicações? Justifique a sua resposta.
Num playbook Ansible, os roles permitem segregar diferentes funcionalidades do sistema em diferentes roles. Numa aplicação como o Swap, onde existe uma web app e uma base de dados, podemos e devemos ter um role para cada um dos componentes. Desta forma, podemos aprovisionar cada um dos componentes de forma singular.
3. Diga o que entende por elasticidade de um serviço a correr num ambiente de computação em nuvem. Em que medida é que uma arquitetura PaaS contribui para a atingir? Justifique a sua resposta.
A elasticidade de um serviço pode ser entendida como o facto de ser possível aumentar ou diminuir, consoante necessidade, o número de réplicas existentes do dado serviço.
Uma arquitetura PaaS oferece um ambiente onde os utilizadores podem implementar e escalar as aplicações sem se preocupar diretamente com a infraestrutura subjacente. Existe, assim, um decoupling entre a aplicação e o sistema de elasticidade aplicado.
4. Para replicar o servidor aplicacional da aplicação Laravel.io, utilizada no trabalho prático, não basta apenas criar vários pods Kubernetes deste servidor. Indique se concorda com a afirmação anterior, justificando a sua resposta.
Não sei como funciona o Laravel.io, então não consigo responder.