Prévia do material em texto
LAURA 2024.1 Engenharia de Computação em Microsserviços A Engenharia de Computação em Microsserviços é uma disciplina da engenharia de software que se concentra no projeto, desenvolvimento, implementação e operação de sistemas distribuídos baseados em microsserviços. Os microsserviços são uma abordagem arquitetural em que uma aplicação é dividida em pequenos serviços independentes, cada um executando uma função específica e comunicando-se entre si por meio de APIs. Abaixo estão alguns aspectos importantes da Engenharia de Computação em Microsserviços: Arquitetura de Microsserviços: Compreensão dos princípios e padrões de arquitetura de microsserviços, incluindo a separação de preocupações, a granularidade dos serviços, a autonomia e a comunicação entre os serviços. Isso envolve a definição de fronteiras de contexto e a escolha de tecnologias adequadas para implementar e orquestrar os microsserviços. Design de Serviços: Projeto e desenvolvimento de serviços individuais dentro da arquitetura de microsserviços, incluindo a definição de interfaces de API, a escolha de protocolos de comunicação, e a implementação de lógica de negócios e persistência de dados. Isso envolve a aplicação de princípios de design de APIs RESTful e a utilização de padrões de projeto como Service Discovery, Circuit Breaker e API Gateway. Implementação e Implantação: Desenvolvimento e implantação dos microsserviços em ambientes distribuídos, como contêineres Docker e orquestradores de contêineres Kubernetes. Isso inclui a configuração de pipelines de integração contínua e entrega contínua (CI/CD) para automatizar o processo de construção, teste e implantação dos serviços. Escalabilidade e Resiliência: Projeto e implementação de estratégias para escalar e garantir a resiliência dos microsserviços em resposta a flutuações na carga de trabalho e falhas de sistema. Isso envolve a utilização de técnicas de balanceamento de carga, escalabilidade horizontal e circuit breaker para garantir o funcionamento contínuo do sistema. Monitoramento e Observabilidade: Implementação de sistemas de monitoramento e observabilidade para acompanhar o desempenho e o estado dos microsserviços em tempo real. Isso inclui a coleta de métricas de utilização de recursos, registros de eventos, rastreamento de solicitações e análise de tendências para identificar e resolver problemas de desempenho e disponibilidade. Segurança e Autenticação: Implementação de medidas de segurança para proteger os microsserviços contra acessos não autorizados e ataques cibernéticos. Isso inclui a configuração de autenticação e autorização em nível de serviço, criptografia de dados em trânsito e em repouso, e a aplicação de políticas de segurança consistentes em todos os serviços. Gerenciamento de Dependências: Gerenciamento de dependências entre os microsserviços e suas versões, garantindo a compatibilidade e a integração contínua entre os serviços. Isso envolve a utilização de ferramentas de gerenciamento de dependências e versionamento de APIs, bem como a implementação de políticas de depreciação e migração de serviços legados. Cultura DevOps: Fomento de uma cultura DevOps colaborativa e ágil para facilitar a colaboração entre equipes de desenvolvimento e operações. Isso inclui a automação de processos de infraestrutura, a promoção de práticas de desenvolvimento centradas no usuário e a adoção de ferramentas de colaboração e comunicação em equipe. A Engenharia de Computação em Microsserviços desempenha um papel fundamental na construção de sistemas distribuídos flexíveis, escaláveis e resilientes para atender às demandas de negócios em constante mudança. Ao integrar conhecimentos de arquitetura de software, desenvolvimento ágil, DevOps e segurança da informação, essa disciplina proporciona soluções robustas e eficientes para os desafios complexos relacionados ao desenvolvimento e operação de sistemas baseados em microsserviços.