computação em nuvem com php usando zend framework
DESCRIPTION
Como utilizarTRANSCRIPT
![Page 1: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/1.jpg)
![Page 2: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/2.jpg)
Título daApresentação
Palestrante: 00/00/0000
COMPUTAÇÃO EM NUVEM COM PHP USANDO ZEND FRAMEWORK
Flávio Gomes da Silva Lisboa
![Page 3: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/3.jpg)
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
![Page 4: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/4.jpg)
Computação em Nuvem com PHP usando Zend Framework
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ódigoManipulaçã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 plataformasJava, Perl, Python, ASP, COM, .NET
Utilização do PHP no mundo
![Page 5: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/5.jpg)
Computação em Nuvem com PHP usando Zend Framework
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...
Utilização do PHP no mundo
![Page 6: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/6.jpg)
Computação em Nuvem com PHP usando Zend Framework
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!
Utilização do PHP no mundo
![Page 7: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/7.jpg)
Computação em Nuvem com PHP usando Zend Framework
+ 1/3 das aplicações da Internet usam PHP
Utilização do PHP no mundo
![Page 8: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/8.jpg)
Computação em Nuvem com PHP usando Zend Framework
Aplicações corporativas em PHP estão crescendo...
Utilização do PHP no mundo
Prog
ram
mer
s (M
illio
ns)
2006 2007 2008 2009 2010 2011 2012 2013
Part-Time DevelopersAnd Hobbyists
Independent Software Vendors
Corporate IT Developers
Source: Gartner (December 2007)
![Page 9: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/9.jpg)
Computação em Nuvem com PHP usando Zend Framework
PHP e a nuvem
Expondo serviços!
![Page 10: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/10.jpg)
Computação em Nuvem com PHP usando Zend Framework
PHP e a nuvem
Consumindo serviços!
![Page 11: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/11.jpg)
Computação em Nuvem com PHP usando Zend Framework
Zend Framework
MVCController
View
Data
Database
XML
Search
i18n
Locale
Translate
Measure
Date
Calendar
Currency
Web Services
Feed
Client
Server
Services
Core
Config
Log
Registry
Session
CacheSecurity
Acl
Auth
Filter
Validate
![Page 12: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/12.jpg)
Computação em Nuvem com PHP usando Zend Framework
Zend Framework
Web Services
Feed
Client
Server
Services
REST SOAP XML-RPC
![Page 13: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/13.jpg)
Computação em Nuvem com PHP usando Zend Framework
Zend Framework
Web Services
Feed
Client
Server
Services
![Page 14: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/14.jpg)
Computação em Nuvem com PHP usando Zend Framework
Estudos de caso: Amazon
![Page 15: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/15.jpg)
Computação em Nuvem com PHP usando Zend Framework
Armazenamento
Como seria maravilhoso se
houvesse espaço em disco
ilimitado para usuários e
aplicativos...
O´Reilly Media All rights reserved.
![Page 16: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/16.jpg)
Computação em Nuvem com PHP usando Zend Framework
Armazenamento
∞
SONHO!
![Page 17: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/17.jpg)
Computação em Nuvem com PHP usando Zend Framework
Armazenamento
~∞
REALIDADE!
![Page 18: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/18.jpg)
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
Armazenamento
![Page 19: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/19.jpg)
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
Armazenamento
![Page 20: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/20.jpg)
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
Armazenamento
![Page 21: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/21.jpg)
FATO:
A maioria dos serviços possui uma interface REST ou SOAP
Computação em Nuvem com PHP usando Zend Framework
Armazenamento
![Page 22: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/22.jpg)
FATO:
REST e SOAPnão são específicos de linguagem
Computação em Nuvem com PHP usando Zend Framework
Armazenamento
![Page 23: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/23.jpg)
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
Armazenamento
![Page 24: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/24.jpg)
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
Armazenamento
![Page 25: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/25.jpg)
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
Armazenamento
![Page 26: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/26.jpg)
Computação em Nuvem com PHP usando Zend Framework
Armazenamento
Web Services
Feed
Client
Server
Services
REST SOAP XML-RPC
![Page 27: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/27.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
![Page 28: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/28.jpg)
Computação em Nuvem com PHP usando Zend Framework
Armazenamento
DEPÓSITO ∞OBJETO
OBJETO
OBJETO
OBJETO DADOS
METADADOS
![Page 29: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/29.jpg)
Computação em Nuvem com PHP usando Zend Framework
Armazenamento
Web Services
Feed
Client
Server
Services
Zend_Service_Amazon_S3
![Page 30: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/30.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
![Page 31: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/31.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
Servidores, servidores, servidores...
![Page 32: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/32.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
![Page 33: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/33.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
E em determinados
momentos preciso de mais
servidores... que não usarei
depois!
O´Reilly Media All rights reserved.
![Page 34: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/34.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
![Page 35: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/35.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
Assim poderia adicionar e
remover servidores sem
ficar com dor nas costas...
O´Reilly Media All rights reserved.
![Page 36: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/36.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
![Page 37: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/37.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
Elastic Compute Cloud
![Page 38: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/38.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
Servers On Demand
![Page 39: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/39.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
Fast Food de Servidores
![Page 40: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/40.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
Self-service de servidores
![Page 41: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/41.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
Podemos mandar os servidores para casa!
![Page 42: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/42.jpg)
Computação em Nuvem com PHP usando Zend Framework
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?
![Page 43: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/43.jpg)
Computação em Nuvem com PHP usando Zend Framework
Máquinas Virtuais
Zend_Service_Amazon_Ec2
![Page 44: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/44.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
![Page 45: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/45.jpg)
Computação em Nuvem com PHP usando Zend Framework
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
Mensagens
![Page 46: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/46.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
Mensagens
![Page 47: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/47.jpg)
Computação em Nuvem com PHP usando Zend Framework
Fila de Mensagens
Mensagens
![Page 48: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/48.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
![Page 49: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/49.jpg)
Computação em Nuvem com PHP usando Zend Framework
Mensagens
Simple Queue Servicefornece as funções básicas de um sistema de enfileiramento de mensagens
![Page 50: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/50.jpg)
Computação em Nuvem com PHP usando Zend Framework
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?
![Page 51: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/51.jpg)
Computação em Nuvem com PHP usando Zend Framework
Mensagens
Zend_Service_Amazon_Sqs
![Page 52: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/52.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
Conclusão
![Page 53: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/53.jpg)
Computação em Nuvem com PHP usando Zend Framework
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.
Perspectivas
![Page 54: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/54.jpg)
Computação em Nuvem com PHP usando Zend Framework
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
![Page 55: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/55.jpg)
Computação em Nuvem com PHP usando Zend Framework
Para saber mais...
![Page 56: Computação em Nuvem com PHP usando Zend Framework](https://reader033.vdocuments.mx/reader033/viewer/2022042815/557264ecd8b42a761d8b5002/html5/thumbnails/56.jpg)
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
● 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