Infrastructure API Lightning Talk by Jeremy Pollard of box.com

1 
What If Your Network Was 
Smarter Than You? 
Jeremy Pollard
2 
Who Am I? 
• Jeremy Pollard 
• Network Engineer @ Box.com 
• SIGGRAPH2015 GraphicsNet 
Committee Chair 
• Automator 
• Lindy-Hop and Blues Dancer
3 
Complete Network Overhaul 
Networks that grow organically don’t scale, 
news to no one.
4 
Network Overhaul 
• Old design grew as needed 
‒ Need a switch? Add a switch. 
‒ Flat layer 2 design. 
‒ Did not Scale. 
• New Design 
‒ Greenfield! 
‒ New hardware! 
‒ New design! 
‒ New Datacenter!
5 
“ Let’s build a smarter 
network. 
Said everyone, everywhere.
6 
How do we do this? 
What are we trying to solve?
7 
We’re Network 
Engineers…
8 
And We Like… 
• Standards 
• Specifications 
• Designing with scalability in mind 
• Repeatable patterns
9 
And Yet We Still Have To Answer Questions Like… 
• Which IP address should I use? 
• Where is this host located? 
• Do you know how this device is supposed to be cabled? 
• Which port should I use? 
• Did you configure that new switch?
10 
Boring
11 
Error Prone
12 
A Waste Of Time
13 
Cost The Company $$$
14 
How Did Box Approach This? 
By thinking outside the Box… HA! Get it?! 
*crickets*
15 
New Network Design 
In 30 seconds or less 
• Core / Agg / ToR model 
• Fully routed to the ToR 
• Two ToRs per cabinet 
• Pattern based port assignment 
• Mathematically generated 
‒ IP addresses 
‒ Hostnames 
‒ VLANs 
• ID numbers to indicate Datacenter, Pod, Cabinet 
‒ More on this later!
16 
For Every Pair of ToRs 
• Over 300 pieces of unique information 
‒ IP addresses/subnets 
‒ Pinned routes 
‒ Radius / Logging / NTP / etc servers 
‒ Interface descriptions 
• ~180 DNS records 
• Cabling instructions 
‒ 8 upstream port assignments 
‒ 2 Serial consoles 
‒ 2 management ports
17 
Highly Complex
18 
Highly Automatable
19 
Time to build a smarter network
20 
The Infrastructure API
21 
Infrastructure API 
• HTTP based REST API 
• All things IP / Network / Datacenter 
• Single source of truth
22 
It’s our design specification
23 
It’s our design specification 
Implemented in code
24 
Infrastructure API 
• IP address management for network devices and hosts 
‒ In-band and Out-of-Band 
• Hostname generation 
• DNS registration 
• Generates all 300 unique pieces of info for ToR provisioning 
• Generates physical cable mappings and port assignments 
• Host to Security zone mapping 
• Provide network information for a given IP 
• Provide physical location for a given IP
25 
Infrastructure API 
• Returns JSON objects 
• Easily integrates into token-based templates 
‒ Full text configuration 
‒ Cabling instructions 
• Can be easily integrated into other services
26 
How Does It Work?
27 
Fundamentals First 
• Procedurally Generated 
• Single Seed 
• Remember the IDs? 
‒ Datacenter 
‒ Pod 
‒ Cabinet 
‒ Host Type (Production side only) 
‒ Rack-u (Out-of-Band side only) 
0001010.10101000.10100001.00010100 
Static Datacenter Pod Cab 
Type Host
28 
Seeds 
• IP - > Datacenter / Pod / Cabinet / Type IDs 
• IDs - > Everything Else 
‒ $cab_count = ($MAX_POD_SIZE * $pod_id - 1 ) + $cab_id 
‒ $hostname = sprintf(‘tsw%02d’, $cab_count) 
‒ $serial_server_number = $cab_count / 32 + 7($pod_id - 1) + 4 
‒ $serial_port_number = 33 + (($cab_count - 1) % 32) / 2 
• And so on…
29 
New Switch Provisioning 
A Use Case
30 
In The Datacenter 
• DC Tech enters rack information to get cabling specifications for the 
cabinet
31 
Once Racking and Cabling is Complete: 
• Manually Configure the management IP address 
‒ This will be our seed! 
‒ We’re working on DHCP… 
• Download provision.sh to the switch and execute. 
‒ Downloads latest EOS 
‒ Detects management IP 
‒ API Call: device_config with management IP as the argument 
‒ Infrastructure API generates the config 
‒ Config is then saved to startup-config 
‒ API Call: register_dns with management IP as the argument 
‒ Infrastructure API calls our DNS API to register all records 
‒ Download first_boot.sh 
‒ Reboot device
32 
After Reboot 
• first_boot.sh executed 2 minutes after boot 
• API Call: inventory_update 
‒ Inventory API scans the device collecting: 
‒ Hostname 
‒ Serial Numbers 
‒ Interface IP Addresses 
‒ Interface States 
• Success!! 
‒ Switch successfully provisioned 
‒ Automatically added to monitoring
33 
Other Uses?
34 
Other uses? 
• Core / Datacenter teams host provisioning 
‒ Host IP address assignment 
‒ Hostname generation / DNS registration 
• Hadoop rack awareness 
• Assists in automating inventory audits 
‒ Physical / logical mappings 
‒ Host locating 
• If you build it, they will come.
35 
Humans are still needed… Right? 
Right?!
36 
You Bet! 
• All those IDs need to be 
defined 
– Thankfully it’s crazy easy! 
• YAML based data structure 
• Datacenters are assigned pods 
• Pods exist in cages 
• Pods are assigned Cabs 
• Etc…
37 
We’re just not answering these questions anymore… 
• Which IP address should I use? 
• Where is this host located? 
• Do you know how this device is supposed to be cabled? 
• Which port should I use? 
• Did you configure that new switch?
38 
“ This sounds great! But 
what are the potential 
problems? 
- Said anyone still paying attention
39 
Problems… 
• Screw up ID allocation 
• DC Tech cabled devices incorrectly or incorrect physical location 
• Need to move an existing cab to another pod 
• Bugs!
40 
What’s Next? 
To the future!!
41 
Yet To Come 
• Get DHCP working for management addresses 
• Dynamically generate topology diagrams 
‒ Graphviz 
‒ D3 
‒ Take your pick 
• Automated validation of link health 
‒ Up / Down 
‒ Light levels 
‒ Db loss
42 
Thanks!
1 of 42

