Cloud Computing

27 de outubro de 2014
Compartilhe

Até hoje, os computadores evoluíram de algo totalmente inacessível para dispositivos cada vez mais presentes na vida das pessoas. Ninguém atualmente conseguiria sobreviver sem o uso dos computadores. Seja no trabalho, escola, transporte público, instituições financeiras, em todos os lugares há um computador controlando, armazenando ou processando dados.

Porém, Cloud Computing é algo que promete modificar definitivamente a forma como as pessoas se relacionam com a Tecnologia da Informação. Será que no futuro você precisará ter um computador ou dispositivo pessoal para acessar e processar suas informações? Aliás, será que hoje você lida com suas informações como lidava há poucos anos?

Certamente não. Antes, precisávamos manter todos os nossos documentos em nossos computadores pessoais. A comunicação por e-mail era limitada. Precisávamos baixar nossos e-mails e apagá-los com frequência, do contrário não sobrava espaço para novas mensagens.

Pois é. O mundo da TI mudou para nós, usuários comuns da tecnologia. Hoje, os e-mails têm limites altíssimos que nos permitem manter mensagens muito antigas armazenadas. Podemos gravar nossos documentos diretamente na “nuvem” como se estivéssemos guardando em um computador pessoal. Podemos compartilhar arquivos, fotos etc. com várias pessoas, sem que seja necessário entregar dispositivos de memória (disquetes ou pen-drives).

Da mesma forma, diversas coisas já estão mudando para as empresas.

O que tem por trás de tudo isso? Simples: Cloud Computing. Afinal, o que é isso?

 

O que é Cloud Computing?

 De acordo com o NIST (National Institute of Standards and Technology), Cloud Computing é o modelo que disponibiliza um conjunto de recursos computacionais de maneira conveniente, com acesso sob demanda à rede e que pode ser rapidamente provisionado e liberado com pouco esforço de gerenciamento ou interação do provedor de serviços.

A computação tem evoluído muito no atendimento às necessidades das pessoas e das empresas. Inicialmente, a computação era completamente centrada em uma arquitetura de grandes computadores (mainframes). Esta era a época da manufatura: centralizada e com poucos recursos para atender os usuários finais. Depois passamos para a fase dos computadores pessoais. Foi a fase da distribuição, com mais serviços, porém com pouca disciplina e organização. Estamos na migração da fase da Informação para a era do Cliente. Na era da Informação, temos uma computação baseada em Redes, com comunicação e algum nível de colaboração e compartilhamento. Na era do Cliente teremos uma computação voltada para as necessidades do usuário, e a simplificação dos processos estará ao lado dos usuários e a complexidade do ambiente computacional com os profissionais da área.

Com uma abordagem bastante simples, podemos entender Cloud como sendo a “computação como serviço”. Sim, um serviço como são os serviços de eletricidade ou telefonia. Da mesma forma que não é necessário ter uma usina de produção de energia em casa para ter acesso à eletricidade, não deveria ser necessário ter um computador para poder processar e armazenar dados. Esta é a base do conceito de Cloud Computing.

Mas não é só isso (naturalmente). Cloud Computing surgiu porque uma série de tecnologias de apoio deu suporte a este novo ambiente.

Tecnicamente, Cloud Computing tem como fundamento a Computação Distribuída. Isso quer dizer que, ao invés de ter um grande e potente computador, podemos extrair tanto ou mais poder computacional unindo diversos computadores para realizar o processamento em paralelo. Mas também não é apenas isso.

Provavelmente o que melhor define Cloud Computing é a união da tecnologia de Computação Distribuída e a visão de que a TI deve ser encarada como Serviço.

