Software Defined CDN 
Arquitetura, Componentes e Desafios 
Marcus Grando, CTO
Azion Technologies 
Overview 
• Fundada em 2011 (Porto Alegre e Miami) 
• Software Defined CDN (Intelligent Edge, Media De...
Azion Technologies 
Overview
Agenda 
Como melhorar a experiência do usuário? 
• Arquitetura 
• Componentes 
• Desafios 
• Perguntas?
Arquitetura 
O que é uma CDN? 
• Mais de 50% do trafego é feito em CDN's (comercial e privada) 
• Gen-1: Altamente distrib...
Arquitetura 
O que é uma SD-CDN? 
• Gen-4: CDN com Inteligência nos EDGEs (Azion: Altamente Distribuída) 
• Aproxima a int...
Arquitetura 
Desafios de uma SD-CDN 
• Melhorar a performance do usuário Mobile, Wi-Fi 
e outros dispositivos tradicionais...
Arquitetura 
Crescimento Mobile 
http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-inde...
Arquitetura 
Edge Intelligence: Application Acceleration 
• Otimização de imagem por dispositivo e tela 
(Webp - Chrome/Op...
Arquitetura 
• Otimização para browsers (dns-prefetch, prefetch, prerender) 
• API Acceleration 
• Push Notification (Webs...
Arquitetura 
Otimização e Terminação TLS: Session Cache/Session Ticket 
$ 
openssl 
s_client 
-­‐connect 
www.azion.com:44...
Arquitetura 
Otimização e Terminação TLS: OCSP Stapling 
$ 
openssl 
s_client 
-­‐connect 
www.azion.com:443 
-­‐tls1 
-­‐...
Arquitetura 
Edge Intelligence: Outros 
• Segurança (WAF, Packet Inspection, DDoS, Edge Firewall) 
• Availability (User Qu...
Componentes 
Componentes de uma SD-CDN 
• Servidores e Rede 
• BGP e Anycast 
• DNS e Global Load Balancer 
• Kernel, Libs...
Componentes 
Servidores e Rede 
• Alta capacidade de rede por servidor/rack (40Gbps por server) 
• Alta capacidade de proc...
Componentes 
• Responsável pelo recebimento das rotas (Milhões) 
• Tratamento de AS_PATH, Priority, MED, Community 
• Hint...
Componentes 
Anycast 
• Anúncio de um mesmo bloco em locais diferentes do mundo 
• Usado para reduzir a latência de acesso...
Componentes 
DNS e Global Load Balancer 
• Software responsável pelo primeiro direcionamento do usuário 
$ 
dig 
www.azion...
Componentes 
DNS e Global Load Balancer 
• Respostas precisam ser menores que 1ms (Database e Regras de negócio) 
• Softwa...
Componentes 
DNS e Global Load Balancer 
• Atualmente 18% (já foi 12%) das consultas DNS vem do Google DNS 
ou OpenDNS no ...
Componentes 
Kernel, Libs e Linguagens 
• Kernel > 3.7 (IW10, TCP Fast Open, Proportional Rate Reduction) 
• OpenSSL (hear...
Componentes 
HTTP Server 
• HTTP/HTTPS 1.0/1.1 (ATS, Nginx, Varnish) 
• Cache (RAM, SSD) 
• Plugins e regras de negócio (R...
Componentes 
Streaming Server 
• RTMP, HLS, MPEG-DASH 
• Regras de negócio (Real Time) 
• Segurança (Token, DRM) e Filtros...
Desafios 
Desenvolvimento 
• Software Open Source, melhorias, correções de bugs, segurança 
e RFCs (ATS, Bind, Linux Kerne...
Desafios 
Testes 
• Escrever testes automáticos, garantindo uma boa cobertura 
• Testes de regressão 
• Dificuldades de si...
Desafios 
Operação e Orquestração 
• Monitoração (Complex Event Processing, Alarmes Warning e Critical) 
• Automatização d...
Desafios 
Big Data (Azion Analytics) 
• Grande quantidade de logs (Servidores, Clientes e Rede) 
• Análise em tempo real 
...
Desafios 
Big Data (Azion Analytics)
Desafios 
Big Data (Azion Analytics)
Desafios 
Deploy continuo e Automatizações 
• Equipes de DevOps, maturidade das equipes e garantias extras 
• Documentação...
Software Perguntas? 
Defined CDN 
marcus.grando@azion.com 
Arquitetura, Componentes e Desafios 
http://www.azion.Marcus co...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (Azion Technologies), WeOp - The Operations Su...
Próximos SlideShares
Carregando em…5
×

"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (Azion Technologies), WeOp - The Operations Summit 2014

320 visualizações

Publicada em

Adotamos soluções de diversas áreas da computação, incluindo design de sistemas de larga escala, computação distribuída, segurança e compressão de dados. Nesta apresentação falaremos um pouco sobre a arquitetura e componentes de uma Software Defined CDN, necessários para entregar - com performance - grandes volumes de trafego, além dos principais desafios enfrentados para operar a plataforma.

Marcus Grando é CTO da Azion Technologies, responsável pelas equipes de Engenharia e Operações. Trabalha na área desde 1995, é desenvolvedor Python, C e Golang, ex-commiter do FreeBSD, autodidata, evangelizador IPv6 e entusiasta Open Source.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
320
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (Azion Technologies), WeOp - The Operations Summit 2014

  1. 1. Software Defined CDN Arquitetura, Componentes e Desafios Marcus Grando, CTO
  2. 2. Azion Technologies Overview • Fundada em 2011 (Porto Alegre e Miami) • Software Defined CDN (Intelligent Edge, Media Delivery, Live Streaming) • Foco na experiência do usuário (Missão Crítica) • Atuação Global (Brasil, EUA, Europa e Asia)
  3. 3. Azion Technologies Overview
  4. 4. Agenda Como melhorar a experiência do usuário? • Arquitetura • Componentes • Desafios • Perguntas?
  5. 5. Arquitetura O que é uma CDN? • Mais de 50% do trafego é feito em CDN's (comercial e privada) • Gen-1: Altamente distribuída, somente cache • Gen-2: Menos distribuída, somente cache • Gen-3: Super POP, inteligência na origem
  6. 6. Arquitetura O que é uma SD-CDN? • Gen-4: CDN com Inteligência nos EDGEs (Azion: Altamente Distribuída) • Aproxima a inteligência da aplicação ao usuário • Coisas incríveis!
  7. 7. Arquitetura Desafios de uma SD-CDN • Melhorar a performance do usuário Mobile, Wi-Fi e outros dispositivos tradicionais (Latência em last mile) • Performance? Adapte a aplicação ao usuário (Rede, SO, Browser, Tecnologia)
  8. 8. Arquitetura Crescimento Mobile http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white_paper_c11-520862.html
  9. 9. Arquitetura Edge Intelligence: Application Acceleration • Otimização de imagem por dispositivo e tela (Webp - Chrome/Opera, PNG/JPEG - FF/IE) • Otimização de rede (Window Scaling, Network Path Optimization) • Conexão com a origem (Melhores protocolos, Multi-Origem) • Prefetch do conteúdo • Performance na entrega de JS, CSS, HTML, JSON, ICO, Fonts
  10. 10. Arquitetura • Otimização para browsers (dns-prefetch, prefetch, prerender) • API Acceleration • Push Notification (Websockets) • Otimização e Terminação TLS (Session cache/Tickets, OCSP stapling, Forward Secrecy e TLS False Start) https://wiki.mozilla.org/Security/Server_Side_TLS Edge Intelligence: Application Acceleration
  11. 11. Arquitetura Otimização e Terminação TLS: Session Cache/Session Ticket $ openssl s_client -­‐connect www.azion.com:443 -­‐tls1 -­‐tlsextdebug -­‐status ... SSL-­‐Session: Protocol : TLSv1 Cipher : ECDHE-­‐RSA-­‐AES128-­‐SHA Session-­‐ID: DA43DEAA0F9ACFE2D6888045FC5557BE23C9E3EF2CF2A48B99376546A9160DC7 Session-­‐ID-­‐ctx: Master-­‐Key: B78A510239E2BB590E3E50AF8E0416DE1F014446F37C853CABED63A862D2599E7A93AEB1DFD6B26D011C729BC5D09A37 Key-­‐Arg : None PSK identity: None PSK identity hint: None SRP username: None TLS session ticket lifetime hint: 600 (seconds) TLS session ticket: 0000 -­‐ f2 ff eb ba 69 41 bb 52-­‐48 23 70 02 7b 1c 73 bf ....iA.RH#p.{.s. 0010 -­‐ e8 4a 40 cb fd a8 5f 85-­‐14 81 71 fa 13 0c 6d e2 .J@..._...q...m. 0020 -­‐ 9c b0 e4 46 99 b2 9a b7-­‐8c eb e9 74 9e ea 53 88 ...F.......t..S. ...
  12. 12. Arquitetura Otimização e Terminação TLS: OCSP Stapling $ openssl s_client -­‐connect www.azion.com:443 -­‐tls1 -­‐tlsextdebug -­‐status ... OCSP response: ====================================== OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response Version: 1 (0x0) Responder Id: 12A6D068879BA23554F7250E31E7488B1D6903FB Produced At: Nov 11 14:57:02 2014 GMT Responses: Certificate ID: Hash Algorithm: sha1 Issuer Name Hash: 0C9E4D9C3DEDEF84D891E972C7CF8406BC197B07 Issuer Key Hash: 96DE61F1BD1C1629531CC0CC7D3B830040E61A7C Serial Number: 1121B93115E4174B789AD972243139085B48 Cert Status: good This Update: Nov 11 14:57:02 2014 GMT Next Update: Nov 12 14:57:02 2014 GMT ...
  13. 13. Arquitetura Edge Intelligence: Outros • Segurança (WAF, Packet Inspection, DDoS, Edge Firewall) • Availability (User Queue, Load Balancing) • Edge Hosting?
  14. 14. Componentes Componentes de uma SD-CDN • Servidores e Rede • BGP e Anycast • DNS e Global Load Balancer • Kernel, Libs e Linguagens • HTTP Server e Streaming Server
  15. 15. Componentes Servidores e Rede • Alta capacidade de rede por servidor/rack (40Gbps por server) • Alta capacidade de processamento por servidor/rack • Alta densidade de memória por servidor/rack (1TB por server) • Níveis de cache SSD/RAM
  16. 16. Componentes • Responsável pelo recebimento das rotas (Milhões) • Tratamento de AS_PATH, Priority, MED, Community • Hint das operadoras para a CDN • Software Defined (Exabgp, Bird e Quagga) BGP
  17. 17. Componentes Anycast • Anúncio de um mesmo bloco em locais diferentes do mundo • Usado para reduzir a latência de acesso (DNS e POP’s fallback) • Software Defined (Exabgp, Bird e Quagga)
  18. 18. Componentes DNS e Global Load Balancer • Software responsável pelo primeiro direcionamento do usuário $ dig www.azion.com ... ;; ANSWER SECTION: www.azion.com. 1963 IN CNAME 20001a.ph.azioncdn.net. 20001a.ph.azioncdn.net. 120 IN A 200.175.203.51 20001a.ph.azioncdn.net. 120 IN A 200.175.203.35 20001a.ph.azioncdn.net. 120 IN A 200.175.203.43 • Faz o controle da proximidade do usuário e a gestão da qualidade da entrega (BGP, Rotas manuais ou Geolocalização)
  19. 19. Componentes DNS e Global Load Balancer • Respostas precisam ser menores que 1ms (Database e Regras de negócio) • Software Defined (Bind, Powerdns, Golang DEV) • Suporte a EDNS Client Subnet +0 (MSB) +1 (LSB) +-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+ 0: | OPTION-­‐CODE = 8 (IANA) | +-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+ 2: | OPTION-­‐LENGTH (Bytes) | +-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+ 4: | FAMILY = IPv4(1), IPv6(2) | +-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+ 6: | SOURCE NETMASK (Usually 24) | SCOPE NETMASK | * 0 on request, >0 on response +-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+ 7: | ADDRESS... / * needs match netmask +-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+-­‐-­‐-­‐+ http://tools.ietf.org/html/draft-vandergaast-dnsop-edns-client-subnet-00
  20. 20. Componentes DNS e Global Load Balancer • Atualmente 18% (já foi 12%) das consultas DNS vem do Google DNS ou OpenDNS no Brasil • Google Public DNS agora detecta automaticamente o suporte a ECS http://www.cdnplanet.com/blog/google-dns-opendns-and-cdn-performance/#ms https://groups.google.com/forum/#!topic/public-dns-announce/67oxFjSLeUM
  21. 21. Componentes Kernel, Libs e Linguagens • Kernel > 3.7 (IW10, TCP Fast Open, Proportional Rate Reduction) • OpenSSL (heartbleed, poodle), CK (http://concurrencykit.org/), ZeroRPC, Gevent • Python, C/C++ e Golang
  22. 22. Componentes HTTP Server • HTTP/HTTPS 1.0/1.1 (ATS, Nginx, Varnish) • Cache (RAM, SSD) • Plugins e regras de negócio (Real Time, Edge Intelligence) • Novos protocolos: QUIQ (UDP), SPDY/HTTP 2.0 e Websockets http://trafficserver.apache.org/
  23. 23. Componentes Streaming Server • RTMP, HLS, MPEG-DASH • Regras de negócio (Real Time) • Segurança (Token, DRM) e Filtros (IP, Rede, Geoblock) • Latência (Configurável)
  24. 24. Desafios Desenvolvimento • Software Open Source, melhorias, correções de bugs, segurança e RFCs (ATS, Bind, Linux Kernel, Cassandra) • Conhecimento em C/C++ • Programação por eventos, lock-free e troubleshoot • Protótipos e testes de conceito de novas tecnologias
  25. 25. Desafios Testes • Escrever testes automáticos, garantindo uma boa cobertura • Testes de regressão • Dificuldades de simular um ambiente real • Técnica de replay de conexões (dnsperf, tcpreplay, GOR, web-page-replay, Jmeter)
  26. 26. Desafios Operação e Orquestração • Monitoração (Complex Event Processing, Alarmes Warning e Critical) • Automatização de alarmes • Agentes para configuração e interações Real Time (Monkeys, Alfreds) • Painel de configuração e orquestração Real Time (Azion Manager)
  27. 27. Desafios Big Data (Azion Analytics) • Grande quantidade de logs (Servidores, Clientes e Rede) • Análise em tempo real • Agentes de coleta e processadores multi-datacenter (RTT, Rede, ASN, HTTP, TLS, etc) • Cassandra + PrestoDB (Grafana), InfluxDB
  28. 28. Desafios Big Data (Azion Analytics)
  29. 29. Desafios Big Data (Azion Analytics)
  30. 30. Desafios Deploy continuo e Automatizações • Equipes de DevOps, maturidade das equipes e garantias extras • Documentação e busca por erros automáticos • Análise de RTT e dados RUM (Real User Monitoring)
  31. 31. Software Perguntas? Defined CDN marcus.grando@azion.com Arquitetura, Componentes e Desafios http://www.azion.Marcus com.Grando, br/empresa/CTO carreiras/

×