0% acharam este documento útil (0 voto)
4 visualizações14 páginas

Portfólio de Sistemas Distribuídos

O documento apresenta um portfólio de atividades práticas sobre Sistemas Distribuídos, incluindo sincronização de relógios via NTP, virtualização com VirtualBox e conteinerização com Docker. Cada atividade é detalhada com introduções, desenvolvimentos e conclusões que ressaltam a importância dessas tecnologias na gestão e operação de sistemas distribuídos. O portfólio destaca como essas práticas são essenciais para garantir a eficiência e a segurança em ambientes computacionais modernos.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações14 páginas

Portfólio de Sistemas Distribuídos

O documento apresenta um portfólio de atividades práticas sobre Sistemas Distribuídos, incluindo sincronização de relógios via NTP, virtualização com VirtualBox e conteinerização com Docker. Cada atividade é detalhada com introduções, desenvolvimentos e conclusões que ressaltam a importância dessas tecnologias na gestão e operação de sistemas distribuídos. O portfólio destaca como essas práticas são essenciais para garantir a eficiência e a segurança em ambientes computacionais modernos.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

PORTIFÓLIO DE SISTEMAS

DISTRÍBUIDOS

GUSTAVO HENRIQUE DE OLIVEIRA

FACULDADE ANHANGUERA
1 INTRODUÇÃO

Nesta atividade prática, foi proposto 4 atividades sobre fundamentos da


disciplina de Sistemas Distribuídos, sendo elas as seguintes:
1. Sincronização NTP - Nesta atividade prática, você aplicará a sincronização
relógios através de servidor NTP em sistema operacional Linux e Windows.

2. Virtualização e conteinerização - Virtualização VM: Nesta atividade


prática, você fará a criação de máquina virtual com sistema operacional
GNU/Linux.

3. Virtualização e conteinerização - Conteinerização com Docker: Nesta


atividade prática, você compreenderá como orquestrar o servidor web
Apache em um cluster simples através do Docker.

4. Segurança em sistemas distribuídos - Compreender como um analisador


de protocolos funciona. Trabalharemos com o Wire Shark.

2 DESENVOLVIMENTO

2.1 ATIVIDADE 01 - SINCRONIZAÇÃO NTP:

2.1.1 INTRODUÇÃO
A sincronização NTP é um processo que permite que os relógios de
dispositivos de uma rede sejam sincronizados, utilizando um protocolo de
tempo. O NTP é a sigla para Network Time Protocol, que significa "Protocolo de
Tempo para Redes".
O NTP é utilizado para sincronizar relógios de computadores, estações de
trabalho, roteadores e outros equipamentos. A sincronização é feita com base
em referências de tempo confiáveis, como os relógios atômicos do
Observatório Nacional. Abaixo segue como fazer a instalação do protocolo NTP
no Linux e no Windows.

2.1.2 DESENVOLVIMENTO
• Realizando o exercício:
Para a realização deste foi utilizado uma máquina virtual com uma Distro
UBUNTU 20.04 (Focal Fossa)

Passo 1 – Abra o terminal, pressionando as teclas “CTRL + T”.


Passo 2 – Instale o serviço “ntp”atrvés do gerenciador de pacotes äpt”,
com o comando 1

Passo 3 – Agora que está instalado, vamos editar o arquivo de


configuração com o Comando 2
Passo 4 – Excluir todas informações que estão abaixo da frase #
Specify one or more NTC Servers

Passo 5 – Incluir o comando: pool [Link].

Passo 6 – Salvar as alterações com “CTRL + X” e depois “S”

Passo 7 – Reiniciar o serviço ntp usando o comando 3

Passo 8 - Feito isso, o serviço estará configurado adequadamente e já


estará funcionando, consultando um conjunto de servidores NTP através
da Internet. Adicionalmente, para fazer uma consulta manual e pontual,
você poderá digitar o seguinte comando no Terminal: ntpq -p.

• Procedimento no Windows
1. Abra o Prompt de Comando (CMD), pressionando as teclas “CTRL + R”
do teclado, digitando “cmd” e OK.
2. Na janela do CMD vamos inserir o código a seguir e pressionar a tecla
“Enter”: w32tm /config /syncfromflags:manual
/manualpeerlist:[Link]

3. Observamos que ao final do comando aparece a mensagem “O


comando foi concluído com sucesso”. Lembre-se, para executar os
comandos você deve estar em um usuário Administrador ou executar o
CMD como Administrador.

4. Podemos forçar uma sincronização através do comando “w32tm /resync


/rediscover” Através da saída podemos observar que nossa configuração
foi feita com sucesso.
2.1.3 CONCLUSÃO
O NTP, se corretamente utilizado, é capaz de garantir as propriedades
necessárias ao relógio do computador para o bom funcionamento das
aplicações. Num primeiro momento isso pode parecer algo muito simples:
"consultar o tempo em um servidor" e "ajustar o relógio local" de tempos em
tempos. Mas na verdade o NTP faz muito mais do que isso.
Uma característica básica e ao mesmo tempo importante do tempo é que ele
sempre avança. O tempo não para e não volta atrás. Vários programas de
computador fazem uso dessa característica e podem ter seu funcionamento
comprometido se o relógio do computador inesperadamente passar a indicar
um horário errado, especialmente se for um horário no passado. Isso se
complica ainda mais na Internet, com vários computadores trocando
informações entre si. Diante disso conseguimos perceber a importância do
Protocolo NTP.

2.2 ATIVIDADE 02 – VIRTUALIZAÇAO E


CONTEINERIZAÇÃO – VIRTUALIZAÇÃO VM

