Infraestrutura de TI [1 ed.] 9788539629114, 9788539629121

A Série Universitária foi desenvolvida pelo Senac São Paulo com o intuito de preparar profissionais para o mercado de tr

458 67 7MB

Portuguese Pages [302] Year 2019

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Capítulo 1 Processos, aplicações e infraestrutura de TI
1 Processos
2 TI como alicerce para os processos de negócios
3 Aplicações de TI
4 Infraestrutura de TI
Considerações finais
Referências
Capítulo 2 Evolução das plataformas de computação
1 Mainframe – 1ª plataforma
2 Cliente-servidor – 2ª plataforma
3 Combinação de tecnologias –3ª plataforma
Considerações finais
Referências
Capítulo 3 Servidor
1 O que é um servidor e quais são seus principais usos
2 Componentes de um servidor
3 Classificação dos servidores
Considerações finais
Referências
Capítulo 4 Armazenamento de dados e data center
1 Conceitos sobre armazenamento
2 Armazenamento – storage
3 Armazenamento – backup
4 Papel do data center
5 Tipos de data center
Considerações finais
Referências
Capítulo 5 Sistema operacional: conceitos
1 Conceitos sobre sistema operacional
2 Componentes de um sistema operacional
3 Funcionamento do sistema operacional
Considerações finais
Referências
Capítulo 6 Sistema operacional: tipos
1 Principais tipos de sistema operacional
2 Categorias de uso do sistema operacional
Considerações finais
Referências
Capítulo 7 Protocolos e comunicações
1 Regras de comunicação de dados
2 Transferência de dados na rede
3 Camadas de rede
Considerações finais
Referências
Capítulo 8 Endereçamento IP
1 Endereçamento IP
2 Testes básicos de funcionamento de redes
Considerações finais
Referências
Capítulo 9 Estrutura de rede IP
1 Segmentação de redes
2 Esquemas de endereçamento
3 Testes adicionais de funcionamento de redes
Considerações finais
Referência
Capítulo 10 Rede: camada de aplicação
1 Protocolos da camada de aplicação
2 Serviços de rede (DNS/DHCP)
3 Testes de funcionamento dos serviços de rede
Considerações finais
Referências
Capítulo 11 Virtualização de servidores
1 Virtualização – conceitos
2 Virtualização – componentes
3 Motivos para a virtualização
Considerações finais
Referência
Capítulo 12 Virtualização de servidores: funcionamento
1 Funcionamento da virtualização de servidor
2 Exercício básico de virtualização
Considerações finais
Referências
Capítulo 13 Computação em nuvem: conceitos
1 Definição de computação em nuvem
2 Principais conceitos sobre computação em nuvem
3 A computação em nuvem aplicada ao cotidiano
4 A computação em nuvem aplicada nas organizações
Considerações finais
Referências
Capítulo 14 Computação em nuvem – IaaS (infraestrutura como serviço)
1 Definição de IaaS (infraestrutura como serviço)
2 Componentes de IaaS
3 Uso de IaaS
Considerações finais
Referências
Capítulo 15 Computação em nuvem – PaaS (plataforma como serviço)
1 Definição de PaaS (plataforma como serviço)
2 Componentes de PaaS
3 Uso de PaaS
Considerações finais
Referências
Capítulo 16 Computação em nuvem – SaaS (software como serviço)
1 Definição de SaaS (software como serviço)
2 Componentes de SaaS
3 Uso de SaaS
Considerações finais
Referências
Sobre o autor
Recommend Papers

Infraestrutura de TI [1 ed.]
 9788539629114, 9788539629121

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

INFRAESTRUTURA DE TI Walter Augusto Varella

Editora Senac São Paulo – São Paulo – 2019

 

Sumário Capítulo 1 Processos, aplicações e infraestrutura de TI 1 Processos 2 TI como alicerce para os processos de negócios 3 Aplicações de TI 4 Infraestrutura de TI Considerações finais Referências

Capítulo 2 Evolução das plataformas de computação 1 Mainframe – 1ª plataforma 2 Cliente-servidor – 2ª plataforma 3 Combinação de tecnologias –3ª plataforma Considerações finais Referências

Capítulo 3 Servidor 1 O que é um servidor e quais são seus principais usos 2 Componentes de um servidor 3 Classificação dos servidores

Considerações finais Referências

Capítulo 4 Armazenamento de dados e data center 1 Conceitos sobre armazenamento 2 Armazenamento – storage 3 Armazenamento – backup 4 Papel do data center 5 Tipos de data center Considerações finais Referências

Capítulo 5 Sistema operacional: conceitos 1 Conceitos sobre sistema operacional 2 Componentes de um sistema operacional 3 Funcionamento do sistema operacional Considerações finais Referências

Capítulo 6 Sistema operacional: tipos 1 Principais tipos de sistema operacional 2 Categorias de uso do sistema operacional Considerações finais Referências

Capítulo 7 Protocolos e comunicações 1 Regras de comunicação de dados 2 Transferência de dados na rede 3 Camadas de rede Considerações finais Referências

Capítulo 8 Endereçamento IP 1 Endereçamento IP 2 Testes básicos de funcionamento de redes Considerações finais Referências

Capítulo 9 Estrutura de rede IP 1 Segmentação de redes 2 Esquemas de endereçamento 3 Testes adicionais de funcionamento de redes Considerações finais Referência

Capítulo 10 Rede: camada de aplicação 1 Protocolos da camada de aplicação

2 Serviços de rede (DNS/DHCP) 3 Testes de funcionamento dos serviços de rede Considerações finais Referências

Capítulo 11 Virtualização de servidores 1 Virtualização – conceitos 2 Virtualização – componentes 3 Motivos para a virtualização Considerações finais Referência

Capítulo 12 Virtualização de servidores: funcionamento 1 Funcionamento da virtualização de servidor 2 Exercício básico de virtualização Considerações finais Referências

Capítulo 13 Computação em nuvem: conceitos 1 Definição de computação em nuvem 2 Principais conceitos sobre computação em nuvem 3 A computação em nuvem aplicada ao cotidiano 4 A computação em nuvem aplicada nas organizações Considerações finais

Referências

Capítulo 14 Computação em nuvem – IaaS (infraestrutura como serviço) 1 Definição de IaaS (infraestrutura como serviço) 2 Componentes de IaaS 3 Uso de IaaS Considerações finais Referências

Capítulo 15 Computação em nuvem – PaaS (plataforma como serviço) 1 Definição de PaaS (plataforma como serviço) 2 Componentes de PaaS 3 Uso de PaaS Considerações finais Referências

Capítulo 16 Computação em nuvem – SaaS (software como serviço) 1 Definição de SaaS (software como serviço) 2 Componentes de SaaS 3 Uso de SaaS Considerações finais

Referências Sobre o autor

Capítulo 1

Processos, aplicações e infraestrutura de TI

Os sistemas de informação e sua aplicação nas organizações são a condição primordial para o sucesso dos negócios no mundo atual. As atividades se tornaram mais rápidas, e as decisões estratégicas devem ser tomadas com base em quantidades maiores de informações. A continuidade de uma organização se tornou quase impossível sem o uso de novas tecnologias, como a utilização de sistemas de informação, que tem por objetivos: alcançar excelência operacional; desenvolver novos produtos, serviços e modelos de negócios de forma mais ágil e assertiva; construir relacionamentos com clientes e fornecedores; melhorar a tomada de decisão; ampliar a vantagem competitiva sobre os concorrentes; e ainda garantir a sobrevivência diária de seus negócios. A construção de processos estruturados e bem definidos, com modelos adequados a cada situação, precisa ser cada vez mais ágil, e a arquitetura de TI deve ser construída de forma coerente com os negócios da organização.

A infraestrutura de TI e seus diversos componentes são pontos cruciais para que a performance e a execução dos serviços propostos sejam realizadas de forma rápida e segura, funcionando como um alicerce sólido para os negócios. Para realizar suas atividades e seus negócios, as organizações dependem de aplicativos desenvolvidos para diferentes atividades, podendo ser de uso comum, como os editores de texto, as planilhas, os sistemas de banco de dados, os processadores de imagens e outros conforme a especificidade de cada negócio. Uma área muito importante do setor de aplicativos é a de customização e desenvolvimento de soluções específicas. Neste capítulo, vamos conhecer os conceitos sobre processos e aplicações e ver como a infraestrutura de TI pode contribuir com as organizações, gerando desenvolvimento de novas tecnologias e novos produtos e sendo uma ferramenta alinhada com a estratégia das empresas.

1 Processos As informações atualmente são utilizadas como um recurso estratégico nas organizações e todos os tipos de atividades devem ser utilizados para que possam gerar vantagem competitiva. Nesse sentido, os “sistemas de informação” se tornam parte integrante das rotinas das empresas, em processos de contabilidade, marketing, vendas, finanças, controle de produção, etc. (O’BRIEN; MARAKAS, 2013).

Os recursos de informação podem ser a própria informação, as tecnologias utilizadas, as pessoas e os processos de cada organização. Um ponto importante é que a tecnologia da informação tem como finalidade aumentar a capacidade produtiva e a eficiência dos processos administrativos e, assim, proporcionar maior confiabilidade nas decisões de negócios das empresas. IMPORTANTE Um processo é uma sequência de atividades construída com um objetivo específico. As atividades são executadas por pessoas ou atores, que podem ser sistemas inteiros de software. Os processos consomem e produzem informações que podem ser armazenadas em bancos de dados ou em células de uma planilha.

Os processos organizacionais são classificados de várias formas, dependendo do tipo de aplicação e de como se relacionam com o negócio. Nesse sentido, podemos classificá-los em: Processos primários: relacionam-se diretamente com o cliente da empresa, ou seja, entregam ao cliente o valor criado pela empresa. Por exemplo, o processo de matrícula na secretaria de uma universidade, que fornece informações para todos os outros departamentos da universidade. Processos de suporte: funcionam como apoio aos processos primários e não têm relação com o cliente externo da empresa. Têm grande importância e podem proporcionar grandes melhorias e aumento de eficiência para a empresa. Temos como

exemplo os processos de recursos humanos, a alocação de salas de aula em uma universidade, etc. Processos gerenciais: trabalham para garantir a eficiência e a eficácia dos processos primários e de suporte, monitorando-os e buscando sempre a melhoria ou inovação. Como exemplo, estão os processos relacionados à gestão estratégica, à auditoria, ao marketing, etc. O projeto dos processos que dará suporte às diversas operações de negócios deve ser desenvolvido para suprir as necessidades da organização. Essa etapa é muito importante pois servirá de especificação para a escolha de ambientes de hardware e o desenvolvimento dos diversos aplicativos.

2 TI como alicerce para os processos de negócios Os sistemas de informação envolvem pessoas, hardwares, softwares, redes de comunicação, processos de auditoria e armazenamento de dados e têm por finalidade dar suporte aos processos e às operações de negócios, além de auxiliar os diversos atores da organização na tomada de decisões e, por meio de estratégias, dar vantagens competitivas sobre os concorrentes. A figura 1 mostra que a estratégia corporativa a ser adotada irá definir a arquitetura de TI, e esta vai determinar as tecnologias de TI. Os processos integram a infraestrutura com o negócio.

As organizações desenvolvem seus projetos com base na estratégia corporativa e, a partir das definições de negócios desenhadas pela equipe de alta gestão, começam a construir a próxima etapa, ou seja, a arquitetura de TI que deverá ser preparada para dar suporte aos negócios. Figura 1 – Etapas dos sistemas de informação

A maioria das empresas tem seus negócios totalmente dependentes da infraestrutura de TI. Assim, a arquitetura de TI, que envolve pessoas, equipamentos e processos, deve ser dimensionada conforme as definições da estratégia corporativa para suportar todas as transações dos diversos processos de negócios, garantindo performance e escalabilidade. A arquitetura de TI envolve a área de tecnologia da informação responsável por planejar e desenvolver as soluções para aumentar o desempenho da empresa e permitir que ela cresça de forma organizada, suportando as novas demandas e aproveitando as oportunidades de negócios que o mercado oferece. A arquitetura de TI se comporta como um projeto estrutural da tecnologia de informação, definindo plataformas de hardware e software, modelos e padrões para os diversos processos da organização, permitindo assim aproveitar melhor todos os recursos. Os recursos fazem parte da infraestrutura de TI (computadores, sistemas de armazenamento

de dados, servidores, redes e, até mesmo, os aplicativos que processam os dados e a segurança da informação). O esforço na arquitetura de TI deve estar concentrado em garantir a sustentabilidade, a confiabilidade, a escalabilidade e o desempenho, o que possibilitará o crescimento dos negócios da organização. As organizações buscam implantar sistemas de informação que assumam papel importante no sucesso dos negócios. As razões fundamentais, mostradas na figura 2, nos levam a perceber como os papéis se relacionam entre si e servem de suporte para a tomada de decisão.

Figura 2 – Papéis do sistema de informação nos negócios

A análise dos papéis desenhados para os sistemas de informação nos permite compreender as diversas funcionalidades para que possamos selecionar as melhores soluções e assim garantir o sucesso da organização. Um ponto importante a ser salientado é que tais soluções devem ser confiáveis e seguras; além disso, devem permitir a escalabilidade de forma consistente, o que depende diretamente das condições de mercado. O crescimento da concorrência entre as organizações nos diversos tipos de negócios tem colocado as atividades ligadas à área

de TI como estratégicas e responsáveis pelo crescimento e a manutenção do posicionamento das empresas. As aplicações ou os aplicativos desenvolvidos para suportar as várias atividades empresariais e a comunicação entre as áreas internas das organizações crescem a cada dia: vão desde aplicações com o uso de computadores em ambiente até os ambientes de redes conectadas através da internet, passando pelo uso de dispositivos móveis, como os smartphones. Essas aplicações impactam muito no modo como as pessoas se relacionam e como elas produzem informação que seja útil para os negócios empresariais. PARA PENSAR Um exercício interessante é imaginar o funcionamento das empresas sem o uso das diversas tecnologias de TI. Como seriam as relações entre os diversos setores internos da empresa? E como seriam as relações comerciais entre as empresas? E as áreas de vendas, gestão de estoques? E a logística das entregas? Se você parou para pensar um pouco, deve ter percebido o caos que seria e chegado à conclusão de que diversos modelos de negócios não existiriam.

3 Aplicações de TI Ao observarmos as atividades das organizações podemos considerar que elas executam diversos processos para que possam construir seus negócios e assim atender e alcançar o mercado no qual estão inseridas. Os processos de negócios podem realizar operações internas entre departamentos ou entre outras unidades de

negócios localizadas em outras regiões e ainda, e com muito mais frequência, com o mercado (que engloba os clientes e também outras empresas). Considerando que os processos recebem dados, realizam operações e fornecem informação, diversos sistemas precisam ser construídos. Vamos classificá-los como aplicações de TI, cuja finalidade é resolver uma ou mais necessidades. Como exemplo, vamos imaginar uma fábrica e com ela diversos processos de transformação de matéria-prima em produto acabado. Várias aplicações de TI podem ser encontradas nesse cenário, cujos equipamentos próprios de uso no chão de fábrica e seus programas ou conjunto de programas recebem dados de sensores, interligam e acionam máquinas. O resultado são diversos sistemas que, acoplados, formam as aplicações do chão de fábrica. Outras necessidades são as voltadas para controle de estoque, tanto de matéria-prima quanto de produtos acabados; e ainda os sistemas de controle da fabricação em si. A figura 3 mostra os diversos departamentos e as aplicações de TI necessárias para a gestão do negócio da empresa.

Figura 3 – Aplicações de TI de uma organização

O quadro 1 apresenta os diversos processos funcionais que ocorrem nos diferentes departamentos da organização. É com base nesses dados que a equipe responsável pela implantação e pelo desenvolvimento passa a construir as aplicações. Quadro 1 – Aplicações de TI em departamentos da organização

DEPARTAMENTO

PROCESSOS FUNCIONAIS

Produtos (produção ou manufatura)

Montagem do produto Gestão da qualidade Lista de produtos e suas classificações

Vendas e marketing

Prospecção de clientes e mercados Cadastro e controle de clientes Gestão de preço e administração de vendas

Finanças e contabilidade

Controle de contas a pagar e a receber Relatórios financeiros e contábeis Gestão de impostos

Gestão de pessoas

Contratação, avaliação e desligamento de funcionários

Compras e logística

Controle de itens a serem comprados, de recepção de matériaprima e entrega de produtos acabados

Além das aplicações de TI mostradas no quadro 1, diversas outras podem ser consideradas, tais como processadores de texto, planilhas e bancos de dados. Juntam-se a essas aplicações os diversos aplicativos para celulares e smartphones, dando ainda mais acesso às informações e aos negócios das organizações. Na área interna de gestão de informação (back-end) diversos sistemas foram desenvolvidos e agrupados em produtos que o mercado desenvolvedor de software denominou ERP (Enterprise Resource Planning),[1] um conjunto de atividades gerenciadas por software ou pessoas que auxilia na gestão dos diversos processos dentro de uma empresa, sendo então um sistema de gestão empresarial. Com a utilização de infraestrutura de TI e os diversos componentes surgem também os sistemas CRM (Customer Relationship Management),[2] que tem por finalidade uma estratégia de negócio com o foco no cliente, envolvendo assim as áreas de marketing, vendas e serviços de atendimento. Além disso, vários outros sistemas foram desenvolvidos para gerenciar as diversas etapas dos processos de negócios das

organizações.

4 Infraestrutura de TI A infraestrutura de TI de uma empresa se refere aos equipamentos

de

hardware,

como

computadores,

servidores,

sistemas de armazenamento, sistemas de segurança, redes e comunicação, sistemas operacionais e diversos aplicativos cuja finalidade é atender às necessidades de negócios das organizações (LAUDON; LAUDON, 2017). Os responsáveis pela gestão dos vários recursos de TI devem estabelecer um conjunto de padrões e regras que organize a infraestrutura de TI e, assim, com práticas bem definidas, gerencie os serviços da tecnologia da informação alinhados com as estratégias de negócio. As ferramentas de gestão de infraestrutura de TI, com um conjunto de procedimentos específicos, existem para manter a competitividade e a produtividade, agregando valor aos negócios. A gestão da infraestrutura de TI relaciona-se à arquitetura corporativa por meio não só de aplicações e processos, mas também dos diversos profissionais que executam as tarefas com excelência. Uma preocupação constante dos gestores de infraestrutura de TI e ao mesmo tempo um desafio é sempre manter os objetivos de negócios alinhados às estratégias definidas e implementadas para os serviços de TI. O investimento na infraestrutura de TI tem sido cada vez mais alto, permitindo que estratégias inovadoras, com modelos de negócios mais flexíveis e que gerem novas oportunidades de

negócios para as empresas, sejam cada vez mais presentes. Na figura 4 temos a representação da infraestrutura de TI, com as áreas de atuação focadas em hardware, em que as características do computador a ser utilizado como servidor, o armazenamento, a infraestrutura de rede e o sistema operacional são fundamentais para o sucesso da empresa. A escolha de um servidor é condicionada por características bem definidas, como tipo de processador, de memória, placas de vídeo e de redes, incluindo até mesmo o tipo de chassi ou gabinete que seja mais adequado. Outro item também muito importante para a infraestrutura de TI é o armazenamento (storage), que deve contar com tecnologias adequadas a fim de garantir não só a gravação dos dados, mas também que eles sejam mantidos e, quando necessário, acessados rapidamente, oferecendo, desse modo, maior qualidade aos usuários, que não podem esperar muito tempo para acessar as informações. O acesso à infraestrutura de TI e aos recursos, que podem estar espalhados nas dependências da empresa ou em qualquer outro lugar, utiliza a tecnologia de redes. Nesse caso, os sistemas de conexão, que envolvem cabos de rede e equipamentos de acesso, como switches[3] e roteadores, precisam também de uma atenção especial da equipe responsável pelo suporte. O

sistema

operacional,

também

parte

integrante

da

infraestrutura de TI, inicia-se com um sistema de gerenciamento de recursos de hardware de um computador e passa para gerência de

recursos de hardware de um servidor, mas pode trabalhar até mesmo em ambientes de virtualização e computação em nuvem. Figura 4 – Elementos básicos da infraestrutura de TI

NA PRÁTICA Como exemplo da transformação dos dados em informação para a área de negócios da organização, considere os sensores de um avião monitorando a quantidade de combustível, a velocidade e o consumo. A infraestrutura de TI e os processos desenvolvidos para a aplicação de negócios recebem esses dados e os transformam em informação para o piloto, de forma que ele possa tomar as decisões mais acertadas para a condução do avião de um aeroporto a outro. O que deve ser considerado nesse exemplo é a importância da infraestrutura de TI dentro do avião, não só recebendo os dados dos sensores, mas processando-os e armazenando-os.

Na área de gestão de projetos, existe o termo “entregáveis”, que significa quais produtos ou serviços um determinado processo ou projeto deve fornecer. Utilizando esse conceito, a infraestrutura de TI, ou o sistema de TI em uma visão mais global, deve também fornecer os entregáveis como resultado de seu funcionamento. As escolhas de componentes para a construção da infraestrutura de TI e de toda a sua complexidade devem estar bem alinhadas com a área de negócios das organizações e sempre levar em conta as possibilidades de escalabilidade de acordo com as diretrizes da estratégia corporativa. A infraestrutura de TI deve ser gerenciada com o objetivo de garantir que as soluções utilizadas não só estejam alinhadas com a estratégia de negócios, mas incluam também um alto grau de inovação, com a utilização de equipamentos sempre atualizados, quer

sejam

processadores,

memórias

ou

dispositivos

de

armazenamento, para que as aplicações e os processos possam se beneficiar, tornando-se mais rápidos, seguros e escaláveis. A criação de negócios cada vez mais flexíveis se torna ainda mais desafiadora para os profissionais que trabalham com a infraestrutura de TI. As organizações, cada vez mais globalizadas, já entendem o impacto da inovação e investem muito, considerando essa área como estratégica para o sucesso empresarial e a manutenção de seus mercados.

Considerações finais A adoção de computadores para a realização de atividades nas organizações, ainda que tenha começado de forma tímida, principalmente devido aos custos elevados dos equipamentos e à escassez de pessoas qualificadas, foi aos poucos sendo cada vez mais necessária para o crescimento das organizações; para atender às exigências de melhoria da qualidade dos produtos e de seus modos de fabricação; para a criação de modelos de serviços agregados; e para atender aos novos modelos de negócios que surgem a cada dia. A alavanca que proporcionou o crescimento da utilização de computadores nas organizações foi o surgimento dos primeiros computadores pessoais (PCs – Personal Computers), já que, devido ao custo muito mais baixo dos primeiros modelos, eles foram sendo colocados em diversas etapas dos processos, desde a parte de fabricação de produtos até a administração das organizações.

Outra consideração importante, que vem da área de negócios, é a necessidade de projetar uma estrutura mais focada no mercado e nas exigências de competição global. O desenvolvimento das redes de comunicação levou a uma velocidade até mesmo frenética nas relações comerciais. Podemos perceber isso nas relações que a internet possibilita entre empresas e clientes e nas oportunidades criadas com essas relações, em que muitas vezes concorrentes passam a trabalhar juntos para atender a um determinado mercado ou a projetos específicos. Ao se pensar na estratégia de negócios e no crescimento que se projeta para a empresa, surge a construção de uma arquitetura de TI, com pessoas, equipamentos e sistemas. E, então, se estrutura o que é considerado a infraestrutura de TI, que nos dias atuais se tornou um grande diferencial para o crescimento e a sustentabilidade das empresas no mundo dos negócios.

Referências LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007. O’BRIEN, James A.; MARAKAS, George M. Administração de sistemas de informação. Porto Alegre: AMGH, 2013.

[1] Planejamento de recursos empresariais. [2] Gestão de relacionamento com clientes. [3] Switch – equipamento utilizado em redes para interligação de computadores.

Capítulo 2

Evolução das plataformas de computação

A utilização das tecnologias computacionais tem sido uma estratégia muito considerada para o sucesso e o crescimento dos negócios nas organizações. A evolução da microeletrônica, e com isso a oferta de processadores mais rápidos e confiáveis, proporciona o surgimento de tecnologias para uma construção mais robusta da infraestrutura de TI. Neste capítulo, vamos conhecer as gerações das tecnologias para servidores. A primeira plataforma a ser apresentada é a utilização do mainframe como servidor para o processamento de milhares de processos dos clientes. Em seguida, vamos conhecer a tecnologia cliente-servidor e ver como ela é utilizada por um grande número de organizações para administrar seus negócios. E por fim faremos uma comparação entre as diversas tecnologias que os administradores de infraestrutura de TI podem incorporar em suas soluções.

1 Mainframe – 1ª plataforma A história de utilização de computadores para solucionar os problemas das organizações e gerenciar milhares de processos deu um grande salto com a evolução da eletrônica dos semicondutores, que permitiu a construção de equipamentos com processadores mais rápidos, menores e com menor consumo de energia. Diversas tecnologias também contribuíram para o desenvolvimento de sistemas de memória e de armazenamento. Assim, as necessidades passam a ser o processamento de um volume grande de informações e o atendimento a muitos usuários conectados em terminais de acesso direto ou por meio de uma rede. Com essas características surge o termo “mainframe”, um gabinete onde ficava a unidade central de processamento. O surgimento dos mainframes acontece em 1964 com o lançamento do sistema 360 da IBM (IBM System/360), sendo esse o maior projeto da empresa na época (IBM, [s.d.]).

Figura 1 – Modelo de mainframe

Na figura 1, temos a estrutura de um mainframe com seus discos de armazenamento e a unidade de processamento. A estrutura de um ambiente com mainframe envolvia diversos terminais, nos quais a entrada de dados era feita pelos usuários geralmente via teclado; e a saída era através de um terminal de vídeo ou uma impressora. Todo o processamento das informações era realizado no mainframe. Os terminais não tinham processamento devido à limitação imposta pela tecnologia eletrônica da época. Segundo Laudon e Laudon (2007, p. 125), “um mainframe é um computador de alto desempenho e grande capacidade, capaz de processar velocidade”.

gigantescas

quantidades

de

dados

com

extrema

IMPORTANTE Os mainframes são computadores dimensionados para aplicações em que a exigência de recursos é muito alta. Os processadores são montados para que o mainframe não seja desligado, mantendo a execução de tarefas em paralelo sem que uma comprometa a outra.

São componentes dos primeiros mainframes: Processadores: utilizados e montados de tal forma que podem ser colocados ou retirados sem desligar o mainframe. Discos: utilizados para armazenamento dos dados; contam com a tecnologia de conjunto redundante de discos independentes (RAID – Redundant Array of Inexpensive Disks), que gerencia o armazenamento de maneira que os dados não sejam comprometidos, mesmo que aconteçam falhas. Fitas: no início dos mainframes eram essenciais, pois os discos armazenavam o sistema operacional (que gerenciava o uso dos recursos de hardware do mainframe) e os aplicativos; os dados gerados eram armazenados em fitas. Sistemas operacionais: são o conjunto de rotinas que possibilitam a utilização dos recursos de hardware do mainframe. Eram desenvolvidos para processar textos e banco de dados e para fazer cálculos, sendo específicos para cada modelo.

Segundo Laudon e Laudon (2007), para alguns especialistas da área de infraestrutura de TI ainda hoje existe uma forte tendência na utilização de mainframes pelas organizações. Por isso, fabricantes continuam desenvolvendo serviços de nuvem e estratégias para que os clientes modernizem sua infraestrutura. Segundo a IBM ([s.d.] apud CA TECHNOLOGIES, 2018), os clientes estão agilizando suas transformações globais e incorporando o mainframe nesse processo de mudança. A principais características de mainframes são (CA TECHNOLOGIES, 2018): É um servidor corporativo com capacidade para processar uma grande quantidade de transações por segundo. A plataforma de hardware e software que apresenta maior índice de segurança, disponibilidade, escalabilidade e uso eficiente de energia. É utilizado como servidor de grande porte e de missão crítica. Pode atender a milhões de usuários com um único servidor e sistema operacional. O ambiente virtualizado está estabilizado há mais de 40 anos. Essas características mostram como o mainframe pode ainda continuar a fazer parte da infraestrutura das organizações e estar alinhado com as estratégias de negócios.

2 Cliente-servidor – 2ª plataforma

Com o desenvolvimento da microeletrônica e o surgimento de computadores mais acessíveis em custo, tamanho e capacidades de processamento e armazenamento, os usuários começaram a ter seus aplicativos funcionando em suas mesas de trabalho, o que deu origem ao desktop. As informações ficavam então espalhadas pelos diversos computadores, o que dificultava a organização e a disponibilização dos dados para os vários departamentos e usuários. A tecnologia cliente-servidor consiste em uma arquitetura na qual o processamento das informações é dividido em partes ou processos distintos. Um desses processos, responsável pela manutenção da informação, é executado no servidor; um outro processo, este responsável pela aquisição dos dados, é executado no cliente. Com essa divisão de funcionalidades, os processos podem ser executados

em

plataformas

independentes,

que

interagem

compartilhando os recursos e obtendo o máximo de cada equipamento existente na rede de computadores da organização. Na arquitetura cliente-servidor, os servidores prestam serviços aos processos dos usuários, isto é, executam as solicitações de tarefas mediante um pedido feito pelo cliente e retornam uma resposta, ou seja, devolvem os dados solicitados. Os clientes solicitam, por meio de um pedido, um serviço a ser executado pelo servidor. É importante observar que, enquanto o servidor está trabalhando no processo solicitado, o cliente está livre para realizar outras tarefas. O cliente é a parte da arquitetura que se

relaciona com o usuário e deve possuir uma interface “amigável”, conhecida como o front-end da aplicação. Os clientes podem solicitar os serviços ao servidor, mas não podem oferecê-los a outros clientes. A figura 2 apresenta os clientes se relacionando com o servidor por meio de uma infraestrutura de rede. Figura 2 – Arquitetura cliente-servidor

O servidor gerencia todas as solicitações de serviços e pode oferecer respostas a diversos clientes, utilizando os recursos de forma compartilhada. O processo servidor é chamado de back-end. Os servidores podem prestar serviços de banco de dados, de

impressão, de servidores web, etc.; assim as diversas aplicações de negócios da organização podem ser atendidas. Os usuários executam suas tarefas no computador local e não percebem a diferença entre acessar o recurso que desejam, local ou remotamente. Logo, a localização do servidor e a comunicação com ele não importam. Os responsáveis pelo projeto da infraestrutura de TI, estes sim, devem utilizar estratégias para garantir aos usuários velocidade, segurança e disponibilidade dos serviços. Os clientes se relacionam com o servidor por meio de uma requisição, e as informações solicitadas são desenvolvidas de acordo com as regras dos negócios e da lógica da aplicação como demonstra a figura 3. Figura 3 – Estrutura de camadas da arquitetura cliente-servidor

As aplicações da arquitetura cliente-servidor são organizadas em camadas e podem acontecer de dois modos: o two-tier (duas camadas) ou o three-tier (três camadas).

Na arquitetura cliente-servidor two-tier (duas camadas), o cliente se comunica diretamente com o servidor. Suas características são: A base de dados fica armazenada no servidor. As regras e a lógica da aplicação ficam armazenadas no cliente. Quando uma aplicação é alterada, os bancos de dados e as aplicações do cliente também precisam ser alterados. A aplicação do cliente deve ser instalada em todos os computadores dos usuários. Na arquitetura cliente-servidor three-tier (três camadas), existe uma camada intermediária entre o cliente e o servidor. Suas características são: A camada intermediária tem a função de armazenar as regras do negócio e a lógica da aplicação. O cliente é responsável apenas pela interface com o usuário. Quando uma alteração acontece na camada intermediária é imediatamente assumida por todas as aplicações e pelo banco de dados. A divisão em camadas facilita a construção da infraestrutura de TI e o desenvolvimento das aplicações, o que possibilita maior controle e também uma melhor escalabilidade, tanto do hardware quanto das aplicações.

A arquitetura cliente-servidor, muito utilizada em diversas organizações para a construção da infraestrutura de TI, apresenta algumas características que precisam ser consideradas, por exemplo: aumento do custo do hardware, tanto no servidor quanto no cliente; custo do software, e aí incluem-se o servidor de banco de dados, os aplicativos e as ferramentas de desenvolvimento e administração. NA PRÁTICA Ao digitar o endereço de uma página da internet em um navegador, estamos acessando um servidor com uma aplicação que recebe as chamadas dos usuários, as processa e devolve um conteúdo no formato do que conhecemos como página web. Ao utilizarmos um serviço de busca de previsão de tempo, utilizamos um applet[1] em nosso celular que irá buscar os dados em um servidor.

Nos ambientes de arquitetura cliente-servidor, pode-se instalar o mainframe,

que

se

comportará

como

um

“superservidor”,

desempenhando as funções de missão crítica,[2] por exemplo.

3 Combinação de tecnologias –3ª plataforma As organizações e seus modelos de negócios têm desenvolvido diversos novos modelos e aplicações em que a infraestrutura de TI se tornou fundamental. Há um número cada vez maior de transações por segundo, e o armazenamento das informações exige cada vez

mais espaço em disco. O fenômeno do Big Data, com a geração de altos volumes de dados, e o crescimento diário desses volumes, e ainda os diversos monitoramentos de sensores, como os das condições climáticas de uma determinada região, realizados por milhares de sensores ligados a veículos autônomos. É a tecnologia da internet das coisas (em inglês, IoT – Internet of Things), colocando milhares de dados nas redes de comunicação e nos servidores de banco de dados. IMPORTANTE As tecnologias de mainframe e cliente-servidor sozinhas não conseguem mais dar suporte a todo esse crescimento. Assim, novas tecnologias surgem não para concorrer umas com as outras, mas para dar suporte, juntas, às necessidades das organizações e aos novos modelos de negócios.

A infraestrutura de redes de comunicação e os avanços tecnológicos de equipamentos tornaram o acesso à internet cada vez mais disponível no planeta, e o mercado global de usuários vem crescendo de forma exponencial. Para a área de pesquisa, as necessidades nos levam a supercomputadores e à computação em grade, em que diversos computadores em rede são alocados para resolver “pedaços” dos cálculos e processos e, assim, dar respostas mais rápidas aos pesquisadores. Por outro lado, e para melhor utilizar os recursos de servidores, temos a virtualização, que possibilita concentrar diversos servidores

lógicos em um servidor físico e com isso diminuir os custos do hardware do servidor e até mesmo o custo com licenças de sistemas operacionais. A computação em nuvem proporciona aos usuários uma utilização de recursos de hardware e software cada vez mais barata, com segurança, velocidade e escalabilidade. Assim, todas as tecnologias de infraestrutura de TI são disponibilizadas para atender às demandas e apresentar soluções para os negócios empresariais ávidos por velocidade de acesso, escalabilidade

de

serviços,

segurança

da

informação

e

