orchestrating shared networks, physical load balancer and dns on cloudstack

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

Upload: silvano-buback

Post on 28-Nov-2014

421 views

Category:

Technology


3 download

DESCRIPTION

The adoption of Cloud Computing Solutions in datacenters worldwide has proven to be the right path, as it reduces costs, automates operation tasks and improve time-to-market for newly developed applications. However, cloud solutions are still in an early stage and do not meet all requirements for company environments, especially those with high capacity With that in mind, Globo.com embraced an open cloud solutions, Cloudstack, and began developing together with the community to fulfill all its high availability, high capacity and high throughput requirements. Integration between Cloudstack and Globo.com’s infrastructure happens in all levels, with an special attention to network equipment management, DNS automation and load balancing In this presentation, Globo.com will show the challenges in adopting cloud computing for its services and how these challenges were met with newly develop

TRANSCRIPT

Page 1: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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

Page 2: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Team

Page 3: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Team

Page 4: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack
Page 5: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack
Page 6: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Broadcast TV Books and Magazines Music Movies

Pay TV Newspsaper Music Internet

Page 7: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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

Page 9: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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

Page 11: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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

Page 12: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

DNS Integration

Page 13: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

GloboDNS plugin

Page 16: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

GloboDNS plugin

Page 17: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

GloboDNS plugin

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

Page 18: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack
Page 20: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Creating a new domain is easy using templates

Page 21: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack
Page 22: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Administrators are responsible for managing complexity

Page 23: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Load Balancer

Page 24: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB on unmodified ACS

Page 25: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB on unmodified ACS

Page 26: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB on unmodified ACS

Page 27: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB on unmodified ACS

Page 28: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB with GloboNetworkAPI

Page 30: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB with GloboNetworkAPI

Page 31: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB with GloboNetworkAPI

Page 32: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB with GloboNetworkAPI

Page 33: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

LB with GloboNetworkAPI

Page 34: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Shared Networks

Page 35: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Shared Networks

Page 36: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Shared NetworksUnmodified ACS

Page 37: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Shared NetworksUnmodified ACS With GloboNetwork

Page 38: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Shared Networks

Page 39: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

GloboNetworkAPI

Page 40: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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

Page 41: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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

client-java

Page 43: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Environment

Page 44: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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

‣ Resources allocated/deployed on demand

Page 45: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Environment Config

Page 46: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Environment Config

Page 47: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Tradicional DC Infrastructure

Page 48: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

Virtualized DC Infrastructure

Page 50: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack
Page 51: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

GloboNetworkAPI WebUI

Page 53: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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

Page 54: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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: Orchestrating Shared Networks, Physical Load Balancer and DNS on CloudStack

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]>