2.2.1 INTRODUÇÃO
A virtualização é uma tecnologia que usa recursos tradicionalmente vinculados
ao hardware. Com ela, é possível usar toda a capacidade de uma máquina
física, distribuindo seus recursos entre muitos usuários ou ambientes. Entre os
tipos de virtualizações está: Virtualização de sistema operacional, que torna
possível a execução de vários sistemas operacionais em um único computador.
Uma máquina virtual (VM) é um computador digitalizado que
funciona em um servidor físico, utilizando recursos virtuais como CPU,
memória e armazenamento. As VMs são executadas como computadores
individuais, mas são independentes umas das outras e do computador físico.
As VMs podem ser usadas para: Testar novos sistemas operacionais, executar
software incompatível, criar e implantar aplicações na nuvem, fazer backup do
sistema operacional, executar aplicativos legados em hardware moderno. Para
criar VMs, é necessário utilizar um hypervisor, que é uma camada de software
que aloca recursos de computação física para cada VM.
O VirtualBox é um software gratuito e de código aberto que permite criar,
gerenciar e executar máquinas virtuais (VMs). Ele é multi-plataforma e pode ser
usado em Windows, Mac OS X, Linux e Solaris.
O VirtualBox é uma ferramenta útil para quem precisa usar mais de um sistema
operacional ou para testar sistemas. Ele também pode ser usado para reduzir
custos operacionais e implementar aplicações de forma segura. O VirtualBox é
ideal para desenvolvedores, profissionais de TI e usuários comuns.

2.2.2 DESENVOLVIMENTO
Criação de máquina virtual com sistema Linux.

• Instalação do Debian
Após isso devemos definir um nome e qual o tipo do sistema

Agora devemos definir a quantidade de RAM e CPU.

Agora que nossas configurações já estão prontas a máquina já aparece


na lista.

Vamos até a opção "Configurações" representada pelo ícone de uma


engrenagem para apontar o caminho de nossa imagem (iso) que contém
o sistema operacional. Vemos como apontamos o caminho da imagem
de instalação do sistema operacional, para isso ocorrer devemos criar
um leitor de CD virtual e indicar a imagem como se fosse um CD-ROM.
Acessamos o menu "Armazenamento", depois "Vazio", depois o ícone
de um novo CD para loca lizar nossa imagem.

Após o apontamento do caminho da imagem e o botão OK pressionado,


basta clicar em Iniciar

Após iniciado basta apenas realizar as configurações básicas de inicio e


sua máquina Linux já estará rodando!
2.2.3 CONCLUSÃO

A virtualização usando aplicativos como o VirtualBox é uma poderosa


ferramenta que oferecem diversas vantagens, incluindo a capacidade de
testar e desenvolver software em diferentes sistemas operacionais,
isolamento seguro de ambientes e eficiência no uso de recursos de
hardware. No entanto, é importante estar ciente das possíveis
sobrecargas de desempenho e das necessidades de recursos de
hardware para garantir o funcionamento eficiente das máquinas virtuais.

2.3 ATIVIDADE 03 - CONTAINERIZAÇÃO COM DOCKER:

2.3.1 INTRODUÇÃO

A conteinerização com Docker é uma tecnologia que permite criar e


utilizar contêineres Linux para executar aplicações. Os contêineres são
ambientes isolados que contêm todos os componentes necessários para
executar um programa. O Docker é uma ferramenta de conteinerização
que permite criar contêineres de imagens do Docker. Os contêineres do
Docker são executados no kernel do host, o que permite que vários
processos e aplicações sejam executados separadamente.
A conteinerização é uma tecnologia essencial para a migração para a
nuvem.

2.3.2 DESENVOLVIMENTO
A realização dessa atividade tem como objetivo compreender como
orquestrar o servidor web Apache em um cluster simples através do
Docker, e para iniciar foi acessado o site:
[Link] e em seguida feito a
inscrição com a criação da conta.

Depois de inscrito basta ir para a tela Play With Docker através do link
[Link] e clicar em Start
Com acesso à plataforma:

1 passo: Foi adicionado 3 nós, que farão parte do cluster, através do


botão “add new instance”

2 passo: Foi escolhido 1 nó para ser o mestre, através do seguinte


comando: Docker swarm init –advertisse-addr [Link]

Este comando define esse nó como manager do cluster. Repare


que, ao executar esse comando, é apresentada uma saída, com a
mensagem: (To add a worker to this swarm, run the following command)
"Para adicionar um worker ao swarm, execute o seguinte comando",
conforme pode ser visto na Figura.
Sendo assim, foi copiado a saída que foi apresentada, pois este
comando deverá ser executado em cada um dos demais nós do cluster,
adicionando estes como Workers desse cluster

3 passso: Agora que está tudo criado e configurado, para criar o serviço
que estará rodando do servidor Apache, foi digitado o seguinte comando
no nó mestre: Docker service create –name WEB –publish 80:80 –
replicas=5 httpd
Este comando criou 5 instâncias de um servidor web Apache, que
responderá na porta 80, e para facilitar a monitoração demos o nome de
WEB

4 passo: Para finalizar vamos acessar a página de boas-vindas desse


servidor Apache através do endereço de IP

2.3.3 CONCLUSÃO

A conteinerização com Docker oferece uma maneira eficiente e


consistente de desenvolver, implantar e gerenciar aplicações. Utilizando
contêineres, é possível garantir que o ambiente de execução seja o mesmo em
todas as etapas do ciclo de desenvolvimento, reduzindo problemas de
compatibilidade e facilitando a escalabilidade.

Você também pode gostar