armazenamento de dados em volumes cada vez mais maiores. Na figura 4 temos o cenário de uma organização cuja matriz possui seus processos de negócios, e a fábrica tem seus sistemas de produção com necessidades, podendo até incluir linhas de produção robotizadas e com o uso de inteligência artificial. As atividades dos usuários atualmente podem ser realizadas nos escritórios locais ou em grupos remotos, e para isso redes de comunicação devem ser preparadas para possibilitar a interligação entre eles. Exemplos desse cenário são: vendas presenciais realizadas no cliente e pedidos efe‐ tuados on-line, produtos que podem ser customizados e até mesmo o atendimento dos clientes funcionando como um robô, os chamados “chatbots”. E há também a área de relacionamento com os parceiros de negócios e os fornecedores.

Figura 4 – Cenário de uma organização e suas áreas de negócios

Esse cenário mostra tudo que uma organização precisa em termos de infraestrutura de TI, em que mainframes cada vez mais poderosos, com sistema operacional mais atualizado e hardware mais potente, têm assumido a retaguarda, processando milhares de informações, são os back-end. Os serviços de computação em nuvem vêm sendo cada vez mais utilizados, e isso tem diminuído os custos de hardware, software e até de mão de obra especializada, principalmente na manutenção dos equipamentos. A figura 5 apresenta o desenho de um cenário de infraestrutura de TI, no qual os mainframes e cliente-servidor estão presentes. As

tecnologias de rede e seus diversos componentes completam o cenário

e

proporcionam

a

comunicação

entre

os

diversos

computadores. Figura 5 – Cenário de uma infraestrutura de TI híbrida

A gestão de sistemas de informação das organizações e as estratégias de negócios definidas impõem para a área de infraestrutura de TI o compromisso de oferecer serviços com maior velocidade de resposta às solicitações dos usuários, o que implica processamento mais rápido, sistemas de rede mais velozes e com o máximo de segurança para a informação. A infraestrutura de TI deve ser projetada para ter escalabilidade, ou seja, a possibilidade de crescer ou até mesmo diminuir os recursos de infraestrutura, dependendo das condições do mercado onde a organização atua. A tarefa da equipe responsável pela área de infraestrutura de TI é buscar, na maior parte do tempo, oferecer soluções de tecnologia mais econômicas e com maior produtividade.

Considerações finais Neste capítulo, abordamos os conceitos sobre mainframes, cliente-servidor e novas tecnologias e até colocamos de forma bem simples a computação em nuvem. É importante que se tenha em mente o fato de que a construção de uma infraestrutura de TI deverá ser criteriosamente definida. Como exemplo, pense numa empresa que processa pagamentos de cartão de crédito. A expectativa de crescimento do número de transações é enorme, e com mainframe suportando todo o processamento pode ser a solução. Uma outra opção a ser considerada pode ser a utilização de diversos servidores com

sistema operacional aberto, como o Linux – que veremos mais adiante. Então, qual seria a melhor opção para a organização que trabalha com pagamentos de cartão de crédito? Uma sugestão é pensar no crescimento da necessidade de atualização, e nesse caso fica muito mais barato colocar mais servidores com sistema operacional Linux do que a atualização do mainframe. Com esse exemplo podemos concluir que os mainframes estão se tornando obsoletos? Não. Nos bancos, por exemplo, os mainframes continuam sendo utilizados em cenários de missão crítica e, aliados à confiabilidade, à disponibilidade e à segurança, têm se mostrado uma plataforma estável. As novas tecnologias web e os dispositivos móveis fazem com que a infraestrutura de TI mais atual seja a híbrida, em que o mainframe convive com cenários de virtualização e de computação em nuvem. A evolução dos sistemas baseados em internet oferece novas formas de atuação da infraestrutura de TI e o convívio de várias tecnologias. Neste capítulo, falamos de mainframe e cliente-servidor, que são tecnologias fundamentais para o crescimento e a disponibilização de novos serviços aos usuários, que têm suas informações hospedadas e até mesmo processadas nesses ambientes.

Referências

CA TECHNOLOGIES. A CA Technologies apresenta novas soluções que aproveitam o valor inexplorado com maior acessibilidade ao mainframe. 5 jun. 2018. Disponível em: . Acesso em: 21 set. 2018. IBM. Chronological History of IBM. [s.d.]. Disponível em: . Acesso em: 21 set. 2018. LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007.

[1] Applet – pequeno programa que executa uma atividade específica dentro de um browser. [2] Missão crítica – termo utilizado para aplicações, processos ou serviços que não podem parar de funcionar.

Capítulo 3

Servidor

Neste capítulo, vamos conhecer o que é um servidor e quais são seus principais usos em uma empresa. Os servidores podem ser: de banco de dados, de e-mail, de impressão, web, DNS, Proxy e FTP (File Transfer Protocol). Abordaremos os componentes internos de um servidor, como as diversas placas internas e o sistema de armazenamento. Por fim, vamos conhecer os tipos de montagem: torre, rack e blade. Com esses conhecimentos, teremos uma melhor visão do hardware da infraestrutura de TI de uma empresa; e também estaremos preparados para entender as novas tecnologias, como data center, virtualização de servidores e computação em nuvem.

1 O que é um servidor e quais são seus principais usos Um servidor é um computador com um sistema operacional construído para armazenar dados, compartilhar recursos e atender à solicitação de diversos usuários. Por isso, em uma empresa, o

servidor se torna um equipamento importante na infraestrutura de TI, funcionando, de maneira colaborativa, como um repositório que armazena diversos tipos de arquivos. A grande vantagem é que os usuários podem acessar os dados de forma rápida e econômica. Segundo O’Brien e Marakas (2013, p. 81): As necessidades cada vez mais crescentes de armazenamento de dados e dos aplicativos relacionados, como de exploração de dados e processamento analítico on-line, estão forçando os fornecedores de tecnologia da informação a aumentar cada vez mais o nível da configuração dos servidores. Do mesmo modo, os aplicativos baseados na Internet, como servidores web e de comércio eletrônico (e-commerce), estão forçando os gestores de tecnologia da informação a aumentar a velocidade de processamento e a capacidade de armazenamento, e outras aplicações [empresariais], alimentando o crescimento de servidores maiores.

Os servidores são o componente central da maioria das aplicações, pois realizam todo o processamento das aplicações na arquitetura cliente/servidor. Por essa razão, as características de hardware e os cuidados com a instalação são muito importantes para o sucesso das aplicações e dos negócios da empresa. NA PRÁTICA A presença de um servidor na empresa facilita muito a administração de backups e a disponibilização das aplicações e dos dados para todos os usuários, pois se torna muito mais fácil manter os dados em um servidor do que gerenciar informações espalhadas em vários computadores.

Os servidores são construídos com características de hardware e de sistema operacional para se manterem seguros, confiáveis e tolerantes a falhas, além de oferecerem opções de armazenamento com diversos níveis de redundância.[1] Uma questão importante a ser respondida por administradores da infraestrutura de TI alinhados aos negócios da organização é quanto aos tipos de servidores que serão utilizados, dependendo do número de usuários e de aplicações. Além disso, o investimento em um servidor deve ser bem avaliado, pois o tempo de parada para manutenção se torna um fator crítico. Estratégias de backup de servidores devem ser muito bem planejadas. Na figura 1, temos um cenário onde vários computadores de usuários acessam arquivos armazenados no servidor. Figura 1 – Servidor compartilhando pastas de arquivos com os usuários da rede

A equipe de TI ou os responsáveis pela definição do uso de servidores deve considerar a alocação de algumas tarefas e como elas serão executadas. Isso possibilita uma melhor especificação das necessidades dos equipamentos que serão utilizados como servidores. Algumas tarefas ou características a serem consideradas pela equipe de TI ao definir o uso de servidores na empresa são: Compartilhamento e gerenciamento de arquivos: os arquivos armazenados em um mesmo local possibilitam o acesso e o compartilhamento entre vários usuários; também reduzem o risco de perda de informações e possibilitam o controle de versões de arquivo para o mesmo documento. Serviços de domínio: gerenciamento de usuários, senhas e emails. Armazenamento de dados: a centralização de dados facilita o backup e a migração para novas redes e sistemas de gestão. Conexão remota: com a utilização de servidores é possível ter acesso a dados e aplicações a partir de outros locais; por exemplo, uma equipe de vendedores pode acessar o servidor e fechar novos pedidos, mesmo fora da empresa. Hospedagem de aplicações: aplicações críticas, como software de CRM ou ERP, são muito mais facilmente instaladas com o uso de servidores. Por meio de um servidor de hospedagem no modelo atual de estratégia de negócios, em que o acesso é feito

pelas páginas web via rede, as empresas de software desenvolvem pacotes integrados para o gerenciamento de relacionamento com os clientes (ERP/CRM). Aplicações móveis em celulares usam applets para acesso aos dados armazenados no servidor. Alguns exemplos dessa utilização: plataformas de compartilhamento de vídeos como YouTube; previsão do tempo; aplicativos de mensagens como Whatsapp, Messenger e muitos outros. Backup de dados: uma grande vantagem no uso de servidores é a administração de backups, garantindo mais segurança e confiabilidade. Ligação com periféricos: com o uso de servidores, torna-se possível o compartilhamento de equipamentos periféricos, como impressão, armazenamento em disco, conexão com internet. Isso diminui não só a carga nos computadores dos usuários como também o custo com esses periféricos. Os servidores podem ser utilizados em diversas configurações, e cada uma é mais apropriada para atender a uma necessidade dos negócios e dos processos das organizações. As empresas poderão, com o uso de tecnologias de virtualização e sistemas operacionais, construir sua infraestrutura de servidores com economia de equipamentos e de espaço.

1.1 Servidor de arquivos

O servidor de arquivos é configurado para ser um ponto da rede utilizado para armazenar e compartilhar arquivos com os usuários. Com a centralização, os usuários não precisam manter arquivos em seus computadores locais e, ainda melhor, caso outro usuário necessite do arquivo bastará acessá-lo no servidor de arquivos. Esse servidor oferece vantagens para a infraestrutura de TI, como diminuição dos custos de backup, maior segurança dos arquivos e disponibilização para os usuários na rede e não apenas em seu computador local.

1.2 Servidor de banco de dados O armazenamento organizado de informações de uma empresa envolve arquivos de texto, imagens, planilhas e dados que precisam ser organizados em formato de fichas que contêm diversas informações. Na linguagem de informática essas fichas são chamadas de registros e, juntas, são conhecidas como dados. Um sistema de gerenciamento de banco de dados é um software com recursos que permitem a gravação de informações em algum tipo de dispositivo de armazenamento e a interação com os clientes para consulta ou alteração dos dados já gravados. IMPORTANTE Os servidores de banco de dados são os computadores que armazenam as informações da empresa e, portanto, o acesso local e, principalmente, remoto a eles deve ser restrito. Essas considerações envolvem a segurança e a confiabilidade das informações armazenadas.

1.3 Servidor de e-mail Os servidores de e-mail armazenam as mensagens de todos os usuários e utilizam um protocolo chamado SMTP (Simple Mail Transfer Protocol)[2] para que possam se comunicar com outros servidores e receber as mensagens. O conceito de caixa postal (endereços de e-mail) é muito útil nos negócios das organizações, pois o envio de documentos fica muito mais rápido e ágil. Existem muitos serviços de e-mail gratuitos, mas para as atividades comerciais é muito mais interessante o uso de e-mails corporativos, nos quais o nome da organização faz parte do endereço, o que permite a identificação do remetente e garante maior segurança.

1.4 Servidor de impressão Uma atividade muito utilizada em algumas organizações é a impressão de arquivos e, dependendo do tipo de arquivo, é necessária certa

confidencialidade.

Os

servidores

de

impressão

são

computadores ou dispositivos projetados para compartilhar as impressoras ligadas a eles. O que se pode avaliar é que o custo de impressão pode diminuir drasticamente se compararmos com as várias impressoras espalhadas pela organização, com modelos e fabricantes diferentes e suprimentos cada vez mais caros. O monitoramento das páginas impressas e a decisão de onde imprimir dão maior flexibilidade aos administradores da infraestrutura de TI, que podem priorizar os arquivos a ser impressos e até mesmo se o serão em impressoras da rede ou em impressoras locais.

1.5 Servidor web

O servidor web usa um software chamado de navegador ou browser, que recebe pedidos dos usuários utilizando o protocolo HTTP (Hiper Text Transfer Protocol)[3] e devolve arquivos conhecidos como páginas web, que são documentos HTML com objetos embutidos: imagens, texto, arquivos de som, vídeo e documentos pdf, entre outros. A utilização de servidores web facilita muito a programação dos sistemas e torna mais amigáveis as interfaces de software nos computadores dos usuários que, utilizando navegadores web, têm acesso

aos

dados

navegabilidade

da

disponibilizados internet,

então

com

as

trazidas

facilidades

para

dentro

de da

organização.

1.6 Servidor da aplicação O servidor de aplicação disponibiliza um ambiente onde são instaladas e executadas as aplicações dos usuários. Sua função é facilitar o desenvolvimento do software, e para isso, proporciona uma interface entre o software da aplicação de negócio e as características complexas que são comuns para a maioria das aplicações,

como:

segurança,

disponibilidade,

tratamento

de

exceções e balanceamento de carga. O servidor de aplicação processa as atividades de uma aplicação e as disponibiliza aos usuários através de páginas web, via protocolo HTTP e páginas HTML. Assim, temos a função de um servidor de aplicação e do servidor web. Por exemplo: um servidor de banco CRM, com as

funcionalidades da aplicação, sendo acessado e disponibilizando os dados através da web.

1.7 Servidor DNS Outro servidor importante é o Servidor DNS (Domain Name System).[4] A navegabilidade na internet ou mesmo em uma rede local depende de um endereçamento chamado IP, que todos os dispositivos conectados na rede local ou na internet precisam ter e ser únicos. Para facilitar esse processo, foi criado um sistema de nomes de domínios que traduz os endereços IP para um nome, por exemplo: o da empresa. NA PRÁTICA Quando digitamos no navegador de internet www.senac.br é feita uma chamada ao servidor DNS, que irá analisar o nome e devolver um endereço IP. Nesse endereço, um servidor web atenderá a solicitação e devolverá uma página web e assim começa a navegação. Procure fazer esse acesso e veja todos os servidores funcionando de forma transparente para você.

1.8 Servidor proxy Em uma rede local, diversos computadores estão conectados e precisam de acesso à internet. A conexão é então compartilhada por meio de um equipamento chamado servidor proxy, também conhecido como web cache, que tem a função de atender às requisições HTTP dos diversos clientes da rede e verificar se as informações de endereço da página solicitada estão armazenadas no

disco local desse servidor (vamos chamar de cache). Caso já tenha sido acessada anteriormente e ainda esteja no cache, será enviada ao cliente solicitante; caso não seja encontrada, o servidor proxy fará então o acesso à internet (ROSS; KUROSE, 2013). A vantagem de utilizar um servidor proxy é que apenas ele estará conectado direto na internet, e assim algumas vulnerabilidades podem ser bloqueadas, com melhor aproveitamento do link de internet.

1.9 Servidor FTP A área de infraestrutura de TI e o desenvolvimento das aplicações

em

algumas

situações

podem

necessitar

de

transferências de arquivos ou, ainda, de acesso a um repositório remoto onde estão as informações. Uma possibilidade é a utilização de um servidor para armazenar as informações e de um protocolo de comunicação entre computadores chamado FTP (File Transfer Protocol),[5] que gerencia toda a transferência de arquivos. NA PRÁTICA Um exemplo de utilização de um servidor e do protocolo FTP é quando enviamos arquivos para um host de internet, no qual ficarão armazenadas as páginas e o conteúdo do site. A transferência via FTP é então uma boa solução.

2 Componentes de um servidor

Um computador é um conjunto de componentes de hardware construído para atender a algumas funções, como: entrada de dados através de teclado, mouse, canetas, digitalizador óptico, entre outros. Temos o processamento, onde se encontra a CPU – unidade central de processamento – e onde são realizados todos os cálculos e processamentos. A unidade de controle recebe as instruções do software e, ao interpretá-las, gera os sinais adequados para o funcionamento do computador e gera a saída de dados através de vídeo, impressora, além de enviar os dados de forma inteligível aos usuários. Os sistemas de armazenamento primário são as memórias que armazenam as informações para uso do processamento; e o armazenamento secundário são os discos rígidos. A placa de rede também é parte importante do computador, pois é por meio dela que as comunicações com outros computadores e o compartilhamento de dados são realizados. Na figura 2 temos os principais componentes internos de um servidor: a placa-mãe ou motherboard; a placa de rede; a fonte e o ventilador; o disco rígido; o processador; a placa de vídeo; e as memórias.

Figura 2 – Componentes de um servidor

2.1 Placa motherboard e placa de rede A placa motherboard ou placa-mãe é onde ficam instalados o processador, as memórias de armazenamento primário e diversos circuitos de apoio ao processamento. As características de velocidade de processamento e a quantidade de memória são fundamentais e podem diferenciar os diversos tipos de servidores. A

placa

de

rede

é

um

componente

importante

nos

computadores, pois é por meio dela que ocorre a comunicação entre vários computadores e o compartilhamento de dados.

2.2 Processadores Os

computadores

são

equipamentos

eletrônicos,

e

a

representação das informações é feita por meio de um conjunto de zeros (0) e uns (1). Para que os programas desenvolvidos pelos programadores possam funcionar, existe o processador, cuja arquitetura interna realiza todo o processamento das informações.

Em linhas gerais, os processadores possuem internamente diversos blocos de eletrônica que são capazes de todo o processamento lógico, aritmético e de endereçamento. Um dos pontos importantes de um processador é a velocidade com que ele executa uma operação. Os fabricantes de processadores colocam toda essa eletrônica em um núcleo chamado de core. Os processadores são então colocados nas placas motherboards e disponibilizados para que sejam construídos os computadores, agregando os outros componentes. Com a exigência de maior velocidade e desempenho, os fabricantes de placas motherboards também disponibilizam modelos com mais de um processador. Atualmente, existem processadores com dois ou mais núcleos, conhecidos como processadores multicore, que substituem as placas motherboard com vários processadores. A utilização de vários processadores proporciona diversos benefícios para a arquitetura do computador, como: aumento da confiabilidade, pois caso um processador tenha uma falha de hardware, os outros mantém o sistema funcionando; escalabilidade, pois em caso de expansão não é necessário trocar o computador e sim acrescentar mais processadores; alta disponibilidade, característica importante nos servidores; balanceamento de carga, pois o processamento pode ser distribuído entre os diversos processadores, o que aumenta o

desempenho.

2.3 Memória A memória é um componente eletrônico utilizado para armazenar dados temporários ou permanentes. A memória RAM (Random-access Memory) é uma memória volátil, de acesso direto, ou seja, ao desligar o computador, os dados são perdidos. Existem diversas tecnologias e fabricantes para as memórias RAM.

2.4 Disco rígido O disco rígido é um dispositivo do computador com a função de armazenamento

de

dados

e

que

tem

uma

composição

eletromecânica, em que os dados são gravados em disco magnético; mesmo com o desligamento do computador, as informações não são perdidas. Existem diversas tecnologias de disco rígido, com diferentes velocidades de acesso, modo de interface e capacidade de armazenamento.

3 Classificação dos servidores Os servidores podem ser classificados de diversas maneiras. Considerando o caso de infraestrutura de TI vamos classificá-los pelo padrão de gabinete: torre ou tower, rack e blade. Vamos considerar também o melhor lugar para instalá-los, seja na empresa ou em data center.

3.1 Servidor torre

Os primeiros servidores que normalmente a empresa coloca em sua infraestrutura de TI são os computadores baseados em torre. São os mais simples do mercado, com custo e espaço necessário similares ao de um computador desktop, ou seja, com a aparência de um computador colocado na mesa do usuário. A figura 3 mostra um computador torre em que seus componentes, ou seja, placa-mãe com um ou dois processadores no máximo; memória; um ou dois discos rígidos, que funcionarão como o sistema de armazenamento; e uma placa de rede, para que seja conectado à infraestrutura de rede, estão dentro de um gabinete.

Figura 3 – Servidor torre

Um servidor torre pode se encaixar muito bem nas pequenas empresas

com

uma

excelente

relação

custo-benefício.

São

características desse tipo de servidor: Tamanho pequeno, ocupa pouco espaço, sem necessitar de uma sala reservada para ele. Monitoramento mais simples, ideal para empresas pequenas.

Facilidade de crescimento com o acréscimo de discos rígidos no próprio gabinete. Menor custo de consumo de energia, menor ruído produzido, principalmente

por

não

necessitar

de

muitos

coolers

(ventiladores para resfriamento interno).

3.2 Servidor rack Com o crescimento dos negócios da empresa e a necessidade de um suporte maior da infraestrutura de TI, os servidores em torre já se tornam um gargalo. Nesse sentido, a melhor estrutura é a construção dos servidores em rack, com slots para expansão de placas e de discos para armazenamento de dados. A configuração de um servidor em rack proporciona maior facilidade na escalabilidade da infraestrutura, pois novos servidores podem ser colocados acrescentando-se placas nos slots, tornando o cabeamento de rede mais compacto. Novos discos são acrescentados, utilizando-se tecnologias que permitem a instalação com o servidor em funcionamento, mantendo as funcionalidades da empresa. A figura 4 mostra a parte traseira de um servidor montado em rack com os diversos componentes, como fontes de alimentação redundantes (se uma parar a outra funciona automaticamente), placas CPU, placas de rede e sistemas de armazenamento.

Figura 4 – Vista traseira de um rack para servidores

Ao utilizar o ambiente de servidores montados em rack, o responsável

pela

infraestrutura

de

TI

deve

levar

algumas

características em consideração: Os servidores montados em rack ficam próximos uns dos outros, o que requer mais resfriamento do que os montados em torre. As ventoinhas geralmente geram mais ruídos, o que, devido ao calor, obriga a empresa a possuir um controle de refrigeração com controle de temperatura e umidade. Geralmente, os servidores montados em rack são instalados em uma sala reservada e gera dificuldade para manutenção dos servidores que precisam ser retirados do rack. Ideais para empresas que queiram montar um data center centralizado, com maior flexibilidade e com grande capacidade

de armazenamento. A figura 5 mostra os servidores montados em rack e as facilidades de administração através de um único terminal de acesso. Isso diminui muito o espaço necessário e também facilita o trabalho do administrador da infraestrutura de TI. Figura 5 – Administração de servidores montados em rack

3.3 Servidor blade

Os servidores blade são construídos com o formato de pequenas caixas e em módulos. Isso permite a possibilidade de se colocar mais servidores em um espaço menor. Os servidores são montados em chassi para aumentar a quantidade de módulos, sistemas de armazenamento, fontes de energia, ventilação e placas de comunicação. O sistema de refrigeração integrado diminui muito o custo com energia. Outra vantagem é que a instalação de um novo servidor ou mesmo outros dispositivos, como switches de rede, firewall e balanceadores de carga, se torna muito mais fácil, como é apresentado na figura 6. Figura 6 – Montagem de servidor blade

Algumas características dos servidores blade são importantes para se considerar em sua utilização nas empresas: Os servidores blade ocupam menos espaço do que os montados em rack e utilizam menos energia e resfriamento, diminuindo o

calor e o custo com resfriamento. A infraestrutura de cabeamento de rede, de energia, de resfriamento, as entradas e saídas são projetadas para um gabinete, ou seja, a montagem blade. Os servidores blade são interessantes para empresas com maior número de usuários e com mais necessidade de processamento e de armazenamento, e tudo isso com otimização de espaço.

Considerações finais Neste capítulo, conhecemos um pouco sobre a infraestrutura de TI, mais especificamente sobre o tema servidor. Vimos as características dos diversos tipos de servidores que podem ser instalados em uma empresa, como um servidor de arquivos para centralizar tudo e assim facilitar as tarefas do profissional escalado para cuidar da TI da empresa. Com o passar do tempo e a evolução dos negócios, outros servidores vão sendo instalados. Aquele local reservado para o servidor inicial, às vezes na mesa do responsável pela TI, já não comporta mais e surge então a sala do servidor. As opções pela configuração do hardware do servidor vão passando de um servidor com um processador e um disco rígido para as placas motherboard com múltiplos processadores e vários discos rígidos. O gabinete já passou de torre para rack, e o crescimento dos negócios continua. As exigências de infraestrutura

de TI aumentam e aquele funcionário do início se transformou em uma equipe de TI. Os servidores blade podem povoar as empresas, afinal seus módulos se mostraram mais adequados e, assim, vai ocorrendo a evolução da TI na empresa. E o futuro? Como a infraestrutura de TI vai se comportar diante das novas tecnologias que surgem a cada dia? E o custo de atualização de tudo isso? Bom, a solução será compartilhar cada vez mais os servidores, os softwares e até mesmo a infraestrutura de TI, como um todo.

Referências LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007. O’BRIEN, James A.; MARAKAS, George M. Administração de sistemas de informação. Porto Alegre: AMGH, 2013. ROSS, Keith W., KUROSE, Jim. Redes de computadores e a internet: uma abordagem top-down. São Paulo: Pearson, 2013

[1] Redundância – termo utilizado para indicar que existe mais de uma opção. Exemplo: duas placas de rede garantem a comunicação no caso de uma delas falhar. Esse termo é muito utilizado em sistemas de alta disponibilidade. [2] Protocolo de transferência de correio simples. [3] Protocolo de transferência de hipertexto. [4] Sistema de nomes e domínios. [5] Protocolo de transferência de arquivos.

Capítulo 4

Armazenamento de dados e data center

A adoção de sistemas computacionais pelas organizações e a construção da infraestrutura de TI como estratégia de negócios passam pelo armazenamento de todos os dados gerados pelos diversos aplicativos e equipamentos. Os dados, após convertidos para digitais (coleção de zeros e uns), são então armazenados organizadamente para acesso futuro. Os computadores, com o aumento da capacidade de processamento, possibilitam que diversos tipos de informação possam ser convertidos para digital. Os sistemas de armazenamento com os avanços tecnológicos, a diminuição de custo dos equipamentos responsáveis por guardar os dados e as tecnologias de comunicação, que possibilitam o acesso a esses dados armazenados, criaram uma explosão de dados. Neste capítulo, vamos nos concentrar em alguns tipos de dispositivos para armazenamento de dados, como os discos rígidos e os

discos

de

estado

sólido



SSD

(Solid

State

Driver).

Apresentaremos também dispositivos e arquiteturas para storage e backup e, por fim, mostraremos o papel e os tipos de data center.

Esses conhecimentos nos levam à preparação de sistemas mais atuais de armazenamento de dados e ao uso compartilhado com diversas empresas, diminuindo assim o custo com toda a infraestrutura necessária.

1 Conceitos sobre armazenamento O volume de dados produzido a cada instante pelas mais diversas aplicações necessita ser armazenado, e isso tem sido um grande desafio para a infraestrutura de TI. O armazenamento, das informações,

inicialmente

em

memórias

semicondutoras,

as

chamadas memórias de acesso volátil[1] (RAM – Random-access Memory), durante a execução de programas pelo microprocessador, precisa ser realizado em algum meio não volátil. Na figura 1, temos diversos tipos de informações transformadas em dados digitais que precisam de armazenamento. A quantidade de dados digitais cresce a cada instante, o que força o desenvolvimento da tecnologia de armazenamento com custo cada vez mais baixo e acesso mais rápido.

Figura 1 – Tipos de informações e a transformação em dados

Com a necessidade de armazenamento, surgiu o disco rígido, apresentado na figura 2, com alta capacidade de armazenamento e velocidade de acesso. Segundo O’Brien e Marakas (2013), tem sido a forma de armazenamento mais utilizada em computadores. Figura 2 – Parte mecânica de um disco rígido

Com a evolução tecnológica, novas opções de dispositivos de armazenamento foram desenvolvidas, como a memória flash e os discos de estado sólido (SSD – Solid State Driver), assim conhecidos por não possuírem componentes mecânicos. Eles são mais rápidos, mais resistentes a choques mecânicos, com menor peso, menor consumo de energia e maior capacidade de armazenamento. Os SSD estão sendo cada vez mais utilizados em computadores pessoais, tablets e smartphones (LAUDON; LAUDON, 2007). Figura 3 – Disco de estado sólido SSD

Segundo Laudon e Laudon (2007), outros dispositivos de armazenamento podem ser utilizados, como: CD-ROM – Compact Disc – Read-only Memory (disco compacto de memória apenas de leitura): utilizado para armazenamento só de leitura. CD-RW



Compact

Disc

ReWritable

(disco

compacto

regravável): projetado para que os dados possam ser

regravados; utilizado em aplicações com alto volume de armazenamento de dados. DVD – Digital Versatile Disc (disco digital de vídeo): mais utilizado para armazenar vídeos e dados digitalizados, como textos, vídeos e áudios. Fita magnética: tecnologia antiga que possibilita armazenar grandes quantidades de dados que podem ser acessados de forma rápida, mas não como em outras tecnologias de armazenamento, nas quais o acesso é quase instantâneo.

2 Armazenamento – storage O aumento do volume de dados armazenados e então acessados com maior velocidade tem sido um dos pontos levados em consideração ao se projetar novas tecnologias e estratégias de armazenamento. O armazenamento storage, de uma forma geral, é um repositório onde estão centralizados os dados da rede local de uma organização, podendo funcionar como servidor de arquivos ou como backup, ou ainda uma área de compartilhamento de informações e colaboração. As funções de storage podem ser divididas em três tipos, depen‐ dendo de como são ligados à infraestrutura de TI: DAS – Direct Attached Storage (armazenamento direto vinculado): é um dispositivo externo ligado diretamente a um

computador ou servidor e funciona como um disco externo de armazenamento. NAS – Network Attached Storage (armazenamento direto em rede): dispositivo ligado à rede local que possui um sistema operacional e funciona como um servidor de arquivos, compar‐ tilhando e gerenciando as informações armazenadas. SAN – Storage Area Network (rede de área de armazenamento): rede onde estão conectados servidores e storages. Oferece maior disponibilidade, desempenho e segurança no acesso aos dados. Vamos nos concentrar nas redes de armazenamento, as SAN (Storage Area Network), que são formadas por vários servidores e seus dispositivos de armazenamento. As redes que utilizam switches de alta velocidade e fibra óptica como meio físico de interligação são chamadas de FC-SAN (Fibre Channel Storage Area Network), rede de área de armazenamento de canal de fibra, sendo as redes de armazenamento de alta velocidade. A figura 4 mostra que diversos usuários podem acessar os dados armazenados na rede SAN, a qual utiliza fitas magnéticas e os discos rígidos montados com tecnologia de rede redundante de discos independentes (RAID – Redundant Array of Inexpensive Disk) para montagem de discos em formato de matriz para garantir a integridade dos dados gravados.

Figura 4 – Rede SAN com os diversos tipos de armazenamento

Fonte: adaptado de Laudon e Laudon (2007, p. 107).

O storage é importante para as empresas que possuem diversos arquivos de dados, provenientes de diferentes computadores, servidores e até mesmo de locais externos à empresa, e facilita muito o trabalho colaborativo, com o compartilhamento dos dados.

3 Armazenamento – backup O armazenamento de dados consiste em guardar arquivos em dispositivo de várias tecnologias, por exemplo: o armazenamento óptico (CDs, DVS e Blu-Ray),[2] o armazenamento magnético (o mais

comum é o disco rígido) e o armazenamento eletrônico (as memórias de estado sólido: pen drives, cartões SD e SSD). Segundo Laudon e Laudon (2007), o conceito de backup é utilizado para dar segurança aos dados que foram gravados e, com isso, garantir a continuidade dos negócios. Assim, vamos utilizá-lo como método para armazenamento de cópias dos arquivos em locais diferentes, não só do computador em si, seja ele de usuário ou servidor, como até fora da área da empresa. O backup tem como objetivo garantir a integridade e a disponibilidade das informações. As organizações podem estruturar seus processos de backup utilizando alguns tipos: Backup completo: todas as informações armazenadas no dispositivo são copiadas para outro dispositivo. Pode ser planejado um backup completo a cada 24 horas, tendo as informações sido alteradas ou não. Backup incremental: são copiados apenas os dados que foram alterados entre um backup e outro. Uma vantagem é o menor volume de dados a serem copiados e com isso menor tempo para a realização do backup. Backup diferencial: na primeira vez que o backup for executado, copiará todos os dados; nas próximas vezes, serão copiados todos os dados que foram alterados em relação ao último backup completo. Nesse modo de backup são armazenados

mais dados do que no incremental e menos do que no backup completo.

4 Papel do data center Segundo Veras (2009, p. 77): Um Datacenter ou Data Center é um conjunto integrado de componentes de alta tecnologia que permitem fornecer serviços de infraestrutura de TI de valor agregado, tipicamente processamento e armazenamento de dados, em larga escala, para qualquer tipo de organização. Os Datacenters e suas conexões formam a infraestrutura da nuvem, quer seja pública ou privada.

Um data center (ou centro de processamento de dados), portanto, é uma infraestrutura fundamental para que muitos dos serviços solicitados pelos usuários sejam realizados e para que as empresas possam dar continuidade aos seus negócios. No data center estão colocados os equipamentos para o processamento e o armazenamento dos dados, com diversos servidores para os mais diversos serviços; sistemas de armazenamento como storages; e equipamentos de rede, como switches e roteadores. A figura 5 apresenta uma instalação de um data center em um prédio comercial.

Figura 5 – Instalações de um data center

A estrutura física de um data center pode ser de propriedade de uma única organização ou pode ser um data center de internet, que é responsável por fornecer serviços de nuvem para diversas empresas. Os data centers podem ser divididos em três grandes blocos: as instalações

(aqui

englobamos

as

instalações

físicas,

os

equipamentos de energia e refrigeração), o gerenciamento e a TI, conforme mostramos na figura 6. Os data centers recebem todo o provisionamento

de

energia

para

funcionar,

e

a

parte

de

telecomunicações envolve toda a infraestrutura de rede para que as empresas possam fazer upload e download de seus dados armazenados no data center.

Figura 6 – Componentes de um data center

Fonte: adaptado de Veras (2009, p. 79).

O data center tem um importante papel nos cenários atuais de infraestrutura para os negócios de TI das empresas, oferecendo serviços

conforme

a

necessidade

de

cada

aplicação.

O

dimensionamento dos componentes do data center deve utilizar critérios para fornecer: desempenho, disponibilidade, escalabilidade, segurança e gerenciabilidade. Segundo Veras (2009, p. 81): a virtualização é o principal serviço de TI do Data Center e influenciará o dimensionamento dos demais serviços oferecidos. O

projeto correto da estrutura de TI virtualizada é a chave do bom projeto de Data Center.

