Cloud Computing
O conceito de computação em nuvem (em inglês, cloud computing) refere-se à utilização da memória e das capacidades de armazenamento e cálculo de computadores e servidores compartilhados e interligados por meio da Internet, seguindo o princípio da computação em grade.
Wikipedia.org
Uma das vantagens da cloud computing é a possibilidade de se utilizar aplicações diretamente da internet, sem que estas estejam instaladas no computador do usuário. Mas, há outras significativos benefícios:
– Na maioria dos casos, o usuário pode acessar determinadas aplicações independente do seu sistema operacional ou de hardware;
– O usuário não precisa se preocupar com a estrutura para executar a aplicação: hardware, procedimentos de backup, controle de segurança, manutenção, entre outros, ficam a cargo do fornecedor do serviço;
– Compartilhamento de dados e trabalho colaborativo se tornam mais fáceis, uma vez que todos os usuários acessam as aplicações e os dados do mesmo lugar: a “nuvem”. Muitas aplicações do tipo já são elaboradas considerando estas possibilidades;
– Dependendo do fornecedor, o usuário pode contar com alta disponibilidade, já que se um servidor parar de funcionar, por exemplo, os demais que fazem parte da estrutura continuam a oferecer o serviço;
– O usuário pode contar com melhor controle de gastos. Muitas aplicações em cloud computing são gratuitas e, quando é necessário pagar, o usuário só o fará em relação aos recursos que usar ou ao tempo de utilização. Não é, portanto, necessário pagar por uma licença integral de uso, tal como acontece no modelo tradicional de fornecimento de software;
– Dependendo da aplicação, o usuário pode precisar instalar um programa cliente em seu computador. Mas, neste caso, todo ou a maior parte do processamento (e até mesmo do armazenamento de dados) fica por conta das “nuvens”.
Note que, independente da aplicação, com a cloud computing o usuário não necessita conhecer toda a estrutura que há por trás, ou seja, ele não precisa saber quantos servidores executam determinada ferramenta, quais as configurações de hardware utilizadas, como o escalonamento é feito, onde está a localização física do data center, enfim. O que importa ao usuário é saber que a aplicação está disponível nas nuvens, não importa de que forma.
Tipologia
Atualmente, a computação em nuvem é dividida em sete tipos:
- IaaS – Infrastructure as a Service ou Infraestrutura como Serviço: quando se utiliza uma percentagem de um servidor, geralmente com configuração que se adeque à sua necessidade.
- PaaS – Plataform as a Service ou Plataforma como Serviço: utilizando-se apenas uma plataforma como um banco de dados, um web-service, etc.
- DevaaS – Development as a Service ou Desenvolvimento como Serviço: as ferramentas de desenvolvimento tomam forma na computação em nuvem como ferramentas compartilhadas, ferramentas de desenvolvimento web-based e serviços baseados em mashup.
- SaaS – Software as a Service ou Software como Serviço: uso de um software em regime de utilização web (p.ex.: Google Docs , Microsoft SharePoint Online).
- CaaS – Communication as a Service ou Comunicação como Serviço : uso de uma solução de Comunicação Unificada hospedada em Data Center do provedor ou fabricante (p.ex.: Microsoft Lync).
- EaaS – Everything as a Service ou Tudo como Serviço : quando se utiliza tudo, infraestrurura, plataformas, software, suporte, enfim, o que envolve T.I.C. (Tecnologia da Informação e Comunicação) como um Serviço.
- DBaas – Data Base as a Service ou Banco de dados como Serviço: quando utiliza a parte de servidores de banco de dados como serviço.
Característica de computação em nuvem
- Provisionamento dinâmico de recursos sob demanda, com mínimo de esforço;
- Escalabilidade;
- Uso de “utilility computing”, onde a cobrança é baseada no uso do recurso ao invés de uma taxa fixa por um período;
- Visão única do sistema;
- Distribuição geográfica dos recursos de forma transparente ao usuário.
Modelo de implantação
No modelo de implantação, dependemos das necessidades das aplicações que serão implementadas. A restrição ou abertura de acesso depende do processo de negócios, do tipo de informação e do nível de visão desejado. Percebemos que certas organizações não desejam que todos os usuários possam acessar e utilizar determinados recursos no seu ambiente de computação em nuvem. Segue abaixo a divisão dos diferentes tipos de implantação:
- Privado – As nuvens privadas são aquelas construídas exclusivamente para um único usuário (uma empresa, por exemplo). Diferentemente de um data center privado virtual, a infraestrutura utilizada pertence ao usuário, e, portanto, ele possui total controle sobre como as aplicações são implementadas na nuvem. Uma nuvem privada é, em geral, construída sobre um data center privado.
- Público – As nuvens públicas são aquelas que são executadas por terceiros. As aplicações de diversos usuários ficam misturadas nos sistemas de armazenamento, o que pode parecer ineficiente a princípio. Porém, se a implementação de uma nuvem pública considera questões fundamentais, como desempenho e segurança, a existência de outras aplicações sendo executadas na mesma nuvem permanece transparente tanto para os prestadores de serviços como para os usuários.
- Comunidade – A infraestrutura de nuvem é compartilhada por diversas organizações e suporta uma comunidade específica que partilha as preocupações (por exemplo, a missão, os requisitos de segurança, política e considerações sobre o cumprimento). Pode ser administrado por organizações ou por um terceiro e pode existir localmente ou remotamente.
- Híbrido – Nas nuvens híbridas temos uma composição dos modelos de nuvens públicas e privadas. Elas permitem que uma nuvem privada possa ter seus recursos ampliados a partir de uma reserva de recursos em uma nuvem pública. Essa característica possui a vantagem de manter os níveis de serviço mesmo que haja flutuações rápidas na necessidade dos recursos. A conexão entre as nuvens pública e privada pode ser usada até mesmo em tarefas periódicas que são mais facilmente implementadas nas nuvens públicas, por exemplo. O termo computação em ondas é, em geral, utilizado quando se refere às nuvens híbridas.
Gerenciamento da segurança da informação na nuvem
Sete princípios de segurança em uma rede em nuvem:
- Acesso privilegiado de usuários – A sensibilidade de informações confidenciais nas empresas obriga um controle de acesso dos usuários e informação bem específica de quem terá privilégio de administrador, para então esse administrador controle os acessos
- Compliance com regulamentação – As empresas são responsáveis pela segurança, integridade e a confidencialidade de seus próprios dados. Os fornecedores de computação em nuvem devem estar preparados para auditorias externas e certificações de segurança.
- Localização dos dados – A empresa que usa cloud provavelmente não sabe exatamente onde os dados estão armazenados, talvez nem o país onde as informações estão guardadas. O fornecedor deve estar disposto a se comprometer a armazenar e a processar dados em jurisdições específicas, assumindo um compromisso em contrato de obedecer os requerimentos de privacidade que o país de origem da empresa pede.
- Segregação dos dados – Geralmente uma empresa divide um ambiente com dados de diversos clientes. Procure entender o que é feito para a separação de dados, que tipo de criptografia é segura o suficiente para o funcionamento correto da aplicação.
- Recuperação dos dados – O fornecedor em cloud deve saber onde estão os dados da empresa e o que acontece para recuperação de dados em caso de catástrofe. Qualquer aplicação que não replica os dados e a infra-estrutura em diversas localidades está vulnerável a falha completa. Importante ter um plano de recuperação completa e um tempo estimado para tal.
- Apoio à investigação – A auditabilidade de atividades ilegais pode se tornar impossível na computação em nuvem uma vez que há uma variação de servidores conforme o tempo onde estão localizados os acessos e os dados dos usuários. Importante obter um compromisso contratual com a empresa fornecedora do serviço e uma evidência de sucesso no passado para esse tipo de investigação.
- Viabilidade em longo prazo – No mundo ideal, o seu fornecedor de computação em nuvem jamais vai falir ou ser adquirido por uma empresa maior. A empresa precisa garantir que os seus dados estarão disponíveis caso o fornecedor de computação em nuvem deixe de existir ou seja migrado para uma empresa maior. Importante haver um plano de recuperação de dados e o formato para que possa ser utilizado em uma aplicação substituta.
Sistemas atuais
Os sistemas operacionais para Internet mais utilizados são:
- Dropbox: Dropbox é um sistema de armazenamento em nuvem que inicia-se gratuitamente com 2gb e conforme indica amigos o espaço para armazenamento de arquivos cresce até 18gb. Também tem opções pagas com maior espaço.
- Skydrive: Serviço de armazenamento em nuvem da Microsoft com 7gb free e com a possibilidade de adquirir mais espaço. Tem serviços sicronizados com o windows 8, windows phone e Xbox.
- Google Chrome OS: Desenvolvido pela Google, já incorporado nos Chromebooks, disponíveis desde 15 de junho de 2011. Trabalha com uma interface diferente, semelhante ao do Google Chrome, em que todas as aplicações ou arquivos são salvos na nuvem e sincronizados com sua conta do Google, sem necessidade de salvá-los no computador, já que o HD dos dois modelos de Chromebooks anunciados contam com apenas 16gb de HD.
- iCloud: Sistema lançado pela Apple em 2011, é capaz de armazenar até 5 GB de fotos, músicas, documentos, livros e contatos gratuitamente, com a possibilidade de adquirir mais espaço em disco (pago).
- Ubuntu One: Ubuntu One é o nome da suíte que a Canonical (Mantenedora da distribuição Linux Ubuntu) usa para seus serviços online. Atualmente com o Ubuntu One é possível fazer backups, armazenamento, sincronização e compartilhamento de arquivos e vários outros serviços que a Canonical adiciona para oferecer mais opções e conforto para os usuários.
- IBM Smart Business: Sistema da IBM que engloba um conjunto de serviços e produtos integrados em nuvem voltados para a empresa. O portfólio incorpora sofisticada tecnologia de automação e autosserviço para tarefas tão diversas como desenvolvimento e teste de software, gerenciamento de computadores e dispositivos, e colaboração. Inclui o Servidor IBM CloudBurst server (US) com armazenamento, virtualização, redes integradas e sistemas de gerenciamento de serviço embutidos.
- OpenShift: É uma plataforma de computação em nuvem como um produto de serviço da Red Hat. A versão para a nuvem privada é nomeado OpenShift Empresa.
- Outros Sistemas:
- Joli Os;
- YouOS;
- DesktopTwo;
- G.ho.st;
- eyeOS;
OpenShift na Nuvem
OpenShift é uma plataforma de computação em nuvem como um produto de serviço da Red Hat. A versão para a nuvem privada é nomeado OpenShift Empresa.
O software que executa o serviço é de código aberto sob o nome OpenShift Origin, e está disponível no GitHub. Os desenvolvedores podem usar Git para implantar aplicativos web em diferentes idiomas na plataforma.
OpenShift também apoia programas binários que são aplicações web, desde que eles possam ser executados no Red Hat Enterprise Linux. Isso permite o uso de linguagens e frameworks arbitrárias. OpenShift cuida da manutenção dos serviços subjacente à aplicação e dimensionamento da aplicação quando necessário.
Linguagens Suportadas:
- JavaScript
- Haskell
- Java
- Python, É uma linguagem de propósito geral, programação de alto nível, que enfatiza a legibilidade do código e permite aos programadores expressar conceitos usando menos códigos do que seria possível em outras linguagens de programação comuns. Isso proporciona construções que são eficazes em aplicações de pequeno e grande porte. Em abril de 2008, Python foi a primeira e única linguagem de programação suportada pelo App, plataforma de desenvolvimento do Google Motor, e suas construções simples e eficazes ainda estão sendo usadas por desenvolvedores da área de Cloud Computing.
- Perl, Esta linguagem combina as características de outras linguagens de programação como C, com características de shell script para fornecer aos programadores poderosas instalações de processamento de texto que, em seguida, permitem a fácil manipulação de dados de arquivos de texto. Sua funcionalidade de análise tornou-se popular na década de 1990, como uma linguagem de script CGI.
- .NET, Plataforma de Nuvem da Microsoft, conhecida como a Azure Services Platform, simplificou o processo de migração de aplicativos para .NET e desenvolvedores Java, que agora são capazes de usar em um ambiente de tempo de execução baseado em Nuvem as mesmas ferramentas e APIs , que eles estão acostumados a trabalhar com o seu ambiente local em tempo de execução. Este tipo de mistura e combinação de Java e .NET, é o conceito de “desenvolver na Nuvem”. Essa combinação oferece muitos blocos de construção comuns para .NET, que o tornam muito mais fácil de criar aplicativos baseados em Nuvem.
- PHP, Com a facilidade de migração, o aplicativo, que veio com ambientes de programação, melhorou muito o processo de atualização, deixando que os desenvolvedores se concentrem na programação do software, e não na criação de ambientes de teste em máquinas locais, utilizando dos serviços de Nuvem para o armazenamento dos seus serviços.
- RUBY, Linguagem de programação interpretada multiparadigma, de tipagem dinâmica e forte, com gerenciamento de memória automático, reflexo de propósito geral orientada a objetos e foi criada em meados da década de 1990. Ele foi influenciado por Eiffel e Lisp, e combina uma sintaxe similar a do Perl com características muito parecidas com Smalltalk. Ruby on Rails, geralmente abreviada para apenas Rails, é uma estrutura de aplicativo Web full-stack open source para a linguagem de programação Ruby. Rails, que usa o Model-View-Controller (MVC), arquitetura padrão para organizar programação de aplicativos, funciona bem para a computação em Nuvem devido a sua arquitetura.
Bancos de Dados Suportados:
- MySQL
- PostgreSQL
- MongoDB
- Microsoft SQL Server
Bom espero que tenhamos apresentado um pouco sobre este conceito, que apesar de não ser tão novo assim, muitos se questionam. Até a próxima! Qualquer dúvida dificuldade ou sugestão mande através do comentário deste artigo.
The post Cloud Computing appeared first on NumeroReal.