Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Case CMS Abril <ul><li>System of Systems e  </li></ul><ul><li>Arquitetura (quase) caótica </li></ul>
Case Requisitos Contexto Empresa Complexa Arquitetura Empregada Distribuída System of Systems REST Case CMS Abril System o...
CASE Criar  um  gerenciador  e  publicador  de conteúdo digital para o  Grupo Abril Case CMS Abril System of Systems e Arq...
REQUISITOS Matérias Criar um gerenciador e publicador de  conteúdo digital  para o Grupo Abril qual? Chamadas Estabelecime...
Criar um gerenciador e publicador de  conteúdo digital  para o Grupo Abril publicar onde? Web site Mobile iPad Web API It ...
E o que mais temos que fazer? Funcionalidades cross marcas Case CMS Abril System of Systems e Arquitetura (quase) Caótica ...
Escalar! Case CMS Abril System of Systems e Arquitetura (quase) Caótica REQUISITOS Aproximadamente 300 milhões Pageview/Mê...
 
 
 
 
 
 
CONTEXTO Grupo Abril 15 Unidades de Negócio 85 Marcas 113 Sites                                 Muitos requisitos! Fonte: ...
Um sistema complexo? Case CMS Abril System of Systems e Arquitetura (quase) Caótica CONTEXTO
Sistemas Adaptativos Complexos (CAS) Descentralizado Emergência Co-evolução Sub ideal Variedade Auto-organização Conectivi...
CAS: Web http://en.wikipedia.org/wiki/Internet CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
CAS: Revoadas CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
CAS: Empresa <ul><li>Complexas no sentido de que são diversas e feitas de múltiplos elementos interconectados; </li></ul><...
Forças sobre uma empresa Competição Aquisições Otimização de Negócio Business Economia Órgãos Regulatórios Desastre Natura...
É preciso… Escalar em requisitos de negócio Absorver os mais diversos requisitos  Escalabilidade e performance Evolutivo, ...
CMS:   Linked Data CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  Qual arquitetura que melhor acomoda esses requisitos e esse dinamismo? #comofaz? ARQUITETURA Case CMS Abril System of Sy...
  <ul><li>Sistema Centralizado, Monolítico </li></ul><ul><li>(Engenharia de Software) ?   ou     Sistema Descentralizado, ...
  <ul><li>...organizations which design systems ... are constrained to produce designs which are copies of the communicati...