São serviços oferecidos pelo data center: Rede: fornecidos através da rede de switches que conectam os componentes internos do data center (os servidores e os storages). Segurança: fornecidos pelos equipamentos de firewall[3] que proveem todo o monitoramento das atividades dos usuários, garantindo a segurança das informações. Processamento: responsáveis pelo desempenho do data center, envolvem os servidores e sua arquitetura, os sistemas operacionais e os processadores. Armazenamento: fornecem o armazenamento de dados em storage. Diversas redes de armazenamento são construídas no data center. Aqui os níveis de disponibilidade e segurança são fundamentais. Virtualização: com esses serviços, um servidor físico pode ser utilizado para diversas aplicações em sistemas operacionais diferentes, otimizando os recursos de hardware do data center. Nesse ponto, os sistemas operacionais de virtualização são fundamentais. Aplicação: envolvem os serviços de load-balancing (balancea‐ mento de carga entre servidores e aplicação), a camada de segurança para as aplicações, os SSL (Secure Socket Layer) e as

técnicas de caching (manter os dados em memória para maior velocidade no acesso). Alta disponibilidade e recuperação de desastres: são serviços oferecidos pelo data center que garantem a integridade, a alta disponibilidade e a recuperação de alguma falha. Aqui equipamentos de backup, site de contingência (onde os dados estão espelhados e que podem ser até em outro continente). Monitoramento, gerenciamento e automação: o gerenciamento funcionando 24x7 envolve os dispositivos de hardware do data center,

os

sistemas

operacionais

e

seus

arquivos

de

configuração. O planejamento deve garantir a execução dos processos dos clientes, mesmo com paradas programadas para manutenção.

5 Tipos de data center A construção de um data center requer soluções integradas que garantam a continuidade dos negócios, pois falhas em algum equipamento podem gerar um custo muito alto para os clientes. Na maioria das vezes, as falhas estão relacionadas à infraestrutura (energia elétrica, conectividade com falha na comunicação e climatização), ou a ameaças físicas, como incêndios, vazamento de água, fumaça e gases corrosivos. Os ambientes do data center são construídos de forma modular e que podem crescer de acordo com o aumento da demanda por

serviços. Os data center podem utilizar painéis modulares e dois níveis de proteção: Portas corta-fogo: em caso de incêndio, barram as chamas por um período de tempo, mas não garantem a integridade das instalações. Sala-cofre: protege o data center contra todos os tipos de ameaças físicas. Normalmente o data center fica em um ambiente fechado e com uma infraestrutura de suporte. Ele pode ser instalado em um prédio inteiro, em uma sala, em um andar ou ainda ser montado em um contêiner e colocado, por exemplo, em algum espaço externo de uma empresa. Cada um desses exemplos depende do tamanho do data center.

5.1 Data center em prédios de missão crítica Esse tipo de data center é utilizado onde há necessidade de armazenar e processar dados críticos e operações complexas. São prédios construídos exclusivamente para o data center, com todos os requisitos de segurança física e com níveis de redundância, para garantir alta disponibilidade das atividades e dos serviços. A modularidade no data center construído em prédios de missão crítica aplica-se à infraestrutura como um todo e deve ser pensada para a demanda atual e para expansão futura.

5.2 Data center em edifícios multidisciplinares

Nesse tipo de data center, construído em prédios comerciais, os espaços são adaptados de acordo com as especificações. O que se deve levar em consideração é que nesse tipo de data center os espaços são compartilhados com várias pessoas, o que aumenta riscos de acesso indevido e roubos. Além disso, esses ambientes possuem cozinhas e banheiros, aumentando as possibilidades de algum tipo de vazamento ou de incêndio. É recomendável que a segurança física seja maior, e a indicação é que se utilize sala-cofre, garantindo assim a proteção contra os riscos físicos mencionados.

5.3 Data center modular em contêiner Esse tipo de construção de data center é utilizado para empresas que não possuem espaço interno. A solução é um contêiner colocado externamente, por exemplo no estacionamento. Os contêineres marítimos não são adequados para a construção de um data center, pois são estreitos e têm tamanho fixo, dificultando a manutenção e a operação no ambiente. Assim, a ideia é que o data center seja projetado conforme as necessidades de infraestrutura interna e que tenha flexibilidade, considerando a modularidade e a expansão. Os data centers modulares em contêineres são construídos com proteção contra as condições do tempo, com proteção corta-fogo e proteção da sala-cofre. Os equipamentos são colocados em rack para ocupar menos espaço e garantir que todas as funcionalidades sejam atendidas.

Considerações finais

O armazenamento de dados é fundamental para a infraestrutura de TI devido ao crescimento de novas aplicações e aos volumes de dados cada vez maiores. Nesse sentido, novos dispositivos de armazenamento têm surgido, considerando também o aumento da velocidade das redes de comunicação. As

empresas,

para

resolver

suas

necessidades

de

armazenamento, começam com servidores e armazenamento próprios. Com o passar do tempo e o aumento dos negócios, dependendo também do tamanho e potencial de cada organização, torna-se

necessário

construir

ambientes

próprios

para

o

armazenamento dos dados, quer seja em um prédio comercial ou em um contêiner. O negócio de armazenamento de dados tem crescido, e com isso surgem empresas que constroem grandes data centers e passam a atuar não só como fornecedores de armazenamento, mas também com serviços de infraestrutura, de plataforma e de software, que veremos em capítulos sobre computação em nuvem. Neste capítulo, conhecemos alguns tipos de dispositivos de armazenamento; vimos também o papel de um data center no contexto de infraestrutura de TI e os diversos tipos que podem ser construídos.

Referências LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007.

O’BRIEN, James A.; MARAKAS, George M. Administração de sistemas de informação. Porto Alegre: AMGH, 2013. VERAS, Manoel. Cloud computing: nova arquitetura de TI. Rio de Janeiro: Brasport, 2012

[1] Volátil – termo utilizado para dispositivos que, ao ser desligada a energia, perdem seu conteúdo. [2] Blu-Ray – disco digital óptico, utilizado para armazenamento. [3] Firewall – dispositivo de segurança para monitorar o tráfego de uma rede de computadores.

Capítulo 5

Sistema operacional: conceitos

O sistema operacional funciona como um conjunto de processos que inicializa o hardware, fornecendo as rotinas básicas para o controle dos dispositivos. Além disso, gerencia, escalona, faz a interação de tarefas e mantém a integridade do sistema. Neste capítulo, abordaremos os conceitos de um sistema operacional. Primeiramente, entenderemos o que é um processo e como ele auxilia os usuários na execução de seus aplicativos. Além disso, vamos conhecer os componentes do sistema operacional, compreender os conceitos de kernel e shell e ver como eles funcionam para facilitar o uso do sistema.

1 Conceitos sobre sistema operacional Para entendermos o que é um sistema operacional é importante relembrar que um computador é construído com processadores, memória principal, discos, teclado, mouse, monitor de vídeo, interface de rede, impressora e ainda diversos outros dispositivos de entrada e saída de dados. O desenvolvimento de softwares para uma aplicação deve então utilizar esses recursos para executar alguma tarefa.

1.1 Processo Os programas de computador são executados pelo processador, que tem uma arquitetura interna composta de registradores, contadores de programa, ponteiro para pilha, unidade lógica aritmética e a unidade de processamento. Assim, um primeiro conceito muito importante seria o processo, que nesse contexto significa um programa em execução. IMPORTANTE Vamos chamar o processador de CPU[1] para não confundir com a placa-mãe, onde estão diversos componentes, incluindo também o processador ou CPU.

Segundo Tanenbaum (2016, p. 27): associado a cada processo está o espaço de endereçamento, uma lista de posições de memória que vai de 0 a algum máximo, onde o processo pode ler e escrever. O espaço de endereçamento contém o programa executável, os dados do programa e sua pilha.

Os processos de um sistema operacional possuem três estados: em execução, pronto e bloqueado. Na figura 1 podemos encontrar os três estados e a transição entre eles. As transições entre os estados podem ser: 1. O processo bloqueado enquanto aguarda a uma entrada de dispositivos de E/S (entrada/saída). 2. O escalador de processos seleciona outro processo.

3. O escalador de processos seleciona esse processo. 4. A entrada torna-se disponível. Figura 1 – Transição de estados de um processo

A transição 1 ocorre quando um processo que está em execução não pode continuar, por exemplo, quando um recurso necessário não está disponível. As transições 2 e 3 são causadas pelo escalador de processos, sendo que na transição 2 o processo que está sendo executado já teve tempo suficiente de CPU e, mesmo ainda não tendo terminado, o escalador decide deixar que outro processo comece a utilizar a CPU. A transição 3 ocorre quando o escalador define que o processo volte a ser executado pela CPU. Já a transição 4 se dá com a ocorrência de um evento externo que era esperado pelo processo. Observe que a transição 4 não coloca o processo direto em modo de

execução devido à possibilidade de que um outro processo esteja em execução. Para Tanenbaum (2016, p. 19), computadores são equipados com um dispositivo de software chamado de sistema operacional, cuja função é fornecer aos programas de usuário um modelo de computador melhor, mais simples e mais limpo, assim como lidar com o gerenciamento de todos os recursos.

E esses recursos se referem a todos os componentes de um computador. A utilização dos recursos computacionais tanto do hardware quanto do software envolve tarefas complexas e necessita de um sistema de gerenciamento. Segundo O’Brien e Marakas (2013, p. 138), “software de sistema consiste em um programa de gerenciamento e suporte

de

sistema

de

computador

e

das

atividades

processamento das informações”. NA PRÁTICA Os sistemas operacionais e os programas de gerenciamento das atividades de rede são interfaces de software que ligam o hardware às redes de computadores e aos programas de aplicação dos usuários. Por exemplo: um computador possui um hardware de placa de rede, que é responsável pela interligação entre a placa motherboard (onde está o processador) e o conector e o cabo de redes, e para isso possui um sistema de endereçamento que é atribuído por software. O sistema operacional de rede, através desse “endereço”, enviará os dados corretamente.

de

Para o funcionamento de um computador, é necessário um sistema que garanta aos usuários a utilização dos recursos de hardware por meio de aplicativos (por exemplo: processadores de texto, planilhas, jogos, etc.). O sistema que faz essa conexão é chamado de sistema operacional. Quando um programa de usuário acessa um recurso de hardware, ele não precisa enviar mensagens específicas ao dispositivo, mas ao sistema operacional, que as encaminhará por meio de um driver[2] de comunicação. Essa característica facilita muito aos programadores de aplicativos, que não precisam saber como se comunicar com os periféricos e deixam essa atividade para o software do driver, disponibilizado pelo sistema operacional. Imagine se toda vez que um programador, ao desenvolver um aplicativo, precisasse conhecer todo o processo de comunicação de um determinado dispositivo. Se assim fosse necessário, o que aconteceria com o software desenvolvido com um determinado dispositivo, por exemplo, um mouse, e os clientes utilizassem mouses diferentes? A ideia do programa driver que é desenvolvido pelo fabricante de dispositivos, é muito eficiente, pois basta ligar o dispositivo ao computador e, por meio do sistema operacional, instalar o driver de comunicação uma vez e a partir disso todos os programas aplicativos podem usar o recurso de hardware. Se houver mudança de dispositivo, bastará instalar o novo driver. Os softwares de sistema são organizados em duas categorias:

Programa de gerenciamento do sistema: é responsável pelo gerenciamento dos recursos de hardware, software, rede e pelos dados necessários para que as tarefas dos usuários sejam executadas. Exemplos: o sistema operacional, utilitários do sistema, gerenciamento de banco de dados e gerenciamento de rede. Programa de desenvolvimento do sistema: programas que possibilitam ao usuário o desenvolvimento de programas para o processamento das informações. Exemplos: editores das linguagens de programação e ferramentas de programação da engenharia de software, que auxiliam no projeto dos aplicativos que serão utilizados pelos usuários. Na figura 2 temos uma representação em camadas de uma arquitetura de sistema operacional. Na camada mais baixa estão os dispositivos de hardware como: circuitos integrados, fonte de energia, barramentos de comunicação, placas de vídeo, placas de rede, processadores, etc. Esses dispositivos são acessados por meio de um conjunto de instruções que é interpretado pela camada de microprogramação. A camada do sistema operacional recebe as informações das aplicações dos usuários, que são compiladas ou interpretadas por programas que facilitam o acesso das aplicações aos recursos de hardware. Dessa forma, os programas de usuários podem ser desenvolvidos sem a preocupação, por exemplo, de como os dados da memória são transferidos para o disco rígido, em qual

trilha do disco serão gravados; ou, ainda, como será a movimentação da cabeça de gravação. Tudo isso é realizado pelo sistema operacional. Acima da camada do sistema operacional existem outras funções como compiladores, editores e interpretadores de comando que auxiliam as aplicações a utilizar o sistema operacional. E, na camada mais alta, estão as aplicações dos usuários, desenvolvidas para resolver problemas específicos, como escrever um texto, processar imagens, aplicações comerciais, etc. Figura 2 – Sistema de computador: hardware, programas de sistema e aplicações

Segundo O’Brien e Marakas (2013, p. 138): A principal finalidade do sistema operacional é maximizar a produtividade do sistema de um computador, operando-o com a máxima eficácia. O sistema operacional minimiza o nível de intervenção humana necessário durante o processamento. Ele ajuda os programas de aplicação a executar operações comuns, como acessar a rede, inserir dados, salvar e recuperar arquivos e imprimir ou exibir uma saída.

Assim, o sistema operacional é composto de uma coleção de programas que inicializa o hardware do computador, fornece as rotinas para controle dos dispositivos, gerencia, escalona e faz a interação de tarefas e mantém a integridade de sistema.

2 Componentes de um sistema operacional O sistema operacional possui softwares que administram as relações com o hardware de um computador e é escrito com várias linhas de instruções. Para facilitar o desenvolvimento, esses softwares são construídos em módulos, que ficam responsáveis por uma determinada função. O quadro 1 mostra os módulos kernel e shell do sistema operacional e suas funções. Quadro 1 – Componentes do sistema operacional

KERNEL (NÚCLEO)

SHELL (AMBIENTE OPERACIONAL)

Núcleo do sistema operacional Permanece residente memória do computador

na

Gerencia os processos e a memória Efetua o escalonamento das tarefas Executa a comunicação entre os processos Processa as interrupções

execuções

e

Conhecido como o ambiente operacional – “interpretador de comandos” Assume o controle do programa Recebe as solicitações dos usuários Interpreta as solicitações dos usuários Atua sobre as execuções dos usuários

Com esses módulos, as tarefas do sistema operacional recebem as solicitações dos usuários e, com uma interface amigável através do interpretador de comandos, facilita o uso dos computadores. O kernel é o núcleo do sistema operacional e responsável pela execução dos processos, sendo a parte mais interna do sistema operacional. O kernel tem a função de iniciar o sistema e fazer a gerência dos recursos. Por exemplo, a memória, o processador e o dispositivo de armazenamento precisam de controle para que possam ser utilizados por diversos programas. Assim, a função do kernel é gerenciar e alocar os recursos necessários de processador, memória e o espaço em disco a serem disponibilizados para o programa e só então iniciar o processo. Os processos executam várias funções básicas, e será de responsabilidade do kernel responder às solicitações com um conjunto de instruções para que os programas possam funcionar adequadamente. Além disso, ele possibilita a comunicação com os dispositivos por meio dos drivers instalados.

NA PRÁTICA Uma empresa possui um computador com um sistema operacional instalado e comprou uma impressora. Para que ela possa se comu‐ nicar com o computador será necessária a ligação por algum meio físico (cabo ou conexão sem fio) e configurada através da instalação do driver da impressora, fornecido pelo fabricante. Algumas impressoras podem até já ter o driver homologado (isto significa que foi testado pelo fabricante do sistema operacional) já instalado no sistema operacional. Recomenda-se a instalação dos drivers mais recentes dos dispositivos, que são encontrados no site do fabricante.

3 Funcionamento do sistema operacional Segundo O’Brien e Marakas (2013, p. 138), qualquer sistema operacional executa cinco funções básicas na operação do sistema de um computador: serve como interface do usuário, gerenciador de recursos, gerenciador de tarefas, gerenciador de arquivos e utilitários, além de oferecer serviços de suporte.

Na figura 3 são mostradas as funções do sistema operacional.

Figura 3 – Funções do sistema operacional

A interface do usuário é a parte do sistema operacional que faz a comunicação com o usuário e permite que ele possa carregar os programas, acessar os arquivos e realizar diversas tarefas. Existem três tipos de interface de usuário: a orientada a comandos, a orientada a menus e a interface gráfica. Atualmente, a maioria dos sistemas operacionais utiliza a interface gráfica para facilitar o uso dos computadores pelos usuários. A partir dessa interface, o sistema operacional realiza o gerenciamento das tarefas dos usuários e determina quando e quais tarefas são executadas pela CPU, tais como: o gerenciamento dos arquivos, o controle da criação e a exclusão de arquivos de programas, dados e o acesso a eles. Identifica a posição física dos arquivos nos dispositivos de armazenamento e gerencia os recursos de hardware do computador (CPU, memória, dispositivos de armazenamento, placas de rede e diversos dispositivos de entrada e saída). Além disso, o sistema operacional é responsável por diversos

serviços de suporte que são parte de todas as atividades apoiando as aplicações dos usuários e fornecendo um ambiente mais produtivo. Na figura 4 temos as funções do sistema operacional relacionadas aos dispositivos de hardware e que facilitam o entendimento das diversas funções. Os sistemas operacionais têm por função proporcionar uma interface para que o usuário possa se comunicar com o computador. Isso pode ser feito, por exemplo, por meio dos dispositivos de entrada, como o teclado e o mouse. Para que o computador possa se comunicar com o usuário, as informações podem ser apresentadas no monitor de vídeo ou na impressora, que são os dispositivos de saída. Os dados processados pela CPU são armazenados durante a execução do programa na memória RAM (Random-access Memory) e depois transferidos para armazenamento em discos rígidos ou DVD. Os programas executados na CPU possuem rotinas específicas que são armazenadas na memória ROM (Read-only Memory) e acessadas pela CPU. O que se pode concluir sobre esse cenário de relação de programas e dispositivos de hardware é que o sistema operacional funciona como um “maestro”, cuidando de todo o gerenciamento.

Figura 4 – Funções do sistema operacional relacionadas aos dispositivos de hardware do computador

Existem diversos dispositivos que podem ser conectados ao computador e servir de entrada ou saída de dados; outros são utilizados para armazenamento de dados. Na área de processos industriais,

por

exemplo,

diversos

sensores

podem

fornecer

informações para análise e outras funcionarem como saída, dando as respostas, como ligar uma válvula que libera água em uma sala devido a um alarme de incêndio.

Considerações finais

Neste capítulo, conhecemos os conceitos básicos de um sistema operacional começando pelo conceito de processo e passando pelo modo como eles são alocados na memória a fim de serem executados. Também vimos dois componentes do sistema operacional, cuja função é facilitar o uso do computador ao usuário: o kernel e o shell. Com eles, a funcionalidade do sistema operacional fica mais fácil de ser entendida. Aqui é importante considerar que as atividades realizadas pelo sistema operacional são fundamentais para que o usuário tenha maior conforto na utilização do computador em suas aplicações de negócios, sem se preocupar com detalhes internos, por exemplo: como um arquivo de texto, visível na tela do computador, é armazenado na memória e depois alocado no disco rígido.

Referências LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007. O’BRIEN, James A.; MARAKAS, George M. Administração de sistemas de informação. Porto Alegre: AMGH, 2013. TANENBAUM, Andrew S. Sistemas operacionais modernos. São Paulo: Pearson, 2016.

[1]

CPU

(Central

Processing

Unit)



microprocessador

dos

computadores. [2] Driver – neste contexto, significa um programa de comunicação de um dispositivo com o sistema operacional.

Capítulo 6

Sistema operacional: tipos

Neste capítulo, vamos conhecer os principais tipos de sistema operacional, onde são utilizados e como são classificados. Veremos também a evolução dos sistemas operacionais da Microsoft para computadores desktop e para servidores. Abordaremos o sistema operacional Mac OS, que é utilizado nos computadores Macintosh; por fim, vamos conhecer o sistema operacional Linux e o conceito de código aberto e software livre.

1 Principais tipos de sistema operacional Os sistemas operacionais podem ser divididos em dois tipos: Sistemas

monoprogramáveis

ou

monotarefas:

são

caracterizados pelo modo como o processador, a memória e os dispositivos periféricos são dedicados a um único usuário (monousuário). Assim, enquanto o programa aguarda por um evento, por exemplo a digitação de uma informação, o processador não realiza qualquer tarefa, e a memória fica subutilizada caso o programa não a preencha totalmente.

Sistemas multiprogramáveis ou multitarefas: são classificados pelo modo como suas aplicações são gerenciadas. Nesses sistemas, o tempo de utilização da CPU é muito maior, e a memória é utilizada com mais eficiência. Nos sistemas multiprogramáveis, vários programas podem utilizar o mesmo recurso, e nos multitarefas o usuário pode, por exemplo, editar textos, imprimir arquivos, acessar dados de uma planilha, ou seja, realizar várias tarefas ao mesmo tempo. Para que os usuários possam executar várias tarefas, o sistema multiusuário utiliza um recurso chamado tempo compartilhado (timesharing), que na prática significa que o sistema operacional aloca uma fatia de tempo do processador e também de memória e periféricos que são então compartilhados. Não podemos esquecer que a velocidade do processador é muito maior do que memória e dispositivos periféricos. Graças a isso, o sistema operacional pode alocar diversas tarefas, ou seja, enquanto uma tarefa espera resposta de memória ou de dispositivo periférico, o processador pode executar outra tarefa. O gerenciamento das tarefas é feito por rotinas do sistema operacional. Os sistemas operacionais possuem características que os diferem quanto à arquitetura de hardware onde serão executados, e escolher o sistema operacional que melhor se adapta ao hardware dará às aplicações e aos negócios maior performance e facilidade no uso.

Vamos descrever os principais tipos de sistemas operacionais e suas características e apresentar alguns exemplos de utilização.

1.1 Sistema operacional para computadores de grande porte Os computadores de grande porte são diferentes de outros computadores em termos da capacidade de E/S (entrada/saída). Assim disponibilizam muito espaço de armazenamento. Os sistemas operacionais para esses computadores são orientados para processamento simultâneo de muitas tarefas (chamadas de jobs) com enormes quantidades de E/S. Os serviços disponibilizados são: em lote (também chamado de batch), processamento de transações e os de tempo compartilhado. Os mainframes são exemplos desses computadores de grande porte. Atualmente, novos servidores web e servidores para transações têm sido desenvolvidos pelos fabricantes. Empresas como a IBM têm desenvolvido sistemas operacionais para computadores de grande porte. Um exemplo disso é o sistema operacional z/OS.

1.2 Sistema operacional de servidores Os computadores servidores possuem uma arquitetura de hardware desenvolvida para que vários usuários em rede possam utilizar seus recursos ao mesmo tempo; sua função é compartilhar recursos de hardware e software. Esse tipo de sistema operacional

deve fornecer um bom gerenciamento de recursos, serviços de impressão, serviços de arquivos e serviços web. Atualmente, diversos sistemas operacionais se encaixam nessa categoria, por exemplo: Unix, Windows Server, Linux (e suas diversas distribuições) e outros.

1.3 Sistema operacional de multiprocessadores Para aumentar o poder computacional de um servidor, uma estratégia é interligar várias CPUs em um único sistema. Esses sistemas podem ser chamados de computadores paralelos, multicomputadores ou multiprocessadores. Esse sistema operacional deve ter programas específicos de comunicação e conectividade. Nesse sistema operacional temos o conceito de cluster – conjunto de computadores que utiliza um sistema operacional para gerenciar os serviços dos sistemas distribuídos. São muito utilizados para serviços de alta disponibilidade e podemos considerá-los em três categorias: Cluster de alta disponibilidade: os sistemas permanecem funcionando por um longo tempo, e podemos dizer que eles nunca param e podem oferecer serviços onde essa necessidade seja importante. Cluster de alto desempenho: os sistemas nesse caso possibilitam uma alta carga de processamento. Um exemplo são os sistemas que demandam grande quantidade de cálculos.

Cluster de balanceamento de carga: já esse tipo de cluster tem por

função

controlar

a

distribuição

equilibrada

do

processamento. Como exemplos de sistemas operacionais com características para cluster podemos citar: Failover Cluster Windows, VMware ESXi e o Heartbeat do sistema operacional Linux. Desses exemplos apenas o sistema operacional Linux é gratuito, os demais dependem da aquisição de licença.

1.4 Sistema operacional para computadores pessoais São os sistemas operacionais para uso em computadores pessoais ou computadores utilizados na empresa como estação de trabalho (os desktops dos usuários). Como exemplos de sistemas operacionais para usuários temos: Windows da Microsoft, MacOS para os computadores Macintosh da Apple e as diversas distribuições Linux.

1.5 Sistema operacional para dispositivos portáteis São os sistemas operacionais utilizados em dispositivos portáteis.

Nessa

categoria

vamos

colocar

os

celulares,

os

smartphones e os iPod (tocador de música) e o iPad Touch (computador portátil). Como exemplos de sistemas operacionais para dispositivos portáteis temos o iOS (sistema da Apple para uso em celulares iPhone, iPod e iPad Touch), o Android (sistema operacional para celulares e smartphones, desenvolvido pela empresa Google, com base no núcleo do sistema operacional Linux)

e o Windows Phone. Existem outros sistemas para essa categoria, mas aqui vamos nos deter nos mais utilizados.

1.6 Sistema operacional de tempo real Para determinadas aplicações o tempo é um parâmetro fundamental, e isso significa que a execução de tarefas exige confiabilidade em tempo bastante preciso. São chamados de sistema operacional de tempo real (RTOS – Real Time Operating Systems). As rotinas para o processamento são muito especializadas e curtas para que possam executar a tarefa no menor espaço de tempo: as atividades com maior prioridade são executadas primeiro pelo processador, interrompendo alguma outra atividade de menor prioridade. Como as tarefas são divididas em rotinas bem especializadas (fazem uma ação bem específica), o sincronismo e o gerenciamento das interrupções são ações muito importantes desse tipo de sistema operacional. São exemplos de uso de sistema operacional de tempo real: sistemas de controle de tráfego aéreo, sistemas de controle de processos industriais, sistemas de robôs, sistemas médicos. Existem diversas outras aplicações que podem exigir a utilização de sistema operacional de tempo real.

1.7 Sistema operacional embarcado O sistema operacional embarcado é utilizado para pequenos dispositivos, pois realiza poucas funções. É importante considerar que esse tipo de sistema operacional deve trabalhar com restrições

de tamanho, memória e de consumo de energia. Como exemplos de uso de sistema operacional embarcado temos: equipamentos eletrodomésticos, os celulares, os setups box de TV digital, entre outros.

1.8 Sistema operacional de cartões inteligentes Os sistemas de cartões inteligentes (smart cards) são dispositivos do tamanho de um cartão de crédito, com uma CPU dentro dele, e com restrições quanto ao consumo de energia e à memória. São dispositivos que podem ter uma função específica, como pagamentos eletrônicos, ou com mais funções. O sistema operacional para os cartões inteligentes é bem simples e dedicado. São exemplos de uso de cartão inteligente: os cartões de controle de acesso, os cartões de bilhetes de passagens e o cartão utilizado como substituto do dinheiro.

2 Categorias de uso do sistema operacional Como já dissemos, os sistemas operacionais são projetados para diversos tipos de equipamentos e podem ser divididos em: sistemas operacionais para mainframes; sistemas operacionais para desktops; sistemas operacionais para servidores;

sistemas operacionais para dispositivos móveis (celulares e tablets). Vamos nos concentrar nos sistemas operacionais para desktop, servidores e dispositivos móveis. A maioria dos computadores atuais tem processadores potentes e, por isso, pode ser multitarefa; isso é possível também por causa do uso direto da memória, o que faz com que o armazenamento primário possa ser subdividido em diversas partições maiores e, assim, cada parte pode ser utilizada por aplicações diferentes. Essa característica faz com que um computador possa se comportar como se fosse muitos, ou como máquinas virtuais,[1] em que cada aplicação é executada de forma independente e simultânea (LAUDON; LAUDON, 2007). Para os computadores de uso pessoal e até mesmo nos escritórios, como estação de trabalho, são utilizados sistemas operacionais da família conhecida como Windows e desenvolvidos pela Microsoft; o sistema Mac OS, desenvolvido pela Apple; e o sistema operacional Linux, uma iniciativa de software livre que tem sido desenvolvido por diversos colaboradores. Um sistema operacional para computadores utilizado por muito tempo foi o DOS (Disk Operating System), com características de sistema operacional de um único usuário e monotarefa e que depois a Microsoft complementou com uma interface gráfica e alguns recursos de multitarefa.

2.1 Sistemas operacionais Windows para desktop

A partir de 1995, a Microsoft substituiu o DOS/Windows pelo Windows 95, uma versão de sistema operacional com interface gráfica para o usuário, recursos de multitarefa, serviços de rede e de multimídia. Já em 1998 é lançado o Windows 98 com diversos aprimoramentos e que depois daria origem ao Windows Me (Millennium Edition). Com o passar dos anos, a Microsoft lançou vários sistemas operacionais para desktops. Em 2001, lançou o Windows XP (eXPerience Professional) nas versões Home e Professional. Depois vieram o Windows 7, o Windows 8, o Windows 8.1 e o Windows 10. As diversas versões do sistema operacional para desktops agregaram novas funcionalidades e facilidades. E, como curiosidade, foi a partir do Windows 95 que o conceito de plug and play[2] e a navegação

na

internet

através

do

Internet

Explorer

foram

desenvolvidos. O Windows 98 incorpora o padrão USB, que passou a ser amplamente utilizado. O Windows Millennium Edition foi a última versão de sistema operacional baseada no DOS. Lançada em 2000, é, segundo especialistas, a pior de todas as versões do Windows. Aplicativos como Windows Media Player e Windows Movie Maker foram lançados nessa versão. Em 2001 foi lançada a versão Windows XP, que ficou quase 13 anos com suporte. Segundo especialistas, foi a melhor versão de sistema operacional para desktop desenvolvida pela Microsoft. O Windows 7, lançado em 2009, trouxe poucas mudanças com relação

ao Windows XP, sendo muito mais rápido, estável e mais fácil de utilizar. Com o avanço dos dispositivos sensíveis ao toque, a Microsoft lançou em 2012 o Windows 8. Entretanto, devido a mudanças radicais na aparência, que não agradou a todos, ele foi considerado um fracasso, apesar das novidades como o suporte ao USB 3.0 e a loja de aplicativos da Microsoft, onde o usuário poderia adquirir programas on-line. Como opção para diminuir a rejeição ao Windows 8, a Microsoft lançou o Windows 8.1, porém sem muitas novidades, a não ser a volta do botão do Menu Iniciar. Em 2014 foi lançado o Windows 10, com foco nos desktops. Várias funcionalidades para facilitar a vida dos usuários foram acrescentadas. Um dos grandes desafios dessa versão de Windows é reconquistar a confiança dos usuários, um tanto abalada com o Windows 8 (MICROSOFT, 2018).

2.2 Sistemas operacionais Windows para servidores Para os sistemas operacionais desenvolvidos pela Microsoft para utilização em computadores servidores podemos começar com o lançamento do Windows NT (New Technology) em 1995, um multitarefa e multiusuário que permitia a instalação em diversos servidores de rede com a finalidade de gerenciar computadores com necessidades de alto desempenho. Versões de servidores e workstations (estações de trabalho) foram lançadas em 1997. Em 2000, após vários aperfeiçoamentos, foi lançada a versão Windows 2000.

Em 2003 a Microsoft lançou o Windows Server 2003, sendo um Windows XP com algumas características “desligadas” no kernel e com maior estabilidade. Acrescentou novas melhorias de rede e mais serviços para administração. Uma atualização surgiu em 2005 e foi chamada de Windows Server 2003 R2. Em 2006 foi lançado o Windows Vista, com centenas de novas funcionalidades, como nova interface gráfica, novos recursos de pesquisa, ferramentas de criação de multimídia, e os sistemas de rede, de impressão, de áudio e de vídeo. Uma funcionalidade colocada nessa versão de sistema operacional foi a possibilidade de comunicação peer-to-peer, que nada mais é do que a comunicação entre computadores de uma rede doméstica, possibilitando o compartilhamento

de

arquivos

de

mídia

entre

os

diversos

dispositivos. A preocupação com a segurança e diminuição das vulnerabilidades também foi um dos maiores objetivos dessa versão. Em 2008 foi lançado o Windows Server 2008, que ampliou as características do Windows Vista e apresentou quatro versões projetadas para aplicações específicas (O’BRIEN; MARAKAS, 2013): Windows Server 2008, Standard Edition: voltado para uso em pequenos servidores, para compartilhamento de arquivos e impressão, serviços de conectividade com a internet e intranet[3] e ainda a execução de forma centralizada de aplicações. Windows Server 2008, Enterprise Edition: voltado para as aplicações coorporativas, com suporte a serviços XML[4] (eXtensible Markup Language) na web.

Windows Server 2008, Datacenter Edition: voltado para aplicações corporativas e as de missão crítica, em que são exigidas escalabilidade e disponibilidade altas. Windows Server 2008, Web Edition: voltado para serviços de hospedagem de páginas web e para o desenvolvimento e a utilização de aplicações e serviços na web. O Windows Server 2008 incorpora características do Windows Vista e implementa novos recursos, como: processos de rede com IPv6 nativo, rede wireless nativa, melhorias na segurança e velocidade; instalação baseada em imagem, com implantação e recuperação melhoradas, com novas ferramentas de diagnóstico; novos recursos de segurança e firewall com configuração mais segura; processadores e dispositivos de memória modelados como dispositivos plug and play e conectados de forma automática. O Windows Server 2012, lançado em setembro de 2012, acrescenta novos recursos com ênfase em computação em nuvem, atualização do software Hyper-V para virtualização e um novo sistema de arquivo. Em 2014 foi lançado a versão Windows Server 2012 R2.

2.3 Sistema operacional Unix

O sistema operacional Unix foi desenvolvido por Ken Thompson nos laboratórios da Bell AT&T em 1965. É multitarefa, multiusuário e gerenciador de redes e, graças a sua portabilidade, pode ser executado em computadores de pequeno, médio ou grande porte. Possui vários interpretadores de comandos (shell) e vários utilitários (montadores,

compiladores

para

diversas

linguagens

de

programação, processadores de texto, serviços de e-mail, serviços de banco de dados, etc.). A evolução do sistema operacional Unix e a distribuição dos códigos fonte junto às universidades fez com que surgissem duas linhas de desenvolvimento: Linha desenvolvida pela AT&T, que se tornou o System V do Unix System Labs. Linha desenvolvida na Universidade da Califórnia, que se chamou BSD (Berkeley Software Development). Em 1977, com a disponibilização das fontes dos arquivos do sistema operacional pela AT&T, várias empresas desenvolveram seus sistemas similares ao Unix. AIX – desenvolvido pela IBM, com base no System V. Sun Solaris – desenvolvido pela Sun Microsystems, com base no System V e BSD. HP-UX – desenvolvido pela HP e baseado no System V. Ultrix – desenvolvido pela DEC.

