Desenvolvimento em Nuvem

Preview:

DESCRIPTION

Apresentação organizada para a disciplina de Engenharia de Software II, sob orientação do professor Luiz Clivatti.

Citation preview

DESENVOLVIMENTO EM NUVEM

André

Lisiane

Marcelo

Vinissios

Vitor

O QUE É O DESENVOLVIMENTO EM NUVEM ?

Refere-se computadores e aplicativos que são executados remotamente e acessados pela Internet.

Máquinas virtuais são executadas em grandes datacenters em substituição aos PCs e servidores físicos.

Agregar as necessidades computacionais de vários usuários em um único centro.

1

BENEFÍCIOS DO DESENVOLVIMENTO NA NUVEM

Um menor consumo de energia.

Configuração e manutenção mais simples.

Atualizações de capacidade e desempenho mais fáceis.

Vários aplicativos podem continuar em execução sem passar por alterações à medida que você os reimplanta a partir de desktops locais ou servidores na nuvem.

1

MODELOS DE SERVIÇOPOR QUE SÃO IMPORTANTES ?

Em ambientes de computação em nuvem podem-se ter três modelos de serviços. Estes modelos são importantes, pois eles definem um padrão arquitetural para soluções de computação em nuvem.

1

OS MODELOS DE SERVIÇO1

SOFTWARE COMO SERVIÇO (SAAS)

Proporciona softwares com propósitos específicos.Acessíveis a partir de vários dispositivos do usuário. O usuário não administra ou controla a infraestrutura

subjacente.O desenvolvedores se concentram em inovação e não na

infraestrutura.Novos recursos podem ser incorporados

automaticamente. Reduz os custos, pois é dispensada a aquisição de

licenças de softwares. Exemplo Google Docs.

1

PLATAFORMA COMO SERVIÇO (PAAS)

Infraestrutura de alto nível de integração.O usuário não administra ou controla a infraestrutura

subjacenteFornece um sistema operacional, linguagens de

programação e ambientes de desenvolvimento para as aplicações.

Os desenvolvedores dispõem de ambientes escaláveis. Como exemplo de PaaS podemos destacar o Google App

Engine.

1

INFRAESTRUTURA COMO SERVIÇO (IAAS)

É a parte responsável por prover toda a infraestrutura necessária para a PaaS e o SaaS.

Tornar mais fácil e acessível o fornecimento de recursos. Tem como características interface única para administração da

infraestrutura. O usuário tem controle sobre os sistemas operacionais,

armazenamento e aplicativos implantados. Pode escalar dinamicamente, aumentando ou diminuindo os

recursos de acordo com as necessidades das aplicações. Exemplos são o Amazon EC2 (Elastic Cloud Computing) e o

