apresentação na php conference brasil 2012

Post on 04-Jul-2015

455 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

Folha de S.PauloAmbiente, PHP e Paywall

#phpconference

Eu

• Coordenador do núcleo de desenvolvimento;

• Na Folha desde 2010 e mais alguns anos;

• Trabalho e gosto de PHP;

• @aricarmona.

Folha e Equipe

Folha• Diversidade de projetos;

• Desenvolvimento interno;

• Estruturando equipe;

• Definindo ambiente;

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

• Contratando!

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.

Ambiente e PHP

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.

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.

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.

PaywallDetalhes

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.

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.

PaywallProposta

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.

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”;

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, ... }

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.

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.

Paywall

• Equipe:

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

• 1 Webmaster;

• 1 SysAdmin;

• 1 Analista de projetos.

Paywall• Atualmente:

• Aprendizado sobre o comportamento dos usuários;

• Cerca de 600 conexões simultâneas.

Obrigado!ariovaldo.carmona@gmail.com

@aricarmona

top related