Unixware – desenvolvido pela Novell. Unix SCO – desenvolvido pela Santa Cruz Operation e HP, baseado no System V. PARA SABER MAIS Em 1985, o professor Andrew Tanembaum, com o objetivo de ensinar programação de computadores, desenvolveu um sistema operacional mínimo e o chamou de Minix. Em 1991, o estudante finlandês Linus Torvalds desenvolveu um sistema operacional tendo como base o Minix. Esse sistema funcionava nas arquiteturas de processadores 386 – que são os processadores dos computadores pessoais. Essa iniciativa deu origem ao que ficou conhecido como sistema operacional Linux.

2.4 Sistema operacional Linux O sistema operacional Linux, similar em algumas características ao sistema operacional Unix, possui baixo custo, é confiável e tem grande aceitação no mercado de servidores como um sistema operacional de alto desempenho. Sua utilização em servidores de rede e de web para os mais variados tipos e tamanhos de empresa o tem colocado em forte crescimento. Como o sistema operacional Linux foi construído utilizando o conceito de software de código aberto ou software livre, existem diversos programadores no mundo todo contribuindo para seu desenvolvimento. Segundo O’Brien e Marakas (2013, p. 144):

o conceito de software de código aberto vem se ampliando além do sistema operacional Linux. A ideia básica por trás do código aberto é bem simples: se os programadores puderem ler, redistribuir e modificar o código-fonte de uma parte do software, este evoluirá.

Com

esse

conceito,

criou-se

uma

comunidade

de

desenvolvedores do software de código aberto. Isso tornou mais rápido o ciclo de desenvolvimento e o surgimento de novas aplicações; os erros vão sendo corrigidos e a solução de software proposta vai se tornando mais estável. O conceito de software de código aberto pode ser desenvolvido com vários modelos de distribuição para que não entre em conflito com os chamados softwares

proprietários,

que

têm

licença

de

uso

e

são

comercializados. Existem diversas distribuições do sistema operacional Linux, como: Mandriva, Suse, Ubuntu, Slackware, Debian, Fedora, Red Rat, entre outras. O kernel dessas distribuições está baseado na versão original de Linus Torvalds e a ele são acrescentadas funcionalidades conforme a aplicação desejada. Além disso, ambientes gráficos são desenvolvidos

e

incorporados

às

versões

que

estão

em

desenvolvimento.

2.5 Sistema operacional Mac OS X Os computadores da Apple, os chamados iMac, possuem um sistema

operacional

desenvolvido

especificamente

para

eles;

possuem interface gráfica avançada, multitarefa e multiusuário, com recursos integrados para navegador web, correio eletrônico,

mensagens instantâneas, tocador de mídia e diversas outras características para o usuário. Segundo O’Brien e Marakas (2013, p. 146): O Mac OS X também incluiu uma série de características destinadas a tornar o sistema operacional mais estável e confiável que os sistemas operacionais anteriores da Apple. A preemptividade[5] e a proteção de memória, por exemplo, aprimoraram a capacidade do sistema operacional em executar vários aplicativos simultaneamente sem que estes interrompam ou corrompam uns aos outros.

O sistema operacional da Apple também inclui ferramentas de desenvolvimento de software, com isso os desenvolvedores podem ter ambientes com interfaces para diversas linguagens de programação. Os computadores Macintosh utilizam em geral o sistema

operacional

Mac

OS.

Atualmente

outros

sistemas

operacionais podem ser utilizados, como versões do Linux ou FreeBSD.

2.6 Sistemas operacionais para dispositivos móveis Os dispositivos móveis também necessitam de sistema operacional e existem diversos sistemas operacionais para celulares e smartphones no mercado. Entre eles estão: Android: desenvolvido pela Google, utilizando como base o núcleo do sistema operacional Linux. Possui conexão com as redes sem fio – bluetooth, wi fi, 3G e 4G. Com a arquitetura de software em código aberto, pode ser alterado e adaptado para

diversos hardwares de celulares e smartphones. Os aplicativos podem ser adquiridos nas lojas da Play Store. Mac OS X (IOS): desenvolvido pela Apple para ser utilizado nos iPhones e iPads. Foi o primeiro sistema operacional desenvolvido para telefones celulares incorporando tecnologias de toque e adaptadas à multimídia (imagens, vídeos e músicas). Os aplicativos podem ser adquiridos nas lojas da Apple Store. Uma curiosidade é que até o momento não existem vírus para esse sistema operacional. Symbian: sistema operacional desenvolvido pelas empresas Nokia, Ericsson, Motorola e Panasonic. Possui simplicidade e seu maior foco é na rapidez e acessibilidade. Esse sistema operacional pode ser licenciado para uso em dispositivos que sejam de outros fabricantes. Windows Phone: desenvolvido pela Microsoft e baseado no Windows CE. Utiliza hardware específico para que possa operar corretamente. Integra os aplicativos de escritório da versão para computador, da Microsoft. Os sistemas operacionais mais utilizados para dispositivos celulares e smartphones são o Android e o Mac OS, este para os dispositivos iPhone.

Considerações finais

Neste capítulo, apresentamos os diversos tipos de sistema operacional e suas características de acordo com as aplicações e a arquitetura do hardware dos computadores, além dos sistemas operacionais da Microsoft para usuários e seus desktops e os sistemas operacionais voltados para o segmento de servidores. Compreendemos os conceitos do software livre e de código aberto e o sistema operacional Linux. Por fim, um pouco do sistema operacional para uso em computadores Macintosh. As novas aplicações e modelos de negócios que surgem a cada dia, – projetos de uso de moeda digital, geração de enorme quantidade de dados e Big Data –, devem ampliar a necessidade de sistemas operacionais mais robustos, com maior segurança e escalabilidade. Por outro lado, o desafio também se concentra em sistemas operacionais para atender à demanda crescente da rede de sensores com IoT – Internet das coisas – e as limitações de memória e energia. Portanto, o estudo do sistema operacional e suas características deverá sempre ser alvo de quem está ou deseja entrar na área de computação e maior ainda na área de infraestrutura de TI.

Referências LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007. MICROSOFT. Sistema Operacional Windows 10. [s.d]. Disponível em: . Acesso em:

27 out. 2018. O’BRIEN, James A.; MARAKAS, George M. Administração de sistemas de informação. Porto Alegre: AMGH, 2013.

[1] Máquinas virtuais – conceito utilizado para caracterizar um software de ambiente computacional, onde instalamos um sistema operacional e programas. Comporta-se como se fosse um “computador independente” instalado dentro do computador real. [2] Plug and play – tecnologia na qual o computador reconhece um dispositivo e o configura automaticamente. [3] Intranet – rede interna de uma empresa, fechada e exclusiva para acesso dos funcionários de uma empresa. [4] XML – linguagem de marcação utilizada para auxiliar os sistemas de informação no compartilhamento de dados. [5] Preemptividade – ato de interromper temporariamente uma tarefa, sendo resolvida por um sistema computacional, sem a necessidade de sua cooperação e com a intenção de retornar a ela depois.

Capítulo 7

Protocolos e comunicações

Neste capítulo, vamos aprender as regras de comunicação de dados em uma rede entendendo como funciona a transferência de dados. Os conceitos de camada de rede serão abordados para que possamos compreender a função de cada uma delas na comunicação

entre

dois

dispositivos

em

rede.

Para

isso,

apresentaremos o modelo OSI e o protocolo TCP/IP.

1 Regras de comunicação de dados Para se relacionar, as pessoas precisam estabelecer algum tipo de comunicação organizada. Só assim podem transmitir o que desejam (falar) e receber o que a outra pessoa está falando (escutar). Com isso, temos início a uma conversa em que a troca de informações acontece. Na figura 1 temos diversos conceitos a considerar. Por exemplo, uma pessoa deseja enviar uma mensagem para outra, dessa forma, uma é o transmissor e a outra o receptor, e para que a mensagem seja enviada é necessário um meio de comunicação e um protocolo de comunicação. Essas considerações são o princípio básico da comunicação.

Figura 1 – Modelo básico de comunicação

Para que a comunicação se estabeleça de forma correta e para que as pessoas possam se entender, é necessário que seja estabelecido um acordo de como a linguagem será utilizada. No exemplo da figura 2, a conversa foi feita em português. Figura 2 – Acordo de comunicação entre duas pessoas

A comunicação de dados segue os mesmos princípios, só que a informação estará no formato de dados e ocorrerá entre dispositivos, seguindo regras bem definidas, que vamos chamar de protocolos. As redes de comunicação desempenham um papel importante na sociedade, e são fundamentais para as empresas, pois possibilitam que elas desenvolvam seus negócios independentemente das distâncias geográficas. A comunicação entre as pessoas pode ser feita utilizando diversos formatos, como na figura 3, onde as pessoas falam, escrevem, leem, etc. Figura 3 – Exemplos de formas de comunicação entre as pessoas

Ainda na figura 3, a comunicação entre as pessoas, ou entre os equipamentos utilizados por elas, possui características importantes para o estudo de redes de computadores e a comunicação de dados, acompanhe: Mensagem: é a informação a ser transmitida, que pode ser no formato de texto, números, figuras, áudio ou vídeo; ou, ainda, de diversos tipos de combinação entre eles.

Transmissor (TX): é o dispositivo que envia a mensagem de dados e pode ser um computador, um telefone, uma câmera de vídeo, dispositivos sensores em uma fábrica, entre outros. Receptor (RX): é o dispositivo que recebe a mensagem e pode ser um computador, um telefone, uma câmera de vídeo, dispositivos atuadores em uma fábrica, entre outros. Meio de transmissão: é o caminho físico que a mensagem, cuja origem é o transmissor, utilizará para chegar até o receptor. Protocolo: é o conjunto de regras que gerencia a comunicação dos dados. É um acordo entre os dispositivos envolvidos na comunicação.

2 Transferência de dados na rede A transmissão de dados entre dois ou mais equipamentos em um processo de comunicação pode se efetivar de diversas formas e se caracteriza pelo sentido da transmissão, meio de transmissão e pela sincronização. Os sentidos da transmissão podem ser classificados em: Simplex: a comunicação unidirecional entre um transmissor e um receptor, ou seja, somente um dos dispositivos é capaz de transmitir, enquanto o outro fica na condição de só poder receber. Exemplo: transmissão de sinal de TV ou ainda de rádio AM e FM.

Half-duplex: os dispositivos podem transmitir e receber, mas não simultaneamente, o que significa que toda a capacidade do canal de comunicação é utilizada para a transmissão. Exemplo: rádios intercomunicadores. Full-duplex: os dispositivos podem transmitir e receber simultaneamente. Os sinais de comunicação, em direções opostas, compartilham a capacidade do link ou canal de comunicação. Exemplo: comunicação através de um celular, onde as pessoas podem falar e ouvir simultaneamente. Os meios de transmissão podem ser feitos em: Modo paralelo: os bits que representam o caractere são enviados simultaneamente por meio de várias linhas de dados. Um exemplo é a comunicação entre computador e impressora através de um cabo paralelo, ou seja, com 10 fios para a comunicação. Modo série: neste modo os bits que representam o caractere são enviados um a um através de uma única via de dados. Como exemplo temos a comunicação serial, a comunicação USB, entre outras. Na sincronização, temos duas formas de transmissão: Assíncrona: neste modo os dados são enviados um a um sem controle de tempo entre um e outro. Para indicar o início de uma transmissão é colocado um indicador chamado de START BIT.

Para indicar o fim da transmissão é colocado um ou mais bits chamados de STOP BIT. As características desse tipo de transmissão são: baixo rendimento (alto overhead), fácil implementação e baixa velocidade. Síncrona: os dados são enviados em blocos e em intervalos de tempo definidos, ou seja, informações de sincronismo são enviadas durante a transmissão, mantendo o sincronismo entre os dispositivos. São características desse modo de transmissão: boa qualidade de transmissão, maior confiabilidade, adequação a aplicações multimídia (voz, música e vídeo), equipamentos mais sofisticados e custo da transmissão mais alto. A figura 4 apresenta a comunicação entre um emissor e um receptor e as várias etapas envolvidas no processo. Figura 4 – Etapas de comunicação entre transmissor e receptor

As comunicações podem ser intercaladas na linha de transmissão e, assim, dividir a banda com cada usuário. Na figura 5, as partes de cada comunicação são rotuladas (identificadas) na

transmissão através do meio de comunicação compartilhado (multiplexado)[1]

e

remontadas

na

recepção,

sendo

assim

diferenciadas de qual usuário era. Figura 5 – Multiplexação das informações em uma linha de transmissão

Sobre as novas e diversas formas de comunicação, O’Brien e Marakas afirmam (2013, p. 206): Desse modo, as tecnologias de telecomunicações e de redes estão interconectando e revolucionando empresas e sociedade. As corporações se transformaram em empresas em rede. A internet, a web, a intranet e extranet estão conectando funcionários e processos corporativos a clientes, fornecedores e terceiros interessados nas empresas. As companhias e os grupos de trabalho podem, assim, trabalhar em conjunto com mais criatividade, gerenciar operações e recursos empresariais com mais eficácia e competir com êxito na atual economia global em contínua mudança.

3 Camadas de rede A comunicação entre dispositivos em uma rede é complexa e cheia de detalhes. Para facilitar o desenvolvimento, no final dos anos 1970 a organização internacional para padronização de normas técnicas, a ISO (International Organization for Standardization), definiu um modelo para a comunicação em sete camadas e o denominou modelo OSI. A partir dele, as empresas desenvolveriam seus equipamentos. Esse modelo possibilita a divisão das funções da comunicação em camadas: facilita o gerenciamento do tráfego e padroniza os componentes da rede. Assim, o desenvolvimento pode ser feito por vários fabricantes, tornando mais fácil a comunicação entre dispositivos diferentes de hardware e software. Outra grande vantagem é que modificações em uma camada não afeta as outras, o que possibilita um desenvolvimento mais rápido e a implementação de novas tecnologias. O quadro 1 mostra o modelo OSI e suas sete camadas, com as características básicas de cada uma. Cada camada possui especificações próprias de funcionalidade e diversos protocolos são desenvolvidos para dar suporte a elas. Quando organizados em conjunto recebem o nome de pilha de protocolos (ROSS; KUROSE, 2013). Quadro 1 – Representação das camadas do modelo OSI CAMADA

DESCRIÇÃO DA FUNCIONALIDADE

7 – Aplicação

Nessa camada estão as aplicações de rede e seus protocolos. Por exemplo: HTTP (que proporciona a requisição e a transferência de documentos pela web), o SMTP (que cuida das transferências de

mensagens de correio eletrônico), FTP (que cuida da transferência de arquivos entre dois sistemas finais). 6– Apresentação

Essa camada é responsável pela entrega e formatação da informação a ser entregue para a camada de aplicação.

5 – Sessão

Essa camada é responsável por gerenciar e administrar os diálogos entre dois processos de aplicação, que podem ser feitos de forma simplex, half duplex e full duplex. Nessa camada temos a quebra de um pacote e a inserção de uma marca lógica no início do diálogo, e assim identificar os blocos recebidos.

4– Transporte

Essa camada é responsável pelas funções de conexão entre o dispositivo fonte e o destino, segmentando os dados em unidades com tamanho apropriado para a utilização na camada de rede. Como funções principais estão a conexão para cada requisição vinda do nível superior, multiplexar as várias conexões em uma única conexão de rede, dividir as mensagens em tamanhos menores e que serão tratadas pelo nível abaixo (a camada de rede). O nível de transporte trabalha com a conexão lógica fim a fim, enquanto os outros níveis de rede, enlace e física, controlam como essas mensagens serão transmitidas.

3 – Rede

Essa camada é responsável por controlar a operação da rede. Tem como função o roteamento dos pacotes entre a fonte e o destino. O pacote é recebido pela camada de rede com um endereço de destino na porta de entrada do roteador, que irá verificar se o pacote está endereçado para esse roteador em particular ou não. Caso não esteja endereçado para esse roteador local, será feita uma busca na tabela de roteamento e então será enviado para a saída adequada. Para o caso de o pacote não ser para o roteador e o endereço de destino não estiver na tabela de roteamento, o pacote será descartado.

2 – Enlace

Essa camada é responsável pelo tratamento dos dados e lida com erros de transmissão, topologia da rede e controle de fluxo dos bits. Ela também faz o controle de acesso ao meio (MAC – Medium Access Control). Esse MAC é o endereço físico da placa de comunicação, também chamada de placa de rede.

1 – Física

Esta camada é responsável pela definição das características mecânicas – conectores e pinos, elétricas – tipo e nível de sinal, e funcionais. Também cuida da ativação, manutenção e desativação das conexões físicas necessárias para a transmissão dos bits.

Em uma rede de telecomunicações, vários componentes de software

e

hardware

trabalham

juntos.

Muitos

fabricantes

desenvolveram seus produtos sem a preocupação de que o usuário pudesse utilizar equipamentos e softwares de outros fabricantes em projetos de infraestrutura. Assim, cada fabricante desenvolvia seu equipamento e o conjunto de regras para a comunicação, os protocolos; esses protocolos eram então proprietários. A existência de muitos protocolos proprietários, na grande maioria das vezes incompatíveis

entre

si,

impossibilitava

a

comunicação

dos

equipamentos, ou seja, não existia interoperabilidade. IMPORTANTE A construção de um padrão único e universal para os fabricantes de equipamentos e programas para redes de comunicação foi possível graças ao desenvolvimento do que se chamou TCP/IP (Transmission Control Protocol/Internet Protocol), desenvolvido pela Agência de Pesquisas Avançadas do Departamento de Defesa dos Estados Unidos – DARPA (U.S. Department of Defense Advanced Research Projects Agency).

O protocolo TCP/IP utiliza um conjunto de protocolos, sendo o principal o TCP, cuja função é cuidar do movimento de dados entre os computadores. Ele estabelece uma conexão entre os computadores, controla a sequência dos pacotes e verifica os enviados para, se for o caso, retransmitir. O protocolo IP está localizado uma camada abaixo, na pilha de protocolos. É responsável por entregar os pacotes e inclui desmontagem e remontagem durante a transmissão.

A figura 6 apresenta uma comparação entre as camadas do modelo OSI e o TCP/IP e as funcionalidades de cada uma, sendo que cada camada pode ter vários protocolos, que serão estudados nos próximos capítulos. Nessa figura a visão dos dispositivos de rede permite conhecer a funcionalidade dos roteadores e dos switches. O switch trabalha na camada física do protocolo TCP/IP e é responsável

por

enviar

os

datagramas

recebidos

para

um

computador dentro da mesma infraestrutura física, ou se não for encontrado enviará para o roteador e este por sua vez, trabalhando com informações da camada de internet (ou rede), analisará o endereço IP e encaminhará o pacote a seu destino, que poderá ser outro roteador; e assim sucessivamente, até que seja encontrada a rede onde estarão ligados o switch e o computador ou dispositivo de destino.

Figura 6 – Modelo OSI e modelo TCP/IP

Para compreendermos melhor o funcionamento dos protocolos TCP/IP, vamos conhecer o conceito de encapsulamento. No estudo de camadas de rede, o encapsulamento funciona juntando novas informações à mensagem de uma camada anterior e enviando-a à camada seguinte, e assim sucessivamente. Uma mensagem na camada de aplicação é passada para a camada de transporte, que insere informações como cabeçalho da camada de transporte e que serão utilizadas pela camada de suporte do outro lado receptor. Esse conjunto de informações (dados e cabeçalho da camada de

transporte) é chamado de segmento da camada de transporte, que encapsula (esconde) a mensagem da camada de aplicação. O próximo encapsulamento acontece quando a camada de transporte envia o segmento à camada de rede, que coloca endereços finais de origem e de destino, criando o datagrama da camada de rede. Agora, a camada de enlace adicionará suas informações de controle e criará o quadro de camada de enlace. O interessante a se observar é que cada camada possui dois tipos de campos: o campo de cabeçalho e o campo de carga útil, que em geral é o pacote da camada acima. Na figura 7, temos o encapsulamento de uma mensagem de email através das camadas do TCP/IP até chegar na camada física. Esta, por sua vez, envia para o sistema de cabeamento as informações codificadas em bits, ou melhor ainda, em sinais elétricos ou ópticos, dependendo se a infraestrutura física utiliza cabos metálicos ou de fibra óptica. Assim, temos os dados gerados pelo usuário na camada de aplicação (as informações do e-mail, no exemplo) sendo transmitidos para a pilha. A camada de transporte cuida do segmento TCP e envia para a camada de internet (ou rede). Em seguida a camada física insere suas informações e envia um conjunto de bits que serão roteados em direção ao destino, que na figura está representado por uma nuvem.

Figura 7 – Encapsulamento de uma transmissão de dados de e-mail em uma pilha de protocolos TCP/IP

Considerações finais Neste capítulo, compreendemos os conceitos iniciais sobre a comunicação

de

dados

e

as

regras

que

organizam

essa

comunicação. Em seguida vimos os conceitos da transmissão de dados nas redes, como o sentido da transmissão, os meios de transmissão e a sincronização. Estudamos também as camadas de rede, conhecemos o modelo OSI com suas sete camadas e o modelo TCP/IP, mais utilizado e com suas cinco camadas. Vimos também um conceito importante sobre encapsulamento, no qual pudemos entender como as informações que saem de uma aplicação são enviadas para as camadas inferiores, que anexa suas informações de controle até chegar no meio de comunicação físico e

em seguida até o outro dispositivo receptor, que receberá a informação na camada física e irá subindo pelas camadas, cada uma retirando suas informações (o cabeçalho da camada) e enviando para a camada de cima até chegar na camada de aplicação, que terá o dado originalmente encapsulado no equipamento transmissor.

Referências O’BRIEN, James A.; MARAKAS, George M. Administração de sistemas de informação. Porto Alegre: AMGH, 2013. ROSS, Keith W., KUROSE, Jim. Redes de computadores e a internet: uma abordagem top-down. São Paulo: Pearson, 2013.

[1] Multiplexado – transmissão de várias mensagens por uma mesma via, linha ou mesmo canal.

Capítulo 8

Endereçamento IP

A transferência de dados de um computador para outro em uma arquitetura de rede é realizada por meio de vários equipamentos e cabos de comunicação. Na parte de equipamentos estão os dispositivos de rede como os switches e roteadores de diversos fornecedores. A comunicação e a interoperabilidade entre os diversos fornecedores é possível por conta da adoção do protocolo TCP/IP, hoje um padrão na comunicação das redes. O esquema de endereçamento lógico do TCP/IP utilizado é baseado no protocolo IP. Neste capítulo, além do endereçamento IP, vamos conhecer também o endereço físico de cada dispositivo, conhecido como MAC Address. O conceito de espaço de endereçamento dividido em classes, endereço de rede, endereço de broadcast e a construção e os testes básicos de funcionamento de redes também serão vistos.

1 Endereçamento IP

Para ser interligado em uma rede local ou global, um dispositivo deve possuir uma interface e um endereço único chamado MAC Address (Media Access Control), composto de um conjunto de quarenta e oito bits, com formato e definições mostrados no quadro 1. Quadro 1 – Descrição dos campos do endereço MAC I/G – INDIVIDUAL/GROUP

Corresponde à identificação: se o endereço Mac for individual, o valor será 0; se for de broadcast ou multicast, o indicador será 1. Global/local: corresponde ao bit que faz a diferença se o endereço

G/L – 1 BIT

MAC possui âmbito global (por exemplo, administrado pelo IEEE)3 ou local.

OUI – 22 BITS

Identificador único atribuído pelo IEEE a cada fabricante.

IDENTIFICADOR – 24 BITS

É o identificador da interface em si, que pertence a um fabricante.

Podemos executar comandos no computador através do sistema operacional. No Windows, por exemplo, isso é possível através do prompt de comando. Para isso, execute o comando “cmd”, na barra de tarefas ou no menu iniciar, dependendo da versão de sistema operacional que esteja sendo utilizada; isso dará acesso a um ambiente onde é possível a execução de comandos do sistema operacional em linha de texto. Ao digitar o comando “ipconfig /all”, serão apresentadas informações sobre endereços das placas instaladas, como mostra a figura 1.

Figura 1 – Exemplo de placas de rede e endereço MAC

A arquitetura da internet está baseada na utilização do protocolo TCP/IP. Segundo Laudon e Laudon (2007, p. 224): Quando um usuário envia uma mensagem a outro usuário da Internet, ela é decomposta em pacotes por meio do protocolo TCP. Cada pacote contém seu endereço de destino. Eles são então enviados do cliente para o servidor de rede e, de lá, para quantos servidores forem necessários até chegar a um computador específico com um endereço conhecido. No endereço de destino, os pacotes são remontados de modo a formar a mensagem original.

Na arquitetura de rede proposta pela internet existem os roteadores e os hospedeiros. Eles possuem em geral um único enlace

com a rede e quando enviam um datagrama para a rede o fazem através desse enlace. A ligação do hospedeiro (também chamado de host) com a rede é a interface de rede, também chamada de placa de rede (ROSS; KUROSE, 2013). A função do roteador é receber um datagrama em um enlace e enviá-lo para algum outro enlace, o que por si só já indica que o roteador deve ser ligado a dois ou mais enlaces. Aqui também é importante considerar que a comunicação do roteador com o enlace se dá através de uma placa de rede. A conexão entre hospedeiros e roteadores na arquitetura de rede da internet necessita que cada dispositivo possua um endereço para que essa conexão lógica possa ser estabelecida, e como também tanto os hospedeiros quanto os roteadores necessitam de uma interface física para a conexão com o enlace, tem-se então uma forma de conectar endereços lógicos a endereços físicos (ROSS; KUROSE, 2013). O endereço lógico que será atribuído a placas de rede dos hospedeiros e as portas de comunicação dos roteadores se chama IP (Internet Protocol) e é constituído por um conjunto de 32 bits, equivalentes a 4 bytes. Assim, é possível a criação de um esquema de endereçamento com capacidade para 232 endereços IP possíveis, ou seja, em torno de 4 bilhões de endereços. Ou seja, para acessar a rede o dispositivo precisa das seguintes informações: Quadro 2 – Informações necessárias para acessar uma rede IP Endereço de rede Máscara de rede

Endereço do host na rede

O endereço IP e a máscara de rede são representados utilizando 32 bits separados por ponto a cada grupo de 8 bits (o byte). Para facilitar a leitura do endereço IP, ele é representado com a notação decimal. Exemplo: IP - 192.168.12.3 e máscara de rede: 255.255.255.0 Ou

escrito

em

binário:

IP



11000000.10101000.00001100.00000101 Máscara: 11111111.11111111.11111111.00000000 A figura 2 apresenta um cenário de uma rede com roteadores interligados com a função de que um pacote de dados possa sair do host de origem e ser enviado para o host de destino. Esse cenário, de forma simples, pode representar uma conexão em que o acesso é feito através da internet e os roteadores estejam colocados nos provedores de internet. Veremos cenários como este nos próximos capítulos.

Figura 2 – Cenário com a comunicação entre dois hosts com endereço IP

1.1 Classes de endereços IP Os endereços IP foram divididos em blocos de tamanho fixo, definidos como classes de endereços, para facilitar a alocação de endereços para hosts e roteadores. O quadro 3 apresenta as classes A, B, C, D, E, os valores dos espaços de endereço por classe, a máscara-padrão por classe, a capacidade de redes por classe e finalmente o número de hosts por classe. Os bits da máscara de rede são colocados em UM nos identificadores da rede, e como exemplo a máscara das redes de classe A tem os bits: 11111111.00000000.00000000.00000000. Observe que, para o cálculo da quantidade de redes de uma classe, deve-se fazer a conta de 2 elevado ao número de bits

disponíveis, que corresponde às letras X indicadas no quadro 3. Assim, para uma classe A, a quantidade de redes será 27, pois um bit já foi fixado como zero. As redes possuem dois endereços IP reservados, sendo um para o identificador da rede, quando colocamos zero para todos os bits reservados para hosts, e outro que se chama endereço de broadcast da rede, quando colocamos um para todos os bits reservados para hosts. Assim, da quantidade de redes de cada classe deverão ser descontados os dois endereços reservados para endereço da rede e para o endereço de broadcast. Quadro 3 – Tabela de classes de endereço IP CLASSE

A

B

C

PRIMEIRO OCTETO 1 – 127 0xxxxxxx 128 – 191 10xxxxxx 192 – 223 110xxxxx

PARTE DE REDE (N) PARTE DE HOST (H)

MÁSCARA

N.H.H.H

255.0.0.0

N.N.H.H

255.255.0.0

N.N.N.H

255.255.255.0

Nº DE REDES

ENDEREÇOS POR REDE

126

16.777.214

(27 – 2)

(224 – 2)

16.382

65.534

(214 – 2)

(216 – 2)

2.097.150

254

(221 – 2)

(28 – 2)

D

224 – 239

Multicast

NA

NA

NA

E

240 - 245

Experimental

NA

NA

NA

Por exemplo, para o IP – 192.161.181.34 temos: Endereço da rede: colocar zero no identificador do host: 192.161.181.0 Endereço de broadcast: colocar um no identificador do host: 192.168.181.255 Máscara-padrão de rede: colocar um nos identificadores de rede: 255.255.255.0 IMPORTANTE A escolha de endereços IP para a rede dependerá de algumas decisões de projeto, por exemplo: número de hosts que serão colocados na rede e quantidade de redes que a empresa planeja ter. Após responder a essas perguntas, escolhe-se a classe mais adequada e, em seguida, define-se o IP desejado.

Exemplo: uma empresa deseja preparar uma rede que deverá ter no máximo 40 computadores. Selecione uma classe, um endereço de rede, a máscara-padrão e os possíveis endereços dos hosts. Solução: como a quantidade de hosts será de no máximo 40, pode-se escolher a classe C, que habilita até 254 hosts. É importante observar que endereços da classe A ou B também atenderiam à especificação do projeto. Teremos como sugestão de endereços IP: Classe C – endereço de rede: 197.20.30.0 e máscara-padrão: 255.255.255.0

Endereço de broadcast: 197.20.30.255 Endereço de primeiro host: 197.20.30.1 Endereço de último host: 197.20.30.254 Endereço dos hosts: selecione os quarenta endereços e atribua para as placas de rede dos hosts. Na figura 3 temos o cenário de uma rede com a adoção do endereço IP – 197.20.30.0 com máscara-padrão 255.255.255.0, da classe C. O número da máscara pode ser representado no endereço IP pela quantidade de uns existente na máscara da classe escolhida. Na classe C, escolhida no exemplo, essa quantidade é 24. Figura 3 – Cenário de uma rede classe C com endereço IP: 197.20.30.0/24

1.2 Switch – interligando computadores O switch é um equipamento que trabalha na camada de enlace do modelo OSI e interliga os hosts por meio de seus endereços. Em geral, possui diversas interfaces de rede às quais os computadores são interligados, e os acessa por meio dos endereços MAC. O switch possui um domínio de broadcast. Quando desejam instalar mais computadores do que o número de portas do switch, alguns administradores utilizam uma das portas para interligar dois switches. Isso deve ser evitado porque a geração de broadcast poderá comprometer a performance da rede.

1.3 Roteador – interligando redes Os roteadores são equipamentos que trabalham com os endereços IP de rede, e como possuem interfaces que também são configuradas com um endereço IP, eles são utilizados para o roteamento dos pacotes que chegam em sua porta de entrada e, dependendo de uma tabela de roteamento, são capazes de encaminhar o pacote para a saída adequada. Na figura 4 vemos um roteador com as portas que serão utilizadas para projetar cenários e realizar os primeiros testes de funcionamento de redes. As interfaces de rede do roteador possuem seus MAC Address e ainda não há nenhum endereço IP configurado. Ao ser utilizado em projetos de infraestrutura de redes, os endereços IP das portas do roteador deverão ser configurados de acordo com as redes a serem interligadas.

Figura 4 – Detalhes das portas de um roteador

2 Testes básicos de funcionamento de redes Para construir os testes básicos de funcionamento de redes e conhecer como funciona a comunicação entre um computador e outro,

vamos

adotar

diversos

cenários

e

desenvolver

os

conhecimentos necessários e de forma crescente.

2.1 Cenário 1 – rede local com computadores e um switch O primeiro cenário será o mostrado na figura 3, com uma janela do sistema operacional do computador Host 1 realizando os testes básicos de conectividade, com comandos simples. O primeiro comando utilizado é o ipconfig /all do sistema operacional Windows ou o ifconfig para o sistema operacional Linux. Utilizando o cenário da figura 3 e executando o ipconfig/all no computador Host 39 temos informações importantes, listadas na figura 5:

Figura 5 – Teste com o comando ipconfig /all

Entre as informações do teste, podemos destacar: Endereço físico (MAC Address): 0060.0F08.2A3D. Link-local IPv6 Address: FE80::250:FFF:FE08:2A3D. IP Address: 197.20.30.4. Subnet Mask: 255.255.255.0. Default Gateway[1]: 0.0.0.0. DNS Servers[2]: 0.0.0.0. DHCP Servers[3]: 0.0.0.0. DHCPv6 Client DUID: 00-01=00-01-D2-60-66-24-00-50-OF-08-2A3D. Outro comando do sistema operacional é o comando “ping”, que possibilita testar a conectividade entre dois endereços e cuja sintaxe

é mostrada a seguir. O programa ping envia quatro pacotes de 32 bytes e aguarda o retorno do host cujo endereço IP foi dado como alvo. Na figura 6 temos o retorno de um comando ping efetuado no Host 1, o endereço-alvo foi o do Server (IP – 197.20.30.1) e o outro alvo foi o endereço IP – 197.20.30.8. Figura 6 – Testes de acesso a host com o comando ping

O resultado dos testes realizados serve para verificar a conexão lógica de dois hosts e descobrir se a comunicação está funcionando na camada lógica (endereço IP) e na camada física (placa de rede e switch).

Quando um host está na mesma rede local, ou pode ser encontrado através de roteadores, o retorno do comando “ping” mostra os quatro pacotes enviados e o tempo gasto para retornarem do endereço-alvo. E quando o endereço-alvo não se encontra acessível, pode ser que não exista na rede local ou que não esteja acessível através de roteadores, ou esteja desligado ou até mesmo com problemas no cabeamento ou na placa de rede, o resultado aparece com request timed out,[4] indicando que nenhum pacote enviado conseguiu chegar ao endereço-alvo. Após os testes de conectividade com o comando ping, realizado entre todas as estações da rede, as aplicações poderão funcionar e, em caso de alguma falha, poderão ser descartados problemas nas camadas física e de rede.

