Título da EM NUVEM
     COMPUTAÇÃO
     Apresentação
     COM PHP USANDO
     ZEND FRAMEWORK




     Flávio Gomes da Silv...
Nossa Agenda

►Utilização de PHP no mundo
►PHP e a nuvem
►Zend Framework
►Estudo de caso: Amazon
►Serviço de armazenamento...
Utilização do PHP no mundo


O que é PHP?
 ►Linguagem nascida e pensada para aplicações Web

 ►Multiparadigma (estruturada...
Utilização do PHP no mundo


O que é PHP?

 ►Software livre sem restrições de uso comercial
  A licença não é contaminante...
Utilização do PHP no mundo


Como o PHP é utilizado


 ►Criação de scripts

 ►Aplicações Web (incluindo as acessíveis por ...
Utilização do PHP no mundo


+ 1/3 das aplicações da Internet usam PHP




                        Computação em Nuvem com...
Utilização do PHP no mundo


Aplicações corporativas em PHP estão crescendo...

                                          ...
PHP e a nuvem




Expondo serviços!




     Computação em Nuvem com PHP usando Zend Framework
PHP e a nuvem




Consumindo
 serviços!




   Computação em Nuvem com PHP usando Zend Framework
Zend Framework




                                          Data
                                         Database

  MVC...
Zend Framework




Web Services
   Feed
   Client
   Server
  Services




               REST       SOAP           XML-RP...
Zend Framework




Web Services
   Feed
   Client
   Server
  Services




               Computação em Nuvem com PHP usan...
Estudos de caso: Amazon




  Computação em Nuvem com PHP usando Zend Framework
Armazenamento


                                                  Como seria
                                             ...
Armazenamento


SONHO!




             ∞

         Computação em Nuvem com PHP usando Zend Framework
Armazenamento


REALIDADE!




              ~∞

             Computação em Nuvem com PHP usando Zend Framework
Armazenamento




 Em um mundo ideal, acessar o
   armazenamento virtual de
uma nuvem seria tão fácil quanto
  acessar um ...
Armazenamento




    Porém, as APIs básicas da
      maioria dos serviços de
    armazenamento em nuvem
obrigam os progra...
Armazenamento




 O desafio para construir
aplicativos que funcionem
  na nuvem é a interface
 para os próprios serviços
...
Armazenamento




              FATO:

A maioria dos serviços possui uma
    interface REST ou SOAP




           Computa...
Armazenamento




             FATO:

         REST e SOAP
não são específicos de linguagem




          Computação em Nu...
Armazenamento




            VANTAGEM:

É possível invocar um serviço REST ou
  SOAP com qualquer linguagem de
          ...
Armazenamento




         DESVANTAGEM:

O programador pensa nos detalhes da
  solicitação em vez de pensar nos
        da...
Armazenamento




                FATO:

  Uma abordagem de alto nível que
permita ao programador se concentrar
   nos dad...
Armazenamento




Web Services
   Feed
   Client
   Server
  Services




               REST       SOAP           XML-RPC...
Armazenamento




S3 é um sistema de arquivos distribuído que
      fornece armazenagem ilimitada.

  Seu modelo de dados ...
Armazenamento




           OBJETO
                                    DADOS
                    OBJETO



           ∞
 ...
Armazenamento




Web Services
   Feed
   Client
   Server
  Services




  Zend_Service_Amazon_S3
               Computaç...
Armazenamento




 Usando Zend Framework, um programador não
precisa calcular assinaturas nem precisa considerar
  códigos...
Máquinas Virtuais


Servidores, servidores, servidores...




                 Computação em Nuvem com PHP usando Zend Fra...
Máquinas Virtuais


                                               Meus servidores
                                       ...
Máquinas Virtuais


                                                      E em
                                           ...
Máquinas Virtuais


                                                   Como seria
                                        ...
Máquinas Virtuais



                                                 Assim poderia
                                      ...
Máquinas Virtuais




Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais




Elastic Compute Cloud




       Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais




Servers On Demand




   Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais




Fast Food de Servidores




             Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais




Self-service de servidores




        Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais




   Podemos mandar
os servidores para casa!




        Computação em Nuvem com PHP usando Zend Frame...
Máquinas Virtuais

                   MAS...
Como manipular as instâncias em execução, e os
  pares de chaves e grupos de ...
Máquinas Virtuais




Zend_Service_Amazon_Ec2




        Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais




          InformationWeek, 16/08/2010

Novell irá oferecer o SUSE Linux Enterprise Server,
         ...
Mensagens


Sistemas de Informação produzem mensagens

 Pra quê?
 ►Trocar dados com outra aplicação

 ►Conduzir o usuário ...
Mensagens


Comunicação entre Processos


 Comunicação Assíncrona
 ►Às vezes, o remetente e o destinatário da mensagem
 nã...
Mensagens


Fila de Mensagens




                    Computação em Nuvem com PHP usando Zend Framework
Mensagens


                                                   Como seria
                                                ...
Mensagens




            Simple Queue Service
fornece as funções básicas de um sistema de enfileiramento de mensagens


 ...
Mensagens

Mas como eu faço pra...
listar todas as filas de mensagens em uma conta, incluindo o número de
mensagens em cad...
Mensagens




Zend_Service_Amazon_Sqs




        Computação em Nuvem com PHP usando Zend Framework
Conclusão


Amo Muito Zend Framework
 Os detalhes técnicos das solicitações que são
 de fato enviadas para a Amazon ficam ...
Perspectivas


Zend Framework e as nuvens

 Zend Framework possui a infraestrutura necessária para
 a construção de compon...
Referências


  Esta apresentação resume os artigos de Douglas
     Tidwell, que foi extremamente gentil em
disponibilizar...
Para saber mais...




Computação em Nuvem com PHP usando Zend Framework
Para saber mais...


●   Zend Framework website http://framework.zend.com
●   Zend Developer Zone http://devzone.zend.com
...
Fim




Obrigado!
flavio.lisboa@serpro.gov.br




     Computação em Nuvem com PHP usando Zend Framework
Computação em Nuvem com PHP usando Zend Framework
Próximos SlideShares
Carregando em…5
×

Computação em Nuvem com PHP usando Zend Framework

3.241 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.241
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

×