Buscar

ENTREGAS CONTINUAS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE UNIGRANRIO
 
 NOME DO ALUNO:
 
 Luiz Gustavo da Cruz Brito
 MATRÍCULA
 
 540557
 Nova Iguaçu,RJ
 2021
 
Virtualização é uma tecnologia que permite criar serviços de TI valiosos usando recursos que tradicionalmente estão vinculados a um determinado hardware. Com a virtualização, é possível usar a capacidade total de uma máquina física, distribuindo seus recursos entre muitos usuários ou ambientes.
Em termos práticos, imagine que você tenha três servidores físicos, cada um com finalidades específicas. O primeiro é um servidor de email, o segundo é um servidor web e o terceiro executa aplicações legadas internas. Você utiliza cerca de 30% da capacidade de cada servidor (apenas uma pequena fração do potencial de execução)
Os programas de software chamados de hipervisores separam os recursos físicos dos ambientes virtuais que precisam utilizar esses recursos. Os hipervisores podem ser executados em um sistema operacional (como em um laptop) ou instalados diretamente no hardware (como um servidor), que é o tipo de virtualização preferido da maioria das empresas. Os hipervisores dividem os recursos físicos para que sejam utilizados por diferentes ambientes virtuais.
Os recursos do ambiente físico são particionados, conforme a necessidade, entre os diversos ambientes virtuais. Os usuários interagem e executam as operações computacionais dentro do ambiente virtual (normalmente chamado de máquina guest ou virtual). A máquina virtual funciona como um único arquivo de dados. E como qualquer outro arquivo digital, ela pode ser transferida de um computador a outro, aberta em qualquer um e funcionar da mesma forma.
Quando o ambiente virtual está em execução e um programa ou usuário emite uma instrução que requer recursos adicionais do ambiente físico, o hipervisor retransmite a solicitação ao sistema físico e armazena as mudanças em cache. Tudo isso acontece a uma velocidade próxima à das operações nativas, principalmente quando a solicitação é enviada por meio de um hipervisor open source derivado de máquina virtual baseada em kernel (KVM).
O uso de contêineres é uma abordagem de desenvolvimento de software na qual um aplicativo ou serviço, suas dependências e sua configuração (abstraídos como arquivos de manifesto de implantação) são empacotados juntos como uma imagem de contêiner. O aplicativo em contêineres pode ser testado como uma unidade e implantado como uma instância de imagem de contêiner no SO (sistema operacional) do host.
Assim como os contêineres de remessa permitem que as mercadorias sejam transportadas por navio, trem ou caminhão, independentemente da carga que contenham, os contêineres de implantação de software agem como uma unidade de software padrão que pode conter diferentes dependências e códigos. Inserir o software em contêineres dessa maneira permite que desenvolvedores e profissionais de TI os implantem em diferentes ambientes com pouca ou sem nenhuma modificação.
Os contêineres também isolam os aplicativos uns dos outros em um sistema operacional compartilhado. Os aplicativos em contêineres são executados com base em um host do contêiner que por sua vez é executado no sistema operacional (Linux ou Windows). Os contêineres, portanto, ocupam um espaço significativamente menor do que as imagens de VM (máquina virtual).
 