2.2 Cenário 2 – duas redes locais com switch e não interligadas No cenário da figura 7, a empresa possui duas redes com endereços de rede diferentes, sendo um a REDE 1 com endereço IP – 197.20.30.0/24 e a REDE 2 com endereço IP – 47.0.0.0/8. Ao observar o cenário percebe-se que a conexão entre um host da REDE 1 e outro da REDE 2 não acontecerá, pois não há conexão entre os dois switches.

Figura 7 – Cenário com duas redes não conectadas

Os testes realizados com o comando ping só funcionarão entre hosts da mesma rede. Para que os computadores da REDE 1 possam conectar os da REDE 2 será necessária a utilização de um roteador, equipamento que interliga redes e trabalha com encaminhamento de pacotes IP. Assim, construímos o cenário da figura 8, no qual o roteador possui uma interface configurada como um endereço IP válido na REDE 1; e outra interface configurada com um endereço IP válido na REDE 2.

Figura 8 – Cenário com duas redes conectadas através de um roteador

Para testar a conexão entre os hosts, primeiro fazemos o teste no Host 2 com o comando ping no endereço da porta do roteador que está ligada na REDE 1 e o resultado é mostrado na figura 9.

Figura 9 – Comando ping aplicado para acessar a porta do roteador ligado à REDE 1

Os testes podem ser repetidos em todos os computadores e assim garantir a conectividade entre as duas redes. No próximo capítulo, vamos estudar a segmentação de redes e suas características.

Considerações finais Neste capítulo conhecemos o endereço MAC Address, que está incorporado em todo o hardware de interface para a rede e é um identificador único. Conhecemos também o protocolo IP, um esquema de endereçamento lógico, que possibilita a atribuição de um endereço lógico de 32 bits para a interface da camada física do

modelo TCP/IP e que, para facilitar a leitura e interpretação, normalmente é escrito em formato de quatro conjuntos de números decimais separados por ponto. A divisão do espaço de endereçamento em classes e a atribuição de endereços de rede, de broadcast e para os hosts também foi um ponto importante para que pudéssemos orientar os procedimentos de configuração e testes de comunicação em redes IP. Para entender os conceitos de redes e endereçamento vimos cenários onde comandos ipconfig e ping foram utilizados e se comportaram como ferramentas simples para os testes iniciais de conectividade. Os cenários de redes estudados neste capítulo são simples, porque podem ter um tráfego lento de pacotes e ser vulneráveis a invasões e à propagação de vírus. No próximo capítulo, veremos os conceitos de segmentação de redes e com isso um melhor controle de tráfego e vulnerabilidades.

Referências LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007. ROSS, Keith W.; KUROSE, Jim. Redes de computadores e a internet: uma abordagem top-down. São Paulo: Pearson, 2013.

[1] Gateway – no contexto, considerar como porta de saída de uma rede. [2] DNS (Domain Name Server) – utilizado como uma tabela de nomes de domínio e endereços IP. [3] DHCP (Dynamic Host Configuration Protocol) – utilizado para atribuição de endereços IP de forma automática. [4] Request timed out – solicitação expirou.

Capítulo 9

Estrutura de rede IP

O crescimento das redes de computadores nas empresas tem colocado os administradores e projetistas de infraestrutura de redes em situações em que lentidão, acessos não autorizados e invasão de computadores são comuns. Uma das causas de lentidão pode estar relacionada aos pacotes de broadcast que circulam nas redes. Para resolver esse problema, vamos conhecer neste capítulo uma estratégia de criação de rede virtual, as VLANs. A configuração das características de VLAN em switches também serão apresentadas, além de alguns testes de comunicação entre os computadores das VLANs.

1 Segmentação de redes Os negócios das empresas que utilizam redes de computadores cresceu muito, e o volume de informações tem gerado uma grande quantidade de tráfego por meio de toda a rede de comunicação. Ao observarmos as redes locais, ou LAN (Local Area Network), vemos cada vez mais novas aplicações e serviços compartilhando o mesmo recurso, ou seja, é a infraestrutura de rede.

As redes tendem então a ficar congestionadas e com isso apresentar lentidão na transferência dos pacotes das diversas aplicações, causando transtornos aos usuários e até mesmo a indisponibilidade de um ou vários serviços. Tudo causado pelo crescimento de serviços na rede e pela propagação de pacotes de difusão (os chamados pacotes de broadcast), que inundam as redes consumindo uma parte considerável do enlace de dados. As redes LAN interligam os computadores dentro de uma empresa. Inicialmente, foram utilizados os hubs, equipamentos que fazem a interligação de computadores, como exemplifica o cenário da figura 1. Por causa das características do hub, as redes se tornam lentas, pois, quando um computador transmite um pacote pela rede, todos os computadores recebem esse pacote e o descartam (pois não são destinados para eles), ou seja, apenas o destinatário receberá efetivamente o pacote e o enviará para as camadas superiores do protocolo TCP/IP. Isso faz com que, enquanto o meio de comunicação estiver com um pacote do computador A para o computador B, nenhum outro utilize a rede de comunicação.

Figura 1 – Cenário de uma rede LAN com a utilização de HUB

Algumas características dos equipamentos de rede: Hub: também chamado de concentrador de rede, funciona na camada física do modelo OSI e sua função é interligar computadores em uma rede. Como característica de sua função, quando um pacote sai de um computador e é endereçado a outro, a transmissão é feita para todos os computadores, mas apenas o destinatário vai processar, os outros descartam. Isso faz com que apenas uma comunicação ocorra na rede, em um instante. Switch: equipamento que atua na camada de enlace do modelo OSI. O switch envia os dados do computador de origem apenas

para o computador de destino, e não para todos da rede. Isso porque ele se baseia no endereço MAC dos computadores para fazer a conexão. Assim também ocorre uma diminuição de erros e colisões de pacotes. Roteador: equipamento que atua na camada de rede do modelo OSI e possui a mesma funcionalidade do switch, só que pode escolher a melhor rota para que um determinado pacote chegue ao destino desejado e através de rotas menos congestionadas. Segundo Tanenbaum (2011, p. 10-11): As redes de broadcast têm apenas um canal de comunicação, compartilhado por todas as máquinas da rede; os pacotes enviados por qualquer máquina são recebidos por todas as outras. Um campo de endereço dentro do pacote especifica o destinatário pretendido. Quando recebe um pacote, a máquina processa o campo de endereço. Se o pacote se destinar à máquina receptora, esta o processará; se for destinado a alguma outra máquina, o pacote será simplesmente ignorado. [...] Os sistemas de broadcast normalmente também oferecem a possibilidade de endereçamento de um pacote a todos os destinos usando um código especial no campo de endereço. Quando um pacote com esse código é transmitido, ele é recebido e processado por cada máquina na rede; não é à toa que esse modo de operação é chamado de broadcasting.

Com as considerações sobre equipamentos e o conceito de broadcast, as redes possuem então grande quantidade de pacotes de broadcast, que podem ser ocasionados por falhas na comunicação

(por exemplo: problemas de conectores, cabos e até placas de rede) ou ainda por protocolos e aplicações. A mesma rede local do cenário da figura 1 pode ser melhorada quanto ao tráfego com a utilização de switch, pois atuando na camada de enlace já consegue direcionar os dados para a máquina com o endereço MAC específico. O cenário da figura 2 mostra o crescimento das aplicações e serviços em uma rede local. A colocação de switch não garante que as redes deixem de apresentar lentidão na oferta de seus serviços quando o número de equipamentos e usuários aumenta. Figura 2 – Cenário de uma rede local em uma empresa

A equipe responsável pelo projeto da infraestrutura construiu duas propostas de rede local com a utilização de switch, ambas mostradas na figura 3. No cenário da esquerda, há apenas um domínio de broadcast e foram utilizados apenas switches. Isso causa a deterioração do desempenho, problemas de segurança devido a mais equipamentos na mesma rede e possibilidades de propagação de vírus, ataques de invasores e dificuldade no gerenciamento dos endereços. Uma solução para esses problemas é apresentada no cenário à direita da mesma figura. A utilização de um roteador no lugar de um switch interligando as duas redes permitiu a separação do tráfego de broadcast para cada domínio e aumentou a performance da rede como um todo.

Figura 3 – Propostas de rede local com switch e roteador – separação de domínio de broadcast

IMPORTANTE Um conceito importante a ser colocado é o gateway. Os computadores de cada domínio de broadcast conhecem os endereços para os hosts de sua própria rede. Ao enviar um pacote para endereços fora de sua rede, deverá enviar para o gateway, que vai verificar onde o endereço desejado se encontra e, se conhecer a rota, o encaminhará até o destinatário.

Segundo Tanenbaum (2011, p. 12-13):

Também é possível dividir uma LAN física grande em duas LANs lógicas menores. Você pode estar se perguntando por que isso seria útil. Às vezes, o layout do equipamento de rede não corresponde à estrutura da organização. Por exemplo, os departamentos de engenharia e finanças de uma empresa poderiam ter computadores na mesma LAN física, pois estão na mesma ala do prédio, mas poderia ser mais fácil administrar o sistema se engenharia e finanças tivessem cada um sua própria LAN virtual, ou VLAN. Nesse projeto, cada porta é marcada com uma “cor”, digamos verde para engenharia e vermelha para finanças. O switch então encaminha pacotes de modo que os computadores conectados às portas verdes sejam separados dos computadores conectados às portas vermelhas. Os pacotes de broadcast enviados em uma porta de cor vermelha, por exemplo, não seriam recebidos em uma porta de cor verde, como se existissem duas LANs diferentes.

A utilização de redes locais virtuais, as VLAN, aumenta muito a performance da rede, pois separa grandes domínios de broadcast em domínios menores e oferece características importantes como: Segurança: os grupos de usuários que possuem informações confidenciais são colocados em redes separadas, diminuindo assim os riscos de acesso não autorizado. Aumento do desempenho: com a rede dividida em grupos de trabalho de forma lógica reduz-se o tráfego desnecessário na rede e com isso aumenta-se o desempenho. Redução de custo: há menor necessidade de atualizações na rede e assim um uso mais eficiente da largura de banda disponível.

Diminuição da tempestade de broadcast: com a divisão da rede em VLANs, diminui-se o número de equipamentos que podem sofrer algum problema de disponibilidade em razão de um momento de excesso de broadcast. Eficiência da equipe: com a utilização de VLANs e com nomes adequados para cada uma, fica mais fácil o gerenciamento da rede. Gerenciamento de aplicativo: facilita-se muito o gerenciamento dos aplicativos e como são disponibilizados para os usuários. A figura 4 apresenta as redes VLAN 1 – Finanças e a VLAN 2 – Engenharia, ambas com seus computadores. A interligação dos computadores em cada VLAN é feita através de um switch, que isola o tráfego de broadcast. As redes VLAN não podem se comunicar diretamente. Da mesma forma que nas redes locais, os roteadores são utilizados para a interligação das VLANs. Assim, o tráfego das redes de Finanças e de Engenharia fica restrito a cada uma. Se um computador precisar acessar informações na outra rede, usará o roteador, que, então, interligará as duas VLANs.

Figura 4 – Interligação de duas redes VLAN através de um roteador

1.1 Tipos de VLANs Nos projetos de redes que utilizam as VLANs, existem alguns agrupamentos dos computadores que podem ser realizados e cada um com suas características. Esses conjuntos de computadores podem ser agrupados nas portas do switch por meio de endereços das placas de comunicação (por exemplo, a placa de rede e seu endereço MAC), por endereços IP dos hosts, por endereços IP Multicast ou, ainda, por protocolos. Nesse momento, vamos nos concentrar nas VLANs agrupadas por portas, por endereço MAC e por endereço IP.

1.1.1 VLAN com agrupamento por portas – camada 1 Esse agrupamento faz com que os dispositivos na VLAN sejam definidos conforme a porta do switch, que tem uma configuração rápida e simples. Porém, se o computador for trocado de local e conectado em outro switch, a VLAN deverá ser reconfigurada. Na figura 5, temos duas VLANs: com o identificador ID = 10 e os computadores conectados nas portas 1, 2 e 3; e a VLAN com o identificador ID = 20 e com os computadores conectados nas portas 13, 14 e 15. O tráfego fica restrito a cada VLAN e os computadores de uma não se conectam com os da outra. Nesse tipo de configuração, se o dispositivo for removido de uma porta do switch e colocado em outra, será necessário reconfigurar a VLAN. Figura 5 – Rede local com VLAN agrupada por porta do switch

1.1.2 VLAN com agrupamento por endereço MAC – camada 2 Os equipamentos na VLAN são identificados pelo endereço MAC de cada um, e assim o switch reconhece o endereço MAC pertencente a cada VLAN, como mostra a tabela 1. Os computadores podem estar conectados a um mesmo switch físico, mas pela configuração das VLANs teremos três domínios de broadcast. Também aqui, os computadores de uma VLAN não se conectam com os de outra VLAN. Tabela 1 – Endereços MAC e VLAN associada Endereço MAC

00-60-3E-A2-B0-5B

00-E0-B0-DB-6B-A6

00-60-5C-4A-18-BB

VLAN

10

20

30

Nesse cenário de redes VLAN, se um computador for movido, não será necessário configurá-lo para que continue pertencendo à mesma VLAN. Isso faz com que as VLANs agrupadas por endereço MAC sejam mais vantajosas do que as configuradas por porta. Contudo, para o caso de redes grandes, a administração não será muito fácil de ser feita.

1.1.3 VLAN com agrupamento por endereço IP – camada 3 Os equipamentos da VLAN são determinados pelo endereço IP. Nesse cenário, os usuários podem mover seus computadores sem reconfigurá-lo, mas, se o computador for ligado em outro local da

rede, o tempo para encaminhamento dos pacotes aumentará. A tabela 2 apresenta os endereços de VLAN agrupados por endereço IP. Tabela 2 – Endereços IP e VLAN associada Endereço IP

172.33.12.14

172.33.20.40

172.145.34.30

VLAN

10

20

30

Para que o tráfego de uma VLAN possa passar para a outra, é necessário que se tenha uma porta trunk, que é usada para a interligação de switches ou que a rede esteja ligada a um roteador. Assim, o administrador da infraestrutura de rede pode organizar o tráfego entre as VLANs.

2 Esquemas de endereçamento Para o funcionamento de uma VLAN, a primeira decisão será escolher o esquema de agrupamento a ser utilizado. Depois deverá ser criada a tabela de endereçamento, que pode ser por endereços de porta do switch ou pelos endereços MAC dos computadores ou ainda pelos endereços IP. No cenário da figura 6, as redes VLAN, cada uma com três computadores, estão com o agrupamento de endereços IP. A configuração dos endereçamentos começa com a definição do endereço da VLAN10 sendo 192.168.10.0/24 e a VLAN20 sendo 192.168.20.0/24.

Figura 6 – Cenário para endereçamento de redes VLAN

Os comandos apresentados no quadro 1 possibilitam a configuração dos nomes das VLANs e do ID associado, bem como o endereço de cada porta do switch associada a uma VLAN. É importante lembrar que cada computador já está configurado com um endereço IP. Quadro 1 – Comandos para configuração de VLAN e das portas associadas Switch Engenharia

Switch Financas

Switch> enable

Switch> enable

Switch# configure terminal

Switch# configure terminal

Switch(config)#vlan 10

Switch(config)#vlan 10

Switch(config-vlan)#name engenharia

Switch(config-vlan)#name engenharia

Switch(config)#vlan 20

Switch(config)#vlan 20

Switch(config-vlan)#name financas

Switch(config-vlan)#name financas

Switch(config-vlan)#exit

Switch(config-vlan)#exit

Switch(config)#interface fastEthernet 0/2

Switch(config)#interface fastEthernet 0/2

Switch(config-if)#switchport mode access

Switch(config-if)#switchport mode access

Switch(confg-if)# switchport access vlan 10 Switch(confg-if)# switchport access vlan 10 Switch(config)#interface fastEthernet 0/3

Switch(config)#interface fastEthernet 0/3

Switch(config-if)#switchport mode access

Switch(config-if)#switchport mode access

Switch(confg-if)# switchport access vlan 10 Switch(confg-if)# switchport access vlan 20 Switch(config)#interface fastEthernet 0/4

Switch(config)#interface fastEthernet 0/4

Switch(config-if)#switchport mode access

Switch(config-if)#switchport mode access

Switch(confg-if)# switchport access vlan 20 Switch(confg-if)# switchport access vlan 20

O cenário está configurado para testar a comunicação entre os computadores de uma VLAN.

IMPORTANTE Para a comunicação entre computadores de redes VLAN e que estejam em switches diferentes, é necessário que seja configurado, em cada switch, qual porta funcionará como porta trunk. Assim, para os dois switches, configurar: SwitchENGENHARIA(config-if)#interface fastEthernet 0/1 SwitchENGENHARIA(config-if)#switchport mode SwitchFINANCAS(config-if)#interface fastEthernet 0/1

trunk

SwitchFINANCAS(config-if)#switchport mode trunk

3 Testes adicionais de funcionamento de redes Para a realização dos testes, vamos utilizar o cenário das VLANs do quadro 1, com os computadores configurados com seus endereços IP conforme o quadro 2. Quadro 2 – Endereços de computadores e VLANs associadas COMPUTADOR

ENDEREÇO IP

VLAN

PC 0

192.168.10.2

VLAN 10

PC 1

192.168.10.3

VLAN 10

PC 2

192.168.20.3

VLAN 20

PC 3

192.168.10.4

VLAN 10

PC 4

192.168.20.4

VLAN 20

PC 5

192.168.20.5

VLAN 20

3.1 Testes realizados entre computadores Para organizar os testes com o comando ping entre computadores foi montado o quadro 3. Quadro 3 – Organização dos testes de conexão entre computadores ORIGEM

DESTINO

LOCAL

PC 0 – VLAN 10

PC 1 – VLAN 10

No mesmo switch

PC 0 – VLAN 10

PC 3 – VLAN 10

Em outro switch

PC 2 – VLAN 20

PC 4 – VLAN 20

Em outro switch

PC 4 – VLAN 10

PC 5 – VLAN 20

Em outro switch

Na figura 7, temos os resultados dos testes com a utilização do comando ping.

Figura 7 – Resultados dos testes de comunicação entre computadores da mesma VLAN

Considerações finais Neste capítulo, conhecemos a importância da segmentação de redes e as possibilidades de fazer agrupamentos dos computadores por porta do switch, por endereços MAC ou por meio de endereços IP. Vimos a criação de redes VLAN e as configurações básicas nos switches, bem como os testes realizados para mostrar o isolamento dos domínios de broadcast. A utilização de segmentação de redes proporciona melhor gerenciamento do tráfego, pois os pacotes de broadcast não se propagam por toda a rede; maior segurança dos dados, pois impede

acessos não autorizados; e facilidade no gerenciamento dos ativos da rede.

Referência TANENBAUM, Andrew Stuart. Redes de computadores. São Paulo: Pearson, 2011

Capítulo 10

Rede: camada de aplicação

Neste capítulo, vamos conhecer os protocolos da camada de aplicação e entender como eles auxiliam o desenvolvimento de aplicações

e

facilitam

a

disponibilização

através

da

rede.

Apresentamos o conceito de porta, ou socket, e as diversas portas definidas para aplicações, como servidor web, servidor de e-mail, os serviços de rede DNS e DHCP. Veremos como elas facilitam a vida dos administradores de rede e dos usuários. E, por fim, vamos realizar alguns testes para demonstrar o funcionamento desses protocolos.

1 Protocolos da camada de aplicação As empresas e seus usuários produzem diversos tipos de informação. Então pode-se dizer que a “rede humana” gera dados. A função da camada de aplicação é preparar a comunicação humana para ser transmitida por meio de uma rede de dados. Por outro lado, a camada de aplicação recebe os dados da rede e os prepara para que a rede humana possa utilizá-los, de forma inteligível. Assim, temos a função básica da camada de aplicação.

Uma aplicação de rede é formada por pares de processos que enviam e recebem mensagens. O que inicia a comunicação é chamado de cliente; o que espera o contato é chamado de servidor. Esses processos necessitam de uma interface de comunicação entre eles: o socket. Segundo Ross e Kurose (2013, p. 65): Um processo é semelhante a uma casa e seu socket, à porta da casa. Quando um processo quer enviar uma mensagem a outro processo em outro hospedeiro, ele empurra a mensagem pela porta (socket). O emissor admite que existe uma infraestrutura de transporte do outro lado de sua porta que transportará a mensagem pela rede até a porta do processo destinatário. Ao chegar ao hospedeiro destinatário, a mensagem passa pela porta (socket) do processo receptor, que então executa uma ação sobre a mensagem.

A comunicação por socket através da internet possibilita que dois processos possam trocar informações, sendo então a interface entre a camada de aplicação e a de transporte e que ficam dentro do hospedeiro. Também é chamado de interface de programação de aplicação, API (Application Programming Interface), entre a rede e a aplicação (ROSS; KUROSE, 2013). A figura 1 apresenta a comunicação entre dois hospedeiros. A camada de transporte é o protocolo TCP. Nesse caso, o desenvolvedor do software tem controle na camada de aplicação do socket, mas pouco ou nenhum controle na camada de transporte. Os controles da camada de transporte que o desenvolvedor tem são: selecionar o protocolo da camada de transporte (TCP ou UDP)[1]

e em alguns casos determinar alguns parâmetros, por exemplo: tamanho máximo de buffer e de segmentos. O desenvolvedor, ao construir a aplicação e a comunicação com a rede, selecionará o protocolo para o transporte, ou seja, se a aplicação precisa de um transporte confiável dos dados, em que diversos recursos de garantia de entrega e verificação são efetuados, nesse caso será utilizado o protocolo TCP; se a aplicação não precisar de garantia de entrega dos dados, então optará pelo uso do protocolo UDP. É importante salientar que os dois protocolos da camada de transporte se responsabilizam por enviar os dados da aplicação através da rede. A principal diferença entre eles está no controle do envio dos dados. O desenvolvedor pode optar por utilizar o protocolo UDP, que, embora mais rápido, não controla o envio. Caberá ao desenvolvedor implementar em sua aplicação, caso seja de seu interesse, os diversos controles para a garantia da entrega dos dados.

Figura 1 – Processos de aplicação, sockets e protocolos de transporte

Fonte: adaptado de Ross e Kurose (2013, p. 66).

Para a comunicação entre os hospedeiros (emissor e receptor), é preciso que se tenha um processo funcionando em cada um deles. Para a identificação do processo receptor, é necessário que se tenha o endereço do hospedeiro e um identificador que especifique o processo receptor no hospedeiro de destino (ROSS; KUROSE, 2013). Na internet, é utilizado o endereço IP para identificar o hospedeiro e para identificar o processo no hospedeiro, ou seja, o socket é informado por meio de um número de porta. Esses números de portas são padronizados, e assim uma aplicação recebe um número de porta padrão, como a aplicação do servidor web, que é identificado pela porta 80.

Os principais protocolos da camada de aplicação são mostrados na figura 2. Cada aplicação possui um protocolo e uma porta a ser utilizada. Figura 2 – Principais protocolos da camada de aplicação PROTOCOLOS DA CAMADA DE APLICAÇÃO

Sistema de gerenciamento de nomes

Servidor DNS

Possui nível hierárquico Faz relação entre nome de domínio e endereço IP Utiliza a porta 53

Enviar e-mail

Utiliza protocolo SMTP (Simple Mail Transfer Protocol) Utiliza a porta 587 para enviar Utiliza protocolo POP 3 (Post Office Protocol)

E-mail

Receber e-mail Utiliza a porta 110 para receber

Webmails modernos

Servidor web

Utiliza protocolo ICMP (Internet Message Access Protocol) Utilizado para ler a mensagem, sem transferi-la do servidor Utiliza protocolo HTTP

Transfere conteúdos da web para os navegadores

Utiliza porta 80 Utiliza protocolo HTTP

Servidor web seguro

Utiliza porta 443 Utiliza o protocolo FTP

Servidor FTP

Utilizado para transferência de arquivos Utiliza as portas 20 e 21

Servidor DHCP

Utiliza o protocolo DHCP (Dynamic Host Configuration Protocol) Atribui dinamicamente endereços IP a máquinas de uma rede local

1.1 Servidor web Esse tipo de servidor é o grande atrativo da utilização da internet nas empresas, funcionando sob a demanda das solicitações de serviços feitas pelos usuários. Com muitas facilidades e inovação proporcionou um grande crescimento nos negócios. A disponibilidade de novos serviços de forma mais fácil para os desenvolvedores se deve à padronização dos protocolos e à interoperabilidade. As

informações

dos

mais

diversos

sistemas

estão

disponibilizadas nas páginas web. Um servidor web mantém a estrutura e, por meio do protocolo HTTP (Hypertext Transfer Protocol),

disponibiliza páginas com textos, imagens, vídeos e outros objetos. O socket para o protocolo HTTP é identificado pelo número 80. Em algumas situações o acesso a páginas web deve ser feito de forma segura. Nesse caso, o protocolo a ser utilizado é o HTTPS (Hypertext Transfer Protocol Secure), que é uma versão do HTTP, só que

os

dados

são

transmitidos

através

de

uma

conexão

criptografada. O socket para o protocolo HTTP é identificado pelo número 443. A figura 3 apresenta um cliente acessando um servidor web por meio do protocolo HTTP e uma página sendo apresentada como resposta à solicitação. Figura 3 – Cliente acessando um servidor web por meio do protocolo HTTP

Figura 4 – O navegador interpreta o código HTML e exibe uma página web

1.2 Servidor de e-mail Outra aplicação muito utilizada pelos usuários é o serviço de email, que trabalha com três componentes principais: agentes de usuário, servidores de correio e o SMTP (Simple Mail Transfer Protocol) (ROSS; KUROSE, 2013), representados na figura 4. Os agentes de usuário possibilitam que os usuários possam ler, responder, encaminhar, salvar e escrever mensagens. Para enviar uma mensagem, o agente de usuário envia a mensagem ao servidor de correio, que a coloca em uma fila de mensagens de saída. O agente de usuário do destinatário, então, acessa a mensagem da caixa de entrada de seu servidor de correio. A estrutura central de correio eletrônico está no servidor de correio, onde cada destinatário possui uma caixa postal, que

armazena as mensagens de entrada e saída. Figura 5 – Serviço de e-mail com os diversos agentes

Fonte: adaptado de Ross e Kurose (2013, p. 88).

O outro agente do sistema de correio eletrônico é o SMTP. Segundo Ross e Kurose (2013, p. 88): O SMTP é o principal protocolo da camada de aplicação do correio eletrônico da internet. Usa o serviço confiável de transferência de dados do TCP para transferir mensagens do servidor de correio do remetente para o do destinatário. Como acontece na maioria dos protocolos de camada de aplicação, o SMTP tem dois lados: um lado cliente, que funciona no servidor de correio do remetente, e

um lado servidor que funciona no servidor de correio do destinatário. Ambos funcionam em todos os servidores de correio. Quando um servidor de correio envia correspondência para outros, age como um cliente SMTP. Quando o servidor de correio recebe correspondências de outros, age como um servidor SMTP.

A figura 6 mostra o mecanismo de funcionamento da aplicação de e-mail. O cliente SMTP (que está em funcionamento no hospedeiro do servidor de correio do remetente) faz o protocolo TCP abrir uma conexão com o servidor SMTP (no caso funciona no hospedeiro do servidor de correio destinatário) na porta 25. Com a conexão feita, alguns procedimentos são realizados na camada de aplicação; por exemplo, o cliente SMTP indica os endereços de e-mail do remetente e do destinatário. Após essa apresentação, a mensagem do cliente é enviada e fica armazenada na caixa de entrada do destinatário; já na caixa postal do remetente, a mensagem fica na caixa de saída. A leitura de e-mails da caixa postal do usuário é feita por meio do protocolo POP3, que abre uma conexão TCP com o servidor de correio e utiliza a porta 110. A conexão terá autorização, transação e atualização. Depois que o nome de usuário e a senha de acesso ao email forem autenticados, as caixas de e-mail ficarão disponíveis.

Figura 6 – Serviço de e-mail e protocolos SMTP e POP3

2 Serviços de rede (DNS/DHCP) A utilização cada vez maior de computadores e aplicações de negócios

tem

contribuído

com

o

aumento

das

redes

de

computadores e torna a configuração cada vez mais complexa para os administradores. A navegação via internet e a grande quantidade de novas aplicações nas empresas, tendo em vista que todo equipamento deve ter um endereço IP, faz com que a memorização fique mais difícil para os usuários (na prática, impossível). Assim, vamos apresentar dois serviços de rede que contribuem muito para tornar a administração de rede e seus endereços IP muito mais fáceis.

2.1 Servidor DNS – Domain Name Server A navegação através da internet pode ser facilitada pelo serviço DNS (Domain Name Server), servidor de nomes de domínio, que é um protocolo de gerenciamento de nomes. Assim o servidor DNS funciona como um grande banco de dados com os endereços de IP públicos e seus domínios associados. A importância do DNS para a rede é que facilita a navegação dos usuários, reduzindo o tempo de espera referente à tradução dos domínios para os seus IPs. Ainda deve-se considerar que os domínios (entenda nome do site da empresa, por exemplo) são registrados e recebem um endereço IP correspondente que ficará disponível para todos os servidores. Nesse sentido, um usuário poderá acessar um site digitando o nome de domínio (por exemplo, www.sp.senac.br) e a partir dele acessar as unidades espalhadas no estado de São Paulo. Figura 7 – Serviço de rede DNS

Os servidores DNS são organizados em uma forma hierárquica e distribuídos pelo mundo todo. Existem três classes de servidores DNS: os servidores raiz; os de domínio de alto nível, conhecidos com TLD (Top-level Domain); e os servidores autorizativos. Para determinar um endereço IP de um domínio, o cliente fará acesso a um dos servidores raiz, que retornará endereços IP dos servidores TLD para o domínio ponto com. Como exemplo, caso procuremos acessar o site da Amazon (www.amazon.com), o DNS raiz, ao ser contatado, retornará o endereço autorizativo para amazon.com, que, por sua vez, retornará o endereço IP para www.amazon.com. Servidores DNS raiz: são treze servidores espalhados pelo mundo com nomes de A a M. Servidores DNS de domínio de alto nível (TLS): são os servidores responsáveis por domínios de alto nível (.com, .org, .edu e .gov) e por todos os domínios de alto nível dos países. Servidores DNS autorizativos: os hospedeiros que possam ser acessados em uma rede pública devem fornecer registros DNS para que sejam mapeados em endereços IP. As empresas também podem possuir seus servidores DNS internos. Com isso, os computadores da rede local podem ser acessados pelas aplicações através de nomes, e não apenas por seus endereços IP.

2.2 Servidor DHCP – Dynamic Host Configuration Protocol

Para que os computadores possam pertencer a uma rede, eles precisam de um endereço IP. É importante relembrar que os dispositivos que participam de uma rede possuem o endereço da placa de rede, conhecido como endereço MAC. A configuração do endereço IP pode ser feita de forma manual, isto é, o administrador irá de computador em computador e configurará o endereço IP, más‐ cara e gateway. Isso pode ser feito em redes com um número pequeno de computadores; no entanto, com o crescimento da rede, essa tarefa pode se tornar mais trabalhosa. Por isso, foi desenvolvido um protocolo de configuração automática dos endereços IP chamado DHCP (Dynamic Host Configuration Protocol), protocolo de configuração dinâmica de endereços de rede. Em cada rede deve ser configurado um servidor IP que possuirá a faixa de endereços IP e manterá uma tabela com os endereços de cada computador. Quando um novo computador entra na rede, não possui um endereço IP atribuído. O computador envia uma solicitação de broadcast por endereço IP na rede através de uma chamada DHCP Discover. Assim que o servidor DHCP receber a solicitação, irá alocar um endereço IP válido (TANENBAUM, 2011). O servidor DHCP possui três mecanismos de alocação de endereço fornecendo uma maior flexibilidade ao atribuir os endereços aos computadores. Alocação manual: o administrador atribui um endereço préalocado ao cliente e o DHCP informa ao dispositivo somente o

endereço IP associado àquele endereço MAC. Alocação automática: o DHCP atribui automaticamente um endereço IP estático e permanente a um dispositivo, tendo selecionado o endereço a partir de um conjunto de IPs disponíveis. Alocação dinâmica: o DHCP atribui dinamicamente ou “aluga” um endereço IP a um dispositivo a partir de um conjunto de IPs disponíveis por um tempo determinado pelo servidor ou até o cliente não precisar mais do endereço. Um exemplo são os hotspots de shoppings ou de empresas que fornecem acesso wifi para os clientes. A figura 8 apresenta diversos cenários em que a atribuição de endereço IP utilizando servidores DHCP pode ser vista.

Figura 8 – Cenário de uma infraestrutura com DHCP

Uma pequena empresa ou um cliente de serviços de internet podem receber endereços IP que permitem navegar na rede internet através do roteador de acesso (ISP1, por exemplo). Já na rede corporativa de uma empresa com vários computadores temos o servidor DHCP local, que tem por tarefa a distribuição de endereços IP válidos apenas na rede interna, e a conexão com a internet é feita através do roteador de acesso, que recebe um IP válido na internet. Com esse cenário podemos ver as diversas utilizações do protocolo DHCP e a facilidade que ele introduz na gestão da rede.

3 Testes de funcionamento dos serviços de rede Para os testes de funcionamento dos protocolos e serviços da camada de aplicação, vamos utilizar o cenário da figura 9. Figura 9 – Cenário de testes de servidores e aplicações

A primeira atividade que vamos fazer nesse cenário será a configuração dos servidores com IP fixo; assim atribuímos os IPs de cada servidor como indicado no cenário. Observar que os computadores dos clientes ainda não possuem endereço IP.

A próxima etapa são as atividades no servidor DHCP. Para isso, deverá

ser

configurada

uma

faixa

de

endereços

a

serem

disponibilizados e, para que não se percam endereços IP quando os computadores são desligados, pode-se “alugar” os endereços por um período de tempo. Com os computadores ligados pela primeira vez e sem endereços IP, farão acesso ao servidor DHCP e em seguida terão seus endereços IP atribuídos. Os testes de acesso ao servidor web podem ser feitos em um computador utilizando um navegador (browse) e digitando o endereço de um site desejado. A solicitação sairá do computador do usuário e chegará até o servidor web, que devolverá uma página HTML e com seus conteúdos. Para que o acesso ao servidor web possa ser feito sem ter que digitar o endereço IP, podemos instalar um servidor DNS. A função do servidor DNS será cadastrar o endereço de domínio e o endereço IP associado e assim fazer com todos os domínios que forem utilizados. Estamos falando de um servidor DNS interno em nosso cenário. Com todos os servidores configurados no cenário da figura 9, a utilização da rede e dos serviços oferecidos aos usuários se torna mais fácil.

Considerações finais

