Baixe o app para aproveitar ainda mais
Prévia do material em texto
9 Neste capítulo serão apresentados e discutidos os conceitos básicos e a evolução da computação distribuída e discriminados os sistemas distribuídos e a motivação para o compartilhamento de recursos. OBJETIVOS DE APRENDIZAGEM � Apontar os conceitos básicos e os fundamentos de computação distribuída; � Discutir a evolução da computação ao longo das décadas; � Abordar os tipos de sistemas distribuídos; � Avaliar os sistemas distribuídos e compartilhamento de recursos. 1 FUNDAMENTOS DE COMPUTAÇÃO DISTRIBUÍDA 1.1 Conceituação de sistemas distribuídos Se este é o seu primeiro contato com a área de TI, talvez você esteja se perguntando: “O que seria computação distribuída?”. Fique tranquilo, pois garantimos que até o fim deste capítulo esse conceito vai estar bem claro para você; mas, antes de responder, vamos falar sobre alguns conceitos que facilitarão muito sua compreensão sobre esse assunto e outros relacionados. Está preparado? Para começar, vamos conceituar os sistemas distribuídos a partir da definição de autores consagrados na área de computação. ATENÇÃO Autores consagrados são aqueles que realizaram estudos muito importantes, que fundamentaram ou desenvolveram toda uma área de conhecimento – são como “sábios” em um assunto. Ler esses autores é fundamental para falar com propriedade sobre um tema e ter subsídios para pesquisar ou inovar em uma área, o que, certamente, destacará você como profissional. 10 Segundo Tanenbaum e Van Steen (2007), “Um sistema distribuído (SD) é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente”. Já de acordo com Coulouris, Dollimore e Kindberg (2007): Definimos um sistema distribuído como sendo aquele no qual os componentes de hardware ou software, localizados em computadores interligados em rede, se comunicam e coordenam suas ações apenas enviando mensagens entre si. Figura 1.1 – Sistema distribuído. 1.2 Evolução da computação Antes de tratarmos diretamente da evolução da computação, vamos analisar a evolução das sociedades humanas ao longo dos séculos. 11 � Sociedade pré-industrial – essa sociedade prevaleceu até a primeira metade do século XIX e é caracterizada pela economia fortemente embasada na produção agropecuária e trabalhos manuais, mobilidade social restrita, poder de decisão altamente centralizado e fluxo de informação muito limitado; � Sociedade industrial – durou até por volta da Segunda Guerra Mundial. Nesse período, vemos o surgimento do uso das máquinas a vapor, as grandes descobertas científicas, o aparecimento de outras opções de atividade econômica liberando o homem do trabalho puramente agrícola e o começo da disseminação das informações. Contudo, a decisão continua centralizada e os operários devem obedecer a seus superiores; � Sociedade pós-industrial – tem lugar após a Segunda Guerra, também chamada sociedade do conhecimento. Passam a ter valor as características humanas, como atitude, determinação e interesse. A busca pela informação é uma constante. As decisões passam a ser descentralizadas; 12 � Sociedade em rede – estamos na transição para esse novo cenário, no qual temos o mundo globalizado e on-line, onde a informação e o conhecimento se propagam de forma descentralizada. O uso de redes sociais provoca uma revolução na troca de informações e na comunicação humana. Podemos dizer que a tecnologia da informação e os sistemas computacionais foram os pilares dessa revolução, sendo que a Internet é um dos componentes mais visíveis. Nos próximos tópicos vamos discutir as eras envolvidas nesse processo evolutivo. Na sua opinião, o que permitiu que a sociedade atingisse o grau de integração e troca de informação que temos hoje? PARA PENSAR 1.2.1 A era do processamento de dados Com o desenvolvimento dos computadores digitais a partir de 1945, na década de 1960 surgem os mainframes, computadores de grande porte, usados por universidades, centros de pesquisa e grandes empresas. Com eles foi possível tratar e analisar um enorme volume de dados, dando origem ao processamento de dados, permitindo correlacioná-los e gerar relatórios que ajudavam na tomada de decisões. Figura 1.2 – ENIAC. Um dos primeiros computadores eletrônicos, cerca de 1946. 13 Mas o uso das aplicações era limitado e o alto custo dos mainframes exigia que seus recursos fossem compartilhados entre os operadores, sendo utilizados os chamados Centros de Processamento de Dados (CPDs). 1.2.2 A era dos sistemas de informação Com o avanço das tecnologias, principalmente com o desenvolvimento dos microprocessadores, em meados de 1970, foi possível o surgimento dos computadores pessoais e os pacotes softwares. Figura 1.4 – Modelo básico de microprocessador moderno. Figura 1.3 – Computador mainframe. Fotografia da década de 1960. Para conhecer a história dos mainframes, assista ao vídeo “Mainframe 50 anos – a inovação que fez história”. Disponível em: <https://goo.gl/ qwNDqA>. Acesso em: 4 set. 2017. VÍDEO Microprocessadores. São os componentes que contêm as unidades de processamento central do computador, sendo constituídos de milhares de transistores e outros componentes em um único encapsulamento. GLOSSÁRIO 14 Figura 1.5 – Computador PC Commodore PET 2001 de 1977. Nesse período, temos a consolidação dos bancos de dados que passaram a exigir ferramentas que os gerenciassem de forma eficiente, originando, assim, os Sistemas Gerenciadores de Banco de Dados (SGBDs). A tecnologia da informação ainda apresentava um custo elevado, o que dificultava a popularização da informática no ambiente corporativo. Já as redes de computadores estavam no seu início e restritas aos centros de pesquisa. 1.2.3 A era da inovação propiciada pela informática No fim dos anos 1970 e início dos 1980, temos o surgimento da computação pessoal. Ela possibilitou aos usuários que não eram altamente especializados em programação ou computação o uso dos computadores para a execução de tarefas que antes exigiam outros dispositivos mecânicos, como a máquina de escrever. Agora esses usuários podiam contar com um equipamento versátil, que permitia editar textos e efetuar os cálculos por meio de planilhas eletrônicas. Figura 1.6 – Computador pessoal Macintosh Aparelho da década de 1980. 15 Figura 1.7 – Computadores conectados em rede. São desse período as inovações tecnológicas introduzidas por Steve Jobs e Steve Wozniak da Apple e Bill Gates da Microsoft dentre outros, as quais modificaram o ambiente corporativo e o mundo em geral. Com o uso das telecomunicações para conectar os computadores, o aprimoramento dos sistemas e base de dados, o desenvolvimento de redes locais (LANs) de computadores, temos o surgimento do termo tecnologia da informação. Agora temos o caminho aberto para uma demanda crescente por informação. Se, por um lado, isso encerrou diversos postos de trabalho, por outro, originou muitos outros com a exigência de uma mão de obra mais qualificada e melhor remunerada. Contudo, naquela época ainda tínhamos sistemas e equipamentos proprietários, ou seja, um computador da IBM não conseguia trocar informações com um dispositivo da Xerox, por exemplo. Por isso as empresas passaram a buscar um diferencial competitivo em relação à concorrência, desenvolver produtos e serviços mais eficazes e de melhor qualidade, tomar decisões mais rápidas e assertivas e reduzir seus custos de produção. Imagine como era o processo para transferir o dinheiro de uma conta-corrente para outra do mesmo banco? Esse processo levava vários dias. 1.2.4 A era da integração Na década de 1990, em parte graças aos esforços, nas décadas anteriores, de organismos de padronização, como a International Organization for Para conhecer a história de Steve Jobs, leia o artigo “A História de Steve Jobs, fundador da Apple”. Disponível em: <https://goo. gl/1OzDOZ>. Acesso em: 7 ago. 2017. ARTIGO 16 Standardization (ISO) e seu Modelode Referência para Interconexão de Sistemas Abertos (RM-OSI), ocorreu a integração de sistemas de desenvolvedores diversos e equipamentos de diferentes fabricantes de forma aberta. A integração tecnológica promovida pelas redes de computadores facilitou o acesso e a troca das informações, permitindo à tecnologia da informação desempenhar um papel fundamental na estratégia de negócios das corporações em um cenário de mercados altamente competitivo. Tudo isso levou as empresas a reestruturar seus modelos de negócios, uma vez que nesse mercado econômico globalizado, o concorrente pode estar em qualquer lugar do mundo, forçando as empresas a adotarem plataformas de e-commerce e sistema de cloud computing (computação em nuvem). Para saber o que significa o modelo OSI, leia o artigo “Definição das sete camadas do modelo OSI e explicação de suas funções”. Disponível em: <https://goo. gl/2yZDGI>. Acesso em: 7 ago. 2017. ARTIGO Figura 1.8 – Cloud computing. No cloud computing, dados são armazenados na internet e podem ser acessados por diversos dispositivos, a qualquer hora e lugar. 17 Podemos dizer que a computação em nuvem se refere à aplicação de recursos computacionais envolvendo memória, capacidade de armazenamento de dados e processamento. Ela tem por base o princípio da Grid Computing, ou Computação em Grade, que é o modelo de computação que permite executar processos por meio de servidores distribuídos geograficamente, ou seja, um tipo de arquitetura de computação distribuída. Cloud computing ou a computação em nuvem é um termo que entrou na moda quando falamos da tecnologia da informação. Para você, qual relação existe entre a computação na nuvem e a computação distribuída? PARA PENSAR 1.3 Tipos de sistemas distribuídos Até agora aprendemos sobre a evolução da computação e a definição dos sistemas distribuídos. Vamos, agora, saber mais sobre a classificação tradicional desses sistemas, discriminando os principais tipos adotados no mercado. 1.3.1 Sistemas de Computação Distribuídos Uma das principais aplicações de sistemas distribuídos está relacionada às tarefas que exigem computação de alto desempenho, podendo ser divididas em dois subgrupos: Computação de cluster Computação em grade 18 Na computação de cluster, o hardware é composto por um conjunto de servidores adotando configuração semelhante, executando o mesmo sistema operacional, os quais são conectados por meio de uma rede local de alta velocidade. Um exemplo bem conhecido é o formado pelos clusters Beowulf com base em Linux, nos quais um único nó mestre controla e acessa um conjunto de nós de computação, os clusters. O mestre tem por tarefas típicas tratar a alocação de nós a um determinado programa paralelo, manter uma fila dos jobs (trabalhos em execução) e apresentar uma interface aos usuários do sistema. Também recebe o nome de sistemas homogêneos. Nó. Dentro de um sistema distribuído, definimos nó como um ponto de conexão, podendo ser um terminal de comunicação ou mesmo um roteador. GLOSSÁRIO Fonte: TANENBAUM e VAN STEEN, 2007. Figura 1.9 – Exemplo de sistema de computação em cluster. Fonte: TANENBAUM e VAN STEEN, 2007. Figura 1.10 – Arquitetura em camadas para sistemas de computação em grade. Na computação em grade, os sistemas distribuídos geralmente são montados como uma federação de computadores, na qual cada sistema pode cair sob um domínio administrativo diferente. Nesse domínio, podem ser empregados hardware, software e tecnologia de redes diferentes que recebem o nome de sistemas heterogêneos. Aplicações Camada coletiva Camada base Camada de conectividade Camada de recursoConheça mais sobre a computação em grade assistindo ao vídeo “The Grid”. Disponível em: <https://goo.gl/ xFrxdo> (em inglês com possibilidade de legenda em português). Acesso em: 7 ago. 2017. VÍDEO 19 Middleware. Camada de software que possui como características a abstração e o mascaramento das diferenças entre hardware e os elementos de software. GLOSSÁRIO Nessa arquitetura, temos quatro camadas: As aplicações são aquelas que operam dentro de um ambiente virtual e utilizam a computação em grade. As camadas coletiva, de conectividade e de recursos formam o núcleo da chamada camada de middleware em grade. Fonte – TANENBAUM e VAN STEEN, 2007. Figura 1.11 – Middleware como facilitador de comunicação em integração de aplicações empresariais. CAMADA-BASE Fornece a interface para consulta do estado e das capacidades de um recurso. CAMADA DE RECURSOS Atua no gerenciamento de um único recurso. CAMADA COLETIVA Administra o acesso a múltiplos recursos e desempenha atividades para descoberta de recursos, alocação e escalonamento de tarefas para múltiplos recursos, replicação de dados, dentre outros. CAMADA DE CONECTIVIDADE São os protocolos de comunicação para garantir a troca de informações entre as transações da grade. 1.3.2 Sistemas de Informação Distribuídos Esse tipo de sistema distribuído visa integrar as diversas transações relacionadas aos sistemas de informação existentes dentro de uma organização. Conforme as aplicações foram se sofisticando e se separando em componentes de banco de dados e de processamento independentes, verificou-se que deveria ocorrer uma integração que permitisse às aplicações se comunicarem diretamente entre si. Como resultado, surgiu a Integração de Aplicações Empresariais (Enterprise Application Integration – EAI). 20 A figura 1.11 ilustra um Middleware de comunicação integrando a comunicação da aplicação cliente com seus respectivos bancos de dados em servidores distribuídos. Do ponto de vista conceitual, temos os chamados sistemas distribuídos pervasivos, conforme definido por Tanenbaum e Van Steen (2007), também chamados de redes móveis e ubíquas, de acordo com Coulouris, Dollimore e Kindberg (2007). Nesses sistemas, os dispositivos costumam ser caracterizados pelo tamanho reduzido, pelo uso de bateria como fonte de alimentação, por serem móveis e por serem ubíquos, ou seja, estão presentes em todos os lugares, normalmente via conexão sem fio. Quando falamos em sistema distribuído pervasivo, queremos dizer que os dispositivos estão espalhados no ambiente e precisam descobrir os sistemas e outros dispositivos em seu entorno. Normalmente procuram três requisitos (TANENBAUM e VAN STEEN, 2007): 1.3.3 Sistemas distribuídos pervasivos, redes móveis e ubíquas Com a utilização crescente dos dispositivos móveis conectados via 3/4G ou WiFi, entre eles smartphones, tablets, notebooks, wearables, como os relógios inteligentes e a Internet das Coisas, surgiu a demanda por diversas aplicações que fazem uso de sistemas distribuídos, como o Facebook, Uber e outros. Figura 1.12 – Relógio inteligente (smartwatch). Exemplo de wearable, com aplicações de sistemas distribuídos à mostra. 21 1.4 Internet Podemos definir a Internet como um conjunto de redes de computadores de variadas topologias interligadas entre si, formando uma rede global. A Internet permite a o trabalho integrado de diversos programas executados em computadores espalhados pelo mundo. Para que haja a integração das atividades é necessário que ocorra a troca de mensagens, a qual deverá seguir uma regra comum que são os chamados protocolos de comunicação, por exemplo, em um jogo on-line, para que os comandos captados pelo teclado ou joystick sejam enviados ao servidor, deve-se usar um protocolo comum, neste caso o IP. Figura 1.13 – Rede global. A Internet interliga computadores e programas de todo o mundo, formando uma rede global. ADOTAR MUDANÇAS CONTEXTUAIS O dispositivo tem a capacidade de perceber alterações no ambiente computacional, por exemplo: identificar que uma rede sem fio não está mais disponível, pois o usuário saiu da área de cobertura. Em uma situação assim, a aplicação procura outra rede disponível ou adota outras medidas, como notificar o usuário. INCENTIVAR COMPOSIÇÃO AD HOC Dispositivosem sistemas pervasivos podem ser utilizados de modos distintos pelos usuários. Assim, dentro de um ambiente de sistema distribuído, a configuração das aplicações instaladas em um dispositivo deve ser fácil, automática e adequada ao perfil do usuário. RECONHECER COMPARTILHAMENTO COMO PADRÃO Sistemas pervasivos permitem o compartilhamento de dados, criando condições que facilitam, aos meios requeridos, realizar a leitura, o armazenamento, o gerenciamento e o compartilhamento da inrfomação. 22 1.5 Intranet Já quando falamos da Intranet, estamos destacando a parte da Internet que é administrada de forma separada do ambiente público. Normalmente, ela está dentro de uma organização e, por questões de proteção das informações da empresa e seus usuários, seus limites são impostos por meio de planos de segurança definidos para a rede local da organização. A Intranet é composta tipicamente por uma ou várias redes locais (LANs), interligadas entre si por meio de redes de dados sob responsabilidade das organizações que a administram. Para criação das Intranets, são necessários, além das redes: 1.6 Sistemas distribuídos e compartilhamento de recursos Um dos impulsionadores dos sistemas distribuídos é o compartilhamento de recursos, visando reduzir os custos com novos equipamentos e sua manutenção. Podemos considerar Internet como um sistema distribuído de grande porte, permitindo aos seus usuários utilizar vários serviços como, World Wide Web (www), e-mail e vídeo. Servidor web Sistema operacional de rede Programas para criação das páginas com o conteúdo 23 Exemplos de compartilhamento de recursos: � Impressoras; � Sistema de busca na web; � Sistema de back up de dados; � Compartilhamento de arquivos. Figura 1.14 – Sistemas distribuídos. Sistemas distribuídos permitem compartilhar recursos, como impressora e servidores de backup, de arquivos e de aplicações. Switch. Elemento de rede usado para direcionar os dados de um computador de origem a outro de destino, dentro da rede local (LAN) de uma mesma organização. GLOSSÁRIO MINICASE Uso das redes móveis na entrega de encomendas A UPS foi fundada em 1907 e é uma empresa multinacional que atua na entrega de pacotes em mais de 220 países e territórios, no fornecimento de transporte especializado e serviços de logística. Ela atua em um segmento de mercado altamente competitivo e pulverizado entre milhares de empresas ao redor do mundo. Sendo um diferencial a entrega das encomendas com eficácia, sem danos, dentro do prazo acordado e preços competitivos. 24 Por volta do ano de 1993, eles entregavam cerca de 11,5 milhões de pacotes e documentos por dia dentro de um universo de um milhão de clientes. Com esse volume de entregas, a UPS desenvolveu uma nova tecnologia englobando dispositivos handhelds, veículos especialmente projetados para entrega de pacotes, computação global e sistemas de comunicação integrado, recebendo o nome de DIAD (Dispositivo de Aquisição de Informações de Entrega). O dispositivo era usado por todos os motoristas da UPS, registrava e fazia o upload de informações de entrega da rede UPS em tempo real. O destinatário assinava diretamente no terminal e a imagem digitalizada da assinatura era enviada para o sistema de controle, fornecendo aos clientes informações imediatas das remessas. Com esse dispositivo, o motorista ficava em contato constante com a central, permitindo a UPS planejar coletas, avaliar padrões de tráfego, localizar os caminhões de entrega e outras informações relevantes. Adaptado de Histórico da Empresa UPS. Disponível em: <https://goo.gl/TuedT1>. Acesso em: 12 mar. 2017. Questões 1. Dos tipos de sistemas distribuídos tratados neste capítulo, qual se enquadra nesse estudo de caso? 2. Em sua opinião, quais são os elementos necessários para criar a estrutura para o registro das informações sobre as entregas, uma vez que a UPS atua em mais de 220 países e territórios? 25 MAPA CONCEITUAL 26 EXPLORANDO SEU CONHECIMENTO 1. Descreva, com suas palavras, o que é sistema distribuído e o que motivou seu surgimento. 2. Quais são as diferenças entre computação de cluster e computação em grid?
Compartilhar