·

Análise de Sistemas ·

Engenharia de Software

Send your question to AI and receive an answer instantly

Ask Question

Recommended for you

Preview text

Crie um PDF em formato de artigo apresentando o conceito de containers em Sistemas Operacionais Seu artigo deve apresentar citações e referências no formato ABNT Aborde Histórico de desenvolvimento desta tecnologia O que são para que servem e como se diferenciam de Máquinas Virtuais Tecnologias atuais de containers docker podman OCI Suporte dos seguintes sistemas operacionais a containers Linux BSD MacOS Windows Explicar como e porque o Sistema Operacional Qubes OS utiliza a tecnologia de containers Formato de entrega Entregue esta atividade anexando um PDF com o seu artigo Em tempo O prazo não será estendido Não deixe para a última hora Plágio não será tolerado Textos gerados pelo ChatGPT caso identificados serão desqualificados Deixei um link para um template de artigo mas pode usar outro se desejar Imagens e tabelas são muito bemvindas Quanto mais completo e correto maior será a nota obtida pela avaliação CONTAINERS CONCEITO EM SISTEMAS OPERACIONAIS Nome do aluno 1 Introdução Em um ambiente de software onde há compartilhamento de recursos de hardware para todas as aplicações surge o conceito visa equilibrar esse uso Os Containers são ambientes isolados dispostos em um servidor mas dividem um único host Esse conceito visa particionar os recursos de software de forma a manter o sistema operacional em uso sem gargalos de processos ou dependências de outros softwares Esse artigo tem como objetivo trazer o conceito de containers em sistemas operacionais bem como pontuar as diferenças entre os mais variados kernels bem como estudar o seu histórico de desenvolvimento diferenças com as máquinas virtuais tecnologias atuais e suporte para os principais sistemas operacionais do mercado 2 Revisão literária 21 Contexto histórico da tecnologia Como grande parte das tecnologias à nível de software os containers têm suas raízes no Unix especificamente a tecnologia chroot que permite que um processo e todos os seus descendentes vejam um sistema de arquivos virtual diferente do sistema de arquivos principal FERRAZ 2020 O chroot foi introduzido no final dos anos 70 como uma forma de isolar processos em ambientes Unix A ideia de isolamento de processos evoluiu ao longo do tempo e o conceito de containers modernos foi amplamente popularizado pelo Docker Este por sua vez foi lançado em 2013 e tornou os containers mais acessíveis e fáceis de usar Ele forneceu uma abstração de nível superior empacotando aplicativos e suas dependências em unidades chamadas imagens de containers GARCIA 2019 Essas imagens podem ser compartilhadas e implantadas de maneira consistente em diferentes ambientes Apesar da importância do Docker na história dos containers é importante frizar que o conceito de isolamento de processos surgiu antes mesmo dele O Linux Containers LXC teve suas raízes no desenvolvimento de tecnologias de virtualização de nível de sistema operacional no Linux Introduzido em 2008 o LXC proporcionou uma abordagem leve e eficiente para a criação de ambientes isolados permitindo a execução de processos em espaços de usuário separados Utilizando recursos fundamentais do kernel do Linux como namespaces e cgroups o LXC ofereceu um meio de isolamento robusto facilitando a execução de aplicativos em ambientes independentes enquanto compartilha o mesmo kernel do sistema operacional subjacente IVANOV 2017 22 Conceito e funcionalidades Vamos usar o exemplo de um navio carregado de containers À medida que um deles demonstra problemas os outros não são danificados O problema que o navio pode apresentar é isolado ao container danificado Essas características podem ser usadas diretamente no conceito de container em sistemas operacionais A tecnologia se trata de ambientes isolados cada container possui uma função e sua responsabilidade Caso um deles sofra um dano o funcionamento do sistema não para e a função afetada é redirecionada para um novo container Containers em sistemas operacionais representam uma abordagem de virtualização de aplicativos permitindo empacotar e isolar software com todas as suas dependências bibliotecas e configurações necessárias GARCIA 2019 O conceito baseiase na ideia de criar ambientes consistentes e portáteis independentemente do sistema operacional Imagine um pacote que inclui não apenas o código do aplicativo mas também tudo o que ele precisa para funcionar como bibliotecas e variáveis de ambiente Isso resolve muitos problemas de compatibilidade e facilita a implantação em diferentes ambientes Os containers compartilham o kernel do sistema operacional hospedeiro o que os torna leves e rápidos para iniciar Eles simplificam o processo de desenvolvimento garantindo que o aplicativo funcione da mesma forma no ambiente de desenvolvimento e produção 23 Tecnologias atuais de container Nos tempos atuais a comunidade de containers possui várias tecnologias tendo o Docker como o carro forte Isto pois é a tecnologia mais conhecida e utilizada e com ele é possível empacotar o software e todas as suas dependências de uma maneira super portátil Com o Docker desenvolvedores podem criar imagens de containers que são snapshots autocontidos de aplicativos incluindo código bibliotecas e configurações Essas imagens podem ser compartilhadas por meio do Docker Hub um registro centralizado permitindo que desenvolvedores distribuam e colaborem em seus projetos de maneira eficiente Para orquestrar e gerenciar containers em escala o Docker também oferece o Docker Compose que permite definir e executar aplicativos multicontainer usando um arquivo YAML Isso é particularmente útil quando trabalhamos com arquiteturas de microsserviços DOCKER 2020 No mesmo mercado o Podman também se destaca oferecendo uma abordagem mais leve Uma característica distintiva do Podman é que ele opera sem um daemon central ao contrário do Docker que requer um daemon em execução Isso significa que os comandos do Podman são executados no contexto do próprio usuário proporcionando uma experiência mais amigável e simplificada GANTIKOW 2020 Assim como o Docker o Podman adere às especificações do Open Container Initiative OCI garantindo interoperabilidade e portabilidade entre diferentes ferramentas e plataformas ESPE 2020 Ele também suporta a criação de pods que são grupos de containers que compartilham um namespace e portanto podem se comunicar mais facilmente entre si O Open Container Iniciative OCI é uma iniciativa de padrões abertos na indústria de containers lançado em 2015 Suportada por uma ampla gama de participantes do setor de tecnologia incluindo empresas desenvolvedores e fornecedores de plataformas seu objetivo principal é desenvolver padrões abertos para formatos de containers e especificações de execução GONÇALVES 2019 Todos os sistemas operacionais modernos oferecem suporte a containers embora alguns ofereçam suporte mais robusto do que outros Linux é o sistema operacional mais popular para containers e oferece suporte nativo para containers através do Docker que é o gerenciador de containers mais popular O Windows também oferece suporte nativo à containers através do Windows Containers baseado no Docker semelhante à ferramenta do Linux Semelhante aos dois o BSD Berkeley Software Distribution e referese a uma família de sistemas operacionais derivados do sistema Unix presta suporte aos containers através do Docker além de possuir gerenciadores de containers como o Kubernetes O MacOS por sua vez não possuía suporte nativo aos containers até 2016 quando foi lançado o macOS Sierra 10121 versão esta que trouxe o suporte nativo que usa o kernel do macOS para fornecer isolamento de recursos para containers WANG 2017 As razões pelas quais levaram o macOS a não dispor desse suporte como os outros sistemas operacionais são várias Uma delas é que a Apple historicamente focou em fornecer ferramentas e tecnologias específicas para desenvolvedores que estão mais alinhadas com a plataforma macOS como o Xcode para o desenvolvimento de aplicativos iOS e macOS Outra razão é a política de adotar abordagens específicas para virtualização e containers em seus sistemas operacionais Por exemplo o macOS suporta virtualização com o Hypervisor 3 Conclusão Através dos fatos e argumentos expostos podese reconhecer a importância dos containers nos sistemas operacionais como forma de simplificar o desenvolvimento implantação e gestão de aplicativos Sua eficiência para os desafios de compatibilidade e consistência entre os diferentes ambientes permite que uma ampla gama de desenvolvedores criem testem e implantem softwares de maneira confiável e rápida Dessa forma o domínio das tecnologias de containers tornase um ponto diferencial no mercado de tecnologia atual 4 Referencias Ferraz Gilnei Principais desafios da tecnologia de contêineres para a computação forense Gestão da Segurança da InformaçãoUnisul Virtual 2020 Garcia Walker and Fagner Coin Pereira DOCKERCONTAINERS NÃO SÃO VMs Seminário de Tecnologia Gestão e Educação 12 2019 510 Ivanov Konstantin Containerization with LXC Packt Publishing Ltd 2017 Docker Inc Docker lıneaJunio de 2017 Disponible en httpswww docker comwhatdocker 2020 Gantikow Holger Steffen Walter and Christoph Reich Rootless containers with Podman for HPC International Conference on High Performance Computing Cham Springer International Publishing 2020 Espe Lennart et al Performance Evaluation of Container Runtimes CLOSER 2020 Gonçalves Bernardo Lins Avaliação dos recursos do kernel Linux para a criação de containers 2019