Neste capítulo, aprendemos os principais protocolos da camada de aplicação, entre eles o servidor web, o protocolo HTTP e HTTPS e as portas que eles usam para se comunicar com a camada de transporte. Vimos também os serviços de e-mail disponíveis aos usuários e os conceitos que envolvem o protocolo SMTP e o POP3. Outra aplicação interessante e importante para os cenários de redes da internet são os serviços DNS e DHCP. A utilização dos servidores DNS proporciona uma navegabilidade mais simples na internet e maior facilidade para localização de empresas através de seu nome de domínio, em vez de utilizar o endereço IP. A facilidade de configuração de endereços IP em redes locais com a utilização dos serviços do servidor DHCP também foi mostrada e oferece maior flexibilidade no sistema de endereços de uma rede. Os

serviços

das

camadas

de

aplicação

facilitam

desenvolvimento de novos negócios e a utilização da internet.

Referências ROSS, Keith W.; KUROSE, Jim. Redes de computadores e a internet: uma abordagem top-down. São Paulo: Pearson, 2013. TANENBAUM, Andrew Stuart. Redes de computadores. São Paulo: Pearson, 2011.

o

[1] UDP (User Datagram Protocol) – protocolo da camada de transporte que faz a entrega de mensagens entre as aplicações, sem os controles de entrega e garantia que o protocolo TCP possui.

Capítulo 11

Virtualização de servidores

Neste capítulo, serão apresentados os conceitos sobre a virtua‐ lização e os motivos para escolher um servidor físico. Também veremos como é possível, por meio de ferramentas de software, criar máquinas virtuais que se comportarão como servidores sem precisar de um hardware dedicado. A economia de custo, além de diversos outros fatores, dará aos administradores de infraestrutura de TI os argumentos necessários para a adoção de virtualização em seus projetos.

1 Virtualização – conceitos As aplicações são executadas nos computadores utilizando o hardware disponível, ou seja, o processador, a memória e o disco rígido: isso define um servidor físico, que, através de um sistema operacional, vai alocando e executando as tarefas. As diferenças de velocidades de processamento do processador, o tempo de acesso às memórias e aos sistemas de armazenamento fazem com que em vários momentos o processador fique ocioso.

Imagine que em um mesmo servidor físico possam ser “criados” diversos servidores lógicos graças a um software. Esse é o princípio do conceito de virtualização, em que a capacidade de um servidor físico é distribuída entre diversos servidores, aproveitando todo o potencial do hardware instalado. Os recursos são distribuídos entre as diversas aplicações, que funcionarão como computadores virtuais, ou melhor ainda, como máquinas virtuais. Na figura 1 temos como exemplo uma empresa que possui três servidores, cada um com seu hardware específico executando as aplicações que estão instaladas, como servidor de e-mail, servidor de arquivos e servidor web. As capacidades dos servidores apresentam disponibilidade (folga), pois os números apresentados mostram quanto da capacidade está sendo utilizada (em termos percentuais), ou seja, a empresa possui hardware sendo subutilizado. Esse exemplo demonstra que as aplicações rodando nos três servidores físicos poderiam ser consolidadas em um único servidor utilizando os recursos de virtualização. Assim cada máquina virtual se comportará como um computador completo, com todos os recursos disponíveis de hardware e sistema operacional.

Figura 1 – Servidores e exemplo de carga de capacidade

A figura 2 mostra o tempo de ociosidade de três computadores que executam apenas um serviço cada um. Com a virtualização, observa-se a economia de hardware, pois os serviços de três computadores foram concentrados em apenas um e o tempo de ociosidade, diminuído. Assim, as empresas podem diminuir o parque de máquinas e ter os custos de diversos insumos reduzidos. De uma forma visual e simples, observamos os ganhos com os processos de virtualização.

Figura 2 – Serviços e ociosidade em computadores

A virtualização pode ser considerada como a execução de vários servidores virtuais em um só servidor físico, o que significa o funcionamento de mais de um sistema operacional e suas aplicações em um mesmo servidor que simula diversos servidores virtuais, ou máquinas virtuais (VM – Virtual Machines). O conceito de máquina virtual surgiu com a tecnologia de multiprocessamento, inicialmente lançada nos mainframes, que eram capazes de executar diversos sistemas operacionais, e com a virtualização dos recursos de hardware. A VM é uma camada de abstração que fica entre o hardware e o software e que protege o acesso direto do software aos recursos físicos do hardware. Assim, a virtualização possibilita que as aplicações e o sistema operacional sejam isolados da camada de hardware (VERAS, 2012). Segundo Veras (2012, p. 128):

a virtualização simplifica o gerenciamento, permite flexibilizar e ampliar o poder de processamento. Funcionalidades contidas nos softwares de virtualização permitem melhorar a disponibilidade e a recuperação de desastres de ambientes de TI de uma maneira mais simples e com menor custo quando comparado a formas tradicionais.

Sendo assim, a máquina virtual representa um computador, com CPU, memória, disco rígido, placa de rede e outros hardwares. Todos são gerenciados pela camada de virtualização, o hypervisor ou VMM (Virtual Machine Monitor), que organiza e separa os recursos físicos dos virtuais, sendo uma camada de software entre o hardware e o sistema operacional. IMPORTANTE O computador servidor que possui o hardware é chamado de servidor físico e possui um sistema operacional instalado. No estudo de virtualização ele é denominado host, ou hospedeiro. As máquinas virtuais são criadas pelo hypervisor e em cada uma delas deve ser instalado um sistema operacional chamado sistema operacional guest, ou convidado. A instalação desse sistema operacional na máquina virtual segue os padrões de instalação de um computador físico. É importante conceituar que o sistema convidado, ao fazer uma chamada de entrada/saída em um disco físico, na verdade está realizando uma gravação em um arquivo no host.

A figura 3 mostra os três servidores (e-mail, arquivos e web) instalados em um único servidor físico. Com a instalação do software de virtualização (hypervisor) foi possível criar três máquinas virtuais. Em cada uma foi instalado um sistema operacional e a aplicação

necessária para cada servidor específico. Por exemplo, o servidor de e-mail instalado em uma máquina virtual com sistema operacional Linux e a aplicação de e-mail. Com relação ao servidor de arquivos, a opção foi a instalação de um sistema operacional Windows Server e, no servidor web, uma instalação de sistema operacional Linux, com uma aplicação de servidor web. Assim, os três servidores funcionam de forma independente, compartilhando o mesmo hardware físico. Figura 3 – Servidores virtualizados

Existem alguns softwares (hypervisor) no mercado utilizados para criar máquinas virtuais, por exemplo: o Microsoft Hyper-V (HYPER-V); os softwares da VMware Workstation, VMware Player, VMware vSphere (VMware); RedHat KVM (REDHAT); e o Oracle VirtualBox (VIRTUALBOX). Tipos de virtualização que podem ser criados: Virtualização

de

servidores:

considerando

que

os

computadores desenvolvidos para serem servidores têm capacidade de hardware para o processamento de uma grande quantidade de informações, e isso devido à velocidade do processador, à memória e à capacidade do disco rígido, é interessante que as empresas possam construir os seus servidores virtuais em poucos servidores físicos, gerando economia de espaço, energia e diversos outros pontos importantes que veremos em tópico posterior. Com a virtualização do servidor, a capacidade instalada é mais bem aproveitada, evitando períodos de ociosidade do servidor. Virtualização de desktop: proporciona ao administrador a instalação de diversos sistemas operacionais em um único computador. Pode ser utilizado para testes de performance, de segurança e de comportamento de aplicativos em diversos sistemas operacionais, sem a necessidade de instalação física de sistema operacional em cada computador. Algumas ferramentas possibilitam a instalação de diversos desktops virtualizados através da rede.

Virtualização

de

sistemas

operacionais:

esse

tipo

de

virtualização ocorre no kernel, ou seja, o gerenciador de tarefas do sistema operacional. Assim, sistemas operacionais Windows e Linux podem ser executados paralelamente, o que gera uma redução de custos quanto a licenças, por exemplo. Outra vantagem é que as máquinas virtuais podem ser gerenciadas remotamente, melhorando a segurança e as atualizações de softwares para os usuários. Virtualização de funções da rede: as principais funções de rede podem ser distribuídas no ambiente de rede, por exemplo: configuração de IP, serviços de diretórios, compartilhamento de arquivos, entre outros. Com isso, os computadores em que estavam instalados não são mais necessários, o que pode significar a redução de switches, roteadores, cabeamento e outros componentes da infraestrutura de rede. Virtualização de dados: os dados são criados em diversas aplicações e armazenados em vários lugares de uma rede. Com a virtualização de dados, é possível consolidar esses dados em um único lugar e a partir deles fornecer aos usuários as aplicações que solicitarem. Isso pode gerar diversas vantagens para as empresas, como economia de servidor, consistência dos dados, segurança, entre outras. Virtualização de storage (armazenamento): os dados são centralizados em um sistema de armazenamento, o que facilita o acesso. Por exemplo, um conjunto de discos rígidos em um data

center. A virtualização de storage possibilita que diversos clientes possam utilizar um recurso físico, mapeando-os como se estivessem conectados em seus computadores.

2 Virtualização – componentes O primeiro passo para a virtualização é verificar o hardware disponível dos servidores. Devemos entender como hardware o conjunto composto de processador, memória, discos rígidos, placa de rede e conexões com a infraestrutura de rede. Uma vez selecionado o servidor físico onde serão instaladas as máquinas virtuais, deve-se instalar um sistema operacional. O servidor físico deverá ter instalado um sistema operacional com o hypervisor, que será o responsável pela divisão do hardware em partes e nelas a criação das VMs (máquinas virtuais). Na figura 4 o software hypervisor criou a máquina virtual 1 e 2, que estão instaladas em um hardware de servidor. Como o hypervisor simula dentro do hardware do servidor, os discos são armazenados em arquivos dentro do sistema operacional do hypervisor, enquanto CPU e memória são alocados sob demanda.

Figura 4 – Máquinas virtuais criadas com o hypervisor

Dependendo da necessidade da aplicação, são escolhidos os sistemas operacionais que serão instalados em cada máquina virtual. A máquina virtual 1 recebeu a instalação do Windows 10, e a máquina virtual 2, a instalação do Linux. O sistema operacional de cada máquina virtual estará isolado de outros e se comportará como se tivesse todos os recursos definidos quando da criação da máquina virtual. A divisão dos recursos entre as diversas máquinas virtuais será uma tarefa do hypervisor. É importante observar que alguns recursos podem ser alocados com quantidades maiores do que a real, o que

chamamos de over provisioning. Por exemplo: um hardware de servidor possui 20 Gb de memória e pode ter 12 máquinas virtuais com 2 Gb de memória cada uma, o que daria um total de 24 Gb, mas essas máquinas virtuais não podem usar todo o recurso ao mesmo tempo. Em situações de disputa por recursos, o hypervisor prioriza algumas máquinas virtuais para a preferência na execução.

3 Motivos para a virtualização A virtualização é uma tecnologia que possibilita a execução de diversos sistemas operacionais e aplicações dentro de um equipamento, que pode ser desde um computador simples até um servidor

com

diversos

recursos.

A

utilização

de

hardware

compartilhado e a consequente diminuição de investimento em servidores é um excelente motivo para que as empresas utilizem a virtualização.

Algumas

características

que

auxiliam

os

administradores de infraestrutura de TI a justificar a utilização de virtualização nos projetos ou a preparar a empresa para a adoção de tecnologias de cloud computing, ou computação em nuvem, são: Disponibilidade

e

confiabilidade:

a

virtualização

e

a

consequente redução de servidores diminuem as paradas para manutenção e tornam possível manter o serviço disponível sem que os usuários percebam a ocorrência de qualquer problema. Essa situação aumenta muito a confiabilidade e a disponibilidade dos sistemas aos usuários. Os sistemas de backup são otimizados com o uso da virtualização.

Redução de custos: a virtualização implica menor número de componentes físicos. Com isso, os custos de aquisição de hard‐ ware, manutenção e consumo de energia são reduzidos. É importante considerar que um servidor ligado e com plena carga tem quase o mesmo consumo de um servidor com pouca carga de trabalho. Também é interessante considerar o menor espaço físico necessário aos servidores ou mesmo ao data center. Automatização de processos: a virtualização e as diversas ferramentas utilizadas possibilitam a automação de vários processos, como a criação de templates de máquinas virtuais com modelos adequados às necessidades dos usuários e de aplicações. Recuperação de desastres: a utilização da virtualização proporciona uma melhor e mais rápida recuperação de desastres,

pois

o

contingenciamento

dos

serviços

disponibilizados aos usuários é facilitado devido a menor número de computadores e, com a abstração de hardware, não existe a necessidade de dependência de um hardware específico. As “imagens” de sistemas operacionais completos instalados em VM podem ser copiadas e armazenadas em local seguro e, em caso de problemas, bastará copiar um arquivo com a imagem, que é muito mais rápido que instalar e configurar um novo computador, como é necessário no modo tradicional. Sustentabilidade (TI verde): a virtualização possibilita a redução não só de energia e custos de aquisição como também de

impactos ambientais, por usar menor número de servidores e, portanto, diminuir o descarte de material. Ainda em ambientes virtuais, alguns servidores poderão ser desligados em períodos de menor demanda, o que pode diminuir a necessidade de refrigeração dos servidores/data center. Provisionamento rápido: a virtualização contribui para o crescimento dos negócios das empresas devido à facilidade de se provisionar recursos para novas aplicações de forma rápida, diferentemente do processo realizado com servidores físicos. Migração para computação em nuvem: com a adoção de estrutura de virtualização a migração para utilizar a computação em nuvem fica bem mais fácil, pois os provedores possuem suporte a IaaS (infraestrutura como serviço), o que significa que uma máquina virtual interna pode ser facilmente migrada para a nuvem. Com a virtualização, diversos benefícios surgem para as empresas e as áreas de negócios, sendo de imediato: Aproveitamento da infraestrutura existente: com os vários serviços podendo ser realizados em um único servidor, a capacidade de processamento é mais bem aproveitada, gerando redução de custos de hardware e de toda a infraestrutura necessária para dar suporte a um computador, como espaço, refrigeração e energia elétrica.

Diminuição do parque de máquinas: ao utilizar mais o hardware de cada equipamento existente com a virtualização, diminui-se a necessidade

de

aquisição

de

novos

hardwares

e

consequentemente os gastos com a infraestrutura. Centralização do gerenciamento: com a virtualização se torna mais fácil o gerenciamento dos recursos da infraestrutura instalada. Implementação rápida de aplicações: com a virtualização implantada na empresa, fica mais rápido ampliar aplicações e disponibilizá-las aos usuários. Variedade de plataformas: a virtualização possibilita que em um servidor físico possam ser instaladas diversas plataformas de sistema operacional, dependendo da necessidade de cada aplicação. Criação de ambiente de testes: a virtualização e a criação de máquinas virtuais possibilitam às empresas criar ambientes de testes para suas aplicações, antes de colocá-las em produção para os usuários. Segurança e confiabilidade: com a virtualização as máquinas virtuais funcionam de modo independente umas das outras, o que dá maior segurança, pois caso ocorra um problema de vulnerabilidade em uma máquina isso não afetará as outras. Migração e atualização mais fácil: as alterações em ambientes virtualizados podem ser feitas de forma rápida, o que facilita

muito os processos de migração de software e até mesmo a ampliação da infraestrutura.

Considerações finais Neste capítulo, foram apresentados os conceitos sobre virtualização e criação de máquinas virtuais. As características de virtualização de servidores, de desktop, de sistemas operacionais e de funções de rede, além da virtualização de dados. Compreendemos algumas características importantes que auxiliam e orientam o administrador de infraestrutura de TI na decisão de adotar a virtualização. A virtualização pode ser aplicada a servidores e, assim, diversos sistemas operacionais podem ser executados de forma simultânea em um mesmo hardware; ou pode ser a virtualização de storage (armazenamento), o que possibilita que diversos dispositivos de armazenamento se comportem como um só, facilitando o gerenciamento e a virtualização de rede, em que os recursos são compartilhados e uma placa de rede pode servir a diversas máquinas virtuais. Vimos ainda conceitos de virtualização de aplicação e de desktops. Por fim, abordamos os componentes básicos dos ambientes virtualizados, como a escolha de um hardware de servidor; a instalação do sistema operacional com o hypervisor e a construção de máquinas virtuais; e a instalação de sistemas operacionais em cada uma delas. Os conceitos sobre virtualização ainda serão

ampliados no próximo capítulo e servirão de base para a implementação de migração para os diversos serviços oferecidos pela tecnologia de computação em nuvem.

Referência VERAS, Manoel. Cloud computing: nova arquitetura de TI. Rio de Janeiro: Brasport, 2012.

Capítulo 12

Virtualização de servidores: funcionamento

A virtualização de servidores tem sido realizada nas empresas com o objetivo de utilizar serviços mais escaláveis e confiáveis e com custo cada vez menor. A tendência é a utilização de serviços de fornecedores de soluções hospedados em nuvem. Nesse sentido, a virtualização e consolidação de servidores é o primeiro e fundamental passo. Neste

capítulo,

vamos

conhecer

o

funcionamento

da

virtualização de um servidor, com os tipos de hypervisores, os cenários de virtualização e os conceitos de licenciamento dessa tecnologia. Além disso, abordaremos um exemplo de virtualização de servidor para compreendermos as etapas de um projeto de virtualização e as possibilidades de cada uma delas.

1 Funcionamento da virtualização de servidor

O funcionamento da virtualização de um servidor passa pela instalação de monitores de máquinas virtuais (VMM – Virtual Monitor Machine), também conhecidos como hypervisores, que funcionam como uma camada de software entre o sistema operacional e o hardware, e assim disponibilizam uma máquina virtual, com os dispositivos físicos de entrada/saída. Os softwares utilizados para a virtualização podem ser divididos em três categorias, cujo objetivo é fornecer compatibilidade de software, isolamento das máquinas virtuais e o encapsulamento da máquina virtual. O projeto da camada de virtualização não deve gerar impacto no desempenho das aplicações. As categorias de virtualização se aplicam aos níveis de: Hardware: nesse caso a virtualização é colocada sobre a máquina física, que a apresenta para as camadas superiores, como sendo um hardware abstrato, semelhante ao original. A maioria dos hypervisores está nessa categoria. Exemplo: VMware ESX, XEN e Hyper-V. Sistema operacional: nesse caso existe um mecanismo que possibilita a criação de partições lógicas, que se comportam como máquinas isoladas e que compartilham o mesmo sistema operacional. A camada de virtualização é colocada entre o sistema operacional e as aplicações. Como exemplo: Jails, Solaris Zones, Linux-VServer, SandBox, KVM e VirtualBox. Linguagem de programação: nesse caso a virtualização é um programa que define uma máquina abstrata e que executa uma

aplicação. Por exemplo: a máquina virtual Java (JVM – Java Virtual Machine). Segundo

Chee

e

Franklin

(2013),

os

hypervisores

são

classificados em tipo I e tipo II. Os de tipo I são os chamados baremetal, nativo ou supervisor que são executados diretamente no hardware do servidor físico, controlando o hardware e o acesso do sistema

operacional

guest

(convidado).

Têm

como

função

compartilhar os recursos de hardware com as máquinas virtuais de modo que elas tenham a “impressão” de que os recursos são exclusivos para elas. Esse tipo se enquadra na categoria de virtualização de hardware. Os de tipo II são aplicativos de software que funcionam dentro de um ambiente de sistema operacional e se comportam como se fossem um processo dele. A camada de virtualização é formada por um sistema operacional guest e um hardware virtual, que são criados sobre os recursos de hardware disponibilizados pelo sistema operacional nativo. Esse tipo se enquadra na categoria de virtualização de sistema operacional. A figura 1 apresenta os dois tipos de hypervisores e a localização do software de virtualização, estando uma acima da camada de hardware e a outra na máquina virtual.

Figura 1 – Tipos de hypervisores

Um dos principais objetivos da virtualização de servidores é a diminuição dos servidores físicos e consequentemente do consumo de energia, da necessidade de equipamentos para climatização do ambiente, da emissão de gases nocivos e da produção de lixo eletrônico causada pelo descarte de computadores obsoletos. Com a virtualização de servidores os “tempos ociosos” de CPU são mais bem aproveitados, o que na prática pode significar a instalação de alguns servidores em uma única máquina física diminuindo os investimentos em hardware. A virtualização de servidores pode ainda proporcionar economia no upgrade de servidores, pois as fontes de alimentação atuais têm mais eficiência do que as mais antigas.

1.1 Conceito de instância

Outra característica está na capacidade de servidores virtuais serem transferidos para outros servidores físicos. Esse conceito é conhecido como instância. Assim, imagine que podem ser criadas e armazenadas diversas configurações de máquinas virtuais com todas as configurações ajustadas. A estratégia de uso de instâncias será de fundamental importância, principalmente em casos de recuperação de desastres ou na migração para o conceito de nuvem. A possibilidade de “montar” uma imagem de disco, gerando uma imagem virtual de um disco e armazenado em disco rígido e não em um DVD ou CD físico, torna muito mais fácil o gerenciamento remoto e o equilíbrio da demanda por mais hardware. A virtualização de servidores pode ser realizada de diversas formas. As que são baseadas em hypervisores em arquiteturas x86 alteram o nível de privilégios e incluem a virtualização completa e a paravirtualização. Quadro 1 – Virtualização completa e paravirtualização VIRTUALIZAÇÃO COMPLETA

DEFINIÇÃO

DESVANTAGENS

Realiza a abstração do sistema físico sobre o qual o sistema operacional guest é executado. E isso sem nenhuma alteração no sistema operacional ou nas suas aplicações. A virtualização completa proporciona maior facilidade na migração de máquinas virtuais entre os servidores físicos. Existe independência entre as aplicações e os recursos físicos do servidor, e como as máquinas virtuais são isoladas uma das outras, a

Uma desvantagem com a virtualização completa é o desempenho, e isso devido ao hypervisor verificar a execução de todas as instruções que o sistema operacional guest realiza.

segurança é maior. Cada instância da máquina virtual é um processo do sistema operacional nativo. Com o objetivo de resolver os problemas de desempenho e a baixa utilização dos recursos que a virtualização completa causa, a solução é a paravirtualização, que consiste em alterar o sistema operacional guest para que ele faça uma chamada à máquina virtual sempre que for executar uma instrução prioritária, e as instruções não PARAVIRTUALIZAÇÃO privilegiadas são executadas diretamente pelo processador nativo. Quanto aos dispositivos de entrada/saída, os hypervisores que utilizam a paravirtualização fazem com que as máquinas virtuais tenham acesso aos dispositivos físicos reais e sob o controle do hypervisor. Dessa forma ocorre a otimização do desempenho.

Uma desvantagem da paravirtualização é a necessidade de modificação no sistema operacional guest e isso necessita acesso ao código-fonte. Um exemplo de sistema que utiliza a paravirtualização é o XEN Open Source, que virtualiza o processador e a memória, e utiliza um núcleo Linux que é modificado. Além disso, ocorre também a virtualização do sistema de entrada/saída com os drivers de dispositivos customizados.

1.2 Cenários da virtualização A virtualização tem sido um dos elementos centrais da construção de data centers, o que leva à utilização de computadores em toda a sua capacidade, diminuindo assim o desperdício de ciclos de processamento. Com a utilização de vários servidores em um servidor físico, mais algumas situações vantajosas se apresentam, como economia de energia, refrigeração, menor espaço físico, facilidade de gerenciamento e até mesmo menos manutenção dos servidores (VERAS, 2012).

O conceito de se utilizarem diversas máquinas virtuais, cada uma fica responsável por um serviço e todos sendo executados em uma única máquina física, é chamado de consolidação de servidores. A continuidade de negócios, a alta disponibilidade e a recuperação em caso de desastres oferecem o complemento no projeto dos cenários de virtualização. Vale lembrar que uma máquina virtual é uma imagem armazenada e que pode ser instanciada[1] a qualquer instante. Com isso, a máquina virtual pode ser monitorada, e em caso de necessidade ser “migrada” de um servidor físico a outro, o que facilita a recuperação em caso de falhas ou ainda o balanceamento de carga entre os servidores. Com a virtualização algumas situações podem ser utilizadas nas empresas, como: Virtualização de desktops: cada usuário pode acessar o servidor por meio de thin client (clientes magros), que são hardwares de baixa capacidade de processamento. E ainda podem empregar diferentes sistemas operacionais, que ficam instalados nas máquinas virtuais. Hospedagem de sistemas operacionais legados: podem-se utilizar sistemas legados, pois cada máquina virtual pode hospedar sistemas operacionais e aplicações antigas e todas as suas bibliotecas. Data center dinâmico: com a virtualização é possível criar uma infraestrutura mais ágil e alterar o local onde a máquina virtual é

hospedada sem que os usuários sofram qualquer impacto. No

cenário

de

virtualização

não

se

deve

esquecer

o

gerenciamento das máquinas virtuais, cujo controle é realizado pelo hypervisor, que possui mecanismos de controle e detecção de intrusos, e assim gerencia o acesso aos discos e à infraestrutura de rede.

1.3 Licenciamento de plataformas virtualizadas O licenciamento de software para a virtualização depende da política e estratégia de mercado adotadas pelos fabricantes. Uma das possibilidades está no licenciamento por socket (ou seja, os chips processadores que ficam na CPU). Para alcançar maior performance, antigamente se envolviam processadores com maior velocidade em mega-hertz (MHz). Atualmente a melhoria de desempenho está ligada ao número de núcleos, que também economiza energia. A utilização de mais núcleos aumenta a capacidade de multitarefa, o que é mais adequado para servidores. De forma geral, a aquisição de licenças de sistema operacional está ligada ao servidor físico e à quantidade de máquinas virtuais que se pretende instalar. Por exemplo: uma empresa deseja ter quatro servidores virtualizados e utilizar sistema operacional Windows em alguma versão de servidor. A empresa deverá comprar o número suficiente de licenças, sendo uma para cada instância e uma para o servidor físico. Algumas empresas, para diminuir o custo de licenciamento, acabam instalando servidores em máquinas virtuais em ambiente Linux, que em princípio não tem custo.

NA PRÁTICA A utilização de versões gratuitas de distribuições Linux não é aconselhável em servidores. Os administradores, em situações de emergência e por falta de licenças de sistema operacional, para não correrem riscos de ilegalidade, acabam instalando versões gratuitas. Para segurança de uma instalação de servidor e dos diversos clientes que vão depender dos serviços desse servidor, é aconselhável que se invista em licenças pagas, por questão de segurança e suporte.

1.4 Considerações sobre limites da virtualização A virtualização tem sido um dos pilares da TI atual, com tendência de utilização de serviços migrados para o conceito de nuvem. Nos projetos de adoção de virtualização, os administradores devem considerar alguns procedimentos para garantir a qualidade dos serviços prestados pela virtualização, por exemplo: Carga excessiva: alguns aplicativos necessitam em grande parte de demanda do servidor físico onde estão instalados, por exemplo, os servidores de banco de dados. Ao se pensar em virtualizar as aplicações, é importante a análise de desempenho, pois o hypervisor sempre causa uma perda de desempenho. Gerenciamento de licenciamento: o controle de gerenciamento de licenças para os projetos de virtualização é muito importante devido às diferentes regras dos fabricantes. Nesse sentido é necessário muito cuidado para não correr o risco de alguma ilegalidade quanto a licenciamento de software.

Equipe de profissionais de TI: A virtualização e toda a tecnologia envolvida exige qualificação dos profissionais, o que deve ser uma preocupação constante das empresas.

2 Exercício básico de virtualização O exercício de virtualização proposto começa com o projeto da virtualização, que pode ser seguido como uma espécie de guia orientador para que ao final, com os servidores virtualizados, possam ser medidos diversos indicadores e se possa chegar à conclusão de que a virtualização foi um sucesso. O projeto deve definir a infraestrutura necessária para dar suporte às aplicações virtualizadas e considerar as possibilidades de crescimento da infraestrutura. A figura 2 apresenta as etapas do projeto de virtualização, desde o planejamento da capacidade, com coleta e a análise das informações; prova de conceito e o VRA – Virtualization Readiness Assessment (avaliação de disponibilidade para virtualização); escolha do fornecedor baseada em diversos critérios; projeto em si; implementação e por fim gerenciamento.

Figura 2 – Etapas do projeto de virtualização

2.1 Planejamento da capacidade O planejamento da capacidade de virtualização deve levar em conta a variedade de servidores, os sistemas operacionais e as cargas de trabalho (workloads). Na maioria dos cenários, o uso dos recursos é muito baixo e isso possibilita aos projetos de virtualização um alto ganho de consolidação. O planejamento da capacidade pode ser dividido nas fases de coleta e análise; nos testes – também chamado de POC (Proof of Concept); na prova de conceito do ambiente a ser virtualizado; e na construção do relatório do planejamento da capacidade, conhecido como VRA (Virtualization Readiness Assessment).

2.1.1 Etapa de coleta e levantamento

Nessa etapa é importante levantar a infraestrutura existente e saber que funcionalidades selecionadas para a virtualização são importantes para a definição dos recursos legados a serem aproveitados. A nova infraestrutura deve ser projetada com uma folga nos recursos de processamento e no uso de memória. As informações a serem coletadas em relação aos servidores são: quantidade de servidores, processamento total, quantidade de memória, utilização da banda de cada servidor, espaço em disco total e performance de processadores, disco e memória.

2.1.2 Etapa de análise Deve-se considerar que computadores físicos têm capacidade e quantidade de recursos limitadas a serem compartilhadas com as máquinas virtuais. Assim, o hypervisor será fundamental para gerenciar as máquinas virtuais com relação a uso de memória, uso de processos e entrada/saída. A coleta de dados deve ser centralizada no desempenho real do servidor, e não apenas na sua função. Como produto dessa etapa de análise, tem-se: análise de desempenho de cada servidor, análise do hardware necessário para suportar os servidores que serão virtualizados e análise da situação de tolerância a falhas.

2.1.3 Etapa de análise Nessa etapa as empresas conseguem simular as capacidades da virtualização, avaliar as situações e definir como resolver possíveis problemas e medir os resultados. Em geral, a prova de conceito é desenvolvida

pela

empresa

de

consultoria

ou

por

equipe

especializada; dura em média de 30 dias e deve: instalar e configurar o software de virtualização, orientar sobre as melhores práticas de utilização, testar as características e funcionalidades e validar a solução do cenário proposto de forma que as especificações de negócio da empresa sejam atendidas. Estágios da etapa da prova de conceito: Fase I – levantamento: definição das características e planejamento do escopo do projeto. Fase II – planejamento: detalhes da solução, definição do período de execução e do plano de testes. Fase III – construção: instalação, configuração e realização dos testes da estrutura virtualizada. Fase IV – gerenciamento: verificação dos objetivos, reavaliação da solução e próximos passos. Ao final dessa fase, já se tem ideia da capacidade de uso da virtualização e dos valores financeiros.

2.1.4 Etapa de avaliação de disponibilidade para virtualização Nessa etapa, o relatório de avaliação de disponibilidade para virtualização deverá descrever o impacto e os benefícios que serão alcançados com a consolidação dos servidores, demonstrando as melhorias com relação aos serviços, o aumento da produtividade e a simplificação de implantação de novos serviços.

IMPORTANTE O relatório deve apresentar dados sobre a área de investimentos a serem realizados, a aquisição de hardware, o licenciamento de software e de todos os custos com a manutenção da nova infraestrutura. Essas informações são conhecidas como custo total do investimento – TCO (Total Cost of Owership). Outra informação importante é o retorno sobre o investimento – ROI (Return On Investiment).

2.2 Escolha do fornecedor Após definida a infraestrutura de virtualização tem-se a etapa de seleção dos fornecedores, e a avaliação deve considerar: preço da solução, desempenho, disponibilidade, segurança, base instalada e funcionalidades.

2.3 Projeto A etapa do projeto envolve a elaboração dos testes das aplicações em ambiente de desenvolvimento, na infraestrutura virtualizada e, após avaliações de comportamento, devem entrar em regime de produção para os usuários. É comum separar essa etapa em: Especificações

do

sistema:

detalhamento

de

todas

as

especificações, necessidades de licenciamento, backup e possíveis implicações nos ambientes de rede virtualizada e nos dispositivos de armazenamento.

Plano de implementação: deve conter todas as informações necessárias para verificação dos recursos, construção da infraestrutura virtualizada, migrações e acompanhamentos de revisão.

2.4 Implementação Depois de desenvolvido o projeto, há a etapa de implementação, em que todos os detalhamentos da infraestrutura virtualizada e das plataformas envolvidas deverão ser instalados. Para facilitar a implementação, alguns cuidados e procedimentos devem ser adotados: Procedimentos e cuidados com servidores: Utilizar

servidores

homologados

pelo

software

de

virtualização. Conhecer e definir as formas de licenciamento do hypervisor. Observar projeto de arquitetura dos servidores, backup e armazenamento. Observar projeto de migração para converter um servidor físico em virtual. Procedimentos e cuidados com armazenamento: Utilizar o software de virtualização para os casos de failover[2] e balanceamento de carga.

Definir a rede e as funcionalidades desejadas. Definir o nível de integração do backup.

2.5 Gerenciamento Nessa etapa é utilizado algum software específico de gerenciamento, normalmente fornecido pelo fabricante do hypervisor, que tem como finalidade o fornecimento de relatórios das diversas atividades do sistema virtualizado.

Considerações finais A consolidação de servidores em um mesmo computador físico, e a possibilidade de alocar automática e rapidamente os servidores ou suas instâncias em outro servidor físico em caso de alguma falha, é um dos atrativos para a adoção da virtualização e a consolidação de servidores. Um projeto de virtualização de servidores e a sua consistência elevam as possibilidades de sucesso na virtualização. Provas de conceito e relatórios de retorno de investimento, oferecem às empresas uma migração segura para os ambientes virtualizados e criam um cenário promissor para a adoção dos serviços em nuvem.

Referências CHEE, Brian J. S.; FRANKLIN JR, Curtis. Computação em nuvem: cloud computing – tecnologias e estratégias. São Paulo: M. Books,

2013 VERAS, Manoel. Cloud computing: nova arquitetura de TI. Rio de Janeiro: Brasport, 2012.

[1] Instanciada – processo em que se copia um objeto. No caso de virtualização, é a cópia dos arquivos de uma máquina virtual. [2] Failover – processo no qual uma máquina assume os serviços de outra em casos de falha.

Capítulo 13

Computação em nuvem: conceitos

Neste capítulo, vamos começar o estudo sobre a computação em nuvem, com as definições e os termos utilizados. Serão apresentados os conceitos básicos sobre os modelos de serviços de nuvem: IaaS, PaaS e SaaS, e ainda como esses serviços podem ser fornecidos por meio de nuvens públicas, privadas, híbridas ou comunitárias. A migração das atividades de TI das empresas e até mesmo dos usuários tem sido um dos grandes paradigmas, e muitas coisas do nosso cotidiano já estão sendo utilizadas por meio de serviços de nuvem.