Recommended

The_Final_Presentation by
The_Final_PresentationThe_Final_Presentation
The_Final_PresentationMichael Schultz
69 views41 slides
Day 17.1 nat pat by
Day 17.1 nat pat Day 17.1 nat pat
Day 17.1 nat pat CYBERINTELLIGENTS
431 views23 slides
Connecting Hardware to Flex (360MAX) by
Connecting Hardware to Flex (360MAX)Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)Justin Mclean
700 views50 slides
MarsBoard - NXP IMX6 Processor by
MarsBoard - NXP IMX6 ProcessorMarsBoard - NXP IMX6 Processor
MarsBoard - NXP IMX6 ProcessorNEEVEE Technologies
825 views34 slides
Connecting hardware up to ColdFusion by
Connecting hardware up to ColdFusionConnecting hardware up to ColdFusion
Connecting hardware up to ColdFusionJustin Mclean
960 views47 slides
How to Prevent DHCP Spoofing by
How to Prevent DHCP SpoofingHow to Prevent DHCP Spoofing
How to Prevent DHCP SpoofingKHNOG
1.8K views14 slides

More Related Content

What's hot

CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5 by
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5Waqas Ahmed Nawaz
115 views20 slides
REDA services by
REDA servicesREDA services
REDA servicesYuri Fonin
441 views15 slides
Network Automation (Bay Area Juniper Networks Meetup) by
Network Automation (Bay Area Juniper Networks Meetup)Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)Alejandro Salinas
728 views32 slides
Mobile ipv6 by
Mobile ipv6Mobile ipv6
Mobile ipv6Paras Jha
298 views10 slides
02 Raspberry Pi GPIO Interface on Node-RED (Some correction) by
02 Raspberry Pi GPIO Interface on Node-RED (Some correction)02 Raspberry Pi GPIO Interface on Node-RED (Some correction)
02 Raspberry Pi GPIO Interface on Node-RED (Some correction)Mr.Nukoon Phimsen
20.9K views35 slides
APRICOT 2015 - NetConf for Peering Automation by
APRICOT 2015 - NetConf for Peering AutomationAPRICOT 2015 - NetConf for Peering Automation
APRICOT 2015 - NetConf for Peering AutomationTom Paseka
1.6K views34 slides

