globo - events.static.linuxfound.orgglobo.com ‣ 2 datacenters! ‣ rio de janeiro (main...

55
globo .com Orchestrating Shared Networks, Physical LB and DNS on Cloudstack

Upload: others

Post on 04-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

globo .comOrchestrating Shared Networks, Physical LB and DNS on Cloudstack

Page 2: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Team

Page 3: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Team

Page 4: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More
Page 5: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More
Page 6: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Broadcast TV Books and Magazines Music Movies

Pay TV Newspsaper Music Internet

Page 7: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Globo.com‣ 2 Datacenters ‣ Rio de Janeiro (Main Datacenter) ‣ São Paulo (CDN)

‣ More than 1 Tbps of internet connectivity ‣ More than 2000 Servers ‣ More than 400 Developers

Page 8: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

New DataCenter in Rio (2015-03)‣ Capacity for more than 10000 servers

Page 9: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Globo.com‣ We are a technology company ‣ Developers and Services providers for :

‣ Content Management System (CMS) ‣ Internet Infra Structure ‣ Connectivity ‣ Hosting ‣ CDN ‣ Information Security ‣ New Technologies (Private Cloud and PaaS)

Page 10: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

IaaS at Globo.com‣ CloudStack ‣ Private Cloud ‣ Launched in Jan/2014 ‣ opensource.globo.com

Page 11: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Setup of ACS‣ Advanced Zone Type ‣ Shared Networks ‣ XenServer 6.2 ‣ ACS Version 4.3+

Page 12: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

DNS Integration

Page 13: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

DNS on unmodified ACS

News APP Network

VR's name resolution is only within network

MySQL Network

VR's name resolution is only within network

News MySQL

Virtual Router(DHCP, DNS)

Virtual Router(DHCP, DNS)

Internal DNS

delegate delegate

Who Is news.mysql.globo.com?

News App

Page 14: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

GloboDNS‣ Manage Bind Server ‣ Fork of PowerDNS on Rails ‣ HTTP(S) API ‣ Import data from Bind ‣ Open Source ‣ https://github.com/globocom/GloboDNS

Page 15: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

GloboDNS plugin

Page 16: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

GloboDNS plugin

Page 17: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

GloboDNS plugin

Now the name "news.mysql.globo.com" is globally available to all networks

Page 18: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

With GloboDNS plugin

News APP NetworkMySQL Network

news.mysql.globo.com

Virtual Router(DHCP, DNS)

Virtual Router(DHCP, DNS)

newsapp.globo.com

Internal DNS

Naming resolution Naming resolution

XX

Page 19: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More
Page 20: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Creating a new domain is easy using templates

Page 21: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More
Page 22: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Administrators are responsible for managing complexity

Page 23: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Load Balancer

Page 24: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB on unmodified ACS

Page 25: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB on unmodified ACS

Page 26: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB on unmodified ACS

Page 27: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB on unmodified ACS

Page 28: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB with GloboNetworkAPI‣ LB IP in different network ‣ Doesn't work as LB in ACS ‣ Uses new commands

‣ Hardware-based ‣ GloboNetworkAPI abstract hardware ‣ Usually LB have public IPs, not VMs

Page 29: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB with GloboNetworkAPI

Page 30: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB with GloboNetworkAPI

Page 31: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB with GloboNetworkAPI

Page 32: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB with GloboNetworkAPI

Page 33: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

LB with GloboNetworkAPI

Page 34: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Shared Networks

Page 35: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Shared Networks

Page 36: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Shared NetworksUnmodified ACS

Page 37: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Shared NetworksUnmodified ACS With GloboNetwork

Page 38: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Shared Networks

Page 39: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

GloboNetworkAPI

Page 40: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

What is GloboNetworkAPI?‣ Open Source REST API for IP Networking Control ‣ Automates provisioning of network resources ‣ Vendor agnostic ‣ Plugin based

Page 41: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Features‣ Cabling documentation (patch-panels/DIO’s capability) ‣ Layer 2 documentation (vlan) ‣ Layer 3 documentation (IP networks) ‣ Automatic allocation of Vlans, Networks and IP’s ‣ IPv6 support ‣ ACL (access control list) documentation/versioning/applying ‣ Load-Balancer support ‣ Automated equipment configuration (plugin based) ‣ User/Equipment Group based authorization

Page 42: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Globo NetworkAPI‣ globonetworkapi.rtfd.org ‣ globonetworkapi-webui.rtfd.org ‣ globonetworkapi-client-python.rtfd.org ‣ https://github.com/globocom/GloboNetworkAPI-

client-java

Page 43: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Environment

Page 44: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Globo NetworkAPI‣ Environment: ‣ Vlan/IP network usable range ‣ Templates for equipment configuration (plugins)

‣ Resources allocated/deployed on demand

Page 45: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Environment Config

Page 46: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Environment Config

Page 47: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Tradicional DC Infrastructure

Page 48: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

GloboNetworkAPI + ACS‣ Zones per type of traffic ‣ Type of traffic defines the Environments ‣ ACS maps zones to environments ‣ Xen Servers with tagged vlans (802.1Q)

Page 49: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Virtualized DC Infrastructure

Page 50: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More
Page 51: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Globo NetworkAPI Load Balancer‣ Load balancer has its own environment ‣ In front of VM networks ‣ LB across zones ‣ LB as an additional plugin on Cloudstack

Page 52: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

GloboNetworkAPI WebUI

Page 53: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

Roadmap‣ On ACS ‣ Integrating with baseline (GloboDNS on 4.5?) ‣ OAuth2 (in progress) ‣ ACL API ‣ IPv6 Support ‣ Native Load Balancer Support

Page 54: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

References‣ opensource.globo.com ‣ https://github.com/globocom/GloboDNS ‣ https://github.com/globocom/cloudstack ‣ globonetworkapi.rtfd.org ‣ https://cwiki.apache.org/confluence/display/CLOUDSTACK/Bind

+and+PowerDNS+integration+by+Globo+DNSAPI

Page 55: globo - events.static.linuxfound.orgGlobo.com ‣ 2 Datacenters! ‣ Rio de Janeiro (Main Datacenter)! ‣ São Paulo (CDN)! ‣ More than 1 Tbps of internet connectivity! ‣ More

We are hiring !

https://github.com/globocom/IWantToWorkAtGloboCom

Questions? [email protected]

Maurício Kilikrates A N dos Anjos <[email protected]>

Marcus Vinicius Gonçalves Cesário <[email protected]>Silvano Nogueira Buback <[email protected]>