Desenvolvimento em Nuvem

505 views
332 views

Published on

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

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
505
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Desenvolvimento em Nuvem

  1. 1. DESENVOLVIMENTO EM NUVEM André Lisiane Marcelo Vinissios Vitor
  2. 2. 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 usuários em um único centro. de vários 1
  3. 3. BENEFÍCIOS DO DESENVOLVIMENTO NA NUVEM  Um menor consumo de energia.  Configuração  Atualizações  e manutenção mais simples. 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
  4. 4. MODELOS DE SERVIÇO POR 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
  5. 5. OS MODELOS DE SERVIÇO 1
  6. 6. SOFTWARE COMO SERVIÇO (SAAS)  Proporciona  Acessíveis softwares com propósitos específicos. 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
  7. 7. PLATAFORMA COMO SERVIÇO (PAAS)  Infraestrutura de alto nível de integração. O usuário não administra ou controla a infraestrutura subjacente  Fornece 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
  8. 8. 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 operacionais, armazenamento e aplicativos implantados. sistemas  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
  9. 9. 1 PAPÉIS NA COMPUTAÇÃO EM NUVEM
  10. 10. 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
  11. 11. PRIVADO A infraestrutura de nuvem é utilizada exclusivamente para uma organização.  São empregados políticas de acesso aos serviços 1
  12. 12. PÚBLICO A infraestrutura de nuvens é disponibilizada para o público em geral.  Não podem ser aplicadas restrições de acesso. 1
  13. 13. COMUNIDADE  Compartilhamento  Este por diversas empresas de uma nuvem. tipo modelo de implantação pode existir localmente ou remotamente e pode ser administrado por alguma empresa da comunidade ou por terceiros. 1
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 2 ARQUITETURA DA COMPUTAÇÃO EM NUVEM
  18. 18. TECNOLOGIAS DE COMPUTAÇÃO EM NUVEM E SEUS MODELOS DE PROGRAMAÇÃO A computação em nuvem envolve quantidade de conceitos e tecnologias.  Empresas uma grande 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
  19. 19. 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
  20. 20. 3
  21. 21. 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
  22. 22. 3
  23. 23. 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
  24. 24. 3
  25. 25. 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
  26. 26. 4
  27. 27. 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.
  28. 28. 4
  29. 29. 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
  30. 30. 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.
  31. 31. 4 O serviço de armazenamento do Windows Azure pode ser acessado por aplicativos do Windows Azure ou por aplicativos executados em outros lugares.
  32. 32. 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
  33. 33. 5 Arquitetura do CloudAV
  34. 34. DESAFIOS DO DESENVOLVIMENTO EM NUVEM  Segurança  Gerenciamento de Dados  Autonomia  Disponibilidade  Escalabilidade  Descrição, e Desempenho Descoberta e Composição de Serviços  Licenciamento  Integração  Avaliação de Serviços de Software de Serviços de Nuvem 5
  35. 35. 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-buildersprovide-provenadvice.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/

×