SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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 Delivery, Live Streaming) 
• Foco na experiência do usuário (Missão Crítica) 
• Atuação Global (Brasil, EUA, Europa e Asia)
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 distribuída, somente cache 
• Gen-2: Menos distribuída, somente cache 
• Gen-3: Super POP, inteligência na origem
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!
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)
Arquitetura 
Crescimento Mobile 
http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white_paper_c11-520862.html
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
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
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. 
...
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 
...
Arquitetura 
Edge Intelligence: Outros 
• Segurança (WAF, Packet Inspection, DDoS, Edge Firewall) 
• Availability (User Queue, Load Balancing) 
• Edge Hosting?
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
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
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
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)
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)
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
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
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
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/
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)
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
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)
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)
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
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 e busca por erros automáticos 
• Análise de RTT e dados RUM (Real User Monitoring)
Software Perguntas? 
Defined CDN 
marcus.grando@azion.com 
Arquitetura, Componentes e Desafios 
http://www.azion.Marcus com.Grando, br/empresa/CTO 
carreiras/

Más contenido relacionado

Destacado

Agile tester 3.0 agile trends
Agile tester 3.0 agile trendsAgile tester 3.0 agile trends
Agile tester 3.0 agile trendsDaniel Amorim
 
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...Joao Galdino Mello de Souza
 
Apresentação de SAP HANA GRUPO CIMED 2016
Apresentação de SAP HANA GRUPO CIMED 2016Apresentação de SAP HANA GRUPO CIMED 2016
Apresentação de SAP HANA GRUPO CIMED 2016Rubens V. Damião
 
Sap organisation structure business view
Sap organisation structure business viewSap organisation structure business view
Sap organisation structure business viewPartha Tripathi
 
The Five "P"s of Being a Successful CIO
The Five "P"s of Being a Successful CIOThe Five "P"s of Being a Successful CIO
The Five "P"s of Being a Successful CIODavid J. Hinson
 
unilever organizational change
unilever organizational change unilever organizational change
unilever organizational change Rajesh Mudaliyar
 
HR 2020 - The future of HR Practices
HR 2020 - The future of HR PracticesHR 2020 - The future of HR Practices
HR 2020 - The future of HR PracticesFarhan Muhammad
 
10 things HR transformation
10 things HR transformation   10 things HR transformation
10 things HR transformation Rob Scott
 

Destacado (12)

Agile tester 3.0 agile trends
Agile tester 3.0 agile trendsAgile tester 3.0 agile trends
Agile tester 3.0 agile trends
 
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
 
Big Five
Big FiveBig Five
Big Five
 
The blended IT strategy road map
The blended IT strategy road mapThe blended IT strategy road map
The blended IT strategy road map
 
Apresentação de SAP HANA GRUPO CIMED 2016
Apresentação de SAP HANA GRUPO CIMED 2016Apresentação de SAP HANA GRUPO CIMED 2016
Apresentação de SAP HANA GRUPO CIMED 2016
 
Sap organisation structure business view
Sap organisation structure business viewSap organisation structure business view
Sap organisation structure business view
 
The Five "P"s of Being a Successful CIO
The Five "P"s of Being a Successful CIOThe Five "P"s of Being a Successful CIO
The Five "P"s of Being a Successful CIO
 
unilever organizational change
unilever organizational change unilever organizational change
unilever organizational change
 
SAP Organization Structure
SAP Organization StructureSAP Organization Structure
SAP Organization Structure
 
Unilever
UnileverUnilever
Unilever
 
HR 2020 - The future of HR Practices
HR 2020 - The future of HR PracticesHR 2020 - The future of HR Practices
HR 2020 - The future of HR Practices
 
10 things HR transformation
10 things HR transformation   10 things HR transformation
10 things HR transformation
 

Similar a SD-CDN Arquitetura Componentes Desafios

Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLFernando Ike
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...iMasters
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA CareerMarcus Vinicius Miguel Pedro
 
