Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
C
omputação em nuvem permite
o uso computacional (processa- bre computação em nuvem e serão catalogadas al-
mento, armazenamento, servi- gumas das principais tecnologias relacionadas. Ao
ços, etc.) com recursos compartilhados final do estudo analisaremos um pequeno exemplo
de forma remota, por meio da internet ou fictício da utilização de algumas das tecnologias
redes locais. Esses recursos são definidos citadas.
a partir de um painel de controle onde
Edson A. Oliveira Junior
edson@din.uem.br
o usuário pode configurar serviços de Em que situação o tema é útil:
Professor de Engenharia de Software na acordo com a necessidade de uso e sem Este artigo apresenta algumas das principais tec-
Universidade Estadual de Maringá (UEM). nenhuma intervenção de um especialista nologias para auxiliar no desenvolvimento de siste-
Doutor em Ciência da Computação pelo com o servidor. Em geral, o usuário só mas e o gerenciamento de infraestruturas baseados
Instituto de Ciências Matemáticas e de pagará pelos recursos e serviços utiliza- em nuvem.
Computação (ICMC) da Universidade de
dos, possibilitando um melhor controle Este tema é útil para gerentes/arquitetos de
São Paulo (USP). Principais temas de pes-
quisa: linha de processo de software, linha sobre os gastos. software e a indústria de software em geral que
de produto de software, arquitetura de sof- A computação em nuvem é a evolução desejam migrar para soluções em nuvem ou obter
tware e avaliação, métricas, engenharia de de uma variedade de tecnologias. Tecno- conhecimentos sobre um dos temas mais atuais no
software experimental, modelos e meta- logias como grid computing (modelo de setor de TI em todo o mundo.
modelos UML. Possui as certificações Java:
rede de computadores onde os recursos
SCJA, SCJP, SCJD, SCWCD e SCBCD.
de cada computador são compartilhados
com todos os outros computadores no
Rodrigo P. Bonini sistema), virtualização (o processo de necessários para um cliente e o cobra ba-
rodrigobonini@gmail.com executar vários sistemas operacionais seado no uso) podem facilmente ser con-
Especialista em Desenvolvimento de Siste- em um único equipamento) e utility fundidas com computação em nuvem.
mas para Web pela Universidade Estadual computing (modelo de disponibilização É possível diferenciar computação em
de Maringá. Experiência de 5 anos em
de serviços computacionais no qual um nuvem de outras tecnologias observando
desenvolvimento de sistemas. Atualmente
trabalha como desenvolvedor de sistemas provedor de serviços disponibiliza re- o modelo proposto pelo Instituto Nacio-
para Web utilizando a tecnologia Java. cursos computacionais e infraestrutura nal de Padrões e Tecnologia (NIST), que é
híbrida, os modelos de implantação trabalham como se fossem • Dropbox: é um serviço de armazenamento de arquivos on-
uma única nuvem. Organizações utilizam esse modelo para ter line que possibilita o compartilhamento com outros usuários
maior controle sobre os dados podendo, por exemplo, utilizar tornando os arquivos sincronizados. Atualmente esse serviço
um modelo de implantação privado para controlar os dados dispõe de uma versão paga e outra gratuita com limitações
internos da organização e um modelo de implantação público de recursos;
para as regras de negócios. • SalesForce.com: é um aplicativo de Gestão de Relacionamento
com o Cliente (CRM) online baseado em multitenancy (princí-
Os modelos de serviços propostos são definidos como: pio da arquitetura de software onde uma única instância de
Software como Serviço, Plataforma como Serviço e Infraes- software em um servidor é utilizada por várias organizações
trutura como Serviço. A Figura 1 ilustra o modelo geral de clientes). É executado diretamente do navegador Web sem ins-
computação em nuvem baseado nas características essenciais talação de qualquer aplicativo. Atualmente, conta com vários
e modelos de implantação e de serviços. planos comerciais;
• Basecamp: é uma ferramenta para o gerenciamento e a
colaboração de projetos online baseado em multitenancy,
sendo executado diretamente do navegador Web sem ins-
talação de qualquer aplicativo. Atualmente, conta somente
com plano comercial.
Tabela 1. Resumo das tecnologias e ferramentas para computação em nuvem catalogadas – Plataforma como Serviço (PaaS)
Plano gratuito ou
Empresa Storage Suporte de Banco de dados Pagamento Disponibilidade
teste
Amazon Elastic Amazon Simple Storage Service Amazon SimpleDB (não-relacional) e
Plano gratuito
Compute Cloud Amazon (Amazon S3) e Amazon Elastic Amazon Relational Database Service Pelo que utilizar 99,95%
(1 ano)
(Amazon EC2) Block Store (EBS) (relacional)
GoGrid Cloud Servers GoGrid GoGrid Cloud Storage Não informado Mensal ou Pelo que utilizar Não possui 100%
Rackspace Cloud
Rackspace File Sharing Microsoft SQL Server 2008 Pelo que utilizar Não possui 100%
Servers
Tabela 2. Resumo das tecnologias para computação em nuvem catalogadas – Infraestrutura como Serviço (IaaS)
O desenvolvedor Java pode criar e implantar software de qua- de gerenciamento onde o usuário poderá escolher a melhor
lidade dentro da plataforma utilizando o serviço DEV@cloud, e configuração para o servidor, como o tamanho do disco de
fazer a hospedagem do código para a nuvem usando o serviço armazenamento, memória RAM e velocidade da banda (Mbps).
RUN@cloud. Também são disponibilizadas ferramentas de O serviço possui suporte para os sistemas operacionais
terceiros as quais permitem testar as aplicações com o Sauce Windows e Linux, que são gerenciados por tecnologias de vir-
SauceLab, compartilhar projetos com outros desenvolvedores tualização como Xen e XenServer. Atualmente, oferece planos
utilizando Git ou SVN, monitorar a qualidade do código com de pagamento em que o usuário paga por horas utilizadas.
Sonar, além de um plug-in chamado Toolkit CloudBees para a IDE
Eclipse. Esse toolkit auxilia no desenvolvimento e implantação Catálogo de ferramentas para implementação de IaaS
dos aplicativos nessa plataforma. Uma solução para empresas que desejam implementar a
sua própria nuvem IaaS é utilizar ferramentas de gerencia-
Catálogo de Infraestrutura como serviço (IaaS) mento, permitindo controlar as máquinas virtuais, gerenciar
Nesta seção são apresentados provedores de desenvolvimen- a rede, controlar o armazenamento, segurança, entre outros
to de sistemas em nuvem sob o modelo IaaS. Esse modelo de recursos disponíveis.
serviço permite maior controle e flexibilidade para o desen- Na Tabela 3, será apresentado um resumo do catálogo das
volvedor, comparado com o modelo PaaS, pois o programa- ferramentas para implementação de IaaS com algumas das
dor poderá criar seu próprio ambiente de desenvolvimento. principais características como licença de uso, sistema opera-
Entretanto, precisará gerenciar vários recursos, tais como, cional suportado, entre outras informações. Tais ferramentas
sistema operacional, banco de dados, serviços, gerenciamento são descritas a seguir:
de permissões, entre outros recursos gerenciáveis. • Eucalyptus: O Eucalyptus (Elastic Utility Computing Architec-
A Tabela 2, apresenta um resumo do catálogo IaaS com ture for Linking Your Programs to Useful Systems) é um framework
algumas das principais características como o local de arma- para construção e gerenciamento de nuvens privadas e híbri-
zenamento, banco de dados suportado, formas de pagamento, das sem necessidade de hardware especial para computação
disponibilidade, entre outras informações. Vejamos quais em nuvem. Foi desenvolvido para implementar uma nuvem
foram os provedores selecionados: por meio dos serviços da Amazon EC2 e S3, mas atualmente é
• Amazon Elastic Compute Cloud (Amazon EC2): É um serviço compatível com outros serviços. O Eucalyptus possui um mó-
Web que oferece capacidade computacional redimensionável dulo chamado euca2tool para a criação de painéis de usuários
em nuvem e possui uma interface de gerenciamento simples para gerenciamento dos serviços e plataforma. Esse framework
que fornece o controle completo de seus recursos computa- conta com uma versão comercial e um projeto open source;
cionais. O Amazon EC2 permite a criação de instâncias de • OpenNebula: Permite implementar e gerenciar uma infraes-
servidores em poucos minutos. Atualmente possui uma versão trutura de nuvem pública, privada ou híbrida. O OpenNebula
gratuita por um ano, com algumas limitações de recursos e, possui grande flexibilidade e recursos avançados, possibi-
diversos planos comerciais, nos quais o usuário paga apenas litando atender a empresas de diversos setores, sendo um
pelos recursos utilizados; projeto open source mantido pela comunidade e por diversas
• GoGrid: É um serviço que permite a criação de servidores em empresas colaboradoras;
nuvem. Dentre suas principais funcionalidades, possibilita o • Nimbus: Concentra-se na construção de nuvens públicas e nu-
balanceamento de carga de hardware e de armazenamento por vens comunitárias, mas também possibilita a criação de nuvens
meio do painel de controle. Também permite o escalonamento privadas. O Nimbus é um conjunto de ferramentas open source
de memória RAM de forma simples. Atualmente, oferece uma mantido pela comunidade e outros colaboradores que foi desen-
versão em que o usuário paga pelo que usar ou outros quatro volvido com o propósito de atender a comunidade científica.
planos pré-pagos;
• Rackspace Cloud Servers: É um serviço Web semelhante Exemplo de aplicação do catálogo proposto
ao Amazon EC2 que oferece capacidades computacionais Esta seção apresenta um exemplo de utilização de alguns dos
em nuvem. O Rackspace Cloud Servers fornece um painel serviços apresentados neste artigo. Nesse exemplo é descrito
A Amazon.com permite que qualquer pessoa que possua console de configuração. A próxima etapa é a configuração do
um cartão de crédito (internacional) possa contratar os Firewall, para decidir quais portas deverão ser liberadas
serviços Amazon Web Services (AWS) de forma simples e para os serviços. Feito isso, é apresentado um Review de
sem nenhuma fidelidade de contrato, podendo a qualquer toda a configuração e a máquina virtual estará pronta para
momento cancelar o serviço. A Amazon também possui ser utilizada.
um nível de uso gratuito do EC2, que permite a utilização
durante um ano para uma instância, o que é indicado para
efetuar testes ou mesmo para estudos.
A AWS possui uma ferramenta para configuração do EC2 de
modo visual chamada AWS Management Console (Figura 3).
Por meio dessa ferramenta é possível criar novas máquinas
virtuais. A configuração é feita de forma simples e intuiti-
va e, também, é possível utilizar ferramentas de linha de
comando. Ao iniciar uma nova máquina virtual, o usuário
deve efetuar a escolha do sistema operacional por meio
de arquivos Amazon Machine Image (AMI). A Amazon
disponibiliza vários AMIs para instalação. Ao selecionar o
sistema operacional desejado, será apresentada outra tela
para a configuração dos recursos do processador e memória
da máquina virtual. Figura 3. Tela de configuração da máquina virtual no Amazon EC2
Após a escolha do sistema operacional e da configura-
ção de recursos de processamento, é necessário gerar a As configurações dos serviços são feitas por meio de um clien-
chave de acesso (Key Pairs). Esta chave possibilita o acesso te SSH e para ter acesso ao servidor a Amazon disponibiliza um
à máquina virtual por meio do protocolo Secure Shell Domain Name Service (DNS) público (Public DNS), algo como
(SSH). A chave também é gerada por meio do próprio ec2-xx-xx-xx-xx.compute-1.amazonaws.com, que possibilita
[5] BAKSHI, K. “Considerations for Cloud Data Centers: Framework, Architecture and
Adoption”. Cisco Systems Inc. 2011.
detalhada de como cada solução categorizada em modelos é A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e
composta e como os seus serviços e infraestruturas interagem Para isso, precisamos saber o que você, leitor, acha da revista!
s
ta
para permitir um melhor entendimento da nuvem formada. Dê seu voto sobre este artigo, através do link:
edição