Tecnologias, benefícios e características

 As principais tecnologias que deram apoio para o surgimento de Cloud são:

  1. Datacenter: grandes centros que contam com uma infraestrutura para processar, armazenar e distribuir serviços computacionais.
  2. Virtualização: técnica que permite extrair o máximo potencial de computadores expandindo ou reduzindo o processamento e o armazenamento de acordo com a demanda por serviços computacionais. Permite compartilhar um único servidor com diversos computadores virtuais o que maximiza o uso dos recursos disponíveis.
  3. ASP (Application Service Provider): provedores de aplicação que disponibilizavam seus aplicativos como serviços que eram pagos conforme o uso.
  4. SOA (Arquitetura Orientada a Serviços): para aproveitar o poder computacional, é necessário que as aplicações façam uso desta arquitetura para utilizar os serviços de aplicação que necessitam.
  5. Grid Computing: a computação em Grid permite que dispositivos heterogêneos possam utilizar um mesmo ambiente, trocando informações através de serviços que funcionam como plug-ins.

 

Figura 1: Principais Tecnologias de Suporte a Cloud Computing

 

Antes de Cloud, outras formas de Computação Distribuída existiram: Cluster e Grid Computing são bons exemplos.

Os maiores benefícios de Cloud Computing são:

  1. Melhoria da agilidade do negócio: é possível responder rapidamente às demandas não previstas, aumentando ou diminuindo o número de servidores e a capacidade de armazenamento.
  2. Redução de gastos: paga-se apenas por aquilo que se consome. Em um ambiente tradicional, compra-se toda tecnologia de processamento e armazenamento antes mesmo de saber qual a demanda. Resultado: ou investe muito e deixa recursos subutilizados ou investe pouco e não consegue atender à demanda.
  3. Aumento da produtividade e a colaboração do usuário final: havendo uma computação focada no usuário, os fornecedores de tecnologia precisarão atender às solicitações dos consumidores sem os argumentos e jargões técnicos relacionados ao impedimento de atender as demandas.
  4. Redução do consumo de energia: uma das grandes vantagens da virtualização, pois maximiza o uso dos servidores, reduz a necessidade de refrigeração e permite a elasticidade no uso dos servidores (aumenta e diminui de acordo com a demanda).

As principais características de Cloud Computing são:

  1. Serviços sob demanda: você usa os serviços conforme precisa, exatamente como faz quando consome energia elétrica; toda complexidade do ambiente, a distribuição e a manutenção da infraestrutura são transparentes para os usuários.
  2. Amplo acesso à rede: não existe limitação para uso e acesso ao que está armazenado. O usuário tem acesso aos seus arquivos e pode realizar o processamento quando for preciso, sem se preocupar com a infraestrutura necessária para isso.
  3. Pool de recursos: os recursos computacionais para processamento e armazenamento podem (e devem) ser alocados de acordo com a necessidade; tecnicamente não pode existir um limite, pois deve haver um número suficiente de recursos para atender toda demanda.
  4. Escalabilidade ilimitada e rápida: a alocação de novos recursos não pode depender de uma pessoa ou mesmo de um sistema; deve haver mecanismos de alocação automática com objetivo de atender a demanda de serviços computacionais necessários.
  5. Pagamento por uso: os serviços devem ser pagos conforme o uso dos recursos – usou, paga, não usou, não paga.

Modelos de Serviço:

 Para atender a demandas de serviços de acordo com os padrões e características descritas, criou-se uma série de modelos de serviço de Cloud. Para entender a tais modelos, elaborou-se um artefato conhecido como “Pirâmide de Cloud”.

Figura 2: Pirâmide de Cloud Computing

Os principais são:

  1. SaaS (Software como Serviço): capacidade de fornecer aplicações ao usuário final. Está no topo da pirâmide porque as demais dão suporte para que o SaaS possa existir. O principal benefício é que o usuário abstrai completamente tudo que é necessário para executar uma aplicação. O custo é reduzido e a necessidade de conhecer e interagir com a tecnologia e infraestrutura é inexistente.
  2. PaaS (Plataforma como Serviço): camada que permite utilizar recursos da nuvem com pequena necessidade de intervenção na infraestrutura de TI. O foco está no desenvolvimento de aplicações relevantes ao negócio, sem se preocupar em manter toda infraestrutura para funcionamento do ambiente.
  3. IaaS (Infraestrutura como Serviço): base da pirâmide, provê os recursos computacionais básicos (hardware para processamento e armazenamento) e deixa a cargo do contratante a administração do ambiente de software.

 