Estratégias de escablabilidade para serviços online
Estratégias de escablabilidade para serviços onlineEstratégias de escablabilidade para serviços online
Estratégias de escablabilidade para serviços onlineGuto Xavier
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_juniorJuarez Junior
 
VDI e Projeto OSDVT
VDI e Projeto OSDVTVDI e Projeto OSDVT
VDI e Projeto OSDVTapsegundo
 
Apresentacao gt cnc-workshop_iniciliazicao_fase2
Apresentacao gt cnc-workshop_iniciliazicao_fase2Apresentacao gt cnc-workshop_iniciliazicao_fase2
Apresentacao gt cnc-workshop_iniciliazicao_fase2Lucas Silva
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...CPqD
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server EmbratelAlex Hübner
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannMonitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannTchelinux
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento redeAndré Déo
 
Agility Networks - F5 GTM v20131009a
Agility Networks - F5 GTM v20131009aAgility Networks - F5 GTM v20131009a
Agility Networks - F5 GTM v20131009aAgility Networks
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?Alvaro Viebrantz
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com GrafanaAécio Pires
 
Introdução ao Windows Azure - Sessão 1 (mais teórica)
Introdução ao Windows Azure - Sessão 1 (mais teórica)Introdução ao Windows Azure - Sessão 1 (mais teórica)
Introdução ao Windows Azure - Sessão 1 (mais teórica)Giovanni Bassi
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Marcus Garcia
 

Similar a SD-CDN Arquitetura Componentes Desafios (20)

Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
 
IoT Frameworks
IoT FrameworksIoT Frameworks
IoT Frameworks
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Estratégias de escablabilidade para serviços online
Estratégias de escablabilidade para serviços onlineEstratégias de escablabilidade para serviços online
Estratégias de escablabilidade para serviços online
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
 
VDI e Projeto OSDVT
VDI e Projeto OSDVTVDI e Projeto OSDVT
VDI e Projeto OSDVT
 
Apresentacao gt cnc-workshop_iniciliazicao_fase2
Apresentacao gt cnc-workshop_iniciliazicao_fase2Apresentacao gt cnc-workshop_iniciliazicao_fase2
Apresentacao gt cnc-workshop_iniciliazicao_fase2
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server Embratel
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannMonitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento rede
 
Agility Networks - F5 GTM v20131009a
Agility Networks - F5 GTM v20131009aAgility Networks - F5 GTM v20131009a
Agility Networks - F5 GTM v20131009a
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?
 
Como funciona a Internet
Como funciona a InternetComo funciona a Internet
Como funciona a Internet
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com Grafana
 
Introdução ao Windows Azure - Sessão 1 (mais teórica)
Introdução ao Windows Azure - Sessão 1 (mais teórica)Introdução ao Windows Azure - Sessão 1 (mais teórica)
Introdução ao Windows Azure - Sessão 1 (mais teórica)
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1)
 

SD-CDN Arquitetura Componentes Desafios

  • 1. Software Defined CDN Arquitetura, Componentes e Desafios Marcus Grando, CTO
  • 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)
  • 4. Agenda Como melhorar a experiência do usuário? • Arquitetura • Componentes • Desafios • Perguntas?
  • 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. 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. 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. Arquitetura Crescimento Mobile http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white_paper_c11-520862.html
  • 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. 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. 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. 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. Arquitetura Edge Intelligence: Outros • Segurança (WAF, Packet Inspection, DDoS, Edge Firewall) • Availability (User Queue, Load Balancing) • Edge Hosting?
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Desafios Big Data (Azion Analytics)
  • 29. Desafios Big Data (Azion Analytics)
  • 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.
  • 32. Software Perguntas? Defined CDN marcus.grando@azion.com Arquitetura, Componentes e Desafios http://www.azion.Marcus com.Grando, br/empresa/CTO carreiras/