Winner is:  System of Systems (SoS) (Engenharia de Sistemas) …  dividir para conquistar ARQUITETURA Case CMS Abril System ...
System of Systems <ul><ul><li>Independência operacional e gerencial dos sistemas  </li></ul></ul><ul><ul><li>Desenvolvimen...
+ REST: Interconectados Client–server Stateless Cacheable Layered system Uniform interface  A Web é REST! ARQUITETURA Case...
Não só REST, mas também HTTP <ul><ul><li>HTTP como  protocolo de aplicação </li></ul></ul><ul><ul><li>Um dos protocolos ma...
Alguns sistemas que já temos... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Independência de um sistema no SoS <ul><li>Cada um com suas próprias : </li></ul><ul><ul><li>Features </li></ul></ul><ul><...
Alguns sistemas que já conhecemos... CMS  Descentralizado Distribuído! REST, HTTP... ARQUITETURA Case CMS Abril System of ...
Identificação e Localização de um conteúdo (recursos) http://editorial.api.abril.com.br / materias /lula-inaugura-nova-hid...
Identificação e Localização de um conteúdo (recursos) <ul><li>{     &quot;id&quot;: &quot; http://editorial.api.abril.com....
Hypermedia as the engine of application state (HATEOAS) {      &quot;link&quot;: [ {              &quot;href&quot;: &quot;...
Baixo acoplamento <ul><li>entry_point = Restfulie.at( ANOTACOES_ENTRYPOINT ).get! </li></ul><ul><li>if entry_point.links.i...
Liberdade de implementação ... independência! Times pequenos...  ARQUITETURA Case CMS Abril System of Systems e Arquitetur...
Escalabilidade e tolerância a falha HTTP Cache-Control: Max-age=60 ARQUITETURA Case CMS Abril System of Systems e Arquitet...
Monitoramento Webaliser ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Pulveriza requisitos, paraleliza desenvolvimento Imagens: http://dryicons.com ARQUITETURA Case CMS Abril System of Systems...
ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica evolução?
ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica evolução?
O Ecossistema decide quem sobrevive... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica Evolução!
<ul><ul><li>Arquitetura Emergente: A arquitetura não deve focar num sistema, mas sim no ecossistema </li></ul></ul><ul><ul...
That's all <ul><li>QUESTIONS? </li></ul>David Lojudice Sobrinho [email_address] @dalssoft Julio César Lima [email_address]...
Upcoming SlideShare
Loading in …5
×

Case CMS Abril - System of Systems e Arquitetura (quase) Caótica.

7,806 views

Published on

Ao aceitar que organizações são sistemas amplos, orgânicos e complexos, devemos adaptar nossa arquitetura a esta realizade. Como viabilizar um enterprise system que se adapte com a velocidade necessária as mudanças de requisitos, conflitos de necessidades dentro deste paradigma?

Para tanto, será explorada a teoria de Sistemas Complexos Adaptáveis e Emergência x BDUF, System of Systems e REST Archtectural Style e como estes conceitos estão ajudando a Abril a construir o parque de aplicações que suporta a publicação de mais de 100 sites e provê mais de 300 milhões de requests/mês.

http://www.qconsp.com/palestra/david-lojudice-sobrinho/case-cms-abril-system-of-systems-e-arquitetura-quase-caotica

Published in: Technology

Case CMS Abril - System of Systems e Arquitetura (quase) Caótica.

  1. 1. Case CMS Abril <ul><li>System of Systems e  </li></ul><ul><li>Arquitetura (quase) caótica </li></ul>
  2. 2. Case Requisitos Contexto Empresa Complexa Arquitetura Empregada Distribuída System of Systems REST Case CMS Abril System of Systems e Arquitetura (quase) Caótica AGENDA
  3. 3. CASE Criar um gerenciador e publicador de conteúdo digital para o Grupo Abril Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  4. 4. REQUISITOS Matérias Criar um gerenciador e publicador de conteúdo digital para o Grupo Abril qual? Chamadas Estabelecimentos Imagens Atrações Carros Famosos Etc. Etc. Etc. Receitas Jogos Infográficos Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  5. 5. Criar um gerenciador e publicador de conteúdo digital para o Grupo Abril publicar onde? Web site Mobile iPad Web API It doesn’t matter... Case CMS Abril System of Systems e Arquitetura (quase) Caótica REQUISITOS
  6. 6. E o que mais temos que fazer? Funcionalidades cross marcas Case CMS Abril System of Systems e Arquitetura (quase) Caótica Anotação de conteúdo (Ranking, Comentários, etc.) Segurança e… Discovery Métricas Search Categorização Autenticação REQUISITOS
  7. 7. Escalar! Case CMS Abril System of Systems e Arquitetura (quase) Caótica REQUISITOS Aproximadamente 300 milhões Pageview/Mês Entre os 600 maiores sites do mundo
  8. 14. CONTEXTO Grupo Abril 15 Unidades de Negócio 85 Marcas 113 Sites                                 Muitos requisitos! Fonte: http://www.grupoabril.com.br / http://www.google.com/adplanner/static/top1000/ Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  9. 15. Um sistema complexo? Case CMS Abril System of Systems e Arquitetura (quase) Caótica CONTEXTO
  10. 16. Sistemas Adaptativos Complexos (CAS) Descentralizado Emergência Co-evolução Sub ideal Variedade Auto-organização Conectividade Regras simples Sistemas Aninhados À beira do caos Fronteiras CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  11. 17. CAS: Web http://en.wikipedia.org/wiki/Internet CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  12. 18. CAS: Revoadas CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  13. 19. CAS: Empresa <ul><li>Complexas no sentido de que são diversas e feitas de múltiplos elementos interconectados; </li></ul><ul><li>Adaptativos porque têm a capacidade de mudar e aprender com experiências passadas </li></ul>CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  14. 20. Forças sobre uma empresa Competição Aquisições Otimização de Negócio Business Economia Órgãos Regulatórios Desastre Natural Externa Processos Infra-estrutura Pessoas Interna CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  15. 21. É preciso… Escalar em requisitos de negócio Absorver os mais diversos requisitos Escalabilidade e performance Evolutivo, emergente e incremental CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  16. 22. CMS: Linked Data CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  17. 23.   Qual arquitetura que melhor acomoda esses requisitos e esse dinamismo? #comofaz? ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  18. 24.   <ul><li>Sistema Centralizado, Monolítico </li></ul><ul><li>(Engenharia de Software) ?   ou     Sistema Descentralizado, Distribuído </li></ul><ul><li>(Engenharia de Sistemas) ? </li></ul>ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  19. 25.   <ul><li>...organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. </li></ul><ul><li>Conway's Law </li></ul><ul><li>RESPEITE SEMPRE! </li></ul>ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  20. 26. Winner is: System of Systems (SoS) (Engenharia de Sistemas) … dividir para conquistar ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  21. 27. System of Systems <ul><ul><li>Independência operacional e gerencial dos sistemas </li></ul></ul><ul><ul><li>Desenvolvimento evolutivo </li></ul></ul><ul><ul><li>Comportamento emergente </li></ul></ul><ul><ul><li>Sistemas heterogênios </li></ul></ul><ul><ul><li>Interconectados </li></ul></ul>ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  22. 28. + REST: Interconectados Client–server Stateless Cacheable Layered system Uniform interface A Web é REST! ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  23. 29. Não só REST, mas também HTTP <ul><ul><li>HTTP como protocolo de aplicação </li></ul></ul><ul><ul><li>Um dos protocolos mais bem sucedidos da história  </li></ul></ul><ul><ul><li>Infra amplamente disponível (proxies, caches, libs, etc) </li></ul></ul><ul><ul><li>Suportado por qualquer linguagem </li></ul></ul><ul><ul><li>Conhecimento disseminado (mas muitas vezes não tão bem entendido) </li></ul></ul>O HTTP é rei na Web! ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  24. 30. Alguns sistemas que já temos... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  25. 31. Independência de um sistema no SoS <ul><li>Cada um com suas próprias : </li></ul><ul><ul><li>Features </li></ul></ul><ul><ul><li>Responsabilidades </li></ul></ul><ul><ul><li>Tecnologia </li></ul></ul><ul><ul><li>Equipe </li></ul></ul><ul><ul><li>Ciclo de releases e deploy </li></ul></ul><ul><ul><li>Ciclo de produto </li></ul></ul>ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  26. 32. Alguns sistemas que já conhecemos... CMS  Descentralizado Distribuído! REST, HTTP... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  27. 33. Identificação e Localização de um conteúdo (recursos) http://editorial.api.abril.com.br / materias /lula-inaugura-nova-hidroeletrica  http://editorial.api.abril.com.br / listas-editoriais /veja-10-mais    http://media.api.abril.com.br / imagens /482840AC3242   http://anotacoes.api.abril.com.br / comentarios /48284719280182   http://aapg.api.abril.com.br / usuarios /jcmlima   http://search.api.abril.com.br / indices /veja ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  28. 34. Identificação e Localização de um conteúdo (recursos) <ul><li>{     &quot;id&quot;: &quot; http://editorial.api.abril.com.br/materias/critico-olhar- estrangeiro &quot;,     ...         &quot;link&quot;: [         {             &quot;href&quot;: &quot; http://editorial.api.abril.com.br/materias/critico- olhar-estrangeiro &quot;,             &quot;rel&quot;: &quot;self&quot;,             &quot;type&quot;: &quot;application/json&quot;         },         ...     ] } </li></ul>ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  29. 35. Hypermedia as the engine of application state (HATEOAS) {      &quot;link&quot;: [ {              &quot;href&quot;: &quot;http://anotacoes.api.abril.com.br/comentarios&quot;,              &quot;rel&quot;: &quot; self &quot;,              &quot;type&quot;: &quot;application/json&quot;          },          {              &quot;href&quot;: &quot;http://anotacoes.api.abril.com.br/comentarios/novo&quot;,              &quot;rel&quot;: &quot; novo &quot;,              &quot;type&quot;: &quot;application/json&quot;          },          {              &quot;href&quot;:&quot;http://anotacoes.api.abril.com.br/comentarios/busca/des criptor&quot;,              &quot;rel&quot;: &quot; search &quot;,              &quot;type&quot;: &quot;application/opensearchdescription+xml&quot;          }      ] } ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  30. 36. Baixo acoplamento <ul><li>entry_point = Restfulie.at( ANOTACOES_ENTRYPOINT ).get! </li></ul><ul><li>if entry_point.links.include?( :search )      open_search_descriptor = entry_point.links.search.get! </li></ul><ul><li>     url_search = open_search_descriptor.replace( conteudo_anotado => conteudo).url </li></ul><ul><li>     anotacoes = Restfulie.at(url_search).get!.first </li></ul><ul><li>     return anotacoes. comentarios </li></ul><ul><li>end </li></ul>Restfulie tem contribuição da Abril ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  31. 37. Liberdade de implementação ... independência! Times pequenos... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  32. 38. Escalabilidade e tolerância a falha HTTP Cache-Control: Max-age=60 ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  33. 39. Monitoramento Webaliser ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  34. 40. Pulveriza requisitos, paraleliza desenvolvimento Imagens: http://dryicons.com ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  35. 41. ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica evolução?
  36. 42. ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica evolução?
  37. 43. O Ecossistema decide quem sobrevive... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica Evolução!
  38. 44. <ul><ul><li>Arquitetura Emergente: A arquitetura não deve focar num sistema, mas sim no ecossistema </li></ul></ul><ul><ul><ul><li>CAS e Web como inspiração </li></ul></ul></ul><ul><ul><ul><li>Deixe o ecossistema decidir </li></ul></ul></ul><ul><ul><ul><li>... mas sendo pragmático  </li></ul></ul></ul><ul><li>  </li></ul><ul><ul><li>SoS, REST, HTTP para permitir a evolução do ecosistema </li></ul></ul><ul><li>      </li></ul><ul><ul><li>Nunca substime a &quot;Conway's Law&quot; </li></ul></ul><ul><ul><ul><li>No BDUF </li></ul></ul></ul><ul><ul><ul><li>but isn't a no design up front </li></ul></ul></ul><ul><ul><li>Usar padrões abertos: Não reinvente a roda! </li></ul></ul><ul><li>  </li></ul>Case CMS Abril System of Systems e Arquitetura (quase) Caótica CONCLUSÃO
  39. 45. That's all <ul><li>QUESTIONS? </li></ul>David Lojudice Sobrinho [email_address] @dalssoft Julio César Lima [email_address] @jcmlima

×