73
Desenvolvendo PHP nas Nuvens

Desenvolvendo PHP nas nuvens

Embed Size (px)

DESCRIPTION

Palestra sobre desenvolvimento em cloud utlizando PHP apresentada em 10/12/2013 no PHPSP + Season.

Citation preview

Page 1: Desenvolvendo PHP nas nuvens

Desenvolvendo PHP nas Nuvens

Page 2: Desenvolvendo PHP nas nuvens

Desenvolvendo PHP nas Nuvens

Hussani Oliveira@hussanii

Page 3: Desenvolvendo PHP nas nuvens

Nuvem? Cloud?

Page 4: Desenvolvendo PHP nas nuvens

O que é cloud?

Page 5: Desenvolvendo PHP nas nuvens

O que é cloud?

● Recursos compatilhados

Page 6: Desenvolvendo PHP nas nuvens

O que é cloud?

● Recursos compatilhados● Fácil manipulação

Page 7: Desenvolvendo PHP nas nuvens

O que é cloud?

● Recursos compatilhados● Fácil manipulação● Fácil provisionamento

Page 8: Desenvolvendo PHP nas nuvens

O que é cloud?

● Recursos compatilhados● Fácil manipulação● Fácil provisionamento● Esforço mínimo

Page 9: Desenvolvendo PHP nas nuvens

Cinco características

Page 10: Desenvolvendo PHP nas nuvens

Cinco características

● Sobre demanda, self-service

Page 11: Desenvolvendo PHP nas nuvens

Cinco características

● Sobre demanda, self-service● Acesso a rede do serviço

Page 12: Desenvolvendo PHP nas nuvens

Cinco características

● Sobre demanda, self-service● Acesso a rede do serviço● Agrupamento de recursos

Page 13: Desenvolvendo PHP nas nuvens

Cinco características

● Sobre demanda, self-service● Acesso a rede do serviço● Agrupamento de recursos● Elasticidade rápida

Page 14: Desenvolvendo PHP nas nuvens

Cinco características

● Sobre demanda, self-service● Acesso a rede do serviço● Agrupamento de recursos● Elasticidade rápida● Medição de uso do serviço

Page 15: Desenvolvendo PHP nas nuvens

Tipos de Serviço

● Infraestrutura como serviço (IaaS)

Page 16: Desenvolvendo PHP nas nuvens

Tipos de Serviço

● Infraestrutura como serviço (IaaS)● Plataforma como serviço (PaaS)

Page 17: Desenvolvendo PHP nas nuvens

Tipos de Serviço

● Infraestrutura como serviço (IaaS)● Plataforma como serviço (PaaS)● Software como serviço (SaaS)

Page 18: Desenvolvendo PHP nas nuvens

Abstração em nuvem

Aplicação

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Page 19: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Aplicação

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Page 20: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Page 21: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Provê componentes de infraestrutura

Page 22: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Provê componentes de infraestrutura● Armazenamento

Page 23: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Provê componentes de infraestrutura● Armazenamento● Memória

Page 24: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Provê componentes de infraestrutura● Armazenamento● Memória● Máquinas Virtuais

Page 25: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Provê componentes de infraestrutura● Armazenamento● Memória● Máquinas Virtuais● Etc.

Page 26: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Page 27: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Exemplos de serviço

● Rackspace Cloud

Page 28: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Exemplos de serviço

● Rackspace Cloud● Amazon EC2

Page 29: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Exemplos de serviço

● Rackspace Cloud● Amazon EC2● Azure Virtual Machines

Page 30: Desenvolvendo PHP nas nuvens

Infraestrutura como serviço

Exemplos de serviço

● Rackspace Cloud● Amazon EC2● Azure Virtual Machines● Digital Ocean

Page 31: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Prós:

Page 32: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Prós:

● Facilidade com escalamento

Page 33: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Prós:

● Facilidade com escalamento● Pagamento por uso

Page 34: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Prós:

● Facilidade com escalamento● Pagamento por uso● Abstração de hardware

Page 35: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Contras:

Page 36: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Contras:

● Sistema de arquivos instável

Page 37: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Resolvendo problemas

Page 38: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Resolvendo problemas:

● Arquivos– Amazon S3

– Amazon Glacier

Page 39: Desenvolvendo PHP nas nuvens

Infraestrutura como Serviço

Resolvendo problemas:

● Sessions– Memcache