A virtualização permite o isolamento total do ambiente da sua aplicação, já que ela virtualiza a máquina por completo. O container, por ser uma virtualização que compartilha um mesmo kernel do sistema operacional, traz apenas isolamento parcial. O que isto quer dizer? Isolamento total significa mais segurança.
A virtualização dá garantia de recursos para sua aplicação em nível de hardware, algo que não ocorre na conteinerização.
A Virtualização também permite o trabalho com sistemas operacionais diversos em um mesmo projeto. Já o container possui a depeDocker é um conjunto de produtos deplataforma como serviço (PaaS) que usam virtualização de nível de sistema operacional para entregar software em pacotes chamados contêineres. Os contêineres são isolados uns dos outros e agrupam seus próprios softwares, bibliotecas e arquivos de configuração. Eles podem se comunicar uns com os outros por meio de canais bem definidos.Todos os contêineres são executados por um único kernel do sistema operacional e, portanto, usam menos recursos do que as máquinas virtuais. ndência do Sistema operacional que ele está rodando.
Por outro lado, os containers necessitam de muito menos recursos, já que eles não possuem todo o Sistema Operacional incorporado. Este fator também implica em maior rapidez de reposta na inicialização de um container.
O Docker é uma alternativa de virtualização em que o kernel da máquina hospedeira é compartilhado com a máquina virtualizada ou o software em operação, portanto um desenvolvedor pode agregar a seu software a possibilidade de levar as bibliotecas e outras dependências do seu programa junto ao software com menos perda de desempenho do que a virtualização do hardware de um servidor completo. Assim, o Docker torna operações em uma infraestrutura como serviços web mais intercambiável, eficientes e flexíveis.
Segundo uma análise da 451 Research, o "Docker é uma ferramenta que pode empacotar um aplicativo e suas dependências em um recipiente virtual que pode ser executado em qualquer servidor Linux. Isso ajuda a permitir flexibilidade e portabilidade de onde o aplicativo pode ser executado, quer nas instalações, nuvem pública, nuvem privada, entre outros.
O suporte para espaços de nomes do núcleo do Linux na maioria das vezes[8] isola uma visão da aplicação do ambiente operacional, incluindo árvores de processo, rede, IDs de usuário e sistemas de arquivos montados, uma vez que os cgroups do núcleo fornecem limitação de recursos, incluindo a UCP, memória, bloco de E/S e rede. Desde a versão 0.9, o Docker inclui a biblioteca libcontainer como seu próprio mecanismo de usar diretamente os recursos de virtualização fornecidos pelo núcleo do Linux, além de usar interfaces de virtualização abstrata via libvirt, LXC (Linux Containers) e systemd-nspawn 
 
 
Kubernetes (comumente estilizado como K8s) é um sistema de orquestração de contêineres open-source que automatiza a implantação, o dimensionamento e a gestão de aplicações em contêineres.Ele foi originalmente projetado pelo Google e agora é mantido pela Cloud Native Computing Foundation.Ele funciona com uma variedade de ferramentas de conteinerização, incluindoDocker.
Muitos serviços de nuvem oferecem uma plataforma baseada em Serviço (Paas ou Iaas), onde o kubernetes pode ser implantado sob serviço gerenciado. Muitos fornecedores também provém sua própria marca de distribuição de kubernetes.
Kubernetes, ou “k8s”, é uma plataforma open source que automatiza as operações dos containers Linux. O Kubernetes elimina grande parte dos processos manuais necessários para implantar e escalar as aplicações em containers. Em outras palavras, se você desejar agrupar em clusters os hosts executados nos containers Linux, o Kubernetes ajudará a gerenciar esses clusters com facilidade e eficiência. Esses clusters podem incluir hosts em nuvem pública, nuvem privada ou nuvem híbrida. Por isso, o Kubernetes é a plataforma ideal para hospedar aplicações nativas em nuvem que exigem escalabilidade rápida, como a transmissão de dados em tempo real por meio do Apache Kafka.
Originalmente, o Kubernetes foi criado e desenvolvido por engenheiros do Google. O Google foi um dos pioneiros no desenvolvimento da tecnologia de containers Linux. Além disso, a empresa já revelou publicamente que tudo no Google é executado em containers (inclusive, essa é a tecnologia por trás dos serviços em cloud da empresa). O Google gera mais de 2 bilhões de implantações de containers por semana, viabilizadas por uma plataforma interna: Borg. O Borg foi o antecessor do Kubernetes. As lições aprendidas ao longo dos anos de desenvolvimento do Borg foram a principal influência para o desenvolvimento da tecnologia do Kubernetes.Uma curiosidade sobre o Kubernetes é que os sete raios do logotipo fazem referência ao nome original do projeto, “Project Seven of Nine” (Projeto Sete de Nove).
A Red Hat foi uma das primeiras empresas a trabalhar com o Google no desenvolvimento do Kubernetes, antes mesmo do lançamento da plataforma. Foi assim que nos tornamos o segundo maior colaborador com o projeto upstream dessa tecnologia. Em 2015, o Google doou o projeto Kubernetes à Cloud Native Computing Foundation, recém-formada na época.
Kubernetes: entenda por que ele é essencial
Aplicações de produção abrangem múltiplos containers. Eles devem ser implantados em vários hosts do servidor. A segurança dos containers tem várias camadas e pode ser complexa. É aí que o Kubernetes entra em cena. Ele oferece os recursos de orquestração e gerenciamento necessários para implantar containers em escala para essas cargas de trabalho. Com a orquestração do Kubernetes, é possível criar serviços de aplicações que abrangem múltiplos containers, programar o uso deles no cluster, escalá-los e gerenciar a integridade deles com o passar do tempo. Com o Kubernetes, você toma medidas reais para aprimorar a segurança da TI.
Também é necessário integrar o Kubernetes com os serviços de rede, armazenamento, segurança, telemetria e outros para oferecer uma infraestrutura de containers global.No entanto, isso obviamente depende do uso que cada empresa faz dos containers em seus próprios ambientes. Uma 
aplicação rudimentar dos containers Linux os trata como máquinas virtuais rápidas e eficientes. Quando escalado para um ambiente de produção e diversas aplicações, fica claro que é necessário ter vários containers alocados funcionando em conjunto para disponibilizar serviços individuais. Isso multiplica substancialmente o número de containers no ambiente. À medida que eles se acumulam, a complexidade também aumenta.
O Kubernetes corrige vários problemas comuns que ocorrem com a proliferação de containers, organizando-os em "pods". Os pods adicionam uma camada de abstração aos containers agrupados. Assim, é mais fácil programar as cargas de trabalho e fornecer os serviços necessários a esses containers, como rede e armazenamento. Outros componentes do Kubernetes são úteis no balanceamento de carga entre os pods. Com isso, é possível garantir que o número de containers em execução seja suficiente para oferecer suporte às cargas de trabalho.
Com a implementação correta do Kubernetes (e a ajuda de outros projetos open source, como Open vSwitch, Oauth e SELinux), as empresas podem orquestrar todas as partes da infraestrutura de containers.
Como o Kubernetes funciona e para que serve?
A principal vantagem que as empresas garantem ao usar o Kubernetes, especialmente se estiverem otimizando o desenvolvimento de aplicações para a cloud, é que elas terão uma plataforma para programar e executar containers em clusters de máquinas físicas ou virtuais. Em termos mais abrangentes, com o Kubernetes, é mais fácil implementar e confiar totalmente em uma infraestrutura baseada em containers para os ambientes de produção. Como o propósito do Kubernetes é automatizar completamente as tarefas operacionais, ele permite que os containers realizem muitas das tarefas possibilitadas por outros sistemas de gerenciamento ou plataformas de aplicações.
O Kubernetes possibilita:
Orquestrar containers em vários hosts.
Aproveitar melhor o hardware para maximizar os recursos necessários na execução das aplicações corporativas.
Controlar e automatizar as implantações e atualizações de aplicações.
Montar e adicionar armazenamento para executar aplicações com monitoração de estado.
Escalar rapidamente as aplicações em containers e recursos relacionados.
Gerenciar serviços de forma declarativa, garantindo que as aplicações sejam executadas sempre da mesma maneira como foram implantadas.
Verificar a integridade e autorrecuperação das aplicações com posicionamento, reinício, replicação e escalonamento automáticos.
No entanto, o Kubernetes depende de outros projetos para oferecer plenamente esses serviços orquestrados. Com a inclusão de outros projetos open source, é possível atingir a capacidade total do Kubernetes. Dentre esses projetos necessários, incluem-se:
Registro, como o Atomic Registry ou o Docker Registry.Rede, como o OpenvSwitch e roteamento de borda inteligente.
Telemetria, como o heapster, o kibana, o hawkular e o elastic.
Segurança, como o LDAP, o SELinux, o RBAC e o OAUTH com camadas de multilocação.
Automação, com a adição de playbooks do Ansible para a instalação e o gerenciamento do ciclo de vida do cluster.
Serviços, oferecidos em um catálogo variado de conteúdos previamente criados de padrões de aplicações populares.
BIBLIOGRAFIA:

Continue navegando