1 Definição de computação em nuvem O crescimento da utilização de serviços computacionais em diversas áreas do conhecimento, e com isso a necessidade de mais infraestrutura de TI nas empresas, tem sido o grande desafio para os arquitetos de tecnologia da informação. Assim, um dos termos mais utilizados nos últimos anos tem sido “colocar tudo na nuvem”. As informações são armazenadas em uma infraestrutura que pode ser chamada de arquitetura de TI, pois envolve computadores e

dispositivos dos usuários, servidores, software de aplicação, infraestrutura de rede e até mesmo pessoal especializado. A relação custo-benefício e a necessidade de respostas rápidas a demandas emergentes têm forçado as empresas a uma ruptura com padrões estabelecidos. Uma dessas rupturas consiste em passar a armazenar não só as informações em um data center, mas também as aplicações, os sistemas operacionais e, de uma certa forma, manter na empresa apenas os dispositivos que possibilitam aos usuários acessar as informações, sem necessariamente conhecer o local físico onde estão armazenadas. Com a evolução da arquitetura de TI para o processamento de informações, pode-se considerar quatro etapas, conforme a figura 1. Figura 1 – Etapas para o processamento de informações

No início, grandes volumes de dados eram armazenados e processados nos mainframes; em seguida passaram para a arquitetura cliente-servidor graças à evolução da microeletrônica e aos novos processadores, cada vez mais poderosos e rápidos. As empresas perceberam que para a evolução de utilização da tecnologia, o custo de uma nova instalação de hardware/software em novos computadores, elas precisariam ter computadores de usuários com maior poder de processamento, mais até do que os servidores instalados. As tecnologias que ampliaram as velocidades e as novas propostas de conexão deram à internet novas possibilidades. Esse

cenário e principalmente as características interessantes de virtualização propiciaram o compartilhamento não só dos servidores, mas também das aplicações, das ferramentas de desenvolvimento, tornando toda a infraestrutura de TI possível de ser compartilhada. Com a evolução do processamento de informações na arquitetura de TI, surge a computação em nuvem. Segundo Laudon e Laudon (2013, p. 154): é um modelo computacional no qual a capacidade de processamento, armazenamento, software e outros serviços são obtidos de um agrupamento de recursos virtualizados por meio de uma rede, geralmente a Internet. Essa “nuvem” de recursos computacionais pode ser acessada com base na demanda do momento, a partir de qualquer local ou dispositivo conectado.

E, conforme o NIST (National Institute of Standards and Technology), dos Estados Unidos: Computação em nuvem é um modelo que possibilita o acesso, de modo conveniente e sob demanda, a um conjunto de recursos computacionais que são configuráveis (redes, equipamentos, servidores, dispositivos de armazenamento, aplicações e serviços) e que podem ser rapidamente adquiridos e liberados com mínimo esforço gerencial ou interação com o provedor de serviços. (NIST, 2013, p. 1)

A figura 2 apresenta os cenários da computação em nuvem, com exemplos de serviços de infraestrutura, como gestão de recursos computacionais, gerenciamento de rede e gestão do armazenamento; de serviços de plataforma, como armazenamento em bloco, redes de comunicação, gestão de identidade e servidores de conteúdo; e dos

serviços de aplicações, como gestão do conteúdo, software corporativo, ambientes de colaboração e gestão de processo. Figura 2 – Exemplo de plataforma de computação em nuvem

Fonte: adaptado de Laudon e Laudon (2013, p. 154).

A computação em nuvem apresenta características importantes e que devem ser consideradas para que as empresas migrem suas aplicações e até mesmo toda a infraestrutura de TI.

2 Principais conceitos sobre computação em nuvem A principal característica da computação em nuvem é a terceirização do gerenciamento e a utilização de hardware e software

para os usuários, fornecidos por empresas especializadas, com serviços de melhor qualidade e menor custo. Por exemplo, uma empresa pode adquirir recursos de hardware conforme sua demanda, sem os custos iniciais de aquisição e instalação dos computadores e softwares. Se a demanda diminuir, pode então diminuir a quantidade de recursos de hardware remoto, e não fica com hardware desnecessário e que será depreciado com o tempo. Assim, conceitos como escalabilidade e elasticidade no fornecimento de recursos se tornam fatores muito atraentes para as empresas. Imagine uma empresa ter a liberdade de ampliar ou diminuir seu parque de máquinas e softwares instalado com um custo bastante acessível e que contempla as variações de seu mercado. E mais, quando necessário, solicitar a troca de hardware provisionado. Isso em linhas gerais é computação em nuvem. A figura 3 apresenta os componentes da computação em nuvem divididos em: Modelos de desenvolvimento: com as nuvens pública, privada, híbrida ou comunitária. Modelos de serviços: com IaaS (infraestrutura como serviço), PaaS (plataforma como serviço) e SaaS (software como serviço). Características essenciais: self-service sob demanda (ondemand self-service), acesso através da rede (broad network access), medição de serviços (measured service), elasticidade rápida (rapid elasticity) e oferta de recursos (resource pooling).

Figura 3 – Componentes da computação em nuvem

2.1 Características essenciais As características essenciais da computação em nuvem servem de parâmetros para que tanto as empresas quanto os fornecedores de serviços de nuvem possam ajustar seus relacionamentos e os contratos de prestação de serviços. Conforme apresentado na figura 3, são elas: On-demand self-service (self-service sob demanda): os serviços computacionais podem ser acessados sob demanda, dependendo da necessidade do usuário, e podem ser selecionados sem a necessidade de intervenção do fornecedor.

Broad network access (acesso pela rede): os recursos são disponibilizados através de rede e acessados por diversos tipos de dispositivos, como computadores, smartphones e tablets. Measured service (medição de serviços): os serviços em nuvem são cobrados dependendo da quantidade utilizada. Rapid elasticity (elasticidade rápida): os recursos podem ser provisionados pelos provedores de serviços de nuvem de forma elástica, isto é, podem ser alocados em qualquer quantidade e a qualquer momento. Resource

pooling

(oferta

de

recursos):

os

recursos

computacionais são fornecidos pelo provedor de serviços de forma compartilhada com diversos usuários, quer sejam físicos, quer sejam virtuais, e são atribuídos dinamicamente aos usuários.

2.2 Modelos de serviços Existem três modelos de serviços que podem ser oferecidos para os usuários, conforme apresentados na figura 4.

Figura 4 – Modelos de serviços em nuvem

2.2.1 Infraestrutura como serviço (IaaS) O modelo de serviços IaaS fornece a infraestrutura virtual de servidores, dispositivos de rede, armazenamento e outros recursos para construir um ambiente que possa ser acessado sob demanda, isto é, se forem necessários mais recursos de hardware, basta provisionar e escolher as características de hardware desejadas em um catálogo. Esse catálogo é uma interface para administração da infraestrutura

e

serve

para

interação

com

hosts,

switches,

balanceadores de carga, roteadores e novos equipamentos. Assim, a adição ou a exclusão de um item ocorre de forma simples. A infraestrutura fornecida pelos serviços IaaS é baseada em técnicas de virtualização de recursos de computação. Como pode ser

escalada dinamicamente entre os usuários dos serviços, os custos são muito inferiores. Imagine a economia que a empresa consegue com IaaS, já que não precisa adquirir servidores e equipamentos de rede para ampliar seus serviços conforme as necessidades de mercado.

2.2.2 Plataforma como serviço (PaaS) O modelo de serviços PaaS possibilita aos usuários projetar seus sistemas de software, pois fornece um ambiente com um sistema operacional, as linguagens de desenvolvimento e o ambiente necessário para que os desenvolvedores possam construir, testar e compartilhar suas aplicações com outros desenvolvedores. Esses ambientes em geral são escaláveis, isto é, podem crescer dependendo da demanda. Nesse modelo, o PaaS fornece uma infraestrutura em que o usuário não administra ou controla os servidores, a configuração de rede, os sistemas operacionais ou o armazenamento. Os controles ficam restritos apenas às aplicações que estão sendo desenvolvidas. Um cenário interessante para a utilização desse modelo pode ser visto quando uma empresa possui uma equipe de desenvolvimento de aplicações e que em alguns momentos necessita de uma plataforma de desenvolvimento. Eles contratam o serviço apenas pelo tempo necessário.

2.2.3 Software como serviço (SaaS)

O modelo de serviços SaaS possibilita que os usuários utilizem as aplicações que estão instaladas na infraestrutura (computadores, redes e acesso) do provedor de serviços de nuvem. As aplicações são acessadas por meio de dispositivos com um navegador web. Assim, em vez de adquirir licenças de desktop e servidor para os softwares que utiliza, a empresa obtém as mesmas funções do serviço na nuvem, evitando a complexidade de instalação, manutenção, atualizações e demais atividades em sua infraestrutura, pois tudo isso será função do provedor do serviço de nuvem. O modelo IaaS provê: acesso aos recursos fundamentais de hardware e infraestrutura, como máquinas físicas, máquinas virtuais e armazenamento virtual; ambientes de desenvolvimento para as aplicações e ferramentas de desenvolvimento; utilização de aplicações como um serviço aos usuários finais.

2.3 Modelos de desenvolvimento Com o desenvolvimento da computação em nuvem e as vantagens apresentadas, as empresas têm buscado opções para a migração de parte de suas atividades para a nuvem, e em alguns casos até mesmo a totalidade de seus negócios. Uma análise a ser feita, então, será em relação ao modelo de nuvem a ser utilizado, o que diz respeito principalmente à propriedade e à gestão dos recursos de nuvem.

2.3.1 Nuvem pública Uma infraestrutura de nuvem pública é disponibilizada para o público em geral ou para um conjunto de empresas. O provedor de serviços é o proprietário e vende os serviços, sendo o responsável pela infraestrutura e pelos controles dos dados e das operações da nuvem. O provedor de serviços pode ser uma organização comercial, acadêmica ou governamental, ou ainda um misto entre eles. Esse tipo de nuvem fornece serviços para o consumidor e são fáceis de usar, por exemplo: Amazon, aplicativos do Google, e-mail do Yahoo, Facebook, Linkedin, mídias sociais para armazenamento de fotos, etc. Essas aplicações são acessadas pela internet através de IP seguro e podem ser gratuitas ou cobrar uma taxa por uso. As nuvens públicas podem ser baratas e dimensionáveis para que possam atender às demandas, contudo não fornecem contrato de serviços (SLA – Service Level Agreement) e, portanto, não garantem contra perda ou corrupção dos dados. As nuvens públicas são mais apropriadas para consumidores e empresas que não exigem níveis de serviços. É preciso considerar que as nuvens públicas de IaaS não fornecem restrições ou conformidade com as leis de privacidade, sendo responsabilidade do assinante ou do usuário corporativo. O foco das nuvens públicas está no consumidor final e nas pequenas e médias empresas.

2.3.2 Nuvem privada

As empresas podem construir suas próprias nuvens dentro da infraestrutura de TI, e assim gerenciar os recursos ou até mesmo terceirizar o gerenciamento. Ainda é importante considerar que os servidores podem estar alocados dentro da empresa ou em data center fora das instalações. As nuvens privadas podem fornecer o modelo IaaS para seus colaboradores, ou ainda unidades de negócios, através de intranet ou internet, usando uma rede VPN (Virtual Private Network). Também podem fornecer aplicativos ou armazenamento como serviços para as filiais e assim aproveitar toda a infraestrutura existente. A segurança é um dos principais motivos para a adoção de nuvem privada, pois os controles de segurança são mais rígidos. Exemplos de serviços fornecidos nessas circunstâncias são os bancos de dados sob demanda e o armazenamento sob demanda.

2.3.3 Nuvem híbrida A infraestrutura de nuvem híbrida é formada por duas ou mais nuvens, que podem ser públicas, privadas ou comunitárias, e que continuam como entidades exclusivas, porém interligadas por tecnologia que possibilita a portabilidade de dados e de aplicativos. Com a utilização de cenários com nuvem híbrida, as informações confidenciais podem ser armazenadas em área privada da nuvem e outros dados em nuvem pública, aproveitando os benefícios de redução de custo, por exemplo.

A utilização de nuvem híbrida pode ser interessante para empresas de menor porte, em que aplicações com menor exigência de segurança podem ser utilizadas com menor custo e sem comprometer a segurança de dados confidenciais.

2.3.4 Nuvem comunitária A

infraestrutura

de

nuvem

comunitária

compartilha

as

características de nuvens privadas e públicas. Com a nuvem privada ela restringe o acesso e com a nuvem pública os dados são compartilhados com diversas organizações. Em geral, essas organizações têm requisitos e particularidades em comum e trocam dados entre si. Um exemplo está no setor de saúde, cujas exigências de privacidade, regulamentações do governo e necessidades de informações por laboratórios e outros atores do processo são comuns. O gerenciamento da nuvem comunitária poderá ser feito pelas organizações/empresas participantes ou ainda por terceiros. Os custos são distribuídos por um número menor de usuários que em uma nuvem pública, e maior que em uma nuvem privada.

3 A computação em nuvem aplicada ao cotidiano A transformação digital e a inovação em serviços virtuais têm impactado diretamente o dia a dia das pessoas. Nesse contexto, a computação em nuvem surge como uma solução com enorme

potencial de crescimento. Os usuários se beneficiam de diversas formas com a utilização de recursos de nuvem em sua rotina, e uma das grandes vantagens surge com a integração entre mobilidade e dispositivos, estes perfeitamente alinhados com as necessidades dos tempos atuais. As soluções de softwares como serviço (SaaS) para os usuários reduzem drasticamente os custos com aplicativos e ferramentas, pois não há necessidade de se instalar nada, e o acesso pode ser feito com diversos tipos de dispositivos. Os usuários não estão mais presos a suas estações de trabalho, quer na empresa ou em casa. A mobilidade de serviços permite aos usuários acessar serviços pela internet

em

qualquer

local

e

horário.

Avalie

serviços

de

compartilhamento de arquivos via serviços de Google Drive, Dropbox, entre outros.

NA PRÁTICA As transações comerciais são cada vez mais rápidas e seguras; um exemplo disso são as aplicações de internet banking. Uma aplicação interessante e que exemplifica bem o uso da nuvem: um paciente vai a um médico e recebe a prescrição para realizar exames. Ele vai a um laboratório e não precisará mais ir buscar os resultados. O acesso à informação fica muito mais facilitado. E ainda pode evoluir mais, por exemplo, os resultados podem ir direto para o médico, que, dependendo da situação, pode prescrever uma receita e enviar para o e-mail do paciente. Uma integração de serviços ainda maior pode estar na inclusão da farmácia como fornecedora do medicamento receitado, com a compra aprovada pela operadora de cartão de crédito ou uma empresa de entrega levar direto para endereço do paciente. Nesse cenário, há alguns anos, isso seria inimaginável, e agora é perfeitamente possível.

São algumas aplicações da computação em nuvem utilizadas pelos usuários: serviços de e-mail (Gmail, Yahoo mail, Hotmail); mídias sociais (Facebook, Instagram, Twitter, Pinterest, Linkedin, YouTube); drives virtuais (Dropbox, Google Drive); aplicativos (Google docs); armazenamento de fotos (Picasa); internet banking; serviços públicos (Detran, INSS).

4 A computação em nuvem aplicada nas organizações As empresas têm utilizado a computação em nuvem para atividades que incluem colaboração e comunicação, backup de arquivos, avaliação e análise de dados, desenvolvimento de

aplicações e diversos outros cenários em que a escalabilidade, a segurança, a confiabilidade nos processos de negócios e a mobilidade, com os acessos sendo realizados através de vários tipos de dispositivos, são fundamentais. As comunicações entre usuários realizada através de ferramentas baseadas na web (Skype, por exemplo) e a integração com as plataformas de dispositivos móveis amplia a produtividade dos colaboradores da empresa, e usando aplicativos de escritório, baseados em nuvem, geram mais negócios e em menor tempo e com custo mais baixo. As aplicações de negócios como gerenciamento de clientes, pedidos e todo o planejamento estratégico são gerenciadas através de

sistemas

que

estão

na

nuvem,

com

disponibilidade

e

confiabilidade. Os sistemas de backup e recuperação de desastres são migrados para a nuvem e as empresas apostam na continuidade de negócios como uma vantagem competitiva. As áreas de desenvolvimento, testes e manutenção das aplicações ganham competitividade com a hospedagem na nuvem. As ferramentas e os ambientes de desenvolvimento ficam muito mais seguros, rápidos em necessidade de elasticidade. E tudo e com menor custo. A computação em nuvem já se faz presente em diversas áreas das empresas e até mesmo em diferentes segmentos. A disruptura[1] provocada pelas tecnologias utilizadas na computação em nuvem tem mudado a forma como as empresas se relacionam, como os negócios e oportunidades surgem e prosperam. Existe um grande potencial a ser desenvolvido, e a cada momento novos modelos estão surgindo.

Considerações finais Neste capítulo, conhecemos os conceitos principais da computação em nuvem e como eles afetam a forma de trabalhar das empresas. Vimos também como a infraestrutura de TI pode ser compartilhada e assim gerar ganhos de produtividade nos negócios e ao mesmo tempo uma economia de recursos. Novos cenários de negócios são criados com a utilização da computação em nuvem, e as empresas, de pequenas a grandes, já estão na nuvem de forma parcial ou completa, ou já avaliam projetos de migração. Assim, com as mudanças tecnológicas introduzidas pela computação em nuvem, diversos tipos de empresas de tecnologia e até mesmo novas profissões estão tendo um imenso crescimento.

Referências LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais. São Paulo: Pearson Prentice Hall, 2007. NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY (NIST). NIST Cloud Computing Standards Roadmap. Washington, DC: U. S. Department of Commerce, 2013. Disponível em: . Acesso em: 28 fev. 2019.

[1] Disruptura – conceito que indica a quebra de um processo ou procedimento. Pode gerar inovação e quebra de paradigmas.

Capítulo 14

Computação em nuvem – IaaS (infraestrutura como serviço)

Neste capítulo, vamos conhecer os conceitos sobre a computação em nuvem e sobre o modelo de infraestrutura como serviço (IaaS). Os conceitos dos serviços oferecidos pelos provedores de nuvem e as atividades a serem realizadas também serão vistos. A importância dos componentes, o conhecimento de cada um deles e as preocupações de segurança também serão analisados. Por fim, alguns exemplos de uso de infraestrutura como serviço serão apresentados.

1 Definição de IaaS (infraestrutura como serviço) A computação em nuvem oferece alguns modelos de serviços. Um deles é a infraestrutura como serviço (IaaS), que é o fornecimento de hardware virtualizado, ou seja, de todos os componentes da infraestrutura física de que uma empresa precisa. A IaaS oferece aos usuários espaço virtual em servidores, conexões de rede, largura de

banda, endereços IP e até balanceadores de carga. Esses componentes são fornecidos pelas empresas provedoras de serviços de nuvem. São vários servidores e redes que, por segurança e disponibilidade, estão distribuídos em vários locais geográficos diferentes. Com a utilização da IaaS, os provedores de nuvem ficam responsáveis

pela

aquisição

de

todo

hardware

necessário,

configurações, atualizações e manutenção. Dessa forma, as empresas usuárias do modelo de serviço IaaS ficam livres para construir suas soluções de TI, de forma escalável e com todas as atividades de gestão do hardware terceirizadas para o provedor de nuvem. A figura 1 apresenta as atividades comuns de TI em uma empresa e mostra como o modelo de serviços IaaS, em que toda infraestrutura física passa a ser gerenciada pelo provedor de serviços de forma virtualizada pode reduzir os custos com infraestrutura de TI (CHESS; FRANKLIN JR., 2013).

Figura 1 – Comparação entre TI tradicional e o modelo de serviços IaaS

*Runtime: tempo de execução. **Middleware: software que se encontra entre o sistema operacional e os aplicativos nele executados (MICROSOFT AZURE, 2019).

Os usuários de serviços de IaaS podem provisionar a infraestrutura de hardware desejada para suas necessidades através de uma interface gráfica. Por meio de um catálogo, opções de processador, quantidade de memória, rede e armazenamento são

facilmente selecionadas. São exemplos de soluções de empresas provedoras de serviços IaaS: Amazon Elastic Compute Cloud (Amazon EC2), Microsoft Windows Azure, Google Compute Engine e IBM Cloud, cada um com suas características de fornecimento (KAVIS, 2014). Os provedores de nuvem no modelo IaaS fornecem os serviços elencados na figura 2. Figura 2 – Serviços fornecidos pelo provedor de IaaS

Armazenamento (storage): capacidade de armazenamento em disco que pode ser escalável e utilizada para aplicativos, backups, arquivamento, armazenamento em geral. Corretor de nuvem (cloud broker): ferramentas que gerenciam serviços em mais de uma plataforma de infraestrutura em

nuvem, sendo que algumas possuem suporte a configurações de nuvem pública-privada. Recursos de hardware (compute): recursos de servidor para execução de sistemas baseados em nuvem que podem ser dinamicamente

provisionados

e

configurados

conforme

necessidade. Gerenciamento de serviços (services management): serviços que gerenciam a plataforma da nuvem IaaS. Cópia

reserva/recuperação

de

dados

(backup/recovery):

plataformas que fornecem serviços para backup e recuperação de sistemas e dados brutos armazenados em servidores. Redes de fornecimento de conteúdo (CDN – Content Delivery Networks): armazenamento de rede de entrega de conteúdos para melhorar o desempenho e o custo de entrega de conteúdo para sistemas baseados na web.

2 Componentes de IaaS As infraestruturas de nuvem são projetadas para oferecer e gerenciar diversos tipos de recursos. Para distribuir esses recursos de forma eficiente, dependendo da demanda de carga de trabalho, diversos componentes são utilizados. São componentes de IaaS: compute, network, storage, database e manage.

2.1 Compute

Características centrais do componente: Encapsula o tempo de processamento da CPU e o espaço de trabalho da memória RAM. É implementado por hypervisores, contêineres e servidores baremetal (servidor dedicado). O componente compute (recursos de hardware) é formado por instâncias criadas pelo software hypervisor que encapsulam uma capacidade computacional, como processador, espaço de memória RAM, pontos de acesso de rede e os fraciona entre diversos usuários através da virtualização. Uma infraestrutura de nuvem, em geral, gerencia vários dispositivos físicos que executam um grande número de instâncias. A função do hypervisor é gerenciar o acesso aos recursos físicos, dividindo a CPU, a RAM e o armazenamento entre as máquinas virtualizadas – as instâncias de computação (VACCA, 2016). NA PRÁTICA Considere uma instância como sendo um servidor virtual alocado para o usuário, com um tipo de processador com suas características, espaço de memória, espaço em disco, placas de rede, barramentos periféricos e até uma BIOS (Basic Input/Output System), sistema básico de entrada e saída. Tudo isso é feito pelo hypervisor que cria as máquinas virtuais. E mais: cada instância pode estar executando um sistema operacional diferente e isolado.

2.1.1 Implicações de segurança

A capacidade de manter um isolamento rigoroso entre as cargas de trabalho e os aplicativos virtualizados é a tarefa mais importante de um hypervisor. Um cenário de falha de segurança pode causar sérios problemas. Se ele estiver vulnerável a um ataque, em que um código malicioso é executado em uma máquina virtual, e sair do ambiente virtualizado, pode ser invadido por terceiros, que assim controlarão todas as máquinas virtuais gerenciadas por ele. Também pode acontecer de uma máquina virtual acessar o conteúdo da memória física utilizada por outra máquina virtual no mesmo servidor. Essas considerações de vulnerabilidade já não estão mais presentes nos softwares hypervisores atuais. Deve-se também considerar a segurança em relação a um usuário mal-intencionado, que pode prejudicar a infraestrutura da nuvem ou, pelo menos, afetar o desempenho de outros usuários, consumindo os recursos de CPU e RAM fornecidos pelos servidores. Os provedores de serviços de nuvem se organizam para evitar esses riscos, e uma solução é a disponibilidade de cópias das máquinas virtuais em outros servidores. Para a contratação de serviços de nuvem de um provedor devese avaliar seus processos de manutenção e segurança em casos de incidentes, intencionais ou não.

2.2 Network Características centrais do componente: Fornece comunicações intra, inter e extranuvem.

Pode ser virtualizado em um hypervisor ou simplesmente configurado com cuidado. Deve isolar as comunicações da carga de trabalho diferente. O componente network (rede) de uma infraestrutura em nuvem permite a conectividade com o computador, o armazenamento e outros elementos dessa infraestrutura e também com um ambiente mais amplo fora dessa infraestrutura (VACCA, 2016). No mínimo, o componente de rede conecta os recursos de rede do componente de computação à borda do ambiente de nuvem e gerencia o tipo de acesso que as instâncias de computação têm entre si e para o ambiente mais amplo. Além dessa capacidade mínima exigida, existem várias técnicas para gerenciar a topologia de rede em uma infraestrutura de nuvem: comutação virtual, gerenciamento de equipamento de rede física e rede definida por software.

2.2.1 Implicações de segurança Assim como no componente compute, a responsabilidade mais crítica de segurança do componente de rede é o isolamento. O componente de rede deve manter as instâncias de computação separadas, evitando a comunicação não autorizada entre elas. Por exemplo, o componente de rede deve evitar que cargas de trabalho mal-intencionadas acessem VLANs e sub-redes não autorizadas que possam ser acessadas por cargas de trabalho compartilhando o mesmo hardware físico.

2.3 Storage

Características centrais do componente: Realiza

o

armazenamento

em

bloco,

geralmente

com

funcionalidade adicional. Implementado como unidades de disco virtuais em um hypervisor ou com acesso direto ao armazenamento físico. O

componente

de

storage

(armazenamento)

de

uma

infraestrutura de serviços em nuvem fornece armazenamento de dados como: informações de gerenciamento da nuvem, máquinas virtuais, definições de rede. Também fornece espaço de trabalho para aplicativos e cargas de trabalho em execução no ambiente de nuvem (VACCA, 2016). Uma característica importante está na migração de carga de trabalho, backups automatizados, controle de versão e mecanismos específicos de otimização de aplicativos. A implementação nos hypervisores da capacidade de criar instantâneos em intervalos regulares e armazená-los conforme esquema de backup configurado, oferece maior segurança em casos de recuperação de desastres.

2.3.1 Implicações de segurança Assim como acontece com outros componentes da IaaS, a maior preocupação está relacionada com a segurança, que envolve o isolamento completo entre as instâncias de computação, cargas de trabalho e os aplicativos. O componente de armazenamento deve garantir que códigos maliciosos em uma instância da computação não acessem os dados de outra carga de trabalho, permitindo assim

a

manipulação

do

armazenamento

das

características

da

infraestrutura.

2.4 Database Características centrais do componente: Promove acesso simplificado aos serviços de banco de dados. É implementado como controle SQL gerenciado para a nuvem. Isola os dados de trabalho e escala dinamicamente como demanda. O

componente

database

(banco

de

dados)

em

uma

infraestrutura de nuvem fornece um mecanismo de banco de dados gerenciado centralmente e com nível de abstração, tornando mais simples sua utilização e implementação (VACCA, 2016). Assim, o componente banco de dados possibilita que as aplicações sejam escaladas à medida que a carga de trabalho aumenta. Dessa forma, os usuários da nuvem podem instanciar o serviço de banco de dados conforme a necessidade de carga de trabalho e controlar determinados aspectos do banco de dados, por exemplo: programações ou capacidade e desempenho. Existem diversas tecnologias de infraestrutura em nuvem com diversos níveis de suporte para vários tipos de banco de dados. Um banco de dados padrão SQL (Structured Query Language), linguagem de consulta estruturada, não é projetado a partir do zero e não

permite escalar dinamicamente, em resposta a variações da carga de trabalho em tempo real. Como opção existem os bancos de dados com armazenamento de chaves, nos quais é muito mais fácil implementar formas de escalar dinamicamente, e nos quais a consulta por chaves melhora o desempenho

e

a

escalabilidade.

Outros

são

orientados

a

documentos, tecnologia muito popular em nuvem, gerenciando documentos em formato, por exemplo, XML[1] ou JSON.[2] Essas bases de dados armazenam dados estruturados, como seria na lógica de uma linguagem de programação. Os bancos de dados armazenam dados como um conjunto de nós conectados por relacionamentos, armazenando as conexões entre pontos de dados diferentes. Por exemplo, as redes sociais

2.4.1 Implicações de segurança Diferentemente de outros componentes da infraestrutura de serviços em nuvem, os bancos de dados já possuem características de isolar os usuários por meio das permissões de acesso. Ao considerar que os bancos de dados são utilizados para armazenar informações, e que eles são o ativo mais valioso de uma empresa, é importante que as informações sejam armazenadas na nuvem, sem esquecer que, com a utilização de infraestrutura de nuvem, os dados estão sendo confiados a terceiros. Para garantir a integridade e a confidencialidade dos dados, técnicas de criptografia devem fazer parte do componente banco de dados, de modo a garantir uma infraestrutura robusta.

2.5 Manage Características centrais do componente: Promove

acesso

programação

de

gráfico

através

aplicações)

de

para

API a