– Redis

– MySQL

Page 40: Desenvolvendo PHP nas nuvens

Plataforma como serviço

Aplicação

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Page 41: Desenvolvendo PHP nas nuvens

Plataforma como serviço

Provê gerenciamento de recursos

Page 42: Desenvolvendo PHP nas nuvens

Plataforma como serviço

Provê gerenciamento de recursos:

● Balanço de carga

Page 43: Desenvolvendo PHP nas nuvens

Plataforma como serviço

Provê gerenciamento de recursos:

● Balanço de carga● Replicação

Page 44: Desenvolvendo PHP nas nuvens

Plataforma como serviço

Provê gerenciamento de recursos:

● Balanço de carga● Replicação● Infraestrutura

Page 45: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Exemplos

Page 46: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Exemplos

● Amazon Elastic Beanstalk

Page 47: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Exemplos

● Amazon Elastic Beanstalk● Engine Yard

Page 48: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Exemplos

● Amazon Elastic Beanstalk● Engine Yard● Red Hat Open Shift

Page 49: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Exemplos

● Amazon Elastic Beanstalk● Engine Yard● Red Hat Open Shift● Getup Cloud

Page 50: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Exemplos

● Amazon Elastic Beanstalk● Engine Yard● Red Hat Open Shift● Getup Cloud● Google App Engine

Page 51: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Prós

Page 52: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Prós

● Poucas configurações

Page 53: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Contras

Page 54: Desenvolvendo PHP nas nuvens

Plataforma como Serviço

Contras

● Falta de domínio sobre o ambiente

Page 55: Desenvolvendo PHP nas nuvens

Software como serviço

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Page 56: Desenvolvendo PHP nas nuvens

Software como serviço

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Tudo em nuvem

Page 57: Desenvolvendo PHP nas nuvens

Software como serviço

Disponibiliza software pela nuvem

Page 58: Desenvolvendo PHP nas nuvens

Software como serviço

Disponibiliza software pela nuvem

● Infraestrutura

Page 59: Desenvolvendo PHP nas nuvens

Software como serviço

Disponibiliza software pela nuvem

● Infraestrutura● Balanço de carga

Page 60: Desenvolvendo PHP nas nuvens

Software como serviço

Disponibiliza software pela nuvem

● Infraestrutura● Balanço de carga● Aplicação

Page 61: Desenvolvendo PHP nas nuvens

Software como serviço

Disponibiliza software pela nuvem

● Infraestrutura● Balanço de carga● Aplicação● API ?

Page 62: Desenvolvendo PHP nas nuvens

Software como serviço

Exemplos

Page 63: Desenvolvendo PHP nas nuvens

Software como serviço

Exemplos

● Google Apps

Page 64: Desenvolvendo PHP nas nuvens

Software como serviço

Exemplos

● Google Apps● Twitter

Page 65: Desenvolvendo PHP nas nuvens

Software como serviço

Exemplos

● Google Apps● Twitter● Salesforce

Page 66: Desenvolvendo PHP nas nuvens

Software como serviço

Exemplos

● Google Apps● Twitter● Salesforce● Dropbox

Page 67: Desenvolvendo PHP nas nuvens

Software como serviço

Exemplos

● Google Apps● Twitter● Salesforce● Dropbox● Github

Page 68: Desenvolvendo PHP nas nuvens

Qual o melhor?

Page 69: Desenvolvendo PHP nas nuvens

Revisão

Page 70: Desenvolvendo PHP nas nuvens

Revisão

A computação em nuvem é um modelo para permitir o acesso conveniente, sob demanda de rede a um pool compartilhado de recursos computacionais configuráveis (por exemplo, redes, servidores, armazenamento, aplicações e serviços) que podem ser rapidamente provisionados e liberados com um esforço de gerenciamento mínimo ou provedor de serviços interação. Este modelo de nuvem promove disponibilidade e é composto por cinco características essenciais, três modelos de serviço e quatro modelos de implementação.

The National Institute of Standards and Technology’s

Page 71: Desenvolvendo PHP nas nuvens

Dúvidas?

Page 72: Desenvolvendo PHP nas nuvens

Referência

● PHP Development in the Cloud (Ivo Jansch & Vito Chin, 2011)

Page 73: Desenvolvendo PHP nas nuvens

Obrigado

@hussaniispeakerdeck.com/hussanislideshare.com/hussan1