21
Folha de S.Paulo Ambiente, PHP e Paywall #phpconference

Apresentação na PHP Conference Brasil 2012

Embed Size (px)

DESCRIPTION

Pequena apresentação para PHP Conference Brasil 2012. Expondo principais pontos da direção técnica do núcleo de desenvolvimento Folha na utilização de PHP.

Citation preview

Page 1: Apresentação na PHP Conference Brasil 2012

Folha de S.PauloAmbiente, PHP e Paywall

#phpconference

Page 2: Apresentação na PHP Conference Brasil 2012

Eu

• Coordenador do núcleo de desenvolvimento;

• Na Folha desde 2010 e mais alguns anos;

• Trabalho e gosto de PHP;

• @aricarmona.

Page 3: Apresentação na PHP Conference Brasil 2012

Folha e Equipe

Page 4: Apresentação na PHP Conference Brasil 2012

Folha• Diversidade de projetos;

• Desenvolvimento interno;

• Estruturando equipe;

• Definindo ambiente;

• Foco Web (LAMP), com algumas variações;

• Contratando!

Page 5: Apresentação na PHP Conference Brasil 2012

Equipe• Cerca de 20 DEVs (LAMP);

• Iniciando em métodos ágeis;

• Contratação e treinamento;

• Atender projetos corporativos e públicos;

• Evoluindo tecnologias, ferramentas e filosofia;

• Equipes estrategicamente focadas.

Page 6: Apresentação na PHP Conference Brasil 2012

Ambiente e PHP

Page 7: Apresentação na PHP Conference Brasil 2012

Ambiente• PHP 5.3;

• MySQL 5.5;

• MongoDB 2.0;

• Memcache;

• CodeSniffer;

• SVN, indo para Git;

• PHPDoc com saída automática;

• PHP Lint via pre-commit.

Page 8: Apresentação na PHP Conference Brasil 2012

Ambiente

• Fórum, blog e wiki interno;

• Sandbox para cada DEV integrado ao restante do ambiente;

• Evolução constante no toolkit interno;

• Incubadora de novas ideias e ferramentas.

Page 9: Apresentação na PHP Conference Brasil 2012

PHP• PHP sendo utilizado em todos projetos,

independente da estratégia;

• Projetos internos, corporativos, frontend, robôs, etc;

• Balanceamento de carga e ampliação/expansão horizontal;

• Nosso gargalo normalmente está no banco de dados.

Page 10: Apresentação na PHP Conference Brasil 2012

PaywallDetalhes

Page 11: Apresentação na PHP Conference Brasil 2012

Paywall• Alguns detalhes e premissas:

• Prazo agressivo, cerca de 3 meses;

• Detalhes fechados durante codificação;

• Acesso poroso, 20 notícias para qualquer usuário, até 40 para cadastrado e acima disto apenas para assinantes;

• Alteração mínima no CMS e arquitetura atual.

Page 12: Apresentação na PHP Conference Brasil 2012

Paywall• Mais detalhes:

• Utilizar as ferramentas disponíveis;

• Integração com UOL para assinantes do conteúdo online;

• Suportar toda audiência do portal e dos parceiros que utilizarem o sistema;

• Relatórios gerenciais detalhados para acompanhamento do produto.

Page 13: Apresentação na PHP Conference Brasil 2012

PaywallProposta

Page 14: Apresentação na PHP Conference Brasil 2012

Paywall• Proposta:

• Aplicativo inteiramente PHP;

• Evoluir o sistema de autenticação atual;

• Relatórios:

• ETL do MongoDB para o MySQL, consolidando informações;

• Integração com outros sistemas.

Page 15: Apresentação na PHP Conference Brasil 2012

Paywall• Proposta:

• Sessão via Memcache;

• Plugin com Javascript e HTML:

• Camada simples e fácil de integrar a qualquer página do portal;

• Facilmente “burlado”;

Page 16: Apresentação na PHP Conference Brasil 2012

Paywall1. Página carregada;

2. Requisição via JavaScript:

3. Retorno JSON ou JSONP:

4. Popula objeto:

Folha.Paywall;

5. Continua o processamento e exibição de mensagens, com base no objeto populado.

Envia URL e Referer

{ paywall: on, status: ok, ... }

Page 17: Apresentação na PHP Conference Brasil 2012

Paywall• Proposta:

• Persistência dos dados com MongoDB:

• Sharding com 4 (ou mais) nós;

• Replica-Set para redundância;

• Apenas uma collection para persistência.

• Integração com UOL, via OpenID.

Page 18: Apresentação na PHP Conference Brasil 2012

Paywall• Proposta:

• Administração:

• Facilidade para ligar/desligar tudo;

• Limites dos bloqueios são configuráveis;

• Áreas de bloqueio configuráveis (Regex);

• Possível liberar páginas específicas do bloqueio. Exemplo: Furo de reportagem.

Page 19: Apresentação na PHP Conference Brasil 2012

Paywall

• Equipe:

• Cerca de 4 DEVs (sendo 1 líder);

• 1 Webmaster;

• 1 SysAdmin;

• 1 Analista de projetos.

Page 20: Apresentação na PHP Conference Brasil 2012

Paywall• Atualmente:

• Aprendizado sobre o comportamento dos usuários;

• Cerca de 600 conexões simultâneas.