(interface

de

configuração

de

infraestrutura e relatórios. É implementado como uma aplicação independente, integrada com os componentes da nuvem. Controla o acesso por meio de autenticação e autorização. O componente de gerenciamento da infraestrutura de serviços IaaS fornece aos usuários uma interface baseada em uma aplicação gráfica e pela web para que possam gerenciar todas as características

da

infraestrutura,

ou

seja:

funcionalidade

de

administração do servidor, da rede, do armazenamento e dos bancos de dados (VACCA, 2016). A administração de forma automatizada com a utilização de aplicativos dos provedores torna mais fácil o gerenciamento da infraestrutura.

2.5.1 Implicações de segurança Como o componente de gerenciamento tem a capacidade de executar tarefas de configuração das características de infraestrutura da nuvem e autenticar várias autorizações de usuários, é preciso conhecer o papel de cada usuário e as permissões das tarefas que cada um pode realizar. Como uma diretriz de segurança, esse

componente de gerenciamento não deve permitir que um usuário configure capacidades de armazenamento em excesso, além de estar ligado a limites de capacidade de armazenamento permitido a usuários. O acesso ao gerenciamento também é realizado por meio de uma interface gráfica, o que também traz uma série de preocupações quanto à segurança.

3 Uso de IaaS A utilização de infraestrutura como serviço tem se tornado uma tendência entre as empresas, que passam a contar com um data center virtual (servidores, armazenamento, rede, firewall, etc.) pagando pela utilização e não tendo todos os investimentos e custos de manutenção, caso todos os dispositivos de hardware fossem de sua propriedade. Os provedores de IaaS ainda fornecem diversas ferramentas e serviços que auxiliam no gerenciamento da infraestrutura,

melhorando

processos,

controle

de

acessos,

balanceamento de carga, segurança, backups, replicações e, em caso de desastres, os processos de recuperação são muito rápidos e sem perda de dados. As empresas, ao optarem pela utilização de IaaS, percebem as seguintes vantagens quando comparadas com a arquitetura de TI tradicional: pagamento por utilização, agilidade, flexibilidade e escalabilidade, dentre as principais.

Assim, a migração da infraestrutura para a computação em nuvem tem sido uma tendência nos últimos anos e principalmente nas pequenas e médias empresas.

Considerações finais Neste

capítulo,

vimos

os

conceitos

importantes

sobre

computação em nuvem e o que são os serviços oferecidos pelos provedores de nuvem, quando se escolhe o modelo de infraestrutura como serviço (IaaS). A utilização de infraestrutura de nuvem como serviço possibilita aos

usuários

a

diminuição

de

custos

com

aquisição

de

equipamentos, incluindo também o próprio data center e todas as atividades inerentes a ele. As empresas podem ter mais poder computacional acessando um catálogo e de forma imediata conseguir mais hardware disponível para o crescimento das aplicações da empresa. Com o entendimento dos serviços e dos componentes da infraestrutura como serviço, podemos selecionar provedores de serviços de nuvem e comparar o que cada um oferece. Assim, temos condições de escolher os melhores provedores com a melhor relação custo-benefício.

Referências

CHESS, Brian J. S.; FRANKLIN JR., Curtis. Computação em nuvem – cloud computing: tecnologias e estratégias. São Paulo: Makron Books do Brasil, 2013. KAVIS, Michael J. Architecting the cloud: design decisions for cloud computing service models (SaaS, PaaS, and IaaS). New Jersey: Wiley, 2014. VACCA, John R. Cloud computing security: foundations and challenges. Flórida: Taylor & Francis, 2016.

[1] XML (eXtensible Markup Language) – linguagem de marcação recomendada pela W3C (World Wide Web Consortium) para a criação de documentos com dados organizados hierarquicamente, tais como textos, banco de dados ou desenhos vetoriais. [2] JSON (Java Script Object Notation) – notação de objetos JavaScript, é uma formatação leve de troca de dados.

Capítulo 15

Computação em nuvem – PaaS (plataforma como serviço)

Neste capítulo, vamos conhecer os conceitos sobre a computação em nuvem e entender como o modelo de plataforma como serviço (PaaS) funciona. Serão apresentados os serviços oferecidos pelos provedores de nuvem e o modo como as empresas podem utilizá-los da melhor forma possível, diminuindo com isso a complexidade e os gastos na aquisição de hardware, licenças de software,

recursos

desenvolvimento.

de

middleware

Apresentaremos

ou

também

ferramentas os

conceitos

de de

plataforma como serviço e a estrutura dos componentes, com gerenciamento de cada um deles e a segurança necessária. E por fim daremos alguns exemplos de utilização desse tipo de serviço pelas empresas.

1 Definição de PaaS (plataforma como serviço)

A utilização de tecnologia da informação e de todas as suas atividades geram dois tipos de empresas: as que desenvolvem suas próprias aplicações e as que desenvolvem as aplicações e as fornecem para o mercado consumidor. Em ambos os contextos, as necessidades envolvem a aquisição de hardware, além de servidores, discos, memórias, armazenamento, infraestrutura de redes, sistemas operacionais e, claro, ferramentas de desenvolvimento. A PaaS é um ambiente fornecido pelos provedores de nuvem, que inclui a infraestrutura com os servidores, memória, discos de armazenamento ferramentas

de

e

a

rede,

sistema

desenvolvimento,

operacional,

serviços

de

middleware, BI

(Business

Intelligence) e sistemas de gerenciamento de banco de dados.

Figura 1 – Comparação entre TI tradicional e os serviços PaaS

A figura 1 apresenta as atividades comuns de TI em uma comparação do modelo tradicional, no qual a empresa possui todos os componentes. Com o modelo de serviços PaaS, o provedor de serviços de nuvem disponibiliza toda a parte de infraestrutura física, sistema

operacional,

middleware

e

as

ferramentas

de

desenvolvimento – runtime (CHESS; FRANKLIN, 2013). São exemplos de soluções de empresas provedoras de serviços PaaS: Microsoft Azure Cloud Services, Google App Engine, Oracle Cloud Platform,

entre outros, e cada um com suas características de fornecimento (KAVIS, 2014). Os provedores de nuvem no modelo PaaS fornecem os serviços mostrados na figura 2. Figura 2 – Serviços fornecidos pelo provedor de PaaS

Uma solução de PaaS fornece os serviços de plataforma integrados baseados em nuvem que incluem software pré-instalado e configurado de banco de dados e middleware. Fornece também a plataforma para desenvolvimento, teste, implantação e proteção de diferentes tipos de aplicativos corporativos. Base de dados (database): fornece banco de dados para as aplicações. São fornecidas ferramentas para acessar e utilizar dados em um sistema de armazenamento. Inteligência de negócios (business intelligence): fornece ferramentas de BI (inteligência de negócios).

Desenvolvimento

e

teste:

fornece

ferramentas

para

desenvolvimento e testes de aplicações. Integração: fornece integração entre aplicações e diversos programadores. Implantação de aplicativo (application deployment): fornece o ambiente com linguagem de programação para desenvolvimento de aplicativos. No modelo PaaS, os provedores de nuvem fornecem plataformas de computação que incluem um sistema operacional, ambiente de programação com uma linguagem para desenvolvimento, banco de dados e hospedagem em um servidor virtualizado. Em alguns provedores de PaaS os recursos oferecidos podem ser escalonáveis automaticamente, conforme a demanda solicitada pelos aplicativos. Em geral os provedores de PaaS oferecem uma plataforma de computação que permite a criação de aplicações web de forma rápida e eficiente, sem que o cliente precise adquirir toda a infraestrutura de hardware e ambiente de desenvolvimento. NA PRÁTICA A plataforma como serviço fornece ferramentas baseadas na web. Por meio de um processo de self-service, as empresas podem selecionar as configurações desejadas para banco de dados e middleware.[1]

São algumas características para avaliar os provedores de PaaS para que se possam desenvolver aplicativos escaláveis e ser aplicados em dispositivos móveis (VACCA, 2016): Separação do gerenciamento de dados da interface do usuário. Confiabilidade nos padrões de computação em nuvem. Ambiente integrado de desenvolvimento (IDE). Ferramentas que possibilitem o gerenciamento de ciclo de vida. Suporte, segurança e escalabilidade da arquitetura multi-tenant. [2] Existência de ferramentas de monitoramento, teste e otimização de desempenho. Assim,

quanto

mais

forem

os

componentes

agregados

fornecidos como complementos pelo provedor de PaaS, mais bem posicionado no mercado esse provedor estará.

2 Componentes de PaaS Os componentes fornecidos pela plataforma como serviço incluem toda a infraestrutura que já é fornecida pela IaaS acrescida de serviços de sistema operacional, middleware e runtime,[3] que passam a ser gerenciados pelo provedor de nuvem. Assim a equipe de desenvolvimento estará concentrada em desenvolver suas aplicações em um ambiente virtualizado e colaborativo, deixando todas as preocupações na preparação do ambiente por conta do

provedor. Para ampliar a visão de plataforma como serviço, como mostrado na figura 2, vamos apresentar alguns serviços fornecidos por um provedor de mercado. Estamos falando do Azure PaaS, fornecido pela empresa Microsoft. São características da plataforma PaaS Azure (MICROSOFT, 2019): Desenvolvimento de alta produtividade: a criação de aplicativos de API, móveis e web com a utilização de diversas linguagens de programação (.NET, .NET Core, Java, Ruby, Node.js, PHP, Python e Docker); integração do Serviço de Aplicativo do Azure com as estruturas existentes , o que aumenta a produtividade; utilização do IDE do Microsoft Visual Studio, líder do setor, o que proporciona uma produtividade inigualável para depuração do site e de todo um conjunto de aplicativos, de APIs e de conectores predefinidos no Azure marketplace. Plataforma

totalmente

gerenciada:

execução

e

dimensionamento dos aplicativos em Sistema Operacional Windows ou Linux, com uma plataforma gerenciada para serviços de manutenção da infraestrutura; balanceamento de carga, entre outras atividades. Possibilidade de domínios personalizados, certificados SSL, SSO (significa logon único) e integração

de

serviço

de

identidade

aos

aplicativos.

Fornecimento de informações de desempenho e da integridade do aplicativo e com isso solucionando possíveis problemas de forma mais rápida.

Aplicativos de nível empresarial: utilização de rede global de data centers de nível corporativo, com a segurança e a conformidade para que o usuário possa criar e hospedar os aplicativos. Conexão dos aplicativos web ou móveis a sistemas corporativos ou a SaaS realizada em minutos. Proteção dos aplicativos com a integração ao Azure AD (Active Directory, ou diretório ativo), e isso em nuvem pública, nuvem privada, rede virtual ou até mesmo localmente. Configuração dos aplicativos em grande escala em um ambiente totalmente isolado, em conformidade e exclusivo. Conexões seguras e de alta velocidade com recursos corporativos locais, com controle sobre o tráfego da rede. O principal serviço de PaaS fornecido pela Microsoft é o Azure app services (serviços de aplicativos Azure), com diversos tipos de serviços, com características para hospedagem dos aplicativos ou lógica de negócios. Os recursos são compartilhados, com escalonamento automático, autenticação e autorização. E ainda com domínios personalizados e utilização de SSL (Secure Socket Layer). São serviços que podem ser utilizados com a PaaS Azure (MICROSOFT, 2019): Desenvolvimento de aplicativos web: Criação

rápida

de

aplicativos:

desenvolvimento

de

aplicações web com as linguagens: .NET, Java, Node.js, PHP e Python no Windows ou .NET Core, Node.js, PHP ou Ruby no Linux. O provisionamento de sistema operacional,

capacidade, servidores e balanceamento de carga. Use modelos predefinidos de implantação. Atualizações mais rápidas: implantação das aplicações com integração contínua/implantação contínua e associação com repositório de arquivos; os aplicativos são atualizados sempre que o código-fonte é alterado. Escala global sob demanda: alta disponibilidade nas regiões do Azure com serviços de dados e de host em várias localizações,

com

dimensionamento

baseado

no

desempenho do aplicativo ou em regras personalizáveis. Atua nos picos na carga de trabalho e minimiza os custos fora dos horários de pico. Informações e análises: fornece exibições detalhadas de uso do recurso, com informações de desempenho e a integridade do aplicativo. O Application Insights fornece informações da taxa de transferência, dos tempos de resposta, da utilização da memória e da CPU e das tendências de erro do aplicativo. Consistência híbrida: abordagem flexível para criar e gerenciar aplicativos que podem ser executados na nuvem e localmente; larga escala com privacidade, eficiência e desempenho

avançado

no

ambiente

aplicativo. Aplicativos web para contêineres:[4]

do

serviço

de

Implantação rápida: facilidade para implantar aplicativos web baseados em contêineres, através do hub do Docker[5] ou de um registro de contêiner do Azure privado. O aplicativo web para contêineres implantará em contêiner na produção com suas dependências preferenciais. Atualizações automáticas: o serviço de aplicativo cria uma associação com o repositório e assim os aplicativos são atualizados sempre que o código-fonte é alterado. Os testes de qualidade e de desempenho são realizados e a implantação possibilita até mesmo a reversão para versões anteriores sem tempo de inatividade. Entrada corporativa: autenticação dos clientes com o Azure active directory e conexão segura a recursos locais como SAP, Oracle, SQL Server e SharePoint; estruturas com plataformas para a criação de aplicativos de nível empresarial. Criação de aplicativos dinâmicos com sincronização de dados off-line: criação de aplicativos que continuam funcionando, mesmo com ocorrência de problemas de rede. Os usuários podem criar e modificar dados mesmo quando estiverem

off

line.

Os

aplicativos

móveis

oferecem

sincronização nativa nos seus aplicativos iOS, Android e Windows. Conexão de aplicativos aos dados no local: use o Azure para compilar aplicativos móveis que consomem dados do seu

próprio data center. Com as conexões híbridas e a VPN do Azure, é fácil acessar os dados de modo seguro por meio de data centers locais, de qualquer lugar do mundo. Notificações personalizadas em minutos: os hubs de notificação do Azure são um mecanismo de notificação por push[6] altamente móvel e escalonável, capaz de enviar milhões de notificações por push em segundos para iOS, Android, Windows, Nokia X ou outros dispositivos. Dimensionamento

automático:

dimensionamento

automático interno para aplicativos móveis e hubs de notificação para que correspondam às necessidades dos aplicativos. Aumente ou diminua o uso de recursos conforme a demanda. Outros provedores de serviços PaaS no mercado fornecem seus serviços

com

nomes

e

características

semelhantes.

Os

administradores de redes das empresas devem conhecer os diversos fornecedores,

podendo

inclusive

utilizar

serviços

de

vários

provedores, com o conceito de marketplace.[7] Com isso em mente, apresentamos algumas características da plataforma de serviços da AWS (Amazon Web Services), outro fornecedor de serviços em nuvem (AMAZON, 2019): Implantação de aplicativos web (AWS elastic beanstalk): um serviço que pode ser implantado, escalado nas aplicações

desenvolvidas utilizando .NET, PHP, Java, Python, Node.js, Docker e Ruby. Escalabilidade de aplicativos (AWS auto scaling): monitora os aplicativos e faz o ajuste da capacidade necessária e assim aumenta a performance com um custo menor. Computação sem o uso de servidor (AWS lambda): possibilita a execução de códigos sem a necessidade de gerenciar ou mesmo provisionar servidores. Assim, o usuário só irá pagar pelo tempo de computação, sendo conhecido como computação serverless. [8] Armazenamento: oferece uma plataforma de armazenamento para que os usuários possam desenvolver aplicativos para diversos cenários como: serviços para aplicativos mobile, dados e

informações

de

sensores,

ambientes

de

aplicativos

corporativos e dispositivos IoT (Internet of Things) – internet das coisas. Serviços de gerenciamento de rede, disponibilização de redes virtuais, roteamento, balanceamento de cargas.

3 Uso de PaaS Considerando

que

o

fornecimento

pelos

provedores

de

computação em nuvem PaaS é a oferta de serviços de uma plataforma em que as aplicações poderão ser desenvolvidas, testadas e colocadas em funcionamento, sem o custo e a

complexidade de gerenciamento do hardware, além de escalabilidade e capacidade de funcionamento em diversos tipos de dispositivos, isso abre espaço para diversas formas de utilização pelos clientes. E tudo isso pelo custo de uso sob demanda. Os negócios das empresas atualmente possuem ciclos de mudanças muito rápidos, com um mercado altamente competitivo. A PaaS possibilita que as empresas tenham um ganho de capacidade em sua área de TI; os desenvolvedores estarão mais focados em desenvolvimento e inovação em negócios do que gerenciando uma infraestrutura; e os custos de uso da PaaS diminuem muito se comparados com a infraestrutura tradicional. Imagine que em algum momento exista uma demanda de muito desenvolvimento. Para esse momento contrata-se mais PaaS, e quando a demanda diminuir, os custos com PaaS também diminuem. Para que as empresas passem a utilizar PaaS em seus projetos, devem considerar: o ganho de agilidade, flexibilidade e possibilidade de inovação através da automação de processos, aumento de atividades de desenvolvimento colaborativo, alta produtividade e avanços em novas ideias de negócios em tempo real; a aceleração da inovação de uma aplicação e sua colocação no mercado; o aumento da segurança para reduzir os riscos;

a simplificação da infraestrutura de TI, diminuição dos custos e operações mais focadas em negócios, incluindo a integração e a conectividade com outras aplicações existentes. Para que uma empresa adote a solução PaaS em seus negócios de TI, podemos colocar alguns pontos que devem ser avaliados para ampliar as possibilidades de sucesso, como: Medir as expectativas corporativas: ao desenvolverem em nuvem, as empresas necessitam de um SLA (Service Level Agreement), acordo de nível de serviço; a garantia de serviços é um fator muito importante. Portabilidade

e

interoperabilidade:

as

prioridades

de

desenvolvimento devem estar alinhadas com tecnologias que possam ter portabilidade e interoperabilidade, e isso no sentido de independência de ambiente ou dispositivo onde serão utilizadas. Projeto para independência de desenvolvimento: deve ser possível a coexistência entre a nuvem e as tecnologias tradicionais de desenvolvimento. Seleção de plataforma com serviços integrados: assim o desenvolvimento, o gerenciamento e a manutenção das aplicações desenvolvidas podem ser facilitados em todos os níveis de nuvem. Melhoria

de

desenvolvimento

produtividade ao

ser

do

migrado

desenvolvimento: para

a

nuvem

o deve

proporcionar ganhos de produtividade e assim popularizar cada vez mais a utilização de serviços em nuvem. Melhoria na produtividade do acesso a banco de dados (DBA – Database Administrator ou administrador de banco de dados): assim, do desenvolvimento para a colocação em testes e depois em produção (utilização pelos usuários), a administração de banco de dados deve ser melhor na nuvem. Simplificação na migração: a migração das aplicações para a nuvem após o desenvolvimento de forma compatível com as tecnologias existentes. Uso de tecnologias recentes: adiciona ao desenvolvimento as tecnologias mais atuais. Escolha de PaaS integrada: a utilização de serviço PaaS com a integração de tecnologias integradas leva a um desenvolvimento mais responsivo dessas tecnologias. Entrega rápida de projetos: o desenvolvimento em nuvem e com comunidades deve ser mais produtivo. A utilização de serviços PaaS pelas empresas muitas vezes pode ser confundida com outros modelos de negócios. Assim caberá ao usuário definir suas necessidades. Para facilitar podemos considerar: se

o

usuário

é

um

desenvolvedor

(ou

uma

equipe

de

desenvolvimento), então precisa de hardware, sistema operacional e ferramentas específicas de desenvolvimento, logo a indicação será a

contratação de serviços PaaS, e assim a equipe poderá se dedicar apenas ao desenvolvimento dos aplicativos.

Considerações finais Neste capítulo, compreendemos os conceitos de plataforma como serviço e como os provedores de nuvem os fornecem. A utilização de plataforma como serviço é uma estratégia de negócios que tem crescido entre as empresas desenvolvedoras de softwares para diversos segmentos, e isso devido à redução de custos em função de pagamento sob demanda, as diversas funcionalidades no desenvolvimento de aplicações web e para dispositivos móveis. O uso desse modelo também tem crescido entre as empresas que buscam desenvolver seus próprios aplicativos e têm fortalecido o mercado de computação em nuvem. Aqui é importante considerar que as empresas podem contratar serviços de infraestrutura como serviço e em algum momento, dependendo de suas necessidades e demanda de desenvolvimento, podem migrar para a utilização de PaaS.

Referências AMAZON. Produtos em nuvem. AWS, 2019. Disponível em: . Acesso em: 14 mar. 2019. CHESS, Brian J. S.; FRANKLIN JR., Curtis. Computação em nuvem – cloud computing: tecnologias e estratégias. São Paulo: Makron

Books do Brasil, 2013. KAVIS, Michael J. Architecting the cloud: design decisions for cloud computing service models (SaaS, PaaS, and IaaS). New Jersey: Wiley, 2014. MICROSOFT. Microsoft Azure. 2019. Disponível em: . Acesso em: 11 jan. 2018. VACCA, John R. Cloud computing security: foundations and challenges. Flórida: Taylor & Francis, 2016.

[1] Middleware – software de computador que fornece serviços para aplicações de software, além daqueles disponíveis no sistema operacional. [2] Multi-tenant – arquitetura de software na qual uma única instância de software é executada em um servidor e atende a vários inquilinos. [3] Runtime – período em que um programa de computador permanece em execução. [4] Contêineres – uma classe ou estrutura de dados que é uma coleção de outros objetos. [5] Tecnologia de software que fornece contêineres. [6] Mensagens enviadas para aplicativos com conteúdo relevante para o usuário no intuito de promover o seu engajamento. [7] Marketplace – local onde se desenvolvem relações de comércio de bens e serviços; pode ser realizado em um ambiente físico ou virtual. [8] Serverless – computação sem servidor.

Capítulo 16

Computação em nuvem – SaaS (software como serviço)

Neste capítulo, vamos conhecer os conceitos sobre o modelo de computação em nuvem software como serviço (SaaS) e como ele pode ser utilizado pelos usuários. Serão apresentadas características e

exemplos

de

utilização.

Vamos

apresentar

também

as

possibilidades de desenvolvimento de soluções para SaaS pelas empresas fornecedoras de software em uma mudança de modo de fornecimento e suporte ao mercado.

1 Definição de SaaS (software como serviço) Os avanços tecnológicos em sistemas de hardware com processadores mais rápidos, sistemas de armazenamento com capacidades e velocidades de acesso são cada vez maiores; e os links de conexão de rede mais rápidos e confiáveis possibilitam que novas formas de uso sejam oferecidas aos usuários. A necessidade

dos usuários atuais envolve então a competência para utilizar os diversos softwares úteis para os negócios das empresas. A computação em nuvem oferece uma solução completa para as empresas através do modelo de SaaS, software como serviço, que permite aos usuários utilizar softwares para, por exemplo: e-mail, ferramentas de gerenciamento de escritórios, além de diversos outros sem a necessidade de instalar nada em seus equipamentos. Isso significa que o usuário não compra licenças de softwares. Todos os procedimentos de aquisição de hardware, configuração de sistemas operacionais, aquisição de licenças de softwares e os aplicativos são de responsabilidade do fornecedor do serviço em nuvem, que então disponibiliza aos usuários e faz a cobrança baseada no uso do ambiente. NA PRÁTICA O SaaS pode ser considerado a oferta de um serviço completo de infraestrutura de TI, envolvendo hardware e todos os sistemas de software, que podem ser acessados pela internet através de um navegador web.

A figura 1 apresenta um comparativo de atividades comuns de TI executadas no modelo tradicional e no modelo SaaS. No modelo tradicional todos os componentes de hardware, sistema operacional, ferramentas de desenvolvimento, softwares aplicativos, manutenção de

todo

o

sistema

e

atualizações

de

softwares

são

de

responsabilidade dos usuários. O modelo SaaS, oferecido pelos

provedores de nuvem, faz com que todos os requisitos necessários para o funcionamento dos negócios das empresas sejam de responsabilidade dos provedores (CHESS; FRANKLIN JR., 2013). Figura 1 – Comparação entre TI tradicional e os serviços SaaS

Como exemplos de SaaS fornecidos para os usuários podemos citar:

sistemas

de

e-mail,

como

o

Gmail,

por

exemplo;

armazenamento em Dropbox; disponibilização de vídeos pelo Netflix, sistemas de pagamentos on-line, como PayPal; serviços de

streaming,[1] como o Spotify; e diversos fornecedores de CRM (Customer Relationship Management), gestão de relacionamento com o cliente, entre outros aplicativos (KAVIS, 2014). A figura 2 apresenta os diversos serviços fornecidos pelos provedores de SaaS. Figura 2 – Serviços fornecidos pelo provedor de SaaS

Sistemas de gerenciamento de recursos humanos: toda a infraestrutura de gestão de pessoas fornecida e armazenada na nuvem. Redes sociais: todos os recursos de uma rede social gerenciados e armazenados na nuvem. Financeiros: sistema de cobrança com todas as características de segurança incluídas e gerenciadas através de aplicativos na

nuvem. Gerenciamento de conteúdo: características de gerenciamento de blogs, sites e até sistemas de comércio eletrônico fornecida e armazenada na nuvem. Email e produtividade de escritórios: serviços de e-mail e produtividade de escritórios, com as ferramentas necessárias como editores de texto, planilhas, software de apresentação, agendas, entre outras. Gerenciamento de documentos: todo armazenamento realizado na nuvem. Colaboração: desenvolvimento de processos de colaboração entre usuários e empresas. CRM (Customer Relationship Management): sistemas de gerenciamento de relacionamento com o cliente com papel importante nos negócios das empresas. Vendas: sistemas de vendas com todas as atividades fornecidas e gerenciadas pelos provedores de nuvem. Sistemas de cobrança on-line: inclui também todo o sistema de cobrança de utilização dos serviços de nuvem. ERP (Enterprise Resource Planning): sistema integrado de gestão empresarial que proporciona aos usuários escalabilidade, alta disponibilidade, redução de custos e possibilidade de gerenciar todos os processos da empresa.

Podemos considerar alguns benefícios para o usuário na utilização do SaaS (VACCA, 2016): Equipamentos para acesso: qualquer dispositivo com um navegador web pode ser utilizado pelos usuários para acesso às aplicações hospedadas na nuvem. Custo menor para utilização: como os usuários não precisam adquirir os softwares necessários para os serviços desejados, o custo se torna muito menor, pois são pagos conforme a utilização. Acesso a partir de qualquer lugar: através da internet, os usuários já podem ter acesso a suas aplicações, o que abre um conjunto de possibilidades de utilização e novos negócios. Essa característica facilita a mobilidade dos usuários. Integração com outros sistemas: a construção de aplicações que podem ser interligadas dá aos usuários novas aplicações e usos para os negócios, sem que dependam de um único fornecedor. Custos de manutenção: são reduzidos ao valor dependente da utilização, evitando-se a preocupação com todos os custos do modelo tradicional. Facilidade e rapidez para solução de problemas: como toda a solução está hospedada no provedor, que tem acesso a toda a infraestrutura, os problemas são resolvidos mais rapidamente.

Segurança: como os dados e informações estão hospedados na nuvem, procedimentos de segurança são responsabilidade do provedor de serviços de nuvem.

2 Componentes de SaaS Os componentes oferecidos pelos provedores de nuvem no modelo SaaS são soluções completas de software para que os usuários possam se conectar imediatamente após uma configuração inicial, que pode ser basicamente um cadastro no serviço e um login validado. Em alguns casos, configurações iniciais como os dados da empresa e o software aplicativo já estão disponibilizados. O modelo de SaaS acrescenta uma mudança radical em como as soluções de aplicativos são fornecidas aos usuários. E isso tanto para as empresas que optam por desenvolvimento interno, quanto para as empresas desenvolvedoras de software. Na figura 2 estão os diversos serviços que podem ser oferecidos pelos provedores de SaaS, e aqui já se pode considerar um novo modelo de negócios. As empresas desenvolvedoras de software, que antes precisavam manter equipes de desenvolvimento, de suporte e de implantação dos sistemas em cada cliente, passam a ter outro modelo de atuação. Com a adoção do modelo de SaaS, as empresas passam a hospedar seus aplicativos em provedores de SaaS e com isso não precisam manter equipes visitando clientes, instalando softwares, fazendo manutenção, etc. As empresas ficam concentradas em

desenvolver novas características dos produtos e não precisam mais manter toda a infraestrutura de servidores, sistemas operacionais, licenças de ferramentas de desenvolvimento, pois podem adotar o modelo PaaS – plataforma como serviço para suas equipes de desenvolvimento. Os componentes de SaaS são os diversos softwares aplicativos oferecidos aos usuários, e um provedor de SaaS pode ser uma empresa que mantém toda a infraestrutura de um data center e que hospeda diversas aplicações desenvolvidas por outras empresas. A ideia é que o usuário contrate um software como serviço e não tenha mais nenhuma preocupação com toda a infraestrutura de TI necessária para o funcionamento do aplicativo. O fornecedor SaaS pode então hospedar soluções de parceiros desenvolvedores de software aplicativo, que se responsabilizam pelo suporte e pelas atualizações. Com a transformação digital dos últimos anos, software como serviço é um conceito novo que pode ser desenvolvido. O local onde se desenvolvem relações de comércio de bens e serviços pode ser físico ou virtual. Assim, o marketplace pode ligar os desenvolvedores e prestadores de serviços com os usuários finais (conceito de marketplace de serviços) ou com os lojistas (marketplace de produtos). No modelo SaaS, os usuários utilizam software na nuvem e pagam pelo uso do produto sem a necessidade de aquisição. O conceito de marketplace coloca uma plataforma onde compradores e vendedores se relacionam e realizam transações.

A utilização dos dois modelos, marketplace e SaaS, tem gerado diversos novos negócios, conectando oferta de serviços ou produtos com demanda e gerando valor financeiro com essa conexão. Alguns exemplos de marketplace bem-sucedidos: Uber, Airbnb, Mercado Livre, eBay, AliExpress, OLX entre diversos outros, em que o modelo de negócios conecta a oferta com a demanda, sendo que a responsabilidade do marketplace está na atração de clientes e na manutenção da qualidade dos vendedores. NA PRÁTICA Existem também os marketplaces de aplicativos/softwares web, que podem ser fornecidos pelos provedores de serviços em nuvem no modelo SaaS. É importante observar que muitos dos aplicativos oferecidos no marketplace são desenvolvidos por empresas terceiras e que se responsabilizam por todo o suporte ao produto. Para que um aplicativo possa ser oferecido como produto no marketplace da Microsoft, por exemplo, existe todo um processo de homologação e credenciamento (MICROSOFT, 2019). Vamos comparar esse conceito de marketplace com o que já temos quando vamos instalar um novo aplicativo gratuito ou pago em nosso smartphone. O procedimento é acessar uma loja virtual e nela selecionar o que for de nosso interesse. O mesmo se aplica ao modelo oferecido pela SaaS da Azure Microsoft.

3 Uso de SaaS A utilização de SaaS pelas empresas deve passar por uma avaliação das vantagens e desvantagens para definir o que é mais interessante para os negócios. No quadro 1 temos uma comparação

entre as vantagens e as desvantagens de adoção de SaaS pelas empresas. Quadro 1 – Vantagens e desvantagens de uso de SaaS pelas empresas VANTAGENS DE UTILIZAÇÃO DE SAAS

DESVANTAGENS DE UTILIZAÇÃO DE SAAS

Custos e investimentos menores

Tempo de latência maior

Autonomia para os usuários, e equipe de TI com mais liberdade

Dependência total da internet

Maior disponibilidade e capacidade de atendimento

Mobilidade na troca de provedor

Atualização das aplicações

Dúvidas quanto à confidencialidade dos dados

Maior integridade dos dados

Desconhecimento da tecnologia

As aplicações de SaaS em geral envolvem a utilização de aplicativos de escritório, e-mails, gestão e guarda de documentos fiscais, soluções de ERP, soluções de CRM e diversas outras aplicações específicas de cada negócio das empresas. Após uma análise das vantagens e desvantagens, que muitas vezes não ocorre nas empresas até mesmo por desconhecimento das novas tecnologias, o início da utilização de SaaS é simples e barato. Como as aplicações podem funcionar em qualquer sistema operacional (e alguns provedores de serviços de nuvem oferecem em um período de testes) e como o pagamento é feito pelo tempo de utilização e pelo número de usuários, a migração de aplicações para a nuvem ocorre sem muitos transtornos.

NA PRÁTICA Imagine que o usuário entra em um site, faz um cadastro, recebe login e senha de acesso e começa a utilizar os recursos disponíveis, às vezes até mesmo por um período de testes e, em alguns casos, sem custo. Em alguns cenários o início da utilização de SaaS se parece muito com esse cenário.

Para que uma empresa possa utilizar com mais confiança SaaS e decidir quais aplicações vão para a nuvem e quais são prioridades, uma sugestão é avaliar algumas variáveis: Importância: colocar valor de 1 a 10 considerando a importância da aplicação para os negócios da empresa. Sugestão: faça a seguinte pergunta – se o sistema aplicativo funcionar

perfeitamente,

a

empresa

se

torna

mais

competitiva no mercado? E se o sistema tiver algum problema e parar, qual é o risco para a entrega dos produtos ou serviços? E ainda, qual é o impacto que pode gerar em relação aos clientes da empresa? Estimativa do custo: colocar um valor estimado de quanto o aplicativo representa nos custos totais de TI. Produto/serviço: fazer o cálculo da multiplicação dos valores importância × estimativa de custo. Prioridade: colocar um indicador de prioridade; e quanto menor o resultado da coluna produto/serviço, maior a importância de implantação de SaaS.

Para termos algum indicador que possa orientar sobre quais sistemas aplicativos devem ir para SaaS, veja os dados apresentados na tabela 1. É importante mencionar que tal estratégia não pode ser considerada como uma metodologia e sim como uma ferramenta inicial para a tomada de decisão. Os sistemas que tiverem o menor resultado na coluna produto/serviço é que devem ser migrados para a nuvem. Tabela 1 – Análise de prioridade de migração para SaaS PRODUTO/SERVIÇO= IMP X EC

PRIORIDADE PARA IMPLANTAÇÃO DE SAAS

APLICAÇÃO

IMPORTÂNCIA (IMP)

ESTIMATIVA DE CUSTO EC (%)

Aplicação 1

1

18

18



Aplicação 2

4

22

88



Aplicação 3

9

30

270



Aplicação 4

2

25

50



Aplicação 5

6

10

600



Fonte: adaptado de Opus Software (2019).

Como resultado da análise dos valores, podemos fazer algumas considerações: As aplicações 1 e 4 podem ser as primeiras a migrarem para a nuvem, pois representam baixo risco operacional e podem ser utilizadas para testes dos resultados de uma migração para um ambiente até então desconhecido pela empresa.

A aplicação 5 pode ser uma aplicação de alto risco para as operações (exemplo: se a aplicação parar, tudo para) e em princípio não seria considerada para começar a migração para a nuvem. IMPORTANTE A decisão de migração de uma aplicação para a nuvem deve ser tomada após testes e conhecimento do cenário de nuvem. Com o passar do tempo, a empresa irá observar que as vantagens para o negócio podem ser maiores com a colocação de aplicação na nuvem e até mesmo descobrir novas formas de fazer seus negócios.

Considerações finais Neste capítulo, compreendemos os conceitos de SaaS e como as empresas podem migrar suas aplicações para a nuvem. O software como serviço pode oferecer às empresas um ambiente onde o foco seja nos negócios e não em manter infraestrutura de TI com custos cada vez mais elevados de equipamentos e espaço físico, toda as características de licenças de software e suporte técnico, além dos gastos com uma equipe de pessoal altamente qualificada. Com essas considerações podemos observar que SaaS se torna muito interessante para as pequenas e médias empresas, que podem ter serviços de alta qualidade por um custo baixo, e assim aumentar

suas

competitivo.

oportunidades

em

um

mercado

altamente

A migração para a utilização de SaaS pode gerar impactos na forma de trabalho e organização das empresas. Mostramos uma tabela que pode nortear as decisões de quais sistemas podem ser migrados para a nuvem e apresentamos parâmetros iniciais a serem considerados. A tecnologia SaaS também oferece novas oportunidades de negócios para as empresas desenvolvedoras de software, fazendo surgir o conceito de marketplace, em que as empresas podem negociar seus produtos/serviços de uma forma mais escalável e gerar mais recursos financeiros. Para finalizar, vale dizer que muitos de nós já utilizamos SaaS em nossa vida pessoal, com diversos aplicativos no dia a dia.

Referências CHESS, Brian J. S.; FRANKLIN JR., Curtis. Computação em nuvem – cloud computing: tecnologias e estratégias. São Paulo: Makron Books do Brasil, 2013. KAVIS, Michael J. Architecting the cloud: design decisions for cloud computing service models (SaaS, PaaS, and IaaS). New Jersey: Wiley, 2014. MICROSOFT. Microsoft Azure. 2019. Disponível em: . Acesso em: 15 mar. 2019.

OPUS SOFTWARE. O que é SaaS? Como começar a usar? 2019. Disponível em: . Acesso em: 15 mar. 2019. VACCA, John R. Cloud computing security: foundations and challenges. Flórida: Taylor & Francis, 2016.

[1] Streaming – transmissão de áudio e vídeo através de uma rede de computadores.

Sobre o autor Walter Augusto Varella é mestre em engenharia elétrica pela Escola Politécnica da Universidade de São Paulo (2003), com especialização em computadores e sistemas digitais. Engenheiro eletricista com ênfase em eletrônica, formado pelo Centro Universitário da FEI (1982). Atualmente é diretor geral do campus de Registro do Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, atuando também como professor de disciplinas de microcontroladores.

Administração Regional do Senac no Estado de São Paulo Presidente do Conselho Regional Abram Szajman Diretor do Departamento Regional Luiz Francisco de A. Salgado Superintendente Universitário e de Desenvolvimento Luiz Carlos Dourado

Editora Senac São Paulo Conselho Editorial Luiz Francisco de A. Salgado Luiz Carlos Dourado Darcio Sayad Maia Lucila Mara Sbrana Sciotti Jeane Passos de Souza Gerente/Publisher Jeane Passos de Souza Coordenação Editorial/Prospecção Luís Américo Tousi Botelho Márcia Cavalheiro Rodrigues de Almeida Administrativo João Almeida Santos Comercial Marcos Telmo da Costa Acompanhamento Pedagógico Ana Cláudia Neif

Designer Educacional Hágara Rosa da Cunha Araujo Revisão Técnica Marcelo Jose Szewczyk Colaboração Josivaldo Petronilo da Silva Coordenação de Preparação e Revisão de Texto Luiza Elena Luchini Preparação de Texto Asa Comunicação e Design Revisão de Texto Asa Comunicação e Design Projeto Gráfico Original Alexandre Lemes da Silva Emília Correa Abreu Capa Antonio Carlos De Angelis Editoração Eletrônica Michel Iuiti Navarro Moreno Ilustrações Michel Iuiti Navarro Moreno Imagens iStock Photos Produção do ePub Ricardo Diana Josué de Oliveira Proibida a reprodução sem autorização expressa.

Todos os direitos desta edição reservados à Editora Senac São Paulo Rua 24 de Maio, 208 – 3º andar Centro – CEP 01041-000 – São Paulo – SP Caixa Postal 1120 – CEP 01032-970 – São Paulo – SP Tel. (11) 2187-4450 – Fax (11) 2187-4486 E-mail: [email protected] Home page: http://www.editorasenacsp.com.br © Editora Senac São Paulo, 2019

Dados Internacionais de Catalogação na Publicação (CIP) (Jeane Passos de Souza - CRB 8ª/6189) Varella, Walter Augusto Infraestrutura de TI / Walter Augusto Varella. – São Paulo: Editora Senac São Paulo, 2019. (Série Universitária) Bibliografia. e-ISBN 978-85-396-2911-4 (ePub/2019) e-ISBN 978-85-396-2912-1 (PDF/2019) 1. Infraestrutura de TI 2. Infraestrutura de tecnologia da informação 3. Servidor 4. Armazenamento de dados : Data center 5. Sistema operacional – conceitos 6. Computação em nuvem – conceitos 7. Estrutura de redes I. Título. II. Série.

19-992t

19-992t BISAC COM000000 Índice para catálogo sistemático

1. Infraestrutura de tecnologia da informação 005

MODAGASTRONOMIATURISM ODESIGNTECNOLOGIAEDUCAÇ ÃOARTESHOTELARIACIÊNCIA SHUMANASFOTOGRAFIACOM UNICAÇÃOARQUITETURAGEST ÃOMEIOAMBIENTESAÚDE