network automation at shapeways
TRANSCRIPT
![Page 1: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/1.jpg)
Network Automation at ShapewaysDecember 6th, 2016
![Page 2: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/2.jpg)
Carl Caum: Sr. Technical Marketing Manager at Puppet
Martín Beauchamp: Site Reliability Engineer at Shapeways
Paul Hortiatis: Site Reliability Team Lead at Shapeways
Speakers
![Page 3: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/3.jpg)
Every company is a software company.
![Page 4: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/4.jpg)
It feels like a breaking point.
![Page 5: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/5.jpg)
Change is necessary.
![Page 6: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/6.jpg)
We help great companies:Become great software companies
Deliver fantastic experiences to their usersProvide better software, faster
And do it simply, at scale and securely
![Page 7: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/7.jpg)
Automate for speed, reliability and security
Define with a common language
Gain situational awareness
Orchestrate change intelligently
Ensure security & compliance
What’s needed to deliver and operate modern software simply, at scale and securely
Across devices, through the stack
![Page 8: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/8.jpg)
Define with a common language
● Easy to read, understand, write & share
● Write once, use everywhere
● Testing built in
● No code clobbering
● Choose from thousands of free modules, backed by a vibrant ecosystem
Standard way for teams to deliver and operate software
Puppet code example
![Page 9: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/9.jpg)
Gain situational awareness
● Real-time change visibility
● Unique dependency visualizations
● Continual drift monitoring and reporting
● Audit and compliance reporting
● Built-in, custom and 3rd party visualizations
Know exactly what is going on with all your software
Event inspection in Puppet Enterprise
![Page 10: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/10.jpg)
Cumulus Linux
![Page 11: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/11.jpg)
Cumulus Linux
Native Linux Operating Model
Robust Hardware Ecosystem
Extensible Automation Ready
Cumulus Linux is a native Linux Network OS that is deeply rooted in Debian.
![Page 12: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/12.jpg)
Network Management with Puppet and Cumulus LinuxManage switches like servers
![Page 13: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/13.jpg)
Networking before DevOps
Siloed Teams Siloed tools and processes
Slow collaboration and limited information
sharing
Different processes and tasks for provisioning vs
ongoing management
Siloed, slow, and costly
![Page 14: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/14.jpg)
Networking with Puppet
Unified teams
Puppet’s common language and tooling provides a single source
of truth to enable IT teams to unify the way they work
Unified processes
Making changes that span network and compute are made with the same change process
and tools.
Unified and efficient
Increased collaboration
Anyone can contribute to the infrastructure code base and
anyone can see how any part of the infrastructure is being
managed.
Unify Day 1 to Day 100
The same code that provisions the switch configuration also continuously monitors and
remediates the configuration.
![Page 15: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/15.jpg)
The Automation Advantage
Ordering/Delivery
Days/Weeks Hours/Days(Manual)
ProductionPhysical Install
Ordering/Delivery ProductionPhysical Install
ONIEBoot
CLInstall
Agent PullInstall Config
Manually Install
Manually Configure
The New Way
Seconds/Minutes (Automated)
Days/Weeks
The Traditional Way
Ordering/Delivery Production
Ordering/Delivery Production
AutomatedConfigure
AutomatedInstall(ONIE BOOT)
Continuous
DriftManagement
DriftManagement
Manual/Custom
![Page 16: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/16.jpg)
A 3D printing marketplace where you can design, make, buy and sell amazing products
![Page 17: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/17.jpg)
Challenges
● Limited networking team size
● Fast evolving infrastructure - networking wasn’t always top priority
● Vendor hardware wasn’t suitable for rapid change or didn’t have the desired capabilities
17
![Page 18: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/18.jpg)
Goals
● Manage the network like we manage our servers
● Leverage existing Linux expertise
● Cultivate DevOps culture
●Reliability
● Scalability
18
![Page 19: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/19.jpg)
Why Puppet
● Maturity of the solution
● Existing knowledge
● Flexibility
19
![Page 20: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/20.jpg)
Why Cumulus Linux
● It was Linux, and we know Linux
● Well supported by other tools already in place
● Improved reliability with Routing on the Host
● Network agility and lower risk of change
Cumulus’ Linux based OS and wide range of hardware support meant we could use the expertise we already had to have a successfully managed network.
20
![Page 21: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/21.jpg)
Remove Operational Complexity
● Puppet code is portable between environments
● Puppet modules house reusable abstractions for underlying system configurations
● Puppet modules provide simple interfaces with controls we care about
● OS differences are handled behind the abstraction interface
● Hiera and data bindings enable simplified interfaces
Puppet enables us to build abstractions to complex implementations so we can focus on the controls we care about and reuse the implementation in as many places as necessary.
21
![Page 22: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/22.jpg)
How We Did It
22
● Automated network topology is generated, starting with the network leafs (servers)
● Children configure their parent
● In-house developed build script builds the connection configuration for the switch
"swp49": parent: "r1-spine" port: "swp1" "swp50": parent: "r2-spine" port: "swp1"
p2p1: parent: r3-leaf-a port: swp44p3p1: parent: r3-leaf-b port: swp44
p2p1: parent: r3-leaf-a port: swp43p3p1: parent: r3-leaf-b port: swp43
p2p1: parent: r3-leaf-a port: swp42p3p1: parent: r3-leaf-b port: swp42
"swp49": parent: "r1-spine" port: "swp1""swp50": parent: "r2-spine" port: "swp1"
![Page 23: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/23.jpg)
The Rollout
● Rolled out with a datacenter migration● The second datacenter went smoother
because we codified what we learned from the first migration
23
![Page 24: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/24.jpg)
Gotchas
● Don’t assume that networking works the same between similar OSes, or even different versions of the same OS
● Don’t take on too much at once● Finish and validate your current
change before moving on to the next one
24
The DevOoops
![Page 25: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/25.jpg)
Where Are We Now?
● Puppet manages all of our switches
● Network configs are versioned in Git and proposed changes get team review
● Our network is fast and reliable
25
![Page 26: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/26.jpg)
Questions?
![Page 27: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/27.jpg)
![Page 28: Network Automation at Shapeways](https://reader033.vdocuments.net/reader033/viewer/2022042706/587495161a28abc62f8ba749/html5/thumbnails/28.jpg)