Mudanças entre as edições de "Aplicações em Contêineres"

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
(Cronograma)
 
(4 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Atual Condição =
+
'''Resumo:'''
  
Quando se fala em websites, webservices e outras aplicações, é impossível não mencionar o quão crescente está o acesso de usuários em sistemas
+
Esta monografia parte do ponto onde tem-se a infraestrutura de aplicações e serviços do
de lojas, prestadoras de serviços, empresas terceirizadas, entre outros. O que muitos não sabem é que, por trás de todas essas páginas, textos,  
+
câmpus São José do Instituto Federal de Santa Catarina (IFSC), no qual tem-se máquinas
imagens, vídeos, entre outros, uma rica infraestrutura com a missão de manter disponível esses ambientes para acesso e visualização por parte
+
virtuais dedicadas com seus próprios recursos computacionais. Com o projeto, pretende-se
dos usuários.
+
implantar o mesmo ambiente, lidando com sobrecargas de processamento dos serviços,
 +
bem como eventuais falhas que possam ocorrer com a aplicação durante sua utilização,
 +
através da abordagem de Contêiner como um serviço (CaaS), cujo objetivo é uma nova
 +
infraestrutura mais leve, rápida, facilmente escalável, com bom nível de abstração para
 +
implantação de aplicações. Este método consiste em um isolamento de serviços em nível de
 +
processo, permitindo uma infraestrutura de serviços flexível e de tamanho variável, onde
 +
cada unidade de virtualização sobre contêiner pode ser recriada, duplicada ou removida de
 +
acordo com a demanda de acesso nas aplicações contidas nestes contêineres, promovendo
 +
economia de recursos de hardware, software e rede.
  
Um método comumente utilizado para sustentar esses sites basea-se em servidores de aplicação. Neste modelo, o desenvolvimento cria uma versão de um determinado aplicativo para uma página, contendo seus arquivos de bibliotecas e binários e com um número de versão. Após isso, o contexto referente à essa aplicação deve ser mapeado em um serviço web, e esse aplicativo é configurado para que realize suas consultas em um banco de dados disponibilizado. Posteriormente, o serviço é iniciado e a aplicação pode ser acessada através do browser pelo usuário. Uma possível falha ou indisponibilidade em qualquer uma das aplicações do ambiente pode implicar em uma correção dessa aplicação, obrigando que o serviço seja parado e iniciado novamente com uma versão corrigida.
+
'''Palavras chave:'''
 +
Contêiner, CaaS, SaaS, orquestração.
  
Outra grande adversidade que é encontrada em alguns momentos, é o fato dessas aplicações estarem sujeitas à performance dos servidores virtuais ou físicos
+
'''Abstract:'''
no decorrer do período de utilização, seja essa uma performance satisfatória ou precária.
 
  
Têm-se, atualmente, um grande número de páginas com base em virtualização de servidores, disponibilizados para tal demanda, conforme acontece com as  
+
This monograph starts from the point where the infrastructure of applications and services
aplicações do ambiente virtual do campus São José do Instituto Federal de Santa Catarina, por exemplo.
+
of São José Campus of the Federal Institute of Santa Catarina (IFSC), in which there are
 +
virtual machines dedicated with their own computational resources. With the project, it is
 +
intended to implement the same environment, dealing with service processing overloads,
 +
as well as any failures that may occur with the application during its use, through the
 +
Container approach as a service (CaaS) Whose goal is a new, lightweight, fast, easily
 +
scalable infrastructure with a good level of abstraction for application deployment. This
 +
method consists of process-level service isolation, allowing for a flexible and variable-size
 +
service infrastructure where each container-based virtualization unit can be recreated,
 +
duplicated or removed according to the demand for access in the applications contained in
 +
these containers , saving hardware, software and network resources.
  
Nesse ponto da análise, pode-se destacar uma solução muito interessante, visando melhoria de performance e praticidade, baseada no conceito de contêineres web. Em linhas gerais, trata-se de uma solução de código aberto que consiste em uma espécie de virtualização a nível de sistema operacional, comparável ao método de utilização de máquinas virtuais. Para uma melhor compreensão do conceito, pode-se pensar que cada contêiner em uma máquina é um processo isolado, com uma imagem para execução e contendo um determinado serviço em seu escopo, seja ele uma aplicação, um banco de dados ou um servidor web.
 
  
= Objetivo =
+
'''Keywords:'''
 +
Container, CaaS, SaaS, orchestration.
  
O atual cenário das aplicações demonstra uma grande utilização de máquinas virtuais, com sistemas operacionais em funcionamento, onde essas
+
== Arquivos ==
aplicações estão sendo executadas.
 
  
A implementação de uma topologia baseada no conceito de contêineres e no gerenciamento dos mesmos, permite que seja flexível o redimensionamento sob demanda da infraestrutura de uma determinada aplicação , visto que não é necessária a utilização de um sistema operacional de uma maquina virtual que, por sua vez,
+
'''Monografia:''' [[Media: TCC_Nathan_Oliveira.pdf| Monografia.pdf]]
já é executada sobre uma máquina real, contando com a vantagem de que esses contêineres permitem a inicialização de instâncias sob demanda a nível de processo e a facilidade de se ter o compartilhamento de arquivos de configuração, bibliotecas, binários, entre tantos outros, entre o host e o contêiner. Por apresentar maior conteúdo, mais funcionalidades e recursos para pesquisa e implementação, sugere-se a utilização do contêiner ''Docker''.
 
  
O método também permite que serviços isolados com qualquer tipo de falha sejam implementados quantas vezes foram necessárias até que se chegue em uma entrega de software sem erros, além de economizar o tempo que seria gasto na recriação de determinados ambientes, além da migração das aplicações entre sistemas operacionais e o fato de que, com cada contêiner hospedando um serviço, facilita a identificação de problemas e possibilita uma tratativa exclusiva.
+
[[Categoria:Trabalhos de Alunos]]
 
+
[[Categoria:Projeto de Fim de Curso]]
Para tal solução, propõe-se também a utilização de uma ferramenta de gerenciamento denominada Kubernetes, que pode orquestrar uma grande quantidade de
 
contêineres web. Desenvolvida pelo Google, essa ferramenta pode encarregar-se de serviços como balanceamento de carga, DNS, monitoramento de
 
desempenho, entre outros. Ainda conta com a vantagem de trabalhar com uma variedade de sistemas de armazenamento locais e em nuvem oferecidos por corporações como Google e Amazon Web Services, por exemplo.
 
 
 
Definidos os contêineres e a ferramenta que irá gerenciar os mesmos, a distribuição que deverá ser utilizada para hospedar essa infraestrutura é o ''CoreOS'', por ser o sistema mais leve e que teve sua criação destinada justamente para implementação de aplicações em contêineres
 
 
 
= Cronograma =
 
{{cronogramaX-top}}
 
{{cronogramaX-meses | Etapas |ago/2016|set/2016|out/2016|nov/2016|dez/2016}}
 
{{cronogramaX-item | Pesquisa Bibliográfica|1|0|0|0|0}}
 
{{cronogramaX-item | Implementação das ferramentas|1|1|1|0|0}}
 
{{cronogramaX-item | Implantação dos Serviços em Contêineres|0|1|1|1|0}}
 
{{cronogramaX-item | Metodologia de testes|0|0|0|1|1}}
 
{{cronogramaX-item | Escrita do Documento|0|0|1|1|1}}
 
{{cronogramaX-item | Entrega do Documento e Defesa |0|0|0|0|1}}
 
{{cronogramaX-item | Apresentação do Trabalho à Banca |0|0|0|0|1}}
 
|}
 
 
 