What's hot(20)

CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5 by Waqas Ahmed Nawaz
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5
Waqas Ahmed Nawaz115 views
REDA services by Yuri Fonin
REDA servicesREDA services
REDA services
Yuri Fonin441 views
Network Automation (Bay Area Juniper Networks Meetup) by Alejandro Salinas
Network Automation (Bay Area Juniper Networks Meetup)Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)
Alejandro Salinas728 views
Mobile ipv6 by Paras Jha
Mobile ipv6Mobile ipv6
Mobile ipv6
Paras Jha298 views
02 Raspberry Pi GPIO Interface on Node-RED (Some correction) by Mr.Nukoon Phimsen
02 Raspberry Pi GPIO Interface on Node-RED (Some correction)02 Raspberry Pi GPIO Interface on Node-RED (Some correction)
02 Raspberry Pi GPIO Interface on Node-RED (Some correction)
Mr.Nukoon Phimsen20.9K views
APRICOT 2015 - NetConf for Peering Automation by Tom Paseka
APRICOT 2015 - NetConf for Peering AutomationAPRICOT 2015 - NetConf for Peering Automation
APRICOT 2015 - NetConf for Peering Automation
Tom Paseka1.6K views
IPv6 address-planning by Tim Martin
IPv6 address-planningIPv6 address-planning
IPv6 address-planning
Tim Martin736 views
Ip interfaces by faststream technologies by VishalMalhotra58
Ip interfaces by faststream technologiesIp interfaces by faststream technologies
Ip interfaces by faststream technologies
VishalMalhotra5823 views
Oracle Enterprise manager SNMP and Exadata by Mike Chafin
Oracle Enterprise manager SNMP and ExadataOracle Enterprise manager SNMP and Exadata
Oracle Enterprise manager SNMP and Exadata
Mike Chafin4.6K views
Fedv6tf-IPv6-new-friends by Tim Martin
Fedv6tf-IPv6-new-friendsFedv6tf-IPv6-new-friends
Fedv6tf-IPv6-new-friends
Tim Martin727 views
Asterisk Voip by Vipin Sahu
Asterisk VoipAsterisk Voip
Asterisk Voip
Vipin Sahu1.1K views
ThinkNetPresentation by Jamal Ahmad
ThinkNetPresentationThinkNetPresentation
ThinkNetPresentation
Jamal Ahmad110 views
Amp si net_hub444_specsheet by Electromate
Amp si net_hub444_specsheetAmp si net_hub444_specsheet
Amp si net_hub444_specsheet
Electromate143 views
BLE Localiser (Full) for iOS Dev Scout by yeokm1
BLE Localiser (Full) for iOS Dev ScoutBLE Localiser (Full) for iOS Dev Scout
BLE Localiser (Full) for iOS Dev Scout
yeokm11K views
Route Hijaking and the role of RPKI by APNIC
Route Hijaking and the role of RPKIRoute Hijaking and the role of RPKI
Route Hijaking and the role of RPKI
APNIC1.1K views

Viewers also liked