Eucalyptus (Elastic Utility Computing Architecture Linking Your Programs To Useful.

1

PAPÉIS NA COMPUTAÇÃO EM NUVEM1

MODELO DE IMPLANTAÇÃO

Tratando-se do acesso e disponibilidade de ambientes de computação em nuvem, tem-se diferentes tipos de modelos de implantação.

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.

Os modelos de implantação da computação em nuvem podem ser divididos em: público, privado, híbrido e comunidade.

1

PRIVADO

A infraestrutura de nuvem é utilizada exclusivamente para uma organização.

São empregados políticas de acesso aos serviços

1

PÚBLICO

A infraestrutura de nuvens é disponibilizada para o público em geral.

Não podem ser aplicadas restrições de acesso.

1

COMUNIDADE

Compartilhamento por diversas empresas de uma nuvem.

Este tipo modelo de implantação pode existir localmente ou remotamente e pode ser administrado por alguma empresa da comunidade ou por terceiros.

1

HÍBRIDO

Existe uma composição de duas ou mais nuvens, que podem ser privadas, comunidade ou pública e que permanecem como entidades únicas e ligadas por uma tecnologia padronizada ou proprietária que permite a portabilidade de dados e aplicações.

1

ESCALABILIDADE DE NUVENS

Pode-se identificar pelo menos duas dimensões de escalabilidade: a horizontal e a vertical.

Uma nuvem escalável horizontalmente possui a capacidade de conectar e integrar múltiplas nuvens para o trabalho como uma nuvem lógica.

Uma nuvem escalável verticalmente pode melhorar a própria capacidade, incrementando individualmente seus nós existentes.

2

ARQUITETURA DE COMPUTAÇÃO EM NUVEM

A arquitetura de computação em nuvem é baseada em camadas.

Uma camada é uma divisão lógica de componentes de hardware e software.

Camada de mais baixo nível.Camada de middleware.Camada acima da middleware.Camada das aplicações de computação em nuvem.

2

ARQUITETURA DA COMPUTAÇÃO EM NUVEM2

TECNOLOGIAS DE COMPUTAÇÃO EM NUVEME SEUS MODELOS DE PROGRAMAÇÃO

A computação em nuvem envolve uma grande quantidade de conceitos e tecnologias.

Empresas e corporações como a Amazon, Google e Microsoft estão publicando serviços computacionais seguindo a lógica da infraestrutura de computação em nuvem, sendo a Amazon a pioneira em disponibilizar e comercializar infraestrutura deste tipo.

3

MAPREDUCE/HADOOP Modelo de programação que visa o processamento de grandes volumes de

dados, onde o usuário especifica sua aplicação através da sequência de operações.

Cada operação é composta por duas funções.

Gerencia o processamento através de um processo master, cuja função é de orquestrar o processamento e gerenciar o processo de agrupamento de e distribuir os blocos de forma equilibrada.

Possui como principais características: sistemas de armazenamento distribuído, arquivos particionados em grandes blocos e distribuídos nos nós do sistema, blocos replicados para lidar com falha de hardware e um local para dados temporários.

3

3

AMAZON EC2

Fornece aos desenvolvedores ferramentas para construir aplicações escaláveis.

Permite um controle completo de suas instâncias, sendo possível acessar e interagir com cada umas destas, de forma similar a máquinas convencionais.

Fornece confiabilidade e escalabilidade ao enfileirar e armazenar mensagens que estão sendo trocadas entre os recursos computacionais.

Os desenvolvedores podem, de maneira simples, mover dados entre os recursos distribuídos das aplicações entre diferentes domínios com garantia de entrega.

3

3

EUCALYPTUS É uma infraestrutura de código aberto, e permite aos usuários experimentarem

a computação em nuvem.

Tem como objetivo auxiliar a pesquisa e o desenvolvimento de tecnologias para computação em nuvem.

Tem como características: instalação e implantação simples usando ferramentas de gerenciamento de clusters, apresenta um conjunto de políticas de alocação extensível de nuvem, sobreposição de funcionalidade que não requer nenhuma modificação em ambiente Linux, ferramentas para administrar e auxiliar a gestão do sistema e dos usuários e capacidade de configurar vários clusters, cada um com endereços privado de rede interna em uma única nuvem.

Esse sistema permite aos usuários iniciar, controlar o acesso e gerenciar todas as máquinas virtuais.

3

3

GOOGLE APP ENGINE

É uma plataforma para o desenvolvimento de aplicações Web escaláveis que são executados na infraestrutura do Google.

Fornece um conjunto de APIs e um modelo de aplicação que permite aos desenvolvedores utilizarem serviços adicionais fornecidos pelo Google, como o e-mail, armazenamento, entre outros.

Os desenvolvedores podem criar aplicações Java e Python e podem utilizar diversos recursos tais como: armazenamento, transações, ajuste e balanceamento de carga automáticos, ambiente de desenvolvimento local e tarefas programadas.

4

4

ANEKA

É uma plataforma para a implementação de aplicações em computação em nuvem baseada em .NET.

Fornece aos desenvolvedores um rico conjunto de APIs para explorar esses recursos de forma transparente e expressar a lógica de negócio das aplicações usando as abstrações de programação.

Possui um SDK (Software Development Kit) que permite aos desenvolvedores criarem aplicações no contexto de nuvens em qualquer linguagem suportada pelo.NET runtime e um conjunto de ferramentas para rápida criação de nuvens.

4

4

MICROSOFT AZURE

Tem três partes principais: um serviço de Computação que executa aplicativos, um serviço de Armazenamento que armazena dados e uma Malha que suporta os serviços de Computação e Armazenamento.

Desenvolvedor cria um aplicativo no Windows que pode ser escrito usando C# e o .NET Framework, usando C++ e as APIs do Win32 ou de alguma outra maneira.

Fornece seus próprios mecanismos baseados em nuvem para armazenar e recuperar dados. A plataforma oferece três opções de armazenamento, todas acessadas via HTTP GETs, PUTs e DELETEs padrão.

4

Os aplicativos baseados no serviço de Computação do Windows Azure podem consistir em instâncias de função da Web, função do Trabalhador ou nas duas.

4

O serviço de armazenamento do Windows Azure pode ser acessado por aplicativos do Windows Azure ou por aplicativos executados em outros lugares.

4

APLICAÇÕES DE COMPUTAÇÃO EM NUVEM

Diversos tipos de aplicações baseadas em computação em nuvem estão disponíveis. Serviços de webmail, sites, softwares como serviços em geral são alguns exemplos.

O jornal NY Times usou EC2 e S3 da Amazon para converter 15 milhões de artigos de notícias para PDF (4 TB), para distribuição online, em uma questão de minutos.

A bolsa de valores eletrônica Nasdaq usa S3 para disponibilizar informações sobre o histórico de ações, sem onerar sua própria infraestrutura de TI.

Financeiras e seguradoras usam a nuvem para executar a avaliação de risco e calcular custo dos empréstimos. Neste tópico apresentamos uma aplicação executada em nuvem para detecção de arquivos maliciosos e indesejados

O CloudAV é um novo modelo para detecção de vírus em máquinas baseado no fornecimento de um antivírus como um serviço de computação em nuvem.

5

Arquitetura do CloudAV

5

DESAFIOS DO DESENVOLVIMENTO EM NUVEM

SegurançaGerenciamento de DadosAutonomiaDisponibilidade de ServiçosEscalabilidade e DesempenhoDescrição, Descoberta e Composição de ServiçosLicenciamento de SoftwareIntegração de ServiçosAvaliação de Nuvem

5

REFERENCIAS

http://msdn.microsoft.com/pt-br/ff380142.aspx

http://www.microsoft.com/pt-br/cloud/developer/

http://www.intel.com/content/www/br/pt/cloud-computing/cloud-builders-provide-proven-advice.html?cid=sem155p5323&gclid=CIzMo93Xp7cCFVES7AodpxIAUw

http://nuvemscript.org/

http://www.windowsazure.com/pt-br/home/features/what-is-windows-azure/

https://appengine.google.com/

http://www.manjrasoft.com/aneka_architecture.html

http://www.eucalyptus.com/

http://aws.amazon.com/pt/ec2/

Recommended