Desenvolvendo PHP nas nuvens

Preview:

DESCRIPTION

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

Citation preview

Desenvolvendo PHP nas Nuvens

Desenvolvendo PHP nas Nuvens

Hussani Oliveira@hussanii

Nuvem? Cloud?

O que é cloud?

O que é cloud?

● Recursos compatilhados

O que é cloud?

● Recursos compatilhados● Fácil manipulação

O que é cloud?

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

O que é cloud?

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

Cinco características

Cinco características

● Sobre demanda, self-service

Cinco características

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

Cinco características

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

Cinco características

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

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

Tipos de Serviço

● Infraestrutura como serviço (IaaS)

Tipos de Serviço

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

Tipos de Serviço

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

Abstração em nuvem

Aplicação

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Infraestrutura como serviço

Aplicação

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Infraestrutura como serviço

Infraestrutura como serviço

Provê componentes de infraestrutura

Infraestrutura como serviço

Provê componentes de infraestrutura● Armazenamento

Infraestrutura como serviço

Provê componentes de infraestrutura● Armazenamento● Memória

Infraestrutura como serviço

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

Infraestrutura como serviço

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

Infraestrutura como serviço

Infraestrutura como serviço

Exemplos de serviço

● Rackspace Cloud

Infraestrutura como serviço

Exemplos de serviço

● Rackspace Cloud● Amazon EC2

Infraestrutura como serviço

Exemplos de serviço

● Rackspace Cloud● Amazon EC2● Azure Virtual Machines

Infraestrutura como serviço

Exemplos de serviço

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

Infraestrutura como Serviço

Prós:

Infraestrutura como Serviço

Prós:

● Facilidade com escalamento

Infraestrutura como Serviço

Prós:

● Facilidade com escalamento● Pagamento por uso

Infraestrutura como Serviço

Prós:

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

Infraestrutura como Serviço

Contras:

Infraestrutura como Serviço

Contras:

● Sistema de arquivos instável

Infraestrutura como Serviço

Resolvendo problemas

Infraestrutura como Serviço

Resolvendo problemas:

● Arquivos– Amazon S3

– Amazon Glacier

Infraestrutura como Serviço

Resolvendo problemas:

● Sessions– Memcache

– Redis

– MySQL

Plataforma como serviço

Aplicação

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Plataforma como serviço

Provê gerenciamento de recursos

Plataforma como serviço

Provê gerenciamento de recursos:

● Balanço de carga

Plataforma como serviço

Provê gerenciamento de recursos:

● Balanço de carga● Replicação

Plataforma como serviço

Provê gerenciamento de recursos:

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

Plataforma como Serviço

Exemplos

Plataforma como Serviço

Exemplos

● Amazon Elastic Beanstalk

Plataforma como Serviço

Exemplos

● Amazon Elastic Beanstalk● Engine Yard

Plataforma como Serviço

Exemplos

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

Plataforma como Serviço

Exemplos

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

Plataforma como Serviço

Exemplos

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

Plataforma como Serviço

Prós

Plataforma como Serviço

Prós

● Poucas configurações

Plataforma como Serviço

Contras

Plataforma como Serviço

Contras

● Falta de domínio sobre o ambiente

Software como serviço

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Software como serviço

Base da aplicação

Armazenamento

Sistema Operacional

Hardware

Rede

Tudo em nuvem

Software como serviço

Disponibiliza software pela nuvem

Software como serviço

Disponibiliza software pela nuvem

● Infraestrutura

Software como serviço

Disponibiliza software pela nuvem

● Infraestrutura● Balanço de carga

Software como serviço

Disponibiliza software pela nuvem

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

Software como serviço

Disponibiliza software pela nuvem

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

Software como serviço

Exemplos

Software como serviço

Exemplos

● Google Apps

Software como serviço

Exemplos

● Google Apps● Twitter

Software como serviço

Exemplos

● Google Apps● Twitter● Salesforce

Software como serviço

Exemplos

● Google Apps● Twitter● Salesforce● Dropbox

Software como serviço

Exemplos

● Google Apps● Twitter● Salesforce● Dropbox● Github

Qual o melhor?

Revisão

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

Dúvidas?

Referência

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

Obrigado

@hussaniispeakerdeck.com/hussanislideshare.com/hussan1