Modelos de Distribuição:

 Os modelos de distribuição de Cloud seguem o princípio de como é possível utilizar e quais são os limites adequados para um projeto de Cloud Computing. Os principais são:

  1. Nuvem Pública: empresa especializada em serviços de TI que disponibiliza sua infraestrutura para que outras pessoas ou empresas utilizem seus recursos computacionais. Os principais consumidores são o público em geral (pessoas), empresas, governo e escolas. Os grandes fornecedores são: AWS (Amazon Web Services), Google App, Microsoft etc.
  2. Nuvem Privada: quando uma organização contrata uma empresa especializada em serviços de TI, mas exige que seja apartado um ambiente único e exclusivo si,  sem compartilhamento de recursos com outras empresas. Há quem ofereça este tipo de serviço, mas diminui as características da nuvem (exemplo, não permite escalabilidade de servidores).
  3. Nuvem Híbrida: quando compõe uma solução de nuvem que envolva servidores que estão fisicamente localizados dentro da empresa e outros que estão fora, seja em uma nuvem pública ou privada.

Roadmap para adoção de Cloud Computing

Para os usuários pessoa física não tem mais jeito. Já estamos completamente presos e adaptados ao Cloud. E-mails, compartilhamento de fotos, redes sociais… Tudo nos leva para a nuvem.

Porém, para as empresas existe a necessidade de um roadmap, pois nem todas adotarão este modelo de uma hora para outra e, mesmo as que adotarem precisarão de um tempo para se adaptar, testar e ver como reduzir custos e aumentar a competitividade com esta tecnologia.

Pode-se utilizar um modelo de cinco níveis para uma adoção segura de Cloud Computing:

  1. Virtualização: comece em casa. Virtualize sua infraestrutura e suas aplicações.
  2. Experimentação: contrate um serviço de Cloud simples, apenas para você se acostumar com a arquitetura. Você poderá utilizar uma das suas máquinas virtuais para testar o novo ambiente.
  3. Fundamentação: elabore uma arquitetura escalável para suas aplicações. Nem todas poderão extrair o melhor de um ambiente altamente paralelizável e elástico como Cloud Computing, mas é importante que você saiba quais aplicações poderão lhe trazer maior retorno.
  4. Exploração: utilize a Cloud. Teste provisionamento automático e manual, realize balanceamento de carga e tente enxergar quanto isso está trazendo de valor para seu negócio.
  5. Utilização: faça uso completo da Cloud, com provisionamento automático de recursos e aplicações, compartilhamento e balanceamento de carga.

 

Provavelmente, um bom serviço para começar a utilizar Cloud é a automatização do seu processo de backup. Ao ter uma cópia dos seus dados em um ambiente externo você melhora a segurança e continuidade do seu negócio. Pode testar uma solução em Cloud, adquirir segurança nos serviços e ampliar o leque dos seus serviços de TI na nuvem.

 

Celso Poderoso é coordenador dos cursos de MBA da FIAP (MBA em Arquitetura de Redes e Cloud Computing, MBA em Big Data (Data Science), MBA em Arquiteturas e Gestão de Infraestrutura de TI e MBA em Business Intelligence), professor dos cursos de graduação e pós-graduação da FIAP. É mestre em Tecnologia, especialista em redes sociais aplicadas à Educação e economista. Atua desde 1984 na área de TI, especialmente em desenvolvimento de sistemas e banco de dados Oracle, atualmente é gerente de serviços na MicroStrategy.  Possui cinco livros publicados na área de banco de dados, como SQL Curso Prático e Oracle PL/SQL 10g. Todos editados pela Novatec Editora.

Nosso site armazena cookies para coletar informações e melhorar sua experiência. Gerencie seus cookies ou consulte nossa política.

Prosseguir