= Referências Bibliográficas =
 
 
 
Newman, S. Building Microservices: Designing Fine-Grained Systems. Sebastopol (CA): O'Reilly Media, 2015.
 

Edição atual tal como às 14h56min de 20 de abril de 2017

Resumo:

Esta monografia parte do ponto onde tem-se a infraestrutura de aplicações e serviços do câmpus São José do Instituto Federal de Santa Catarina (IFSC), no qual tem-se máquinas virtuais dedicadas com seus próprios recursos computacionais. Com o projeto, pretende-se implantar o mesmo ambiente, lidando com sobrecargas de processamento dos serviços, bem como eventuais falhas que possam ocorrer com a aplicação durante sua utilização, através da abordagem de Contêiner como um serviço (CaaS), cujo objetivo é uma nova infraestrutura mais leve, rápida, facilmente escalável, com bom nível de abstração para implantação de aplicações. Este método consiste em um isolamento de serviços em nível de processo, permitindo uma infraestrutura de serviços flexível e de tamanho variável, onde cada unidade de virtualização sobre contêiner pode ser recriada, duplicada ou removida de acordo com a demanda de acesso nas aplicações contidas nestes contêineres, promovendo economia de recursos de hardware, software e rede.

Palavras chave: Contêiner, CaaS, SaaS, orquestração.

Abstract:

This monograph starts from the point where the infrastructure of applications and services of São José Campus of the Federal Institute of Santa Catarina (IFSC), in which there are virtual machines dedicated with their own computational resources. With the project, it is intended to implement the same environment, dealing with service processing overloads, as well as any failures that may occur with the application during its use, through the Container approach as a service (CaaS) Whose goal is a new, lightweight, fast, easily scalable infrastructure with a good level of abstraction for application deployment. This method consists of process-level service isolation, allowing for a flexible and variable-size service infrastructure where each container-based virtualization unit can be recreated, duplicated or removed according to the demand for access in the applications contained in these containers , saving hardware, software and network resources.


Keywords: Container, CaaS, SaaS, orchestration.

Arquivos

Monografia: Monografia.pdf