FERNANDO ANTONIO VENCO TEIXEIRA DA CUNHA GESTÃO DA ...
Transcript of FERNANDO ANTONIO VENCO TEIXEIRA DA CUNHA GESTÃO DA ...
FERNANDO ANTONIO VENCO TEIXEIRA DA CUNHA
GESTÃO DA INFRAESTRUTURA COMO SERVIÇO ATRAVÉS DAS
FERRAMENTAS DE GERENCIAMENTO DE CONFIGURAÇÃO E
MONITORAMENTO
Trabalho de Conclusão de Curso apresentado ao curso MBA em Gestão da Tecnologia da Informação, de Pós-Graduação lato sensu, Nível de Especialização, da FGV/IDE como pré-requisito para a obtenção do título de Especialista.
Orientador: Dr. Arnaldo Lyrio Barreto
RIO DE JANEIRO – RJ
2018
FUNDAÇÃO GETULIO VARGAS
PROGRAMA FGV MANAGEMENT
MBA EM GESTÃO DA TECNOLOGIA DA INFORMAÇÃO
O Trabalho de Conclusão de Curso Gestão da infraestrutura como serviço através das
ferramentas de monitoramento e gerenciamento de configuração elaborado por Fernando
Antonio Venco Teixeira da Cunha e aprovado pela Coordenação Acadêmica do curso de
MBA em Gestão da Tecnologia da Informação, foi aceito como requisito parcial para a
obtenção do certificado do curso de pós-graduação, nível de especialização do Programa FGV
Management.
Rio de Janeiro, 02 de dezembro de 2018.
_________________________________________________ André Barcaui
Coordenador Acadêmico Executivo
_________________________________________________ Arnaldo Lyrio Barreto
Prof. Orientador
TERMO DE COMPROMISSO
O aluno Fernando Antonio Venco Teixeira da Cunha, abaixo assinado, do curso de MBA em
Gestão da Tecnologia da Informação, Turma GETI-14 do Programa FGV Management,
realizado nas dependências da FGV Botafogo no período de novembro de 2016 a agosto de
2018, declara que o conteúdo do Trabalho de Conclusão de Curso intitulado Gestão da
infraestrutura como serviço através das ferramentas de monitoramento e gerenciamento de
configuração é autêntico, original e de sua autoria exclusiva.
Rio de Janeiro, 02 de dezembro de 2018.
_____________________________________________________
FERNANDO ANTONIO VENCO TEIXEIRA DA CUNHA
Aоs meus pais, irmãos, minha esposa Chantala Ayres da Cunha que, cоm muito carinho е apoio, nãо mediram esforços para qυе еu chegasse аté esta etapa dе minha vida.
AGRADECIMENTOS
Agradeço a minha esposa, Chantala Ayres da Cunha por todo o apoio e carinho que
me fazem permanecer forte rumo a meus objetivos, ao meu querido e amado irmão Gabriel
Severo Venco Teixeira da Cunha pelo incentivo e apoio.
Aos queridos amigos da turma GETI 14, pelo companheirismo e paciência nessa longa
jornada e ao orientador Arnaldo Lyrio, pelo apoio na construção deste trabalho.
RESUMO
É perceptível o aumento que vem ocorrendo no decorrer dos últimos anos em relação a
serviços de cloud computing fornecidos pelos grandes players como Microsoft Azure,
Amazon e Google. Isso porque é uma tendência das empresas utilizarem cada vez mais
serviços na nuvem, abstraindo a responsabilidade da empresa no que não é seu core business.
Identifica-se que as empresas inicialmente tendem a migrar para um ambiente de nuvem IaaS
pela facilidade de migração e adaptação. Elas buscam tecnologias para reduzir o custo com
infraestrutura local e também pagar somente pelo serviço que utilizarem. Ainda, a nuvem
possui outras vantagens como flexibilidade, escalabilidade, agilidade, acesso à tecnologia de
ponta, software como serviço, entre outros. A gestão da tecnologia da informação, juntamente
com a cultura DevOps, são um ponto fundamental para obter os resultados desejados para as
empresas. As boas práticas apoiam toda a estrutura operacional que o fornecedor necessita
para garantir a integridade do ambiente, a segurança da infraestrutura, o desempenho do
sistema, a automatização de tarefas manuais etc. O trabalho consiste na apresentação e
comparação de três ferramentas para gerenciamento de configuração, quais sejam o Puppet,
um utilitário de código livre, e outras duas consolidadas no mercado, Ansible e Chef. Em
seguida são descritas outras três ferramentas para o monitoramento de rede: Zabbix, que
oferece uma interface 100% Web e é uma das ferramentas mais completas do mercado,
Nagios e CACTI. Tanto na gestão de configuração quanto na área de monitoramento de rede
identificam-se diversas ferramentas que atendem aos objetivos da gestão da infraestrutura.
Dessa forma, compreenda-se que este estudo não se propõe a apontar um software vencedor,
mas destacar as ferramentas mais utilizados no mercado e, a partir desses dados, apoiar e
auxiliar na decisão do pesquisador sobre qual ferramenta é a mais ideal para cada cenário.
Palavras-chave: Cloud Computing. Gestão da Tecnologia da Informação. IaaS. Puppet.
Ansible. Chef. Zabbix. Nagios. CACTI.
ABSTRACT
It is noticeable the increase that has been occurring in recent years in relation to cloud
computing services provided by major players such as Microsoft Azure, Amazon and Google.
This is because it is a tendency of companies to use more and more services in the cloud,
abstracting the responsibility of the company from what is not its core business. It is identified
that enterprises initially tend to migrate to an IaaS cloud environment for ease of migration
and adaptation. They are looking for technologies to reduce the cost with local infrastructure
and to pay only for the service they use. In addition, the cloud has other advantages such as
flexibility, scalability, agility, access to state-of-the-art technology, software as a service, and
more. The management of information technology, along with the DevOps culture, are a key
point to get the desired results for companies. Good practices support the entire operational
structure that the provider needs to ensure the integrity of the environment, infrastructure
security, system performance, automation of manual tasks, and so on. The work consists of
the presentation and comparison of three tools for configuration management, such as Puppet,
a free code utility, and other two consolidated in the market, Ansible and Chef. Following are
three other tools for network monitoring: Zabbix, which offers a 100% Web interface and is
one of the most complete tools on the market, Nagios and CACTI. In configuration
management as well as in the area of network monitoring, several tools can be identified and
that meet the objectives of infrastructure management. In this way, it is understood that this
study does not intend to point out a winning software, but to highlight most used the tools in
the market and, based on these data, to support and assist in the researcher's decision on which
tool is the most ideal for each scenario.
Keywords: Cloud Computing. Information Technology Management. IaaS. Puppet. Ansible.
Chef. Zabbix. Nagios. CACTI.
LISTA DE FIGURAS
Figura 1 – Timeline cloud technology ...................................................................................... 13
Figura 2 – Serviços Cloud Computing ..................................................................................... 16
Figura 3 – Comparação entre On-Premises e Cloud Computing. ............................................ 18
Figura 4 – Hypervisor. .............................................................................................................. 19
Figura 5 – Serviço PaaS ........................................................................................................... 20
Figura 6 – Nuvem híbrida ......................................................................................................... 24
Figura 7 – Funcionamento da Nuvem Comunitária ................................................................. 25
Figura 8 – Delimitação usual do controle dos recursos por modelo de serviço ....................... 28
Figura 9 – Cultura DevOps ....................................................................................................... 31
Figura 10 - Puppet .................................................................................................................... 35
Figura 11 Arquitetura da ferramenta Chef ............................................................................... 37
Figura 12 – Arquitetura da ferramenta Ansible ........................................................................ 38
Figura 13 - Módulos ................................................................................................................. 39
Figura 14 - Estrutura do Nagios ............................................................................................... 42
Figura 15 – Dashboard Nagios ................................................................................................. 43
Figura 16 – Dashboard Zabbix. ................................................................................................ 45
Figura 17 – Dashboard Cacti .................................................................................................... 47
Figura 18 – Comparação entre ferramentas .............................................................................. 51
LISTA DE SIGLAS
Arpanet – Advanced Research and Projects Agency
AWS – Amazon Web Services
IaaS – Infrastructure as a Service
IaC – Infrastructure as Code
MIB – Management Information Base
MS-DOS – Microsoft Disk Operating System
MIT – Massachusetts Institute of Technology
NIST – National Institute of Standards and Technology
PaaS – Platform as a Service
SaaS – Software como serviço
SSH – Secure Shell
SNMP – Simple Network Management Protocol
HTTPS – Hyper Text Transfer Protocol Secure
VM – Virtual Machine
SUMÁRIO
1 INTRODUÇÃO ........................................................................................................ 10
2 HISTÓRIA COMPUTAÇÃO EM NUVEM .......................................................... 12
2.1 CONSIDERAÇÕES INICIAIS .................................................................................. 12
2.2 COMPUTAÇÃO EM NUVEM ................................................................................. 14
2.3 SERVIÇOS DA COMPUTAÇÃO EM NUVEM ...................................................... 16
2.3.1 On Premises .............................................................................................................. 17
2.3.2 IaaS ............................................................................................................................ 18
2.3.3 PaaS ........................................................................................................................... 19
2.3.4 SaaS............................................................................................................................ 21
2.4 MODELOS DE IMPLANTAÇÃO ............................................................................ 22
2.4.1 Nuvem privada ......................................................................................................... 22
2.4.2 Nuvem Pública .......................................................................................................... 23
2.4.3 Nuvem Híbrida ......................................................................................................... 23
2.4.4 Nuvem Comunitária ................................................................................................. 24
3 GESTÃO DA TECNOLOGIA DA INFORMAÇÃO ............................................ 26
3.1 SEGURANÇA EM NUVEM ..................................................................................... 27
3.2 A IMPORTÂNCIA DA GESTÃO DO IAAS ............................................................ 29
4 DEVOPS .................................................................................................................... 30
4.1 INFRAESTRUTURA COMO CÓDIGO ................................................................... 32
4.2 GERENCIAMENTO DE CONFIGURAÇÃO .......................................................... 33
4.2.1 Puppet ........................................................................................................................ 33
4.2.2 Chef ............................................................................................................................ 35
4.2.3 Ansible ....................................................................................................................... 37
4.2.4 Comparação entre Puppet, Ansible e Chef ............................................................ 38
4.3 FERRAMENTAS DE MONITORAMENTO DE REDE .......................................... 40
4.3.1 Nagios ........................................................................................................................ 41
4.3.2 Zabbix ........................................................................................................................ 43
4.3.2.1 Servidor .................................................................................................................... 44
4.3.2.2 Banco de armazenamento ......................................................................................... 44
4.3.2.3 Interface Web ........................................................................................................... 44
4.3.2.4 Proxy ......................................................................................................................... 44
4.3.2.5 Agente ....................................................................................................................... 44
4.3.2.6 Fluxo de Dados ......................................................................................................... 45
4.3.3 Cacti ........................................................................................................................... 46
4.4 COMPARAÇÃO ENTRE AS FERRAMENTAS ..................................................... 48
4.4.1 Cacti ........................................................................................................................... 48
4.4.2 Nagios ........................................................................................................................ 48
4.4.3 Zabbix ........................................................................................................................ 49
5 CONCLUSÃO .......................................................................................................... 52
REFERÊNCIAS ..................................................................................................................... 53
10
1 INTRODUÇÃO
A computação em nuvem é uma quebra de paradigma, uma alteração na forma de
entrega dos serviços computacionais. Não se faz mais necessário adquirir todos os recursos
para disponibilizar um serviço e ainda possui a vantagem de pagar somente pelo que se
utiliza. No entanto, não é somente a questão financeira que vem gerando a adoção ou
migração dos serviços on-premises para computação em nuvem. Questões envolvendo
confiabilidade, desempenho, disponibilidade e acessibilidade através de multiplataformas
também são fatores que são avaliados. Por esses motivos, muitas empresas têm optado por
algum tipo de serviço de computação em nuvem.
Segundo Grava (apud DINO, 2017), no que diz respeito à computação em nuvem, essa
ferramenta veio para “[...] ficar por muito tempo, os empresários sabem que se trata de uma
tecnologia modernizadora, capaz de otimizar processos, reduzir custos e flexibilizar a
estrutura e a escalabilidade, beneficiando de fato as empresas que utilizam o Cloud
Computing.”
Ainda, dentro da computação em nuvem, vamos apresentar os três principais tipos
disponíveis. São eles: a IaaS – Infrastructure as a Service; PaaS – Platform as a Service; e
SaaS – Software as a Service. Para este trabalho, o tipo IaaS encontra-se mais adequado para
o estudo, visto que o IaaS está entre os principais tipos de migrações das organizações pela
agilidade, compatibilidade e similaridade do ambiente local com a nuvem.
De acordo com Gartner (apud DINO, 2017), “[o] segmento de maior crescimento do
mercado é o de serviços de infraestrutura de sistemas em nuvem (infraestrutura como serviço
- IaaS), que deve crescer 35,9% em 2018 e alcançar US$ 40,8 bilhões.”
Serão abordados dois temas relevantes, sendo o primeiro sobre a Gestão da Tecnologia
da Informação, apresentando a importância do tema e suas atribuições e, o segundo, o termo
DevOps. De acordo com uma pesquisa feita pela Forrester, 50% das organizações estão
implementando a cultura DevOps, de maneira a apoiar o gerenciamento de configuração e
monitoramento da rede (STROUD, 2017).
Com a compreensão dos tópicos citados, aborda-se o Ciclo DevOps, que possui duas
áreas importantes para o estudo: a de gerenciamento de configuração e do monitoramento. Em
sequência, detalham-se três ferramentas para gerenciamento de configuração, quais sejam
Puppet, Ansible e Chef. A outra vertente é o monitoramento, essencial para controle e
11
previsibilidade do ambiente. Para isso, abordam-se três ferramentas: Zabbix, Nagios e Cacti.
Essas estão entre as ferramentas mais recomendadas.
Diante das questões analisadas, é visível o aumento da adoção dos serviços da
computação em nuvem. Com esse aumento é necessário que os provedores desse tipo de
serviço estejam preparados para garantir a segurança, configuração e integridade dos
ambientes. Isso, sem que afete a disponibilidade dos serviços e promova as alterações
necessárias.
Para que isso seja realizado, a área de infraestrutura e a cultura DevOps trabalham
juntas e devem levantar questões sobre como atender essa demanda de uma forma ágil e
segura. Como é possível gerenciar o ambiente do cliente de forma automatizada? Como
podemos nos precaver de problemas com o monitoramento e através de quais ferramentas?
Como manter a homogeneidade no ambiente?
Uma das ramificações da cultura DevOps é o gerenciamento de configuração e
monitoramento. O objetivo é apresentar quais ferramentas podemos utilizar a nosso favor para
controlar nosso ambiente de forma saudável e antecipando-se aos problemas.
Cada vez mais as empresas estão em busca de foco no seu core business1, otimização
de processos e redução de custos. Para isso é necessária a utilização de tecnologia, a qual
muitas vezes é um meio para um fim. É perceptível o quanto a migração ou utilização de
serviços de computação em nuvem vêm tomando espaço no mercado. Dessa maneira, os
provedores de serviços de tecnologia necessitam estar preparados para garantir a segurança e
qualidade do ambiente. Busca-se, dessa forma, apresentar neste trabalho científico os
conceitos, definições e realizar a comparação entre as ferramentas, com o principal objetivo
de poder apoiar na decisão entre as ferramentas apresentadas, destacando também a
importância da gestão de TI em conjunto com a cultura DevOps.
1computação em nuvem (em inglês, cloud computing) refere-se à utilização da memória e da capacidade de armazenamento e cálculo de computadores e servidores Core business significa a parte principal de um determinado negócio, é o ponto forte de uma empresa que deve ser trabalhado estrategicamente
12
2 HISTÓRIA COMPUTAÇÃO EM NUVEM
2.1 CONSIDERAÇÕES INICIAIS
Este capítulo tem por objetivo explicar um pouco da história da Cloud Computing e
seus grandes marcos, seguido dos conceitos relacionados, serviços e formas de implantação
que estão disponíveis para utilização. Ainda, quais os grandes players do mercado, dando
sequência na Classificação dos serviços que são oferecidos atualmente.
A computação em nuvem, apesar de ter sua notoriedade destacada nos últimos anos,
não é uma tecnologia recente. Em 1960 já era exposta uma ideia similar ao conceito atual de
Cloud Computing por dois grandes especialistas na área, John McCarthy e Joseph Carl
Robnett Licklider. O americano John McCarthy acreditava na possibilidade de oferecer a
computação como um serviço público da mesma forma como é cobrada a luz e a água, nas
quais se paga pelo que se usa. Outro aspecto estudado por ele foi o uso compartilhado do
computador em paralelo, com mais de um usuário. Essas ideias foram apresentadas em um
discurso realizado no Massachusetts Institute of Technology (MIT) nos EUA em 1961, de
modo que ele a definiu por intermédio do termo Utility Computing. Em 1962 o físico Joseph
Carl Robnett Licklider encontrou uma forma das pessoas poderem compartilhar os dados de
forma global e, com isso, criou a rede Arpanet (Advanced Research and Projects Agency). O
principal objetivo era unir as bases militares com os departamentos de pesquisa do governo
americano. Ambos são considerados grandes pioneiros da computação em nuvem, mas as
ideias de John McCarthy e Joseph Carl ficaram em stand by por um longo período. A partir
do momento que a tecnologia passou a ficar acessível para a população em 1997, o termo
computação em nuvem foi utilizado pela primeira vez pelo professor de sistema de
informação Ramnath Chellappa em uma palestra acadêmica. Em 1999, a empresa americana
Salesforce ficou conhecida por ser a primeira empresa a disponibilizar aplicações
empresariais pela web (IPM SISTEMAS, 2017).
Nessa década tem início um período revolucionário na computação, especulações
ganharam força nos anos 2000 e vários desenvolvedores começaram a criar seus sistemas com
o conceito de nuvem. A Cloud Computing começou a ter mais força e passou a ser oferecida
comercialmente. Após 2 anos, em 2002, a Amazon lançou diversos serviços que incluíam
armazenamento, computação e inteligência humana, tudo fundamentado em nuvem. Anos
depois a empresa ofereceu o primeiro serviço de infraestrutura de computação em nuvem, o
EC2/S3 com maior acessibilidade. Em 2008 a Google App Engine lançou seu serviço baseado
13
na nuvem, com custos baixos e completo de inovações. No ano posterior a Microsoft Azure
lança sua plataforma especial para execução de aplicativos e serviços, também utilizando os
conceitos de computação em nuvem. (IPM SISTEMAS, 2017).
Conforme a Figura 1, podemos ver a timeline dos grandes marcos da evolução da
Cloud Computing:
Figura 1 – Timeline cloud technology
Fonte: Daconta (2014).
Dessa forma, podemos constatar que a computação em nuvem não é um conceito
recente e que já existe a um longo tempo. Contudo, no momento em que essa ideia surgiu a
infraestrutura/tecnologia não estava desenvolvida o suficiente para atender as necessidades
específicas que possui, diferentemente do que observamos hoje. O grande passo dado em
1999 pela empresa Salesforce com seu sistema voltado às necessidades dos clientes, quebrou
o paradigma de um mercado engessado pela venda de licenças de softwares (DANTAS,
2015).
Atualmente, a utilização da nuvem toma cada vez mais espaço dentro das empresas.
Conforme pesquisa realizada, 75% das empresas disseram que já utilizam algum tipo de
serviço em cloud computing. E, de acordo com o Gartner, os investimentos das empresas
brasileiras em cloud devem chegar a US$4,5 bilhões em 2017 e até 2020 cerca de US$20
bilhões (MEJÍAS, 2016).
14
O que era tendência em migrar para nuvem se tornou quase uma necessidade, em
razão do fato de o mundo estar cada vez mais digital e exigir produtos que estejam
interligados via internet, com rapidez instantânea, qualidade e preços competitivos. Conforme
Julio Mejías (2016) “é indiscutível que em qualquer empresa a tecnologia se tornou a base da
sua operação, da produção e do atendimento aos seus clientes.” Dessa forma surge a
Computação em Nuvem, tema que será abordado no capítulo seguinte.
2.2 COMPUTAÇÃO EM NUVEM
Atualmente, serviços básicos e essenciais como água, luz e gás são entregues à
sociedade de forma transparente, apenas se paga pelo que foi utilizado. Esse tipo de
fornecimento é possível porque a infraestrutura existente permite entregar os serviços em
diversos lugares e a qualquer hora, de forma que seja possível simplesmente acender a luz, ou
abrir a torneira para que o serviço seja disponibilizado. E para cada tipo de serviço é feita uma
cobrança diferente, de acordo com a política aplicada. A ideia na área da informática e dentro
do contexto Cloud Computing é basicamente o mesmo, disponível sempre que necessário e
pago pelo que se utiliza.
A Cloud Computing é uma mudança de paradigma na forma como o serviço
computacional é disponibilizado e também como os serviços de Tecnologia da Informação
estão sendo criados, desenvolvidos e até comercializados (VIGGIANI; VELLASCO, 2014).
Grandes corporações como Amazon, VMware, Microsoft e Google já oferecem serviços de
computação em nuvem frequentemente utilizados, tais como o Gmail, Onedrive e o Youtube.
Além desses, há também o Office365 e o Google Docs, que permitem a edição de arquivos de
texto, elaboração de slides e planilhas eletrônicas, de maneira que os documentos podem ser
acessados em qualquer lugar do mundo e a qualquer hora (TAURION, 2009 apud PEREIRA
et al., 2016, p. 15).
Cada vez mais percebe-se um aumento de novos serviços para o mercado, com
fornecedores demostrando características e vantagens com seus novos produtos. Isso gera
grandes desafios para o setor de TI, principalmente pela complexidade de manutenção e com
o gerenciamento da infraestrutura que necessita ser cada vez mais eficiente e com menos
custos. O maior proveito da computação em nuvem é que outra empresa irá ser responsável
por manter sua aplicação no ar, sem que a empresa precise se preocuprar com questões de
Hardware ou Software. Toda a infraesturua necessária é disponibilizada pelo fornecedor e a
15
empresa pode focar em seu Core bussiness. O serviço de Cloud Computing tem evoluído
constantemente e as empresas buscam cada vez mais serviços que possam ser integrados à
empresa, com objetivo de redução de custo ou melhoria nos processos (VELTE; VELTE;
ELSENPETER, 2012).
Visto isso, podemos abordar os conceitos sobre o que é computação em nuvem. Na
visão de Sousa et al. (2009) é um modelo de computação na qual temos uma rede interligada
de servidores2 físicos ou virtuais, ou recursos computacionais, disponibilizados na internet
como um serviço. De acordo com Vaquero et al (2008 apud BORGES et al, 2012, p.3)
nuvens são grandes repositórios de recursos virtualizados, tais como hardware, plataformas de desenvolvimento e software, que são facilmente acessíveis. Além disto, estes recursos podem ser configurados dinamicamente de modo a ajustar-se a diferentes cargas de trabalho com a intenção de otimizar sua utilização. O modelo de cobrança utilizado para a exploração destes repositórios está baseado em pagamento pelo uso.
A Computação em nuvem é uma forma muito eficiente no intuito de maximizar e
flexibilizar os recursos computacionais. Além disso, uma nuvem computacional é um
ambiente redundante e resiliente por natureza. Resiliente pode ser definido como a capacidade
de um sistema de informação continuar a funcionar corretamente, apesar do mau
funcionamento de um ou mais dos seus componentes (RUSCHEL; ZANOTTO; MOTA,
2010).
Por último, como definição de Cloud Computing temos o parecer 05/2012 relativo à
computação em nuvem do Grupo de Trabalho para a Proteção de dados instituído pelo artigo
29 da Diretiva 95/46/CE da União Européia (que trata sobre privacidade e proteção de dados):
A computação em nuvem consiste num conjunto de tecnologias e modelos de serviços centrados na utilização e fornecimento via Internet de aplicações informáticas, de capacidade de tratamento e armazenamento e de espaço de memória. A computação em nuvem pode gerar importantes benefícios económicos, uma vez que os recursos a pedido podem ser com bastante facilidade configurados, alargados e acedidos via Internet (VIGGIANI; VELLASCO, 2014).
Podemos entender computação em nuvem como um modelo computacional disponível
com intuito de abstrair questões de Hardware ou Software para o cliente e que procura utilizar
2 é um software ou computador, com sistema de computação centralizada que fornece serviços a uma rede de computadores
16
os recursos de Hardware da melhor forma possível, com o objetivo de evitar desperdício e
agilizar ao máximo as plataformas de desenvolvimento de software ou para sua utilização.
Tem como base a resiliência, elasticidade, escalonamento, pay per use, acesssibilidade e
controle no custo de serviço.
2.3 SERVIÇOS DA COMPUTAÇÃO EM NUVEM
Podemos dividir a computação em nuvem em 3 classes, de modo que cada uma leva
em consideração a abstração do recurso que será fornecido. O nível de abstração pode ser
compreendido como a camada de arquitetura na qual os serviços superiores pode ser
compostos pelo serviços das camadas inferiores. As 3 classes de serviço são nomeadas da
seguinte forma: Infraestrutura como serviço (Iaas), Plataforma como Serviço (Paas) e
Software como serviço (PEDROSA, NOGUEIRA, 2018).
Na figura abaixo podemos ver como os serviços cloud computing são divididos. A
parte azul representa o que o cliente gerencia e a parte cinza é pelo que o fornecedor irá ser
responsável.
Figura 2 – Serviços Cloud Computing
Fonte: Stack24/7 (2015).
Para melhor compreensão do tema, em seguida iremos explicar cada conceito mais
detalhadamente.
17
2.3.1 On Premises
On Premises é o mais tradicional e conhecido, onde a empresa compra o Hardware e
Software completos e é responsavel por ele, sendo que todo equipamento se encontra dentro
estrutura organizacional. Sobre a questão, observe-se:
Servidores on premises são hardwares físicos que ficam armazenados em uma sala de sua empresa, contam com controle de temperatura por ar-condicionado para evitar o superaquecimento, quase sempre requerem a utilização de um nobreak para prevenir quedas e picos repentinos de energia e exigem uma rotina de backup para precaver possíveis falhas ou avarias no dispositivo. Logo, a utilização desse tipo de tecnologia requer uma avaliação criteriosa sobre o servidor a ser comprado e todos os elementos periféricos necessários para processar, executar e suportar uma aplicação. Todos os itens que precisam ser adquiridos e mantidos por sua empresa precisam ser somados nesta conta (IPSENSE, 2017).
Um segundo conceito, porém mais simples, é de que “On Premises significa que uma
empresa mantém todo ambiente de TI no local e é responsável pela execução, manutenção e
suporte, bem como pelo backup e pela recuperação” (EBC GROUP, 2018). No modelo da
infraestrutura como serviço os recursos de hardware (capacidade de processamento,
armazenamento e comunicação de dados) são ofertados aos clientes em forma de serviço
oferecidos como serviço, de maneira que o fornecimento ocorre usualmente por intermédio de
máquinas virtuais (PEREIRA et al, 2016).
Fazendo uma comparação entre Cloud e On Premises dos serviços gerenciados,
observa-se que “[com] a cloud computing, muitos aplicativos, assim como arquivos e outros
dados relacionados, não precisam mais estar instalados ou armazenados no computador do
usuário ou em um servidor próximo” (WEBER, 2018). Dessa forma, quanto aos custos e
serviços, tem-se o seguinte:
18
Figura 3 – Comparação entre On-Premises e Cloud Computing.
Fonte: Weber (2018).
2.3.2 IaaS
Referente ao modelo IaaS, ele é responsável por prover toda a infraestrutura necessária
para a PaaS e SaaS. O grande propósito do IaaS é ser acessível e de fácil fornecimento dos
recursos, como novos servidores, gerenciamento de disco, rede e outros recursos
computacionais necessários para obter o ambiente sob demanda, que será necessário para
suportar os sistemas operacionais e aplicativos.
Segundo Sousa (2009 apud Borges et al, 2012, p. 8), a finalidade principal é que se
torne fácil e acessível fornecer recursos que demandem servidores, redes, armazenamento,
além de outros necessários à construção de ambientes sob demanda, sejam sistemas
operacionais ou aplicativos. Dessa maneira, a infraestrutura pode ser escalada de forma
dinâmica para atender as necessidades específicas das aplicações, vez que está fundada na
virtualização dos recursos computacionais. Outra grande vantagem desse modelo é que:
[...] não há mais necessidade de investimento na compra dos equipamentos. Você utiliza o que é necessário segundo a demanda da empresa e paga de acordo com a utilização, isto é, a quantidade de dados que trafegam pela
19
rede, o armazenamento de dados e arquivos, a utilização dos servidores etc. (EITI GESTÃO DE TI, 2016).
Para melhor compreensão do funcionamento do IaaS, a figura 4 demonstra como é
feita a divisão dos recursos entre as máquinas virtuais.
Figura 4 – Hypervisor.
Fonte: Batra (2015).
Algumas das vantagens de se trabalhar com IaaS são (BORGES et al, 2012, p. 9):
• A redução de investimentos em hardware, bem como a preocupação com a depreciação; • Eliminação de custos com segurança e manutenção; • Otimização do desempenho; • Liberação de espaço físico na empresa; • Flexibilidade para ampliar e reduzir a capacidade de processamento e/ou armazenamento.
2.3.3 PaaS
A plataforma como serviço (PaaS) é um ambiente mais focado no desenvolvimento e
implantação na nuvem. O usuário possui os recursos necessários através de uma provedora de
serviços de nuvem e o acesso é feito via internet. O PaaS comporta os recursos como
infraestrutura, servidores, armazenamento e rede, além de middleware, ferramentas de
desenvolvimento, serviços de business intelligence (BI) e sistemas de gerenciamento de banco
de dados. “A plataforma como serviço dá suporte ao ciclo de vida do aplicativo incluindo
compilação, teste, implantação, gerenciamento e atualização” (RESOURCE IT SOLUTIONS,
2018).
20
O terceiro modelo Plataforma como Serviço (PaaS) fornece os recursos necessários e o
ambiente para permitir aos desenvolvedores a elaboração e aperfeiçoamento dos aplicativos a
partir da internet, onde serão disponibilizados e executados (SANTOS, 2012).
O PaaS, de acordo com, “[é] a camada intermediária do modelo conceitual sendo
composta por hardware virtual disponibilizado como serviço. Oferece tipos específicos de
serviços como sistemas operacionais, banco de dados, serviços de mensagens, serviços de
armazenamento de dados e etc.” (BORGES et al, 2012, p. 9).
Ainda, “[nesse] ambiente, o desenvolvedor não necessita se preocupar com o hardware
sobre o qual está desenvolvendo e executando suas aplicações, terceirizando os serviços de
desempenho necessários para rodar tais aplicações” (LECHETA, 2015; CHARD et al., 2016
apud PEREIRA et al, 2016, p. 17). Como exemplo de PaaS pode-se citar a Google App
Engine e Aneka (VECCHIOLA et al, 2009 apud BORGES et al, 2012, p. 9). O Facebook
também pode ser citado como exemplo de PaaS, pois desenvolvedores tem a possibilidade de
criar aplicativos específicos para a plataforma e deixá-los disponíveis os usuários (tais como
jogos) (VIGGIANI; VELLASCO, 2014, p. 7).
Figura 5 – Serviço PaaS
Fonte: (PEREIRA et al, 2016, p. 16)
Vantagens do PaaS (EITI GESTÃO DE TI, 2016):
• Altíssimo nível de programação, com baixa complexidade. • Possibilidade de desenvolvimento descentralizado (próprio e de terceiros), dentro dos mesmos padrões de qualidade e segurança. • Baixo investimento inicial e/ou custo de capital. • Fornecedor único para todas as necessidades de desenvolvimento.
21
2.3.4 SaaS
O software como serviço é usado para disponibilizar aplicativos através da internet.
Nessa forma as empresas que oferecem serviços de computação em nuvem hospedam e
encarregam-se dos aplicativos do usuário, tendo apenas o trabalho de se conectar pela internet
e utilizar o navegador, seja por telefone ou computador (OLIVEIRA, 2016). Nesse sentido,
outra abordagem é de que:
A capacidade fornecida ao consumidor é usar as aplicações do fornecedor que funcionam em uma infra-estrutura da nuvem. As aplicações são acessíveis dos vários dispositivos do cliente através de uma relação do thin client tal como um web browser. O consumidor não administra ou controla a infra-estrutura básica, incluindo nuvens de rede, servidores, sistemas operacionais, armazenamento, ou mesmo capacidades de aplicação individual, com a possível exceção de limitada aplicação específica e definições de configuração de utilizadores (CORREIA, 2011).
Outro conceito que se pode citar acerca de SaaS é o de que é:
A camada mais alta da arquitetura da computação na nuvem tem a responsabilidade de disponibilizar aplicações completas ao usuário final. Este acesso é provido pelos prestadores de serviço através de portais web, sendo completamente transparente ao usuário, o que permite a execução de programas que executam na nuvem a partir de uma máquina local. Para oferecer esta transparência, o SaaS utiliza-se das duas camadas inferiores, o PaaS e o IaaS (PEDROSA; NOGUEIRA, 2018, p. 2).
Vantagens do SaaS (EITI GESTÃO DE TI, 2016):
• Evita gasto de capital com software e recursos de desenvolvimento; • Risco de ROI reduzido; • Atualizações simplificadas e interativas; • Disponibilidade independente de fronteiras geográficas; • Gestão e segurança centralizados; • Menor investimento com infraestrutura e equipes; • Facilidade de adoção por todas as equipes.
O modelo Saas é uma forma de distribuição de software ou serviço no qual a aplicação
é hospedada no fornecedor e fica disponível pela rede aos usuários, sendo que a
responsabilidade de updates, gerenciamento da aplicação, base de dados e do
desenvolvimento é toda do fornecedor. O pagamento pode ser feito anual ou mensalmente,
sendo que normalmente está incluída a licença de software, suporte e outras taxas (BATRA,
2015).
22
Exemplos de SaaS: Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur e
GoToMeeting.
2.4 MODELOS DE IMPLANTAÇÃO
No que se refere à disponibilidade de ambientes de computação em nuvem, temos os
tipos de modelos de implantação. O controle e o acesso dependem de cada negócio, do tipo de
informação e do nível de visão. É perceptível que certas empresas não pretendem
disponibilizar determinados acessos ou recursos do seu ambiente de computação em nuvem.
Dessa maneira, temos a necessidade de ambientes mais restritos, nos quais alguns usuários
podem utilizar determinados recursos ou serviços somente através da autorização. Os modelos
disponíveis na computação em nuvem podem ser divididos em nuvem pública, privada,
comunidade e híbrida (MOREIRA; SOUSA; MACHADO, 2009).
De acordo com a NIST - National Institute of Standards and Technology - temos
quatro meios de implantação de cloud computing: a) Nuvem privada; b) Nuvem pública; c)
Nuvem híbrida; e, d) Nuvem Comunitária (UNITED STATES DEPARTMENT OF
COMMERCE, 2011).
2.4.1 Nuvem privada
Cloud privada: A infraestrutura é fornecida exclusivamente para uma única
organização, composta por diversos clientes. Pode ser de propriedade, gerenciado e operado
pela organização, por terceiros ou uma combinação de ambos.
De acordo com Taurion (2009 apud BORGES et al, 2012, p. 11), as nuvens privadas
diferenciam-se das demais pois há restrição de acesso, vez que se encontram protegidas pelo
firewall das empresas. Assim, essas aderem à tecnologia e são beneficiadas por suas
vantagens, mas conseguem manter o controle do nível de serviço e sob as regras de segurança
da instituição.
Nesse modelo de implantação as políticas de acesso são mais restritivas, aumentando a
segurança e privacidade da organização, o que gera maior interesse em adotá-lo. Outra
vantagem é que o dimensionamento é mais assertivo em relação às necessidades da
companhia, especialmente no que diz respeito às empresas de grande porte.
23
2.4.2 Nuvem Pública
De acordo com NIST, nesse modelo a infraestrutura é disponível para o uso aberto do
público em geral. A infraestrutura tem recursos compartilhados, padronizados e com
autoatendimento pela internet. “Pode pertencer, ser mantida e operada por uma empresa, uma
organização governamental ou mesmo acadêmica, ou uma combinação delas” (VIGGIANI;
VELLASCO, 2014, p. 9).
As nuvens públicas são aquelas executadas por terceiros. As aplicações são utilizadas
por diversos usuários ou empresas, ficam misturadas nos sistemas de armazenamento. A
nuvem pública avalia questões como desempenho e segurança. O fato de outras aplicações
rodarem no mesmo ambiente é transparente, tanto para o usuário quanto para o prestador de
serviço (RUSCHEL; ZANOTTO; MOTA, 2010, p. 9).
A nuvem pública é o modelo padrão de cloud computing, na qual o prestador de
serviço oferece os recursos como aplicativos, tais como armazenamento para o público em
geral através da Web. É comum alguns serviços serem gratuitos ou oferecidos em um modelo
pay-per-usage (pague pela utilização).
2.4.3 Nuvem Híbrida
A nuvem híbrida, como o próprio nome sugere, é composta por uma ou mais nuvens,
de modo que elas podem ser privadas, de comunidade ou públicas e que permanecem como
uma entidade única, mas ligada por uma tecnologia padronizada ou que habilita dados e
portabilidade de aplicação. Busca-se fornecer aos clientes elementos de TI sem
complexidades, em que o provedor da nuvem é responsável pela instalação, gerenciamento,
disponibilização e manutenção.
Um ponto relevante é que esse modelo permite que uma nuvem privada consiga
ampliar seus recursos computacionais a partir de uma reserva de recursos na nuvem pública.
Essa característica possui a vantagem de manter os níveis de serviço, mesmo que haja
flutuações rápidas na necessidade dos recursos.
Nesse modelo de implantação a limitação de acessos não é aplicada. Quanto ao
gerenciamento de rede, a aplicação de técnicas de autenticação e autorização também não é
disponível. Na figura abaixo podemos entender melhor como é uma nuvem hibrida
24
Figura 6 – Nuvem híbrida
Fonte: Thirawat (2014).
2.4.4 Nuvem Comunitária
No que diz respeito à infraestrutura de nuvem comunitária, inúmeras organizações
compartilham e suportam uma comunidade específica, com interesses e preocupações
coincidentes (tais como a missão, requisitos de segurança, políticas etc.). A administração
pode ser realizada por organizações ou terceiros, baseada no local ou remotamente.
(RUSCHEL; ZANOTTO; MOTA, 2010, p. 9).
Nesse mesmo sentido, conforme Cavalini (2018), a nuvem comunitária tem sua
infraestrutura compartilhada entre várias organizações que possuem interesses comuns
(segurança, jurisdição, conformidade etc.). Podem ser administradas internamente ou por
terceiros, com a opção de serem hospedadas interna ou externamente. Dessa maneira os
custos acabam distribuídos por uma quantidade menor de usuários se comparada à nuvem
pública, porém mais distribuída se considerada a nuvem privada. Nesse cenário, nem todos os
benefícios são realizados com efetividade.
A figura a seguir destaca o funcionamento da nuvem comunitária:
25
Figura 7 – Funcionamento da Nuvem Comunitária
Fonte: Borges et al. (2012).
26
3 GESTÃO DA TECNOLOGIA DA INFORMAÇÃO
Com toda a evolução na área de sistemas de informação e com as empresas aderindo
ao Cloud Computing para o desenvolvimento das organizações como negócio, entendemos
que cada vez mais o investimento na área de TI é maior. De acordo com Figueredo e Cordeiro
(2016), “[investir] em TI é sinônimo de retorno positivo quando utilizada de forma eficaz e
eficiente nas organizações. Cabe às empresas gerir a Tecnologia da Informação para alavancar
os processos e obter benefícios a favor dos negócios da empresa.”
O fato de as organizações atenderem seus clientes de forma mais segura e on-time é
uma necessidade. Para que isso ocorra da melhor forma, é crucial que a gestão da tecnologia
seja feita utilizando-se processos e ferramentas que possam corresponder a essas demandas.
Nesse sentido, é importante destacarmos o conceito de gestão de Tecnologia da Informação.
Essa, de uma forma geral, pode ser definida como gerenciamento de software, hardware e
também de pessoas de uma empresa. O principal objetivo é a melhoria e otimização dos
processos e procedimentos que envolvem a área de TI (UNICESUMAR, 2018).
Sobre o tema, Nascimento (2018) afirma que “[gestão] da Tecnologia da Informação
ou simplesmente Gestão de TI é o conjunto de atividades, projetos e metodologias criadas
com recursos de computação ou não com a finalidade de alinhar a TI ou Tecnologia da
Informação às estratégias do negócio.”
No mesmo sentido, de acordo com Barbosa, Araújo e Torres (2011), a Gestão da
Tecnologia da Informação emprega “[...] uma série de modelos, metodologias, processos,
técnicas e ferramentas que vão ajudar a organização a alcançar seus objetivos estratégicos por
meio da tecnologia da informação. Portanto, ela vai além da informática e envolve pessoas,
processos e tecnologia.”
A gestão da tecnologia da informação sendo feita de forma precisa gera um retorno
adequado tanto para organização quanto para o cliente. As ferramentas detêm valores
indispensáveis no momento de planejar a estratégia em qualquer ambiente corporativo
(CORREA, 2018b).
De acordo com Correa (2018a), podemos dizer que a gestão de TI possui 4 atribuições
principais:
a) Manutenção do desempenho de serviços: deve-se proporcionar tomadas de
decisões ágeis e adequadas às necessidades do negócio, sem prejudicar a performance;
27
b) Promover a transformação digital da empresa: é responsabilidade da área
de TI apresentar inovações que agreguem valor à empresa, de maneira a promover uma
transformação digital proativa, independente de solicitações externas. A TI, assim, mostra-se
comprometida com a melhoria do negócio;
c) Manter a satisfação dos usuários e clientes dos serviços: a área de TI
necessita manter um diálogo franco e aberto, de forma permanente, com as demais áreas que
usufruem dos serviços. Dessa forma, pode assegurar um atendimento adequado àqueles que
os contratam;
d) Fazer a gestão de equipe: manter e promover a capacitação contínua da
equipe de TI, de modo a assegurar que a equipe esteja preparada, capacitada e motivada.
A gestão de TI está correlacionada as rotinas do dia-a-dia da tecnologia da informação,
inclusive na parte operacional. O objetivo é entregar os melhores serviços, elevar o
desempenho do negócio e garantir a segurança das informações através de ações que possam
evitar algum tipo de acesso indevido. Para que isso aconteça é essencial que a TI esteja
sempre em busca de novas soluções e ferramentas para auxiliar nesse desafio. A área de TI
não é apenas uma área de apoio e sim uma ferramenta estratégica para os negócios. Para que a
TI consiga oferecer seus serviços de uma forma segura e automatizada, se faz necessário a
utilização de instrumentos que possam prover segurança, integridade e acompanhamento em
tempo real.
3.1 SEGURANÇA EM NUVEM
Uma das vantagens da computação em nuvem é que em seu modelo já estão
embutidos diversos recursos de segurança. Isso é exposto como um benefício, mas também
pode conter algumas características que são vistas como um problema. Sobre a questão é
necessário avaliar as responsabilidades da segurança dos serviços executados em nuvens
computacionais, de acordo com o tipo de serviço e recurso oferecidos. De qualquer maneira,
sempre teremos a responsabilidade do usuário e do provedor, nenhuma das partes é
desprovida de responsabilidade no que se refere à segurança (GONZALEZ et al., 2013, p. 30).
O desenvolvimento e implementação de aplicações em nuvem trouxe consigo a necessidade do desenvolvimento de técnicas para o tratamento seguro da maciça quantidade de recursos provenientes dos serviços prestados pelos provedores, tais como e-mails, desenvolvimento de aplicativos
28
personalizados para os clientes, armazenamento de dados e gestão de infraestrutura (TAURION, 2009 apud PEREIRA et al, 2016, p. 19).
Conforme figura abaixo, cada modelo oferece a limitação dessas responsabilidades.
Podemos identificar que, mesmo em serviços do tipo SaaS, ainda há responsabilidade entre
usuários e provedor.
Figura 8 – Delimitação usual do controle dos recursos por modelo de serviço
Fonte: Computer Support Services Inc. (2015).
Vê-se que a responsabilidade no ambiente IaaS em relação aos recursos
computacionais como internet, processamento, rede e armazenamento é responsabilidade do
provedor. No entanto o gerenciamento dos recursos internos de cada servidor virtual é
responsabilidade do contratante. Sendo assim, a segurança é uma das grandes preocupações
que precisam estar sempre em primeiro lugar.
29
3.2 A IMPORTÂNCIA DA GESTÃO DO IAAS
Neste capítulo vamos entender a importância de gerenciar um ambiente IaaS e quais
problemas podemos ter em relação ao mau gerenciamento.
Conforme podemos avaliar, o modelo IaaS é aderente a grande parte das empresas. O
IaaS pode ser utilizado para desenvolver soluções de TI acessíveis e facilmente escaláveis,
pois a estrutura complexa de interligação e as despesas com gerenciamento do hardware são
responsabilidades do provedor (MOREIRA, 2018). As empresas investem cada vez mais em
tecnologia, o que é uma tendência tratando-se de Cloud Computing. Consequentemente, é
necessário aumentar o gerenciamento no local em que essas informações estão armazenadas.
A indisponibilidade da informação ou serviço, mesmo que por pouco tempo, afeta o negócio e
a produtividade da equipe. Independentemente do tamanho da empresa, todas as organizações
sofrem com a falta de gerenciamento de TI (OLIVEIRA, 2015). Podemos destacar alguns
dados relacionados à gestão de infraestrutura (CAPITAL INFORMAÇÃO, 2010):
- Mais de 40% do tempo despendido na busca da resolução de problemas é gasto na análise e não na resolução (IDC); - 75% de um orçamento típico de TI é gasto em problemas de simples gerenciamento. (Forrester); - 75% de todos os PCs corporativos são infectados com algum tipo de malware. (Enterprise Networks & Servers).
Dessa forma elencam-se alguns problemas que podem surgir na falta da gestão da
infraestrutura como serviço:
• Ambiente Desatualizado
• Não ter conhecimento entre as integrações dos sistemas e infraestrutura
• Não conseguir mostrar os resultados em tempo real
• Acessos não autorizados
• Ambiente heterogêneo
• Servidores Lentos
• Equipe de TI despreparada
30
4 DEVOPS
Para atender alguns dos elementos elencados no anterior, vamos buscar compreender a
cultura DevOps, seguido das ferramentas para uso na operação das áreas de Configure e
Monitore.
Em 2007, durante uma consultoria de migração de Data Center para o governo da
Bélgica, o administrador de sistemas Patrick Debois viu-se frustrado com os constantes
conflitos entre desenvolvedores e administradores de sistema. No ano posterior, na
conferência de Desenvolvimento Ágil em Toronto, o desenvolvedor de software Andrew
Shafer anunciou a sessão de Infraestrutura Ágil. Patrick se interessou e ambos conversaram e
formaram o grupo de Administração de Sistemas Ágil O’Reilly Velocity 09. John Allspaw e
Paul Hammond fizeram seu discurso intitulado “10+ Deploys a Day: Dev and Ops
Cooperation at Flickr”. Patrick aderiu à ideia e decidiu organizar um evento de Velocidade na
Bélgica, nomeado DevOpsDays é formada pela combinação de desenvolvimento (do inglês
Development) com operações (do inglês Operations) (SILVA, 2016).
De acordo com a Wikipedia:
O termo DevOps deriva da junção das palavras “desenvolvimento” (development) e “operações” (operations), sendo uma prática de engenharia de software que possui o intuito de unificar o desenvolvimento de software (Dev) e a operação de software (Ops). A característica principal do movimento DevOps é defender fortemente a automação e monitoramento em todas as fases da construção do software, da integração, teste, liberação para implantação e gerenciamento de infraestrutura. DevOps pretende fornecer, em ciclos de desenvolvimento menores, frequência de implantação aumentada, liberações mais seguras, em alinhamento próximo com os objetivos de negócio (DEVOPS, 2018).
DevOps é um termo usado para se referir a um conjunto de práticas que enfatizam a
colaboração e a comunicação entre Desenvolvedores e Operação de TI propriamente dita. Seu
objetivo é estabelecer uma cultura, onde a construção, os testes e as liberações ocorram de
forma rápida e confiável (RESENDE, 2018).
DevOps não é considerado um processo, tecnologia ou padrão, mas uma cultura que
tem por objetivo agilizar a comunicação, colaboração e integração entre desenvolvedores de
software e os profissionais de operações de TI. A imagem a seguir mostra que a Cultura
DevOps trabalha com a integração contínua, divididas em 7 fases:
31
Figura 9 – Cultura DevOps
Fonte: Sempreupdate (2018).
Com relação às fases apresentadas na figura, temos que:
a) Plan: Planejar. Efetuar o levantamento dos requisitos e das necessidades da
Operação.
b) Create: Criar. Criar ou melhorar a solução em si.
c) Verify: Verificar. Efetuar testes da solução desenvolvida.
d) Package: Pacote. Após todos os testes, entregar o produto para a Operação,
inclusive com documentação e manuais de operação.
e) Release: Lançamento. A Operação recebe todas as informações da fase
anterior.
f) Configure: Configurar. Configurar e preparar o ambiente para implementar o
novo serviço em produção. Efetuar ajustes finos.
g) Monitor: Monitorar. Monitorar o comportamento do novo serviço, analisar
performance e reportar possíveis melhorias ou problemas para o Desenvolvimento.
Sua necessidade ficou em destaque com o surgimento e aplicação das Metodologias
Ágeis no trabalho das equipes de desenvolvimento, as quais tiveram um aumento na demanda
por deploys, que passaram a serem mais frequentes (entrega contínua). Isso acabou gerando
um gargalo na distribuição, sendo que a área de infraestrutura é responsável por essa entrega.
Com isso é perceptível como as equipes evoluem em ritmos diferentes e a ausência da
comunicação e contribuição entre elas é um fator fundamental. Com essa percepção de
32
integração entre as áreas e times, o DevOps busca auxiliar no gerenciamento e lançamento de
novos produtos, através da automação dos processos e distribuição (SILVA; GOMES, 2016).
Conforme Cavalini (2017), metodologia ágil é “[...] uma nova forma de gestão e
desenvolvimento de software que usa uma abordagem de planejamento e execução interativa
e incremental voltado para processos empíricos [...].” A metodologia ágil é um conjunto de
práticas que buscam permitir, através de verificação e adaptação frequente, entregas rápidas,
com qualidade e alinhadas às necessidades do cliente e da empresa.
4.1 INFRAESTRUTURA COMO CÓDIGO
Denominada também de automação, pode ser considerada como a “[...] utilização de
scripts e ferramentas que permitem automatizar processos repetitivos e reduzem o acesso pelo
ser humano. Na Cultura DevOps tudo que é repetitivo é passível de automação.”
(SEMPREUPDATE, 2018). Uma das formas de garantirmos a segurança do ambiente com a
infraestrutura como código é assegurar que a configuração de uma aplicação/servidor, mesmo
que alterada por engano, seja resolvida através do gerenciador de configuração.
Utilizando a cultura DevOps em conjunto com a infraestrutura como código, essa
possui uma característica na implementação de melhores práticas de DevOps, no qual
desenvolvedores tornam-se mais envolvidos nas configurações de máquinas e times de
operações se envolvem mais cedo no processo de desenvolvimento. As ferramentas que
utilizam infraestrutura como código trazem visibilidade para o estado e configuração dos
servidores para os envolvidos, tornando sinérgica as relações entre as equipes (CARLOS;
BILJON, 2015).
A IaC (Infraestructure as Code) pode ser vista como “a entrega de uma infraestrutura
ágil, utilizando-se de codificação simples e objetiva, sem a necessidade mais de diversos
passos e processos para se preparar um ambiente, sem perder o poder de controle, segurança,
qualidade e disponibilidade” (CARLOS; BILJON, 2015).
O grande benefício da infraestrutura como código é facilitar a implementação de
integração contínua, pois permite a execução automática, isolada, concorrente de testes de
integração em ambientes idênticos a produção (RICARDO, 2016).
Para o cenário em questão é fundamental a utilização desse conceito juntamente com
as ferramentas que o compõem, visto adiante.
33
4.2 GERENCIAMENTO DE CONFIGURAÇÃO
É um processo que busca garantir a consistência entre os ativos físicos e lógicos em
um ambiente operacional. Nesse processo busca-se identificar e rastrear itens individuais de
configuração, documentando capacidades funcionais e interdependências (ROCHA, 2018). O
objetivo de uma ferramenta de configuração é facilitar a rotina dos administradores dos
serviços e sistemas mantendo uma uniformidade no quesito de configuração
De acordo com Oliveira (2017) podemos ter os seguintes ganhos:
• Em caso de uma alteração indevida em um servidor automaticamente o gerenciador de configuração irá fazer a correção e poderá gerar um relatório do fato;
• Caso algum serviço que deveria estar ativo e ficou inativo, automaticamente o gerenciador de configuração irá subir este serviço, sem necessidade de acionamento para realização do mesmo;
• A instalação de qualquer serviço ou ferramenta (jboss, glassfish, jenkins, etc) será feita via gerencia de configuração e descrição do grupo de nós que devem ter aquele padrão, evitando instalação e manutenção manual;
• Maior controle do parque de máquinas (físicas ou VM’s) com SLA de atendimento e recuperação baixo;
• Resulta em equipes de alta performance realizando implementações com mais frequência e entregam projetos em prazos menores;
• Permite realizar alterações com menos erros e conserto de falhas mais rapidamente.
Hoje, existem diversas ferramentas de Gerenciamento de Configuração para
provisionar o ambiente de hospedagem da aplicação, cada uma com seus benefícios e
peculiaridades. As mais utilizadas são Puppet, Chef e Ansible (HUMBLE, 2014 apud
SILVA, 2016).
De acordo com Nexthink (2018), vamos abordar 3 ferramentas que oferecem essa
padronização: Ansible, Puppet e Chef.
4.2.1 Puppet
É uma ferramenta para gestão de configuração de código livre, produzido pela Puppet
Labs e fundada por Luke Kanies em 2005. Possui a capacidade de gerenciar servidores em
nuvens públicas, servidores físicos e servidores virtuais. Diversas organizações, incluindo
Google, Twitter, Oracle e Rackspace, utilizam o Puppet para gerenciar a infraestrutura. Ainda,
é compatível com Linux e Windows (PUPPET, 2017).
34
O Puppet possui duas versões: Enterprise e Open Source. A versão Enterprise é paga e
possui uma interface web para visualização de relatórios e configurações de ambiente. Pode-
se gerenciar até 10 servidores gratuitamente. A versão Open Source é gratuita e não possui
limite de servidores a serem gerenciados, porém não tem uma versão gráfica oficial para
gerenciamento. No entanto, a comunidade desenvolveu ferramentas que possibilitam a
visualização de relatórios (PIRES, 2017).
A configuração é basicamente simples, sendo feita a instalação em um servidor
chamado Puppet Master que contém as configurações principais. Nos servidores clientes são
instalados o Puppet Agent. O Puppet utiliza um servidor que centraliza as configurações entre
os nós e agrupa esses nós conforme seu tipo. Cada agente Puppet é executado como um
daemon e permite aplicar mudanças.
O funcionamento do Puppet é geralmente (mas nem sempre) usado como
cliente/servidor3. O ciclo de operação nesses casos é o seguinte: 1. Os clientes (chamados de
nó, ou node) possuem um agente instalado que permanece em execução e se conecta a um
servidor central (chamado tipicamente de master), periodicamente (a cada 30 minutos, por
padrão). 2. O node solicita a sua configuração, que é compilada e enviada pelo master. 3. Essa
configuração "compilada" é chamada de catálogo. 4. O agente aplica o catálogo no node. 5. O
resultado da aplicação do catálogo é reportado ao master, havendo divergências ou não.
3 Cliente-servidor é uma estrutura de aplicação distribuída, que distribui as tarefas e cargas de trabalho entre os fornecedores de um recurso ou serviço, designados como servidores, e os requerentes dos serviços, designados como clientes
35
Figura 10 - Puppet
Fonte: 8kmiles (2016).
Dessa forma realiza-se a gerência de configuração, automação de instalação de
pacotes, estabelece e garante normas e facilidade de auditoria (OLIVEIRA, 2017).
Importante, também, ressaltar algumas vantagens:
• Redução de custos de manutenção de computadores; • Diminuição do downtime de seu ambiente; • Maior facilidade e flexibilidade para implantar novas soluções com menor
trauma e consequentemente menor custo; • Maior facilidade e flexibilidade para distribuir configurações para todo o parque
de forma controlada (PUPPET VS. ANSIBLE, 2017).
4.2.2 Chef
Chef é uma ferramenta conhecida, utilizada no Gerenciamento de configuração criado
pela empresa de mesmo nome. É compatível e facilmente integrada à plataformas de
computação em nuvem, como Internap, Amazon EC2, Google Cloud Platform, OpenStack,
SoftLayer, Microsoft Azure e Rackspace, provendo e configurando servidores de forma
automatizada.
Em comparação com o Puppet o Chef é considerado mais fácil de se utilizar
especialmente por desenvolvedores, pois todas as instruções do Chef são escritas na
36
linguagem Ruby, uma linguagem que os desenvolvedores estão acostumados a trabalhar.
Também possui uma versão open Source e outra comercial.
Os componentes do Chef fazem analogia aos componentes de uma cozinha: O
funcionamento do Chef é da seguinte forma: o usuário escreve as “recipes” (receitas) que
contém as informações de como o Chef deve gerenciar as aplicações, servidores e utilitários.
Essas “recipes” podem ser agrupadas em “cookbooks” (livros de receitas) e possuem a
descrição de uma série de recursos que devem estar em determinado estado. Esses recursos
podem ser pacotes, serviços ou mesmo arquivos.
No Chef, três componentes centrais interagem entre si: o servidor Chef (Chef Server),
os nós e a estação de trabalho Chef (Chef Workstation). O Chef executa os cookbooks, que
consistem em receitas que realizam ações automatizadas em nós, como por exemplo instalar e
configurar software ou adicionar arquivos. O servidor contém dados de configuração para
gerenciar diversos nós. Os arquivos e recursos de configuração armazenados no servidor Chef
são capturados pelos nós quando solicitados (SILVA, 2016).
Os administradores interagem com o servidor Chef através da linha de comando do
Chef. Os nós (nodes) podem ter uma ou mais funções (roles). Cada uma dessas funções
possui as configurações especificas do nó juntamente com as receita para aquele nó.
As receitas de um nó também são conhecidas como lista de execução e são executadas
conforme listadas.
Conforme figura abaixo, o administrador cria uma nova instância do servidor na
nuvem, nesse caso na AWS. Logo que a instância começa a ser executada, ele faz contato
com o servidor principal (Chef) e transfere o cliente Chef. Neste ponto, um handshake4
seguro ocorre, e o servidor Chef gera um certificado de segurança. A instancia nova criada irá
executar as receitas de configuração que o servidor enviar para ele. Dessa forma o estado do
servidor Chef é modificado (SILVA, 2016).
4 Handshake ou aperto de mão é o processo pelo qual duas máquinas afirmam uma a outra que a reconheceu e está pronta para iniciar a comunicação
37
Figura 11 Arquitetura da ferramenta Chef
Fonte: Silva (2016).
4.2.3 Ansible
O Chef e o Puppet ganharam notoriedade no mundo do gerenciamento de
configuração, porém ambos apresentam alta complexidade para sua operacionalização. O
Ansible é um projeto open source, tem como objetivo atender ambientes complexos e em
nuvem em que há necessidade de gerenciamento de grupos de nós.
O Ansible é independente de linguagem de programação e utiliza o SSH para
comunicação, é de fácil instalação e é capaz de se integrar com qualquer linguagem com
suporte Json.
O software trabalha com o conceito de inventário (lista de máquinas que serão
gerenciadas), playbooks (comandos ou passo-a-passo a ser executado) e roles (modularização
do código). Possui uma linguagem própria baseada em YAML e Python. O Ansible pertence a
Red Hat. E é mais indicado para provisionamento de novas máquinas e configurações
temporais (SEMPREUPDATE, 2018).
Cria-se um playbook (código que vai executar alguma ação em um sistema
operacional) no servidor Ansible, depois informa-se uma lista de máquinas em que ele vai se
conectar para rodar aquele playbook. A VM que possui o Ansible instalador converte aquele
playbook em um código python e se conecta nas máquinas utilizando a rede para aplicá-lo.
Para que o script seja executado nas máquinas é necessário ter o python e as python-libs. A
38
conexão é feita utilizando o protocolo SSH e depende disso para funcionar. Nesse caso, é
necessário verificar em cada VM se possui a liberação no firewall (CARVALHO, 2016).
Figura 12 – Arquitetura da ferramenta Ansible
Fonte: Costa (2013).
Destacam-se abaixo as vantagens do Ansible:
• Não adiciona dependências adicionais ao ambiente de trabalho; • Consistente; • Não requer agentes nas máquinas nós, apenas requer OpenSSH; • As playbooks do Ansible quando bem escritas podem ser idempotentes; • Os playbooks fazem uso de uma linguagem descritiva baseada em
templates YAML e Jinja.
4.2.4 Comparação entre Puppet, Ansible e Chef
Conforme vimos as ferramentas Puppet, Ansible e Chef atendem as questões de
gerenciamento de configuração, características padrões de implantação, configurar e gerenciar
servidores, gerenciar a configuração, provisionamento dinâmico e automatizado de ambientes.
O principal objetivo dessas ferramentas é tornar a configuração mais fácil e manter, centena
de servidores. Sendo que essas ferramentas também se aplicam para pequenas empresas,
39
fornecendo a automatização e gerenciamento de forma mais simples. Conforme a revista
InfoWorld de 2013 foi feita uma pesquisa avaliando as características de escalabilidade,
disponibilidade, desempenho, valor aquisição, gestão e interoperabilidade e pontuação geral, e
cada fator pode ter nota entre zero e 10.
Figura 13 - Módulos
Fonte: Venezia (2013).
O Puppet é mais maduro e provavelmente o mais acessível dos 3 sistemas
comparados, porém é necessário um conhecimento de Ruby para ser gerenciado. É uma
ferramenta segura para ambiente heterogêneos, e possui um custo de U$120,00 dólares por
máquina por ano. Esse software atende a um cenário inteiro de data center abrangendo
praticamente todos os sistemas operacionais e oferece para os principais sistemas operacionais
mais funcionalidades. A versão Enterprise possui uma interface Web mais completa do grupo,
e permite em tempo real o gerenciamento dos servidores. Ainda possui relatórios bem
desenvolvidos, fornecendo informações profundas sobre como os agentes estão se
comportando e quais mudanças foram feitas. Conforme verificado as ferramentas Puppet e o
Chef terão maior atração para os desenvolvedores, e o Ansible mais focado nas necessidades
40
dos administrares de sistemas. Uma das vantagens do Ansible é interface simples e a
usabilidade que se encaixam de acordo com a mentalidade do administrador de sistema, ainda
quando utilizado em sistema Linux e Unix o Ansible é rápido e facil de utilizar. Em relação
ao custo do Ansible é a partir de U$150,00 dólares por máquina por ano (EDUREKA!, 2017).
O Chef possui um layout bem desenhado e estável, e embora não esteja no mesmo
nível do Puppet em termos de recursos brutos, é uma solução muito capaz. Chef possui uma
curva de aprendizado mais difícil para administradores que não possuem familiaridade com
programação. Referente ao preço possui uma versão gratuita para iniciar, porém os preços
variam de entre U$ 72,00 e U$137 dólares por servidor por ano.
4.3 FERRAMENTAS DE MONITORAMENTO DE REDE
O monitoramento dos itens de rede é uma atividade importante na Cultura DevOps e,
assim, mantê-los operando corretamente através da verificação contínua e controle das
atividades. Alguns itens básicos como obter informações da rede, tratar estar informações
com objetivo de diagnóstico e identificar soluções dos problemas. Para isso, aplicações de
gerência devem estar anexadas nos componentes de uma rede, e que permitam descobrir,
prever e reagir a alterações. (DUARTE 1996)
É através do monitoramento que garantimos que o sistema ou servidor necessário
esteja em funcionamento, independentemente do tamanho da organização não é possível
ignorar os dispositivos de monitoramento. E atualmente temos disponível diversos softwares
de código aberto que permitem monitorar a infraestrutura e informar sobre qualquer falha.
De acordo com Stallings (1998 apud BLACK, 2008, p. 14) o gerenciamento e
monitoração de redes são tarefas extremamente importantes para a saúde de uma rede de
computadores, sendo que, sem operações de gerenciamento, uma rede local não tem como
manter-se operacional por muito tempo. Em especial, grandes redes corporativas estão
fadadas ao caos sem estas funções. Além de agirem reativamente, as tarefas gerenciais de rede
também são proativas no sentido de prevenir e detectar possíveis problemas.
A seguir, avaliaremos três ferramentas de código aberto, com base em Kumar (2018).
41
4.3.1 Nagios
A Nagios é uma aplicação popular de monitoramento de rede de código aberto. É
permitido monitorar tanto os servidores físicos ou virtuais, além de serviços, e alertando
quando ocorrer algum problema ou correção do erro (NAGIOS, 2018).
Ethan Galstad desenvolveu em 1996 utilizando o MS-DOS com a execução de pings
em diversos dispositivos de rede, porem identificou uma limitação e foi necessário dar
continuidade com o Linux, dessa forma o sistema ficaria mais robusto e granular permitindo
possuir seus plug-ins e integrando com módulos de rede (NAGIOS-BR, 2013).
O Nagios roda em cima da plataforma Linux como um daemon5 e possui vários outros
arquivos, tem início com o binário do Nagios que quando executado ele lê o principal arquivo
que possui as configurações do sistema. O Nagios executa diversas tarefas através dos
respectivos comandos parametrizados nos arquivos de configuração (NAGIOS-BR, 2013).
O principal arquivo é Nagios.cfg contém os paths dos principais arquivos de
monitoramento, como o caminho onde estão configurados o monitoramento dos servidores
Windows.
• Nagio oferece 4 soluções de monitoramento open source
• Nagios Core é uma ferramenta de linha de comando, com todas as funções
básicas.
• Nagios XI: Uma segunda opção que possui interface web e monitoramentos
através GUI (graphical user interface)
• Nagios Log Server: permite pesquisar dados de registro e configurar alertas
sobre possíveis ameaças.
• Nagios Fusion: permite monitorar diversas redes ao mesmo tempo
Para facilitar o entendimento da arquitetura do Nagios, a figura abaixo possui o fluxo.
5 Daemon é um programa de computador que executa como um processo em plano de fundo, em vez de estar sob o controle direto de um usuário interativo
42
Figura 14 - Estrutura do Nagios
Fonte: Nagios-Br (2012).
Abaixo, um exemplo da dashboard de monitoramento do Nagios Core.
43
Figura 15 – Dashboard Nagios
Fonte: Trimble (2015).
4.3.2 Zabbix
O Zabbix foi criado por Alexei Vladishev em 1998, é um software de monitoramento
Open Source criado apartir de uma demanda para monitorar seus servidores. Em 2001 foi
lançada a primeira versão estável da ferramenta. Em 2005 foi fundada a Zabbix SIA
Company, empresa responsável pelo suporte técnico e comercial do produto (PRETEL,
2014).
O Zabbix possui a capacidade de monitorar um ambiente de Tecnologia de Informação
completo. Oferece uma interface amigável para configuração e manutenção, o que causa
grande autoridade diante das ferramentas concorrentes. A coleta dos dados de monitoramento
é realizada através do agente próprio ou SNMP, SSH, módulo Vmware , Scripts dentre outros.
O Zabbix possui em sua estrutura diversos componentes de software, abaixo vamos destacar
os principais (ZABBIX, 2015).
44
4.3.2.1 Servidor
Servidor Zabbix é o componente central da solução e, em ambientes centralizados, os
agentes enviam os dados coletados (sobre integridade, disponibilidade e estatísticos) para ele.
Em ambientes descentralizados o envio dos dados é feito para um componente intermediário:
o proxy.
4.3.2.2 Banco de armazenamento
Todas as informações de configuração e os dados recebidos pelo Zabbix são
armazenados em um sistema gerenciador de banco de dados (SGBD).
4.3.2.3 Interface Web
Para acesso rápido, e a partir de qualquer dispositivo, a solução vem com uma
interface web. Normalmente esta interface é parte da mesma máquina do Servidor Zabbix,
apesar de ser possível sua instalação em outro servidor.
Caso o servidor Zabbix seja instalado usando como banco de dados o SQLite, passa a
ser obrigatório que a interface web esteja na mesma máquina do Servidor Zabbix.
4.3.2.4 Proxy
O Proxy Zabbix pode coletar dados de desempenho e disponibilidade em nome do
Servidor Zabbix. Este é um componente opcional na implantação do Zabbix, no entanto, pode
ser muito benéfico para seu ambiente distribuir a carga de coletas entre o Servidor Zabbix e
um ou mais proxies.
4.3.2.5 Agente
O Agente Zabbix é instalado nos servidores alvo da monitoração e pode monitorar
ativamente os recursos e aplicações locais, enviando os dados obtidos para o Servidor ou
Proxy Zabbix.
45
4.3.2.6 Fluxo de Dados
Além dos componentes do Zabbix temos o fluxo das informações. Para que seja
possível coletar qualquer informação de um servidor é necessário que seja criado um host, em
seguida é necessário criar triggers para identificar os eventos e incidentes, e estas trabalham
com os dados dos itens. Para que uma notificação ou comando remoto seja executado é
necessário que tenha uma alteração no estado da trigger.
No caso de você precisar receber um alerta sobre um excesso de consumo de CPU no
servidor X você precisa seguir a seguinte ordem.
1. Cadastrar um host para representar o servidor X; 2. Cadastrar um item para acompanhar o consumo de CPU; 3. Cadastrar uma trigger que alerte quando o consumo de CPU for maior do
que o desejado; 4. Criar uma ação que envia um e-mail, ou executa um comando remoto;
(ZABBIX, 2017).
Abaixo, vê-se um modelo da dashboard do Zabbix:
Figura 16 – Dashboard Zabbix.
Fonte: Zabbix (2015)
46
4.3.3 Cacti
Da mesma forma que o Nagios o CACTI também é uma ferramenta open source e não
possui custo na licença para o usuário. O software:
é uma ferramenta software livre administrativa de rede, que recolhe e exibe informações sobre o estado de uma rede de computadores através de gráficos, permitindo o monitoramento e gerenciamento de redes simples até redes complexas, com centenas de dispositivos. Foi desenvolvido para ser flexível de modo a se adaptar facilmente a diversas necessidades, bem como ser robusto e adicionando a isto uma interface Web intuitiva e fácil de usar. Monitora o estado de elementos de rede e programas bem como largura de banda utilizada e uso de CPU (CACTI, 2018).
O objetivo da ferramenta é exibir informações sobre o estado de uma rede de
computadores através de gráficos, é um frontend para a ferramenta RRDTool, que guarda
todas as informações necessárias para geração dos gráficos e insere em um banco de dados
MySQL.
O intuído do Cacti é ser flexível e adaptável as diversas necessidades, sendo um
sistema solido e de fácil usabilidade. Realiza o monitoramento dos ativos de rede e
programas, link de banda utilizada e uso dos recursos dos ativos. A interface foi desenvolvida
em PHP e possui suporte ao protocolo SNMP.
O RRDToll é um sistema de base de dados Round-Robin, com o a função de
armazenar e monitorar dados em série obtidos durante um determinado período. É
responsável por armazenar os dados gerados e, fornece-lo para a elaboração dos gráficos, e
dessa forma são repassadas as informações a uma ferramenta utilizando o script, e com a base
dessas informações são gerados os dados.
É possível gerar gráficos referentes ao uso de memória física, memória virtual,
quantidade de processos, processamento, tráfego de rede, quantidade de espaço em disco etc.
O SNMP permite o acesso a gráfico dos sistemas operacionais Linux e Windows e também de
dispositivos físicos como roteadores e switches ou qualquer outro equipamento que suporte
SNMP. O protocolo SNMP é utilizado pelo Cacti e, segundo Alvarenga e Ramos (2011):
O SNMP é um protocolo padrão, integrante do conjunto de protocolos TCP/IP, e tem como finalidade o gerenciamento de dispositivos em uma rede IP. As principais funcionalidades do protocolo consistem em monitoramento dos dispositivos da rede e configuração remota de parâmetros nos mesmos, tanto de forma manual ou quanto automaticamente
47
em resposta a um incidente determinado. Neste trabalho é realizado um estudo contextual do protocolo SNMP aplicado ao gerenciamento de redes, bem como avaliada a evolução e estado atual de sua aplicabilidade e modelo de segurança
O funcionamento do modelo de gerenciamento SNMP é de forma centralizada, possui
um servidor que é setado como gerente, e os demais ativos de rede são denominados Agentes.
Cada Agente faz a comunicação entre o gerente e os equipamentos que não implementam o
SNMP. Cada agente possui uma MIB (Management Information Base) que pode ser definido
como “[...] o conjunto dos objetos gerenciados, que procura abranger todas as informações
necessárias para a gerência da rede, possibilitando assim, a automatização de grande parte das
tarefas de gerência” (OTSUKA, 2018). Para cada objeto gerenciado, cada MIB possui as
variáveis relativas a cada objeto.
Importante destacar que o Cacti não é compatível apenas com o protocolo SNMP
somente, podendo ser alimentado de outras formas, através do apontamento para um script ou
comando externo – padrão “nix bash scripts”, scripts Perl, ou qualquer script executado a
partir do prompt de comando dos servidores *nix. Na figura abaixo está um exemplo da
Dashboard do Cacti.
Figura 17 – Dashboard Cacti
Fonte: Black (2008).
48
4.4 COMPARAÇÃO ENTRE AS FERRAMENTAS
Conforme figura 18 as três ferramentas descritas possuem muitas semelhanças entre si,
e atendem a basicamente a todas as funcionalidades necessárias para gestão dos ativos.
4.4.1 Cacti
O Cacti é uma ferramenta muito ampla, com gráficos surpreendentes e de fácil
usabilidade, sendo que não é impactado caso alguma condição adversa como desligamento ou
ligamento de alguma máquina da rede, efetuar flood, broadcasts e ping’s da morte. É uma
ferramenta leve e faz uso do RRDTool e do SNMP.
De acordo com Galiano Filho (2010) e Costa (2012), o Cacti é uma ferramenta
poderosa para o administrador por algumas razões:
a) Número ilimitado de gráficos por host;
b) Envio de alertas via e-mail e script personalizado;
c) Armazenamento configurável de históricos;
d) Rápido resequenciamento dos itens gráficos;
e) Suporte completo ao RRDTOOL;
f) Suporte ao protocolo SNMP;
g) Modelos gráficos pré-configurados;
h) Gerenciamento totalmente web;
i) Multiusuário web com níveis de acessos.
4.4.2 Nagios
A ferramenta Nagios possui uma vasta documentação na internet, é um software
extenso e bem maduro com algumas particularidades, principalmente no que se diz respeito a
segurança, e possui suporte às tecnologias padrões de mercado, tais como SSL, kerberos,
HTTPS no WebGUI e outras configurações especificas para o seu código facilmente
encontradas na sua documentação.
Importante destacar, de acordo com Galiano Filho (2010), algumas funcionalidades do
Nagios, tais como:
49
a) Monitoramento de aplicação, serviços, sistemas operacionais e componentes de
infraestrutura;
b) API para desenvolvimento de sistemas customizados;
c) Cliente proprietário;
d) Suporte ao protocolo SNMP;
e) Visão centralizada de todos os sistemas monitorados;
f) Informações detalhadas dos componentes monitorados na interface web;
g) Rápida detecção de problemas na infraestrutura;
h) Alertas via email e SMS;
i) Alertas customizáveis, para o envio diretamente a pessoa responsável;
j) Base de conhecimento para problemas com soluções conhecidas;
k) Configurações de eventos para ações préconfiguradas, como reiniciar o serviço
com problema;
l) Planejamento de infra-estrutura para o acompanhamento do envelhecimento do
parque tecnológico;
m) Paradas programadas, para o sistema não enviar alertas nesses períodos;
n) Relatórios para o acompanhamento dos SLA’s;
o) Históricos de envio de alertas e notificações;
p) Suporte a plugins de terceiros;
q) Multiusuário web com níveis de acessos.
4.4.3 Zabbix
O Zabbix ao que indica é uma excelente ferramenta que permite o monitoramento de
toda a infra-estrutura de uma rede. É atualmente considerado uma das melhores ferramentas
de monitoramento, muito pelo fato que diversas funcionalidades foram herdades do Nagios e
do Cacti, tornando-a uma das ferramentas mais poderosas e completas disponíveis. Abaixo,
conforme Santos e Sitta (2017), as características e vantagens são as seguintes:
a) Possui suporte a maioria dos sistemas operacionais: Linux, Solaris, HP-UX,
AIX, FreeBSD, OpenBSD, NetBSD, Mac OS X, Windows, entre outros;
b) Monitora serviços simples (http, pop3, imap, ssh) sem o uso de agentes;
c) Suporte nativo ao protocolo SNMP;
d) Interface de gerenciamento Web, de fácil utilização;
50
e) Integração com banco de dados (MySQL, Oracle,PostgreSQL ou SQLite);
f) Geração de gráficos em tempo real;
g) Fácil instalação e customização;
h) Agentes disponíveis para diversas plataformas: Linux, Solaris, HP-UX, AIX,
FreeBSD, OpenBSD, SCO-OpenServer, Mac OS X, Windows 2000/XP/2003/Vista;
i) Agentes para plataformas 32 bits e 64 bits;
j) Integração com os Contadores de Performance do Windows;
k) Software Open Source distribuído pela Licença GPL v2;
l) Excelente Manual (Em Inglês) – Possui licenciamento próprio – Não GPL;
m) Envio de alertas para: e-mail, Jabber, SMS;
n) Scripts personalizados.
Como vantagens podem-se elencar a facilidade para manipular os objetos, de modo a
agilizar o trabalho diário. Como exemplo, em situações em que é necessário monitorar o
tráfego de rede em 50 switches idênticos.
Em sequência, a tabela de comparação entre as ferramentas apresentadas.
51
Figura 18 – Comparação entre ferramentas
Fonte: Black (2008).
52
5 CONCLUSÃO
A gestão da Tecnologia da Informação e a cultura DevOps modificaram a forma de
trabalho do setor de infraestrutura na computação, principalmente na operação e manutenção
do ambiente. Tornou-se uma necessidade da área de infraestrutura automatizar suas atividades
de forma ágil e entregar melhorias contínuas para o ambiente que será gerenciado. Conforme
visto, é uma tendência das empresas utilizarem cada vez mais serviços de computação em
nuvem por diversos motivos, seja para reduzir custos ou automatizar processos.
Este trabalho objetivou apresentar a relevância da gestão da computação em nuvem no
modelo IaaS, como a cultura DevOps contribui com gerenciamento dessa estrutura. Ainda,
apresentaram-se as ferramentas que podem auxiliar nesse processo de controle. Como foi
possível observar no decorrer do desenvolvimento da pesquisa, essas têm características e
vantagens específicas. Desse modo, é de extrema importância a correta identificação das
necessidades dos clientes e usuários e, assim, proporcionar soluções de forma assertiva, ágil e
adequada. Nesse sentido, a própria equipe de TI precisa manter-se atenta às novas
tecnologias, capacitando-se constantemente
Conclui-se, dessa maneira, que as ferramentas de gerenciamento de configuração e
monitoramento são fundamentais para garantir a segurança, integridade e agilidade do
ambiente. Todas as ferramentas apresentadas podem ser utilizadas e implantadas em
ambientes On-premisses, Iaas, Paas ou Saas. Todas atendem questões cruciais como aplicação
de regras ou políticas, aplicação múltipla nos servidores, controle de alteração, gerenciamento
web, execução de scripts, open source, buscando manter a homogeneidade do ambiente.
Modelos tradicionais de controle individual de servidores não são recomendados pelo
esforço demasiado na operacionalização e manutenção, além da falta de controle, tanto para
gerenciamento de configuração quanto para questões de monitoramento. É compreensível que
para implantação das ferramentas apresentadas exista certo esforço, contudo, é de extrema
necessidade para garantir desempenho e integridade de um ambiente robusto.
53
REFERÊNCIAS
8KMILES. Puppet: an introduction. 13 mar. 2016. 8kmiles (blog). Disponível em: <https://8kmiles.com/blog/puppet-an-introduction/>. Acesso em: 22 nov. 2018. ALVARENGA, Igor Drummond; RAMOS, Bruno Lange. Simple network management protocol (SNMP). 2011. Disponível em: <https://www.gta.ufrj.br/grad/11_1/snmp/index.html>. Acesso em: 26 nov. 2018. BARBOSA, Cristian Suzuki; ARAÚJO, David Campos; TORRES, Isabelle Vasconcelos. Governança de ti utilizando as práticas da itil. Revista Tecnologias em Projeção. v.2, n.1, p. 34-38, jun. 2011. Disponível em: <http://revista.faculdadeprojecao.edu.br/index.php/Projecao4/article/view/79/66>. Acesso em: 28 nov. 2018 BATRA, Vipin. Introduction to cloud computing. 2015. Disponível em: <https://www.slideshare.net/VipinBatra/introduction-to-cloud-computing-43350599?from_action=save >. Acesso em: 11 nov. 2018. BLACK, Tomas Lovis. Comparação de ferramentas de gerenciamento de redes. 2008. 63 f. Monografia (Especialização em Tecnologias, Gerência e Segurança de Redes de Computadores) – Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS), Porto Alegre, 2008. BORGES, Hélder Pereira; SOUZA, José Neuman de; SCHULZE, Bruno; MURY, Antonio Roberto. Computação em nuvem. Petrópolis: LNCC, 2012. Disponível em: <http://livroaberto.ibict.br/bitstream/1/861/1/COMPUTA%C3%87%C3%83O%20EM%20NUVEM.pdf >. Acesso em: 09 nov. 2018. CACTI. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2018. Disponível em: <https://pt.wikipedia.org/w/index.php?title=Cacti&oldid=51782195>. Acesso em: 25 nov. 2018. CAPITAL INFORMAÇÃO. Gerenciamento de infraestrutura de ti: sem segredos. Jornal Brasil on-line. 19 maio 2010. Disponível em: <https://jornalbrasil.com.br/noticia/gerenciamento-de-infraestrutura-de-ti-sem-segredos.html>. Acesso em: 28 nov. 2018. CARLOS, Alan Nascimento; BILJON, Edward von. ALM – DevOps – Infraestrutura como código ou “infrastructure as code.” 9 jun. 2015. TechNet. Disponível em: <https://social.technet.microsoft.com/wiki/pt-br/contents/articles/31246.alm-devops-infraestrutura-como-codigo-ou-infrastructure-as-code.aspx>. Acesso em: 20 nov. 2018. CARVALHO, Guto. Puppet vs ansible? 02 jun. 2016. Guto Carvalho (blog). Disponível em: <http://gutocarvalho.net/blog/2016/06/02/puppet-vs-ansible/>. Acesso em: 22 nov. 2018. CAVALINI, Marcelo. Modelos de implementação cloud computing. Disponível em: <http://cavas.com.br/gestao/modelos-de-implementacao-cloud-computing/>. Acesso em: 28 nov. 2018
54
CAVALINI, Mariani. Metodologia ágil: o que é + 6 motivos para você usá-la em projetos de marketing digital. 30 nov. 2017. Resultados Digitais (blog). Disponível em: <https://resultadosdigitais.com.br/blog/metodologia-agil/>. Acesso em: 20 nov. 2018. COMPUTER SUPPORT SERVICES INC. On-premise, iaas, paas, saas: who’s responsible for what? 04 mar. 2015. Disponível em: <https://computersupportservicesinc.files.wordpress.com/2015/03/cloud-computing-variants.png>. Acesso em: 09 nov. 2018. CORREA, Rafael Murilo. Gestão e governança de ti: qual o papel de cada uma? 30 maio 2018a. EUAX. Disponível em: <https://www.euax.com.br/2018/05/gestao-e-governanca-de-ti-papel-de-cada-uma/>. Acesso em: 28 nov. 2018. CORREA, Rafael Murilo. O que é gestão da tecnologia da informação? Entenda como a TI pode ser uma aliada estratégica do negócio. 30 ago. 2018b. EUAX. Disponível em: <https://www.euax.com.br/2018/08/gestao-da-tecnologia-da-informacao/>. Acesso em: 28 nov. 2018. CORREIA, Fernando. Definição de computação em nuvem segundo o NIST. 21 nov. 2011. Plataforma Nuvem (blog). Disponível em: <https://plataformanuvem.wordpress.com/2011/11/21/definicao-de-computacao-em-nuvem-segundo-o-nist/>. Acesso em: 11 nov. 2018. COSTA, Francisco Aldevan Barbosa. Trabalho sobre cacti. 2012. Faculdade Sumaré, São Paulo. Trabalho não publicado. Disponível em: <https://pt.slideshare.net/ComandosLinux/cacti-15176007>. Acesso em: 26 de nov. 2018. COSTA, Marcelo. Ansible: uma nova opção para gerenciamento de configuração. 08 abr. 2013. InfoQ (homepage). Disponível em: <https://www.infoq.com/br/news/2013/04/ansible1.1>. Acesso em: 21 nov. 2018. DACONTA, Michael C. The history of cloud computing. Disponível em: <https://greatcloudmigration.wordpress.com/2014/03/03/the-history-of-cloud-computing/>. Acesso em: 06 nov. 2018. DANTAS, Rodrigo. Conheça a história da Salesforce, líder no mercado de cloud computing. Disponível em: < https://blog.vindi.com.br/conheca-a-historia-da-salesforce-lider-no-mercado-de-cloud-computing/>. Acesso em: 06 nov. 2018. DEVOPS. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2018. Disponível em: <https://pt.wikipedia.org/w/index.php?title=DevOps&oldid=53450837>. Acesso em: 20 nov. 2018. DINO. Empresas brasileiras investem cada vez mais em tecnologias com Cloud Computing. Revista Exame.com, 29 nov. 2017. Disponível em: <https://exame.abril.com.br/negocios/dino/empresas-brasileiras-investem-cada-vez-mais-em-tecnologias-com-cloud-computing/>. Acesso em: 27 nov. 2018.
55
EBC GROUP. On premises vs cloud. Disponível em: <https://www.ebcgroup.co.uk/on-premises-vs-cloud>. Acesso em: 10 nov. 2018. EDUREKA! Chef vs. puppet vs. ansible vs. saltstack: configuration tool comparison. 22 maio 2017. 30 slides. Disponível em: <https://www.slideshare.net/EdurekaIN/chef-vs-puppet-vs-ansible-vs-saltstack-configuration-management-tools-comparison-edureka>. Acesso em: 25 nov. 2018. EITI GESTÃO DE TI. Os três principais tipos de nuvem: IaaS, PaaS, SaaS. 2016. Disponível em: <https://eitisolucoes.com.br/blog/tipos-de-nuvem-saas-paas-e-iaas/>. Acesso em: 11 nov. 2018. FIGUEREDO, Drucila Macário; CORDEIRO, Adiny Heimy Muller. Gestão da tecnologia da informação: um estudo de caso na empresa Solimões Material de Construção Ltda. In: CONGRESSO INTERNACIONAL DE ADMINISTRAÇÃO. 2016, Natal/RN. Anais... Natal/RN: 2016. Disponível em: <http://www.admpg.com.br/2016/down.php?id=2060&q=1>. Acesso em: 28 nov. 2018. GALIANO FILHO, Adilson. Avaliação da ferramenta zabbix. 2010. 35 f. Artigo (especialização em Redes e Segurança de Sistemas) – Pontifícia Universidade Católica do Paraná, Curitiba, 2010. Disponível em: <https://www.ppgia.pucpr.br/~jamhour/RSS/TCCRSS08B/Adilson%20Galiano%20-%20Artigo.pdf>. Acesso em: 26 nov. 2018. GONZALEZ, Nelson Mimura; MIERS, Charles Christian; REDÍGOLO, Fernando Frota; ROJAS, Marco Antônio Torrez; CARVALHO, Tereza Cristina Melo de Brito. Segurança das nuvens computacionais: uma visão dos principais problemas e soluções. Revista USP, São Paulo, n. 97, p. 27-42, mar./abr./maio 2013. Disponível em: <https://www.revistas.usp.br/revusp/article/download/61683/64572/>. Acesso em: 28 nov. 2018. IPM SISTEMAS. História da computação em nuvem: como surgiu a cloud computing? Disponível em: <https://www.ipm.com.br/blog/historia-da-computacao-em-nuvem-como-surgiu-a-cloud-computing/>. Acesso em: 05 nov. 2018. IPSENSE. On premise e cloud servers: entenda as principais diferenças. 2017. Disponível em: <https://www.ipsense.com.br/blog/on-premise-e-cloud-servers-entenda-as-principais-diferencas/>. Acesso em: 10 nov. 2018. KUMAR, Chandan. 5 best open source monitoring software for it infrastructure. 22 abr. 2018. Geekflare (blog). Disponível em: <https://geekflare.com/best-open-source-monitoring-software/>. Acesso em: 25 nov. 2018. MEJÍAS, Julio. Cloud computing e as tendências para 2017. Disponível em: <https://33giga.com.br/__trashed-2/>. Acesso em: 07 nov. 2018. MOREIRA, Esdras. IaaS: a infraestrutura da era digital. Transformação Digital. 25 jun. 2018. Disponível em: <https://transformacaodigital.com/iaas-a-infraestrutura-da-era-digital/>. Acesso em: 28 nov. 2018.
56
MOREIRA, Leonardo O.; SOUSA, Flavio Rubens de Carvalho; MACHADO, J. C. Computação em nuvem: conceitos, tecnologias, aplicações e desafios. In: SANTOS NETO, Pedro de Alcantara (Org.). II Escola Regional de Computação Ceará, Maranhão e Piauí (ERCEMAPI). 2009. Disponível em: <https://www.researchgate.net/profile/Javam_Machado/publication/237644729_Computacao_em_Nuvem_Conceitos_Tecnologias_Aplicacoes_e_Desafios/links/56044f4308aea25fce3121f3/Computacao-em-Nuvem-Conceitos-Tecnologias-Aplicacoes-e-Desafios.pdf>. Acesso em: 13 nov. 2018. NAGIOS. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2018. Disponível em: <https://pt.wikipedia.org/w/index.php?title=Nagios&oldid=52231219>. Acesso em: 25 nov. 2018. NAGIOS-BR. Entendendo a estrutura do nagios. 27 mar. 2012. Nagios Brazilian Community Site (blog). Disponível em: <http://nagios-br.com/entendendo-a-estrutura-do-nagios>. Acesso em: 25 nov. 2018. NAGIOS-BR. Monitorando Windows server com nagios core. 04 jun. 2013. Nagios Brazilian Community Site (blog). Disponível em: <http://nagios-br.com/monitorando-windows-server-com-o-nagios-core>. Acesso em: 25 nov. 2018. NASCIMENTO, Marcelo Brenzink do. Você sabe o que significa gestão da tecnologia da informação ou gestão de ti? 20 jul. 2018. DLTEC do Brasil. Disponível em:<http://www.dltec.com.br/blog/redes/voce-sabe-o-que-significa-gestao-da-tecnologia-da-informacao-ou-ti/>. Acesso em: 28 nov. 2018. NEXTHINK. The best configuration management tools. Disponível em: <https://www.nexthink.com/blog/the-best-configuration-management-tools/>. Acesso em: 21 nov. 2018. OLIVEIRA, André Bernardo de. Infraestrutura de ti: a importância de um bom gerenciamento. Strati. 22 abr. 2015. Disponível em: <http://www.strati.com.br/gerenciamento-da-infraestrutura-de-ti/>. Acesso em: 28 nov. 2018. OLIVEIRA, Marco. Devops e o gerenciamento de configuração. 27 out. 2017. Medium (blog). Disponível em: <https://medium.com/@marcoaurelioso/devops-e-o-gerenciamento-de-configura%C3%A7%C3%A3o-ea1a002428ef>. Acesso em: 21 nov. 2018. OLIVEIRA, Paulo. O que é e por que utilizar computação em nuvem. 2016. Disponível em: <https://www.escolalinux.com.br/blog/o-que-e-e-por-que-utilizar-computacao-em-nuvem>. Acesso em: 11 nov. 2018. OTSUKA, Joice Lee. O que é uma MIB? Management Information Base (homepage). Disponível em: <http://penta.ufrgs.br/gr952/trab1/2conceit.html>. Acesso em: 26 nov. 2018 PEDROSA, Paulo H. C.; NOGUEIRA, Tiago. Computação em nuvem. Disponível em: <http://www.ic.unicamp.br/~ducatte/mo401/1s2011/T2/Artigos/G04-095352-120531-t2.pdf>. Acesso em: 10 nov. 2018.
57
PEREIRA, A.L; PENHA, E.W.M; GOMES, N.A; FREITAS, R.R. (2016). Computação em nuvem: a segurança da informação em ambientes na nuvem e em redes físicas. Brazilian Journal of Production Engineering (BJPE). 2 (1): 12-27. ISSN: 2447-5580. Disponível em: < http://periodicos.ufes.br/BJPE/article/viewFile/EO02_2016/pdf>. Acesso em: 09 nov. 2018. PIRES, Aécio dos Santos. Gerência de configuração com puppet. São Paulo: Novatec, 2017. PRETEL, Jorge. Conheça o zabbix, história e arquitetura. 16 jul. 2014. Jorge Pretel (blog). Disponível em: <https://jorgepretel.com.br/2014/07/conheca-o-zabbix-historia-e-arquitetura/>. Acesso em: 25 nov. 2018. PUPPET. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2017. Disponível em: <https://pt.wikipedia.org/w/index.php?title=Puppet&oldid=49659279>. Acesso em: 21 nov. 2018. PUPPET VS. ANSIBLE. In: WIKIVERSIDADE. 2017. Disponível em: <https://pt.wikiversity.org/wiki/Puppet_vs._Ansible>. Acesso em: 21 nov. 2018. RESENDE, Carlos. DevOps e ITSM: conflitantes ou complementares? ITSM na prática (blog). Disponível em: <https://www.itsmnapratica.com.br/devops-e-itsm/>. Acesso em: 19 nov. 2018. RESOURCE IT SOLUTIONS. Segunda década de cloud computing: o que vem por aí? Disponível em: <http://www.resourceit.com/wp-content/uploads/2017/09/Segunda-decada-de-cloud-computing-o-que-vem-por-ai-1.pdf>. Acesso em: 11 nov. 2018. RICARDO, Luiz. Infraestrutura como código. 03 nov. 2016. State of the Art (blog). Disponível em: <http://luizricardo.org/2016/11/infraestrutura-como-codigo/>. Acesso em: 20 nov. 2018. ROCHA, Marcelo Cavalcante. Chef: automação e gerenciamento de configuração. 01 abr. 2018. Marcelo Cavalcante Rocha – Hacking the damn life... (blog). Disponível em: <https://blog.marcelocavalcante.net/blog/2018/04/01/chef-aautomacao-e-gerenciamento-de-configuracao/>. Acesso em: 21 nov. 2018. RUSCHEL, Henrique; ZANOTTO, Mariana Susan; MOTA, Wélton Costa da. Computação em nuvem. 2010. 15 f. Artigo (Especialização em Redes e Segurança de Sistemas) – Pontifícia Universidade Católica do Paraná (PUC/PR), Curitiba, 2010. Disponível em: <https://www.ppgia.pucpr.br/~jamhour/RSS/TCCRSS08B/Welton%20Costa%20da%20Mota%20-%20Artigo.pdf >. Acesso em: 09 nov. 2010. SANTOS, Emerson; SITTA, Vinicius. Monitoramento com zabbix. 2017. Altatech (homepage). Disponível em: <http://www.altatech.com.br/pages/monitoramento-com-zabbix.html>. Acesso em: 26 nov. 2018. SANTOS, Érika. Modelos de serviço em cloud computing. 2012. Disponível em: <http://erikapss.blogspot.com/2012/08/modelos-de-servico-em-cloud-computing.html >. Acesso em: 11 nov. 2018
58
SEMPREUPDATE. Cultura DevOps e seus paradigmas. 30 ago. 2018. Disponível em: <https://sempreupdate.com.br/cultura-devops-e-seus-paradigmas/>. Acesso em: 21 nov. 2018. SILVA, Patrezze de Alvarenga; GOMES, Rafael Nascimento. Estudo de caso de utilização da metodologia devops para atender ao processo de continuidade de serviços conforme o framework itil. 2016. 36 f. Monografia (Pós-Graduaçãp lato sensu em Análise e Gestão de Sistemas de Informação) – Instituto Federal de Educação, Ciência e Tecnologia Fluminense, Campo de Goytacazes/RJ, 2016. Disponível em: <http://bd.centro.iff.edu.br/bitstream/123456789/1129/1/ESTUDO%20DE%20CASO%20DE%20UTILIZA%C3%87%C3%83O%20DA%20METODOLOGIA%20DEVOPS%20PARA%20ATENDER%20AO%20PROCESSO%20DE%20CONTINUIDADE%20DE%20SERVI%C3%87OS%20CONFORME%20O%20FRAMEWORK.pdf>. Acesso em: 20 nov. 2018. SILVA, Rachel Reuters da. O crescimento de DevOps no mercado de tecnologia da informação. 2016. 47 f. Monografia (Pós-Graduação em Gestão da Tecnlogia da Informação e da Comunicação) – Universidade Cândido Mendes (UCAM/RJ), Rio de Janeiro, 2016. Disponível em: <https://pt.slideshare.net/RachelReuters/monografiadevops>. Acesso em: 18 nov. 2018. STACK24/7. Azure: on premises vs iaas vs paas vs saas. 2015. Disponível em: <https://stack247.wordpress.com/2015/05/21/azure-on-premises-vs-iaas-vs-paas-vs-saas/>. Acesso em: 10 nov. 2018. STROUD, Robert. 2018: the year of enterprise devops. 17 out. 2017, Forrester (hompage). Disponível em: <https://go.forrester.com/blogs/2018-the-year-of-enterprise-devops/>. Acesso em: 28 nov. 2018. THIRAWAT, Aruj. Throughwave Thailand recruitment presentation 2014. 2014. 44 slides, color. Disponível em: <https://www.slideshare.net/arujthirawat/throughwave-thailand-recruitment-presentation-2014-slideshare-30051737?next_slideshow=1>. Acesso em: 27 nov. 2018. TRIMBLE, Marc. Nagios core dashboard. 09 jun. 2015. Nagios (homepage). Disponível em: <https://www.nagios.com/products/attachment/nagios-core-dashboard/>. Acesso em: 25nov. 2018. UNICESUMAR. O que faz um profissional de gestão de tecnologia da informação? Descubra agora! Disponível em: <https://www.unicesumar.edu.br/blog/gestao-de-tecnologia-da-informacao-o-que-faz/>. Acesso em: 28 nov. 2018. UNITED STATES DEPARTMENT OF COMMERCE. National Institute of Technology. Special Publication 800-145: the NIST definition of cloud computing: recommendations of the national institute of standards and technology. Gaithersburg/MD, 2011. Disponível em: <https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-145.pdf >. Acesso em: 11 nov. 2018. VELTE, Anthony T.; VELTE, Toby J.; ELSENPETER, Robert. Computação em nuvem: uma abordagem prática. Rio de Janeiro: Alta Books, 2012.
59
VENEZIA, Paul. Review: puppet vs. chef vs. ansible vs. salt: the leading configuration management and orchestration tools take different paths to server automation. 21 nov. 21013. InfoWorld (blog). Disponível em: <https://www.infoworld.com/article/2609482/data-center/data-center-review-puppet-vs-chef-vs-ansible-vs-salt.html>. Acesso em: 24 nov. 2018. VIGGIANI, Tatiana S.; VELLASCO, Welton R. V. Aspectos contratuais na contratação de serviços de computação em nuvem. In: ROVER, Aires José; CELLA, José Renato Gaziero; AYUDA, Fernando Galindo. (Org.). Direito e Novas Tecnologias. Florianópolis: CONPEDI, 2014, v. 1, p. 421-442. Disponível em: <http://publicadireito.com.br/artigos/?cod=04c0e78a0e5ff325>. Acesso em: 08 nov. 2018. WEBER, Everson. Entenda o que é computação em nuvem e quais são as suas vantagens. Disponível em<https://arkansystem.com.br/cloud-computing-e-suas-vantagens/>. Acesso em: 17 nov. 2018. WILSON, Marc. Best nagios alternatives for server, application and network monitoring. PC&Network Downloads. Disponível em: <https://www.pcwdld.com/nagios-alternatives>. Acesso em: 25 nov. 2018. ZABBIX. Zabbix Documentation 3.0: 03 nov. 2015. Zappix (homepage). Disponível em: <https://www.zabbix.com/documentation/3.0/pt/manual/introduction/overview>. Acesso em: 25 nov. 2018. ZABBIX. Zabbix Documentation 4.0: 10 jun. 2017. Zappix (homepage). Disponível em: <https://www.zabbix.com/documentation/4.0/pt/manual/introduction/overview>. Acesso em: 25 nov. 2018.