Prévia do material em texto
Questão 1/10 - DevOps e Integração Contínua Ler em voz alta A segurança em código tornou-se uma prioridade essencial em ambientes de nuvem, especialmente ao utilizar serviços da Amazon Web Services (AWS) em conjunto com ferramentas como o Terraform. Essa abordagem, também conhecida como Infrastructure as Code (IaC), não apenas permite a automação eficiente da infraestrutura, mas também impulsiona a implementação de práticas seguras desde a concepção até a operação. Analise as afirmativas a seguir que trazem como a segurança pode ser integrada efetivamente ao código ao utilizar AWS e Terraform: 1. Gerenciamento de credenciais: primeiro passo é assegurar o gerenciamento seguro de credenciais na AWS 2. Práticas de segurança em Terraform: variáveis sensíveis e arquivos de estado, avaliação de impacto e revisão de código 3. Monitoramento e conformidade: implementar identificação da linguagem de programação para identificar e reagir a possíveis atualizações 4. Auditorias e revisões regulares: realizar auditorias regulares nas configurações do Terraform e nos recursos provisionados na AWS para identificar e corrigir potenciais lacunas de segurança 5. Atualizações e Patches automáticos: automatizar a instalação dos recursos financeiros do projeto São corretas apenas as afirmativas: A I, II e IV B I e II C I, III e V D II e V E I, III e IV Questão 2/10 - DevOps e Integração Contínua Ler em voz alta Na infraestrutura de TI existem ambientes completamente isolados e independentes, criados para emular a funcionalidade de uma máquina física. Esse ambiente permite a execução de vários sistemas operacionais e aplicativos em um único hardware físico. Esse conceito é fundamental para a eficiência na gestão de recursos de computação e para a criação de ambientes de teste, desenvolvimento e produção mais flexíveis. Sua principal característica é a capacidade de executar um sistema operacional completo dentro de outro, chamado de sistema hospedeiro. Essa abstração é possibilitada por um software conhecido como hipervisor. Esse ambiente é conhecido como: A Servidor de Rede javascript:void(0) javascript:void(0) B Emulador de Servidor C Máquinas Virtuais (VM) D Hipervisor Master E Roteador Questão 3/10 - DevOps e Integração Contínua Ler em voz alta É desafiador para os desenvolvedores de software criarem códigos funcionais em suas máquinas. No entanto, mesmo quando esse objetivo é alcançado, há um longo percurso até que o software realmente gere valor, uma vez que este só proporciona valor quando está em ambiente de produção. A base da filosofia da disponibilização de software é desenvolver programas de modo que estejam constantemente prontos para serem implementados em produção. Esse conceito é conhecido como: A Integração Contínua (CI) B Instalação Continuada (IC) C Desenvolvimento Unificado (DU) D Entrega Contínua (CD) E Disponibilização Centralizada (DC) Questão 4/10 - DevOps e Integração Contínua Ler em voz alta Os contêineres têm revolucionado a maneira como desenvolvemos, distribuímos e executamos aplicativos. Nesse contexto, o Docker se destaca como uma das principais ferramentas para facilitar a criação e gerenciamento desses ambientes isolados. Uma imagem do Docker consiste em sistemas de arquivos sobrepostos, sendo a base um sistema de arquivos de inicialização, chamado bootfs, semelhante ao típico sistema de arquivos de inicialização do Linux/Unix. Cada um desses sistemas de arquivos no Docker é chamado de imagem, e essas imagens podem ser sobrepostas umas sobre as outras. A imagem mais abaixo é chamada de imagem pai, e você pode percorrer cada camada até chegar à imagem base na parte inferior da pilha. Ao lançar um contêiner a partir de uma imagem, o Docker monta um sistema de arquivos de leitura-escrita sobre quaisquer camadas subjacentes. Este sistema de arquivos de leitura-escrita é onde os processos desejados para o contêiner Docker serão executados. Analise as afirmativas a seguir que trazem comandos com parâmetros para manipular contêineres do Docker: 1. Lista todos os contêineres: docker ps -a 2. Altera o endereço contêiner: docker rename [contêiner] [novo_nome] 3. Executa o contêiner fornecido: docker start [contêiner] javascript:void(0) javascript:void(0) 4. Para a utilização do SO: docker stop [contêiner] 5. Espera até que outros contêineres em execução sejam interrompidos: docker wait [contêiner] São corretas apenas as afirmativas: A I e II B II e V C I, III e V D I, II e IV E I, III e IV Questão 5/10 - DevOps e Integração Contínua Ler em voz alta A cultura DevOps é fundamental para o sucesso da implementação de práticas e ferramentas associadas ao DevOps. Ela enfatiza a colaboração, a comunicação eficaz e a busca constante pela melhoria na entrega de software. Relacione corretamente os princípios que formam a cultura DevOps: 1. Monitoramento contínuo 2. Gerenciamento de configuração 3. Entrega contínua (CD) 4. Automação de infraestrutura 5. Integração contínua (CI) ( ) Automação do processo de liberação de software para ambientes de teste e produção, permitindo transferências frequentes e confiáveis ( ) Utilização de ferramentas para automatizar a configuração e o provisionamento de ambientes de infraestrutura ( ) Controle e automação da configuração de software e infraestrutura ( ) Automação da integração de código de diferentes contribuidores em um único projeto ( ) Implementação de soluções de monitoramento para acompanhar o desempenho do software em tempo real Agora, selecione a alternativa que apresenta a sequência correta: A 2 – 1 – 5 – 3 – 4 B 1 – 4 – 2 – 3 – 5 javascript:void(0) C 3 – 4 – 2 – 5 – 1 D 4 – 3 – 5 – 2 – 1 E 3 – 4 – 2 – 1 – 5 Questão 6/10 - DevOps e Integração Contínua Ler em voz alta Na engenharia de software, Integração Contínua (CI) é um processo antigo, que trata da prática de mesclar todas as cópias de trabalho dos desenvolvedores em uma linha principal compartilhada, várias vezes ao dia. A CI automatiza a integração de alterações de código de vários desenvolvedores em um único repositório central. Seu objetivo principal é identificar e resolver problemas de integração precocemente, antes que eles se tornem grandes e difíceis de corrigir. A automação desempenha um papel crucial na execução de tarefas como compilação, testes e implantação. Relacione corretamente as ferramentas para Integração Contínua: 1. Drone 2. Jenkins 3. TeamCity 4. GitLab CI/CD 5. GitHub Actions ( ) É uma ferramenta de automação de código aberto amplamente utilizada para automação de compilação, testes e implantação ( ) Integrado diretamente ao GitLab, fornece recursos integrados de CI/CD dentro da plataforma GitLab ( ) É uma plataforma integrada diretamente ao GitHub para automação de fluxos de trabalho, incluindo CI/CD ( ) Desenvolvido pela JetBrains, oferece uma solução robusta para automação de compilação e integração contínua ( ) É uma plataforma de CI/CD leve e flexível que pode ser executada como um contêiner Docker Agora, selecione a alternativa que apresenta a sequência correta: A 2 – 1 – 5 – 3 – 4 B 2 – 4 – 5 – 3 – 1 C 1 – 4 – 5 – 2 – 3 D 4 – 3 – 2 – 5 – 1 javascript:void(0) E 1 – 4 – 2 – 3 – 5 Questão 7/10 - DevOps e Integração Contínua Ler em voz alta O cenário de DevOps continua a evoluir em resposta às demandas crescentes por agilidade, automação e colaboração contínua entre equipes de desenvolvimento e operações. Algumas tendências emergentes delineiam o futuro do DevOps, destacando áreas de foco que moldarão a forma como as organizações concebem, implementame gerenciam seus processos de desenvolvimento e operações. Analise as afirmativas a seguir que tratam da evolução do cenário de DevOps: 1. GitOps e Infraestrutura como Código (IaC) estão em desuso 2. DevSecOps e Segurança Integrada ganham destaque como a integração da segurança em todo o ciclo de vida do desenvolvimento 3. Observabilidade e Monitoramento Contínuo desaceleram, com organizações deixando de utilizar ferramentas avançadas de monitoramento e análise de logs 4. Continuous Testing e Testes Autônomos evoluem, mas os testes autônomos que utilizam automação avançada e inteligência artificial são abandonados por desconhecimento técnico dos desenvolvedores 5. Automatização Cognitiva e IA tornam-se fundamentais, impulsionando a automação com inteligência artificial (IA) e aprendizado de máquina (ML) São corretas apenas as afirmativas: A I e II B I, III e V C I, II e IV D II e V E I, III e IV Questão 8/10 - DevOps e Integração Contínua Ler em voz alta O Terraform, desenvolvido pela HashiCorp, é uma ferramenta de IaC, agnóstica a provedores de nuvem, que possibilita a definição de recursos e infraestrutura em arquivos de configuração legíveis por humanos. Ele gerencia o ciclo de vida da infraestrutura, proporcionando vantagens significativas sobre a gestão manual. O Terraform interage com plataformas de nuvem e serviços por meio de plugins chamados providers. Existem mais de 1.000 providers disponíveis, abrangendo serviços como AWS, Azure, Google Cloud, Kubernetes, GitHub, Splunk e DataDog. Caso não encontre o provider desejado, é possível criar seu próprio. A padronização do fluxo de trabalho de implantação é alcançada por meio de módulos, que são composições reutilizáveis de recursos provenientes de diferentes providers. A linguagem declarativa do Terraform descreve o estado desejado da infraestrutura, javascript:void(0) javascript:void(0) permitindo que os providers calculem automaticamente dependências entre recursos. Relacione corretamente o fluxo de implantação do Terraform: 1. Inicialização 2. Escopo 3. Planejamento 4. Autoria 5. Aplicação ( ) Identificar a infraestrutura necessária para o projeto ( ) Escrever a configuração da infraestrutura desejada ( ) Instalar os plugins necessários para gerenciar a infraestrutura ( ) Visualizar as alterações propostas pelo Terraform ( ) Executar as mudanças que foram planejadas Agora, selecione a alternativa que apresenta a sequência correta: A 2 – 4 – 3 – 5 – 1 B 5 – 2 – 3 – 1 – 4 C 2 – 4 – 1 – 3 – 5 D 5 – 2 – 4 – 1 – 3 E 2 – 4 – 5 – 3 – 1 Questão 9/10 - DevOps e Integração Contínua Ler em voz alta Integração contínua (CI, do inglês Continuous Integration) no Git é a integração contínua de código usando o Git, um sistema de controle de versão distribuído. A CI automatiza o processo de integração de alterações de código de vários desenvolvedores em um único repositório central. Analise as afirmativas a seguir que trazem os passos para implantação DevOps: 1. O primeiro passo consiste em delinear um projeto de desenvolvimento de software que apresente características propícias para a aplicação de métodos ágeis de gerenciamento de projetos 2. Na formação da equipe não é necessário se preocupar com um time inicial para o projeto tampouco comprometidos a aceitar mudanças inerentes a uma nova abordagem de trabalho 3. O terceiro passo requer que todos os membros compreendam integralmente o significado e o propósito do DevOps javascript:void(0) 4. Entender a governança e os processos de TI é crucial para antecipar possíveis obstáculos que possam limitar iniciativas e benefícios do DevOps 5. As práticas do DevOps não priorizam uma colaboração aprimorada e uma mudança no foco da TI para o produto finalizado São corretas apenas as afirmativas: A I e II B II e V C I, II e IV D I, III e V E I, III e IV Questão 10/10 - DevOps e Integração Contínua Ler em voz alta A seguinte questão crucial que muitas pessoas enfrentam é a necessidade de colaborar com desenvolvedores que estão em outros sistemas. Para resolver esse problema, foram desenvolvidos Sistemas Centralizados de Controle de Versão (CVCSs). Os CVCSs são uma solução para a questão crucial de colaborar com desenvolvedores que estão em outros sistemas. Esses sistemas armazenam todos os arquivos de controle de versão em um único servidor, que é acessado por vários clientes. Descreva os CVCs quanto a sua facilidade de colaboração, controle de acesso e backups. Claro! Aqui está um resumo sobre os Sistemas Centralizados de Controle de Versão (CVCSs) em relação à colaboração, controle de acesso e backups: ### 1. Facilidade de Colaboração - **Centralização**: Armazenam todos os arquivos em um único servidor, facilitando o acesso e a visualização das alterações por todos os desenvolvedores. - **Sincronização**: Permitem fácil check-out e check-in de arquivos, promovendo uma colaboração eficiente. - **Histórico de Alterações**: Mantêm um registro centralizado das modificações, facilitando a comunicação entre a equipe. ### 2. Controle de Acesso - **Gerenciamento de Permissões**: Administradores podem definir permissões específicas para usuários, protegendo partes sensíveis do código. - **Locking**: Alguns sistemas utilizam bloqueio de arquivos, evitando conflitos, mas limitando a edição simultânea. ### 3. Backups - **Centralização dos Dados**: Facilita a realização de backups, pois apenas o servidor central precisa ser copiado. - **Risco de Perda de Dados**: Dependência de um único servidor pode resultar em perda total de dados se não houver backups adequados. javascript:void(0) - **Backup Incremental**: Permite salvar apenas as alterações desde o último backup, economizando espaço e tempo. ### Conclusão Os CVCSs oferecem uma abordagem estruturada para colaboração, com controle de acesso rigoroso e gestão de backups simplificada, mas apresentam riscos associados à centralização. É essencial implementar boas práticas de backup e gerenciamento de permissões.