Computação em Nuvem com PHP usando Zend Framework

3.262 visualizações

Publicada em

Como utilizar

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
3.262
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Computação em Nuvem com PHP usando Zend Framework

  1. 1. Título da EM NUVEM COMPUTAÇÃO Apresentação COM PHP USANDO ZEND FRAMEWORK Flávio Gomes da Silva Lisboa Palestrante: 00/00/0000
  2. 2. Nossa Agenda ►Utilização de PHP no mundo ►PHP e a nuvem ►Zend Framework ►Estudo de caso: Amazon ►Serviço de armazenamento S3 ►Usando máquinas virtuais da EC2 ►Filas de mensagens com SQS ►Perspectivas
  3. 3. Utilização do PHP no mundo O que é PHP? ►Linguagem nascida e pensada para aplicações Web ►Multiparadigma (estruturada, orientada a objetos e com suporte para orientação a aspectos) ►Suporte a inúmeras de bibliotecas de código Manipulação de formatos de áudio, autenticação, calendário e eventos, compressão de arquivos, cartão de crédito, criptografia, banco de dados, sistema de arquivos, linguagem humana, e-mail, computação científica, controle de processo, mecanismo de busca, processamento de texto, web services, XML, ... ►Integração com outras linguagens e plataformas Java, Perl, Python, ASP, COM, .NET Computação em Nuvem com PHP usando Zend Framework
  4. 4. Utilização do PHP no mundo O que é PHP? ►Software livre sem restrições de uso comercial A licença não é contaminante ►Objetiva e fácil de aprender Vasta documentação ►Multi-plataforma e portável ►Disponibilidade de hospedagem de baixo custo E ainda é possível hospedar milhares de clientes por servidor ►Muitas aplicações prontas para todos fins Open Source e comerciais: CMS, fóruns, web mail, SGBD, monitoração, gerenciamento de projetos... Computação em Nuvem com PHP usando Zend Framework
  5. 5. Utilização do PHP no mundo Como o PHP é utilizado ►Criação de scripts ►Aplicações Web (incluindo as acessíveis por celular) ►Aplicações Desktop (PHP-GTK) ►Aplicações Android NOVIDADE! Computação em Nuvem com PHP usando Zend Framework
  6. 6. Utilização do PHP no mundo + 1/3 das aplicações da Internet usam PHP Computação em Nuvem com PHP usando Zend Framework
  7. 7. Utilização do PHP no mundo Aplicações corporativas em PHP estão crescendo... Part-Time Independent Corporate Developers Software And Hobbyists Vendors IT Developers Programmers (Millions) 2006 2007 2008 2009 2010 2011 2012 2013 Source: Gartner (December 2007) Computação em Nuvem com PHP usando Zend Framework
  8. 8. PHP e a nuvem Expondo serviços! Computação em Nuvem com PHP usando Zend Framework
  9. 9. PHP e a nuvem Consumindo serviços! Computação em Nuvem com PHP usando Zend Framework
  10. 10. Zend Framework Data Database MVC XML Controller Search View PDF Core Security Cache i18n Web Services Acl Config Locale Date Auth Feed Log Translate Calendar Filter Client Registry Measure Currency Validate Server Session Services Computação em Nuvem com PHP usando Zend Framework
  11. 11. Zend Framework Web Services Feed Client Server Services REST SOAP XML-RPC Computação em Nuvem com PHP usando Zend Framework
  12. 12. Zend Framework Web Services Feed Client Server Services Computação em Nuvem com PHP usando Zend Framework
  13. 13. Estudos de caso: Amazon Computação em Nuvem com PHP usando Zend Framework
  14. 14. Armazenamento Como seria maravilhoso se houvesse espaço em disco ilimitado para usuários e aplicativos... O´Reilly Media All rights reserved. Computação em Nuvem com PHP usando Zend Framework
  15. 15. Armazenamento SONHO! ∞ Computação em Nuvem com PHP usando Zend Framework
  16. 16. Armazenamento REALIDADE! ~∞ Computação em Nuvem com PHP usando Zend Framework
  17. 17. Armazenamento Em um mundo ideal, acessar o armazenamento virtual de uma nuvem seria tão fácil quanto acessar um disco rígido local Computação em Nuvem com PHP usando Zend Framework
  18. 18. Armazenamento Porém, as APIs básicas da maioria dos serviços de armazenamento em nuvem obrigam os programadores a pensar sobre detalhes de configuração em vez de somente trabalhar com os dados Computação em Nuvem com PHP usando Zend Framework
  19. 19. Armazenamento O desafio para construir aplicativos que funcionem na nuvem é a interface para os próprios serviços Computação em Nuvem com PHP usando Zend Framework
  20. 20. Armazenamento FATO: A maioria dos serviços possui uma interface REST ou SOAP Computação em Nuvem com PHP usando Zend Framework
  21. 21. Armazenamento FATO: REST e SOAP não são específicos de linguagem Computação em Nuvem com PHP usando Zend Framework
  22. 22. Armazenamento VANTAGEM: É possível invocar um serviço REST ou SOAP com qualquer linguagem de programação Computação em Nuvem com PHP usando Zend Framework
  23. 23. Armazenamento DESVANTAGEM: O programador pensa nos detalhes da solicitação em vez de pensar nos dados que está usando Computação em Nuvem com PHP usando Zend Framework
  24. 24. Armazenamento FATO: Uma abordagem de alto nível que permita ao programador se concentrar nos dados e não nos detalhes melhora a produtividade Computação em Nuvem com PHP usando Zend Framework
  25. 25. Armazenamento Web Services Feed Client Server Services REST SOAP XML-RPC Computação em Nuvem com PHP usando Zend Framework
  26. 26. Armazenamento S3 é um sistema de arquivos distribuído que fornece armazenagem ilimitada. Seu modelo de dados tem dois conceitos: o depósito e o objeto. Computação em Nuvem com PHP usando Zend Framework
  27. 27. Armazenamento OBJETO DADOS OBJETO ∞ METADADOS DEPÓSITO OBJETO OBJETO Computação em Nuvem com PHP usando Zend Framework
  28. 28. Armazenamento Web Services Feed Client Server Services Zend_Service_Amazon_S3 Computação em Nuvem com PHP usando Zend Framework
  29. 29. Armazenamento Usando Zend Framework, um programador não precisa calcular assinaturas nem precisa considerar códigos de resposta HTTP ou envelopes XML. Ele simplesmente trabalha com os dados. Computação em Nuvem com PHP usando Zend Framework
  30. 30. Máquinas Virtuais Servidores, servidores, servidores... Computação em Nuvem com PHP usando Zend Framework
  31. 31. Máquinas Virtuais Meus servidores ficam ociosos por horas durante o mês... e eu tenho que gastar usando ou não... O´Reilly Media All rights reserved. Computação em Nuvem com PHP usando Zend Framework
  32. 32. Máquinas Virtuais E em determinados momentos preciso de mais servidores... que não usarei depois! O´Reilly Media All rights reserved. Computação em Nuvem com PHP usando Zend Framework
  33. 33. Máquinas Virtuais Como seria maravilhoso se fosse possível criar imagens de máquinas virtuais e executá-las na nuvem... O´Reilly Media All rights reserved. Computação em Nuvem com PHP usando Zend Framework
  34. 34. Máquinas Virtuais Assim poderia adicionar e remover servidores sem ficar com dor nas costas... O´Reilly Media All rights reserved. Computação em Nuvem com PHP usando Zend Framework
  35. 35. Máquinas Virtuais Computação em Nuvem com PHP usando Zend Framework
  36. 36. Máquinas Virtuais Elastic Compute Cloud Computação em Nuvem com PHP usando Zend Framework
  37. 37. Máquinas Virtuais Servers On Demand Computação em Nuvem com PHP usando Zend Framework
  38. 38. Máquinas Virtuais Fast Food de Servidores Computação em Nuvem com PHP usando Zend Framework
  39. 39. Máquinas Virtuais Self-service de servidores Computação em Nuvem com PHP usando Zend Framework
  40. 40. Máquinas Virtuais Podemos mandar os servidores para casa! Computação em Nuvem com PHP usando Zend Framework
  41. 41. Máquinas Virtuais MAS... Como manipular as instâncias em execução, e os pares de chaves e grupos de segurança que permitem gerenciar as máquinas virtuais? ou trocando em miúdos... Como ter uma interface simples de gerenciamento para as máquinas virtuais? Computação em Nuvem com PHP usando Zend Framework
  42. 42. Máquinas Virtuais Zend_Service_Amazon_Ec2 Computação em Nuvem com PHP usando Zend Framework
  43. 43. Máquinas Virtuais InformationWeek, 16/08/2010 Novell irá oferecer o SUSE Linux Enterprise Server, versões 10 e 11, pelo EC2. O que isso quer dizer? O cliente contrata o uso do sistema operacional e paga somente pelas horas usadas. Computação em Nuvem com PHP usando Zend Framework
  44. 44. Mensagens Sistemas de Informação produzem mensagens Pra quê? ►Trocar dados com outra aplicação ►Conduzir o usuário em um workflow ►Informar que ocorreu um erro (ou foi lançada uma exceção) ►Enviar um indicador para um agente de monitoramento ►Armazenar dados para auditoria ►Trocar dados entre processos Computação em Nuvem com PHP usando Zend Framework
  45. 45. Mensagens Comunicação entre Processos Comunicação Assíncrona ►Às vezes, o remetente e o destinatário da mensagem não precisam interagir ao mesmo tempo. ►As mensagens podem ser enfileiradas e armazenadas até que o destinatário as processe. ►Isso é extremamente útil quando a probabilidade de desconexão não pode ser desprezada. Computação em Nuvem com PHP usando Zend Framework
  46. 46. Mensagens Fila de Mensagens Computação em Nuvem com PHP usando Zend Framework
  47. 47. Mensagens Como seria maravilhoso se houvesse uma infraestrutura pra filas de mensagens que eu pudesse usar sem ter que manter... O´Reilly Media All rights reserved. Computação em Nuvem com PHP usando Zend Framework
  48. 48. Mensagens Simple Queue Service fornece as funções básicas de um sistema de enfileiramento de mensagens Computação em Nuvem com PHP usando Zend Framework
  49. 49. Mensagens Mas como eu faço pra... listar todas as filas de mensagens em uma conta, incluindo o número de mensagens em cada uma? criar uma fila de mensagens? criar uma mensagem e a coloca em uma fila? receber uma mensagem de uma determinada fila? excluir uma mensagem recebida? excluir uma fila de mensagens juntamente com as mensagens presentes nela? Tudo isso de modo SIMPLES? Computação em Nuvem com PHP usando Zend Framework
  50. 50. Mensagens Zend_Service_Amazon_Sqs Computação em Nuvem com PHP usando Zend Framework
  51. 51. Conclusão Amo Muito Zend Framework Os detalhes técnicos das solicitações que são de fato enviadas para a Amazon ficam ocultos em objetos PHP. O uso do Zend Framework oferece um refinado conjunto de objetos para trabalhar com a computação em nuvem. Computação em Nuvem com PHP usando Zend Framework
  52. 52. Perspectivas Zend Framework e as nuvens Zend Framework possui a infraestrutura necessária para a construção de componentes que atuem como interface amigável para o consumo de serviços em nuvem. Provavelmente, conforme as grandes nuvens forem se estabelecendo, componentes Zend Framework para elas serão criados. Você pode oferecer um diferencial na sua nuvem, se já distribuir um componente que facilite o consumo dos serviços (e que não te dê trabalho). E lembrando que tudo na nuvem é fornecido como serviço, Zend Framework possui a infraestrutura para expor serviços com os protocolos mais utilizados. Computação em Nuvem com PHP usando Zend Framework
  53. 53. Referências Esta apresentação resume os artigos de Douglas Tidwell, que foi extremamente gentil em disponibilizar todo o código-fonte dos exemplos no developerWorks da IBM. Você pode encontrar os artigos aqui: http://www.ibm.com/developerworks/br/technology/library/os-php-cloud1 http://www.ibm.com/developerworks/br/opensource/library/artigo/os-php-cloud2 http://www.ibm.com/developerworks/br/opensource/library/os-php-cloud3 Computação em Nuvem com PHP usando Zend Framework
  54. 54. Para saber mais... Computação em Nuvem com PHP usando Zend Framework
  55. 55. Para saber mais... ● Zend Framework website http://framework.zend.com ● Zend Developer Zone http://devzone.zend.com ● ZFTutorials forum http://www.zftutorials.com ● Blogs – Matthew Weier O'Phinney: http://weierophinney.net/matthew – Cal Evans: http://blog.calevans.com – Andries Seutens: http://andries.systray.be/blog – Rob Allen: http://akrabat.com ● Zend Framework Brasil – http://www.zfbrasil.com – http://groups.google.com/group/zfbrasil Computação em Nuvem com PHP usando Zend Framework
  56. 56. Fim Obrigado! flavio.lisboa@serpro.gov.br Computação em Nuvem com PHP usando Zend Framework

×