Box.net overview by
Box.net overviewBox.net overview
Box.net overviewEric McDuffee
968 views10 slides
AIIM Cloud Collaboration Presentation Jan. 2012 by
AIIM Cloud Collaboration Presentation Jan. 2012AIIM Cloud Collaboration Presentation Jan. 2012
AIIM Cloud Collaboration Presentation Jan. 2012Porter-Roth Associates
728 views20 slides
Why Systems Fail: There is no Silver Bullet for ECM/RM Implementations by
Why Systems Fail: There is no Silver Bullet for ECM/RM ImplementationsWhy Systems Fail: There is no Silver Bullet for ECM/RM Implementations
Why Systems Fail: There is no Silver Bullet for ECM/RM ImplementationsPorter-Roth Associates
986 views22 slides
PaaSword: A Holistic Data Privacy and Security by Design Framework for Cloud ... by
PaaSword: A Holistic Data Privacy and Security by Design Framework for Cloud ...PaaSword: A Holistic Data Privacy and Security by Design Framework for Cloud ...
PaaSword: A Holistic Data Privacy and Security by Design Framework for Cloud ...Yiannis Verginadis
699 views21 slides
Winning the war against data- Strategies to beat your arch nemesis: files - G... by
Winning the war against data- Strategies to beat your arch nemesis: files - G...Winning the war against data- Strategies to beat your arch nemesis: files - G...
Winning the war against data- Strategies to beat your arch nemesis: files - G...Spiceworks
1K views37 slides
SMB Security Opportunity –Use and Plans for Solutions and Profile of "Securit... by
SMB Security Opportunity –Use and Plans for Solutions and Profile of "Securit...SMB Security Opportunity –Use and Plans for Solutions and Profile of "Securit...
SMB Security Opportunity –Use and Plans for Solutions and Profile of "Securit...Motty Ben Atia
1.2K views17 slides

Viewers also liked(20)

Why Systems Fail: There is no Silver Bullet for ECM/RM Implementations by Porter-Roth Associates
Why Systems Fail: There is no Silver Bullet for ECM/RM ImplementationsWhy Systems Fail: There is no Silver Bullet for ECM/RM Implementations
Why Systems Fail: There is no Silver Bullet for ECM/RM Implementations
PaaSword: A Holistic Data Privacy and Security by Design Framework for Cloud ... by Yiannis Verginadis
PaaSword: A Holistic Data Privacy and Security by Design Framework for Cloud ...PaaSword: A Holistic Data Privacy and Security by Design Framework for Cloud ...
PaaSword: A Holistic Data Privacy and Security by Design Framework for Cloud ...
Yiannis Verginadis699 views
Winning the war against data- Strategies to beat your arch nemesis: files - G... by Spiceworks
Winning the war against data- Strategies to beat your arch nemesis: files - G...Winning the war against data- Strategies to beat your arch nemesis: files - G...
Winning the war against data- Strategies to beat your arch nemesis: files - G...
Spiceworks1K views
SMB Security Opportunity –Use and Plans for Solutions and Profile of "Securit... by Motty Ben Atia
SMB Security Opportunity –Use and Plans for Solutions and Profile of "Securit...SMB Security Opportunity –Use and Plans for Solutions and Profile of "Securit...
SMB Security Opportunity –Use and Plans for Solutions and Profile of "Securit...
Motty Ben Atia1.2K views
Enterprise 2.0: What it is and why it matters by digitallibrary
Enterprise 2.0: What it is and why it mattersEnterprise 2.0: What it is and why it matters
Enterprise 2.0: What it is and why it matters
digitallibrary449 views
Keynote Address at 2013 CloudCon: A day in the life of the SMB by Michael To... by exponential-inc
Keynote Address at 2013 CloudCon: A day in the life of the SMB  by Michael To...Keynote Address at 2013 CloudCon: A day in the life of the SMB  by Michael To...
Keynote Address at 2013 CloudCon: A day in the life of the SMB by Michael To...
exponential-inc442 views
Keeping up with the Revolution in IT Security by Distil Networks
Keeping up with the Revolution in IT SecurityKeeping up with the Revolution in IT Security
Keeping up with the Revolution in IT Security
Distil Networks385 views
Security Essentials for the SMB IT Network (on a Shoestring Budget!) - Adam W... by Spiceworks
Security Essentials for the SMB IT Network (on a Shoestring Budget!) - Adam W...Security Essentials for the SMB IT Network (on a Shoestring Budget!) - Adam W...
Security Essentials for the SMB IT Network (on a Shoestring Budget!) - Adam W...
Spiceworks627 views
Building a database security program by matt_presson
Building a database security programBuilding a database security program
Building a database security program
matt_presson1.5K views
Advanced IT and Cyber Security for Your Business by Infopulse
Advanced IT and Cyber Security for Your BusinessAdvanced IT and Cyber Security for Your Business
Advanced IT and Cyber Security for Your Business
Infopulse859 views
The next generation of IT security by Sophos Benelux
The next generation of IT securityThe next generation of IT security
The next generation of IT security
Sophos Benelux1.2K views
Robbery Prevention for Small Businesses by Fundera
Robbery Prevention for Small BusinessesRobbery Prevention for Small Businesses
Robbery Prevention for Small Businesses
Fundera5.5K views
Windows 10 Enterprise E3 - Best in Class Security and Control - Presented by ... by David J Rosenthal
Windows 10 Enterprise E3 - Best in Class Security and Control - Presented by ...Windows 10 Enterprise E3 - Best in Class Security and Control - Presented by ...
Windows 10 Enterprise E3 - Best in Class Security and Control - Presented by ...
David J Rosenthal726 views
Security Guide For Small Business by BrendanRose
Security Guide For Small BusinessSecurity Guide For Small Business
Security Guide For Small Business
BrendanRose988 views
Challenges Of Global Data Collection by ResearchShare
Challenges Of Global Data Collection   Challenges Of Global Data Collection
Challenges Of Global Data Collection
ResearchShare3K views
Big data security challenges and recommendations! by cisoplatform
Big data security challenges and recommendations!Big data security challenges and recommendations!
Big data security challenges and recommendations!
cisoplatform1.7K views
Small business data security by David Usher
Small business data securitySmall business data security
Small business data security
David Usher143 views

Similar to Infrastructure API Lightning Talk by Jeremy Pollard of box.com

When DevOps and Networking Intersect by Brent Salisbury of socketplane.io by
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioDevOps4Networks
1.1K views39 slides
Unit05 by
Unit05Unit05
Unit05Nurul Nadirah
530 views20 slides
IPv6 networking training sduffy v3 by
IPv6 networking training   sduffy v3IPv6 networking training   sduffy v3
IPv6 networking training sduffy v3Shane Duffy
1.1K views53 slides
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2 by
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2Adam Dunkels
60.3K views46 slides
Microsoft Offical Course 20410C_05 by
Microsoft Offical Course 20410C_05Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05gameaxt
1.8K views39 slides
Introduction to Computer Networking by
Introduction to Computer NetworkingIntroduction to Computer Networking
Introduction to Computer NetworkingAmit Saha
2.9K views90 slides

Similar to Infrastructure API Lightning Talk by Jeremy Pollard of box.com(20)

When DevOps and Networking Intersect by Brent Salisbury of socketplane.io by DevOps4Networks
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
DevOps4Networks1.1K views
IPv6 networking training sduffy v3 by Shane Duffy
IPv6 networking training   sduffy v3IPv6 networking training   sduffy v3
IPv6 networking training sduffy v3
Shane Duffy1.1K views
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2 by Adam Dunkels
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Adam Dunkels60.3K views
Microsoft Offical Course 20410C_05 by gameaxt
Microsoft Offical Course 20410C_05Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05
gameaxt1.8K views
Introduction to Computer Networking by Amit Saha
Introduction to Computer NetworkingIntroduction to Computer Networking
Introduction to Computer Networking
Amit Saha2.9K views
Addressing in networking (IP,MAC,Port addressing) by Geethu Jose
Addressing in networking (IP,MAC,Port addressing)Addressing in networking (IP,MAC,Port addressing)
Addressing in networking (IP,MAC,Port addressing)
Geethu Jose10.3K views
CCNA Industrial Training Presentation by Talvinder Singh
CCNA Industrial Training PresentationCCNA Industrial Training Presentation
CCNA Industrial Training Presentation
Talvinder Singh9.6K views
Uccn1003 -may10_-_lect01b_-_intro_to_network_devices_addressing by Shu Shin
Uccn1003  -may10_-_lect01b_-_intro_to_network_devices_addressingUccn1003  -may10_-_lect01b_-_intro_to_network_devices_addressing
Uccn1003 -may10_-_lect01b_-_intro_to_network_devices_addressing
Shu Shin1.2K views
Asynchronous design with Spring and RTI: 1M events per second by Stuart (Pid) Williams
Asynchronous design with Spring and RTI: 1M events per secondAsynchronous design with Spring and RTI: 1M events per second
Asynchronous design with Spring and RTI: 1M events per second
IPv6 Council: IPv6 on your servers; fun or frightening? by Digicomp Academy AG
IPv6 Council: IPv6 on your servers; fun or frightening? IPv6 Council: IPv6 on your servers; fun or frightening?
IPv6 Council: IPv6 on your servers; fun or frightening?
IPv6 on your servers; fun or frightening? - Swiss IPv6 Council meeting by RIPE NCC
IPv6 on your servers; fun or frightening? - Swiss IPv6 Council meetingIPv6 on your servers; fun or frightening? - Swiss IPv6 Council meeting
IPv6 on your servers; fun or frightening? - Swiss IPv6 Council meeting
RIPE NCC848 views
IT Networks and Vulnarabilities .pdf by PeterOwenje1
IT Networks and Vulnarabilities .pdfIT Networks and Vulnarabilities .pdf
IT Networks and Vulnarabilities .pdf
PeterOwenje16 views
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss by macslide
Stupid Boot Tricks: using ipxe and chef to get to boot management blissStupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
macslide5.7K views

Recently uploaded

NTGapps NTG LowCode Platform by
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
423 views30 slides
State of the Union - Rohit Yadav - Apache CloudStack by
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
297 views53 slides
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericShapeBlue
130 views9 slides
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...ShapeBlue
126 views10 slides
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...ShapeBlue
180 views18 slides
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
222 views7 slides

Recently uploaded(20)

NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu423 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue297 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue130 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue126 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue180 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue222 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue135 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li85 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue152 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue119 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue206 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue263 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue106 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue139 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10123 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue221 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue159 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker54 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue180 views

Infrastructure API Lightning Talk by Jeremy Pollard of box.com

  • 1. 1 What If Your Network Was Smarter Than You? Jeremy Pollard
  • 2. 2 Who Am I? • Jeremy Pollard • Network Engineer @ Box.com • SIGGRAPH2015 GraphicsNet Committee Chair • Automator • Lindy-Hop and Blues Dancer
  • 3. 3 Complete Network Overhaul Networks that grow organically don’t scale, news to no one.
  • 4. 4 Network Overhaul • Old design grew as needed ‒ Need a switch? Add a switch. ‒ Flat layer 2 design. ‒ Did not Scale. • New Design ‒ Greenfield! ‒ New hardware! ‒ New design! ‒ New Datacenter!
  • 5. 5 “ Let’s build a smarter network. Said everyone, everywhere.
  • 6. 6 How do we do this? What are we trying to solve?
  • 7. 7 We’re Network Engineers…
  • 8. 8 And We Like… • Standards • Specifications • Designing with scalability in mind • Repeatable patterns
  • 9. 9 And Yet We Still Have To Answer Questions Like… • Which IP address should I use? • Where is this host located? • Do you know how this device is supposed to be cabled? • Which port should I use? • Did you configure that new switch?
  • 12. 12 A Waste Of Time
  • 13. 13 Cost The Company $$$
  • 14. 14 How Did Box Approach This? By thinking outside the Box… HA! Get it?! *crickets*
  • 15. 15 New Network Design In 30 seconds or less • Core / Agg / ToR model • Fully routed to the ToR • Two ToRs per cabinet • Pattern based port assignment • Mathematically generated ‒ IP addresses ‒ Hostnames ‒ VLANs • ID numbers to indicate Datacenter, Pod, Cabinet ‒ More on this later!
  • 16. 16 For Every Pair of ToRs • Over 300 pieces of unique information ‒ IP addresses/subnets ‒ Pinned routes ‒ Radius / Logging / NTP / etc servers ‒ Interface descriptions • ~180 DNS records • Cabling instructions ‒ 8 upstream port assignments ‒ 2 Serial consoles ‒ 2 management ports
  • 19. 19 Time to build a smarter network
  • 21. 21 Infrastructure API • HTTP based REST API • All things IP / Network / Datacenter • Single source of truth
  • 22. 22 It’s our design specification
  • 23. 23 It’s our design specification Implemented in code
  • 24. 24 Infrastructure API • IP address management for network devices and hosts ‒ In-band and Out-of-Band • Hostname generation • DNS registration • Generates all 300 unique pieces of info for ToR provisioning • Generates physical cable mappings and port assignments • Host to Security zone mapping • Provide network information for a given IP • Provide physical location for a given IP
  • 25. 25 Infrastructure API • Returns JSON objects • Easily integrates into token-based templates ‒ Full text configuration ‒ Cabling instructions • Can be easily integrated into other services
  • 26. 26 How Does It Work?
  • 27. 27 Fundamentals First • Procedurally Generated • Single Seed • Remember the IDs? ‒ Datacenter ‒ Pod ‒ Cabinet ‒ Host Type (Production side only) ‒ Rack-u (Out-of-Band side only) 0001010.10101000.10100001.00010100 Static Datacenter Pod Cab Type Host
  • 28. 28 Seeds • IP - > Datacenter / Pod / Cabinet / Type IDs • IDs - > Everything Else ‒ $cab_count = ($MAX_POD_SIZE * $pod_id - 1 ) + $cab_id ‒ $hostname = sprintf(‘tsw%02d’, $cab_count) ‒ $serial_server_number = $cab_count / 32 + 7($pod_id - 1) + 4 ‒ $serial_port_number = 33 + (($cab_count - 1) % 32) / 2 • And so on…
  • 29. 29 New Switch Provisioning A Use Case
  • 30. 30 In The Datacenter • DC Tech enters rack information to get cabling specifications for the cabinet
  • 31. 31 Once Racking and Cabling is Complete: • Manually Configure the management IP address ‒ This will be our seed! ‒ We’re working on DHCP… • Download provision.sh to the switch and execute. ‒ Downloads latest EOS ‒ Detects management IP ‒ API Call: device_config with management IP as the argument ‒ Infrastructure API generates the config ‒ Config is then saved to startup-config ‒ API Call: register_dns with management IP as the argument ‒ Infrastructure API calls our DNS API to register all records ‒ Download first_boot.sh ‒ Reboot device
  • 32. 32 After Reboot • first_boot.sh executed 2 minutes after boot • API Call: inventory_update ‒ Inventory API scans the device collecting: ‒ Hostname ‒ Serial Numbers ‒ Interface IP Addresses ‒ Interface States • Success!! ‒ Switch successfully provisioned ‒ Automatically added to monitoring
  • 34. 34 Other uses? • Core / Datacenter teams host provisioning ‒ Host IP address assignment ‒ Hostname generation / DNS registration • Hadoop rack awareness • Assists in automating inventory audits ‒ Physical / logical mappings ‒ Host locating • If you build it, they will come.
  • 35. 35 Humans are still needed… Right? Right?!
  • 36. 36 You Bet! • All those IDs need to be defined – Thankfully it’s crazy easy! • YAML based data structure • Datacenters are assigned pods • Pods exist in cages • Pods are assigned Cabs • Etc…
  • 37. 37 We’re just not answering these questions anymore… • Which IP address should I use? • Where is this host located? • Do you know how this device is supposed to be cabled? • Which port should I use? • Did you configure that new switch?
  • 38. 38 “ This sounds great! But what are the potential problems? - Said anyone still paying attention
  • 39. 39 Problems… • Screw up ID allocation • DC Tech cabled devices incorrectly or incorrect physical location • Need to move an existing cab to another pod • Bugs!
  • 40. 40 What’s Next? To the future!!
  • 41. 41 Yet To Come • Get DHCP working for management addresses • Dynamically generate topology diagrams ‒ Graphviz ‒ D3 ‒ Take your pick • Automated validation of link health ‒ Up / Down ‒ Light levels ‒ Db loss