Network Automation with Go
Published by Pearson
Building High-Performance Tools and Applications that Leverage the Power of Go
Network Automation with Go provides a path to building scalable and high performing network automation tools for enterprise, service provider and data center networks. This course guides attendees through Go programming language features, including concurrency, data serialization techniques, and socket programming, to build skills that help them interact with network elements and automate operations and tasks across the network infrastructure.
Over the past few years, there has been an enormous amount of focus on reducing operation expenses (OPEX) and minimizing large scale network impacts through automation. Though Python has been on the front seat of network automation, Go programming language can help the network engineers as well as organizations to build automation tools that could be well suited for the scale of their network, irrespective of the network being an Enterprise, Service Provider or a Data Center network.
Some of the biggest challenges faced by DevOps engineers when developing automation tools and applications in Python are:
- Quality of code
- Concurrency
- Slower application performance
All these challenges are addressed by default with Go programming language. This course will help the students learn not only about Go programming language and its features but also how they can leverage packages and features available in Go to build highly scalable and optimized multi-threaded network automation tools and applications while delivering high performance.
What you’ll learn and how you can apply it
By the end of the live online course, you’ll understand:
- Topic 1: Overview of Go Programming Language
- Topic 2: Writing efficient code with the Go programing language
- Topic 3: Concurrency with the Go programing language
- Topic 4: Socket Programming using the Go programing language
- Topic 5: Leveraging gPRC
- Topic 6: Using Gornir Package to automate network
And you’ll be able to:
- Understand the basics of Go programming language
- Build Concurrent applications using the Go programing language
- Using socket programming to interact with network elements
- Use Gornir package to automate network devices
This live event is for you because...
- Training is for intermediate to advanced learners
- Desired audience – DevOps Engineers, Network Automation Engineers, Network Engineers, - Network Architects, Network Operations Engineers, Network Development Engineers
Prerequisites
- Prior knowledge of Python or Go programming language is recommended though not mandatory.
- Prior knowledge of basic networking is mandatory.
Recommended Preparation
- Watch: William Kennedy’s Ultimate Go Programming, Live Lessons Second Edition https://learning.oreilly.com/videos/ultimate-go-programming/9780135261651/
- Read: Mihalis Tsoukalos’ Mastering Go - Third Edition https://learning.oreilly.com/library/view/mastering-go/9781801079310/
Recommended Follow-up
- Read: Ivo Pinto’s Network Automation Made Easy https://learning.oreilly.com/library/view/network-automation-made/9780137506729/
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Segment 1: Golang Fundamentals (70 minutes)
- Why Go programming language
- Writing code in Go
- Basic programming Constructs in Golang
Break (10 minutes)
Segment 2: Go Concurrency (30 minutes)
- Understanding Go Concurrency
- Building multi-threaded applications using Go
Break (10 minutes)
Segment 3: Network Programming (50 minutes)
- Socket Programming using Go
- gRPC Overview
Break (10 minutes)
Segment 4: Gornir (60 minutes)
- Overview of Gornir Package
- Installing packages in Go (Gornir)
- Network Automation using Gornir
Your Instructor
Vinit Jain
Vinit Jain, CCIE No. 22854 (R&S, SP, Security & DC), is a CTO / Principal Engineer at Iraitech Innovations & Technologies Pvt. Ltd. Prior to that, he was working as a Sr. Technical Leader for Network Engineering at Cisco focusing on architecting network infrastructure for edge computing solutions. He also worked as a Network Development Engineer at Amazon as part of Amazon’s backbone network operations team and as a technical leader at Cisco Technical Assistance Center (TAC), providing escalation support in routing and data center technologies. Vinit is a speaker at various networking forums, including Cisco Live! events. He has co-authored several Cisco Press books, Apress Books, and video courses with Cisco Press. In addition to his CCIEs, Vinit holds multiple certifications related to programming and databases, and he is also a CEH. Vinit graduated from Delhi University in mathematics and earned a master's in information technology from Kuvempu University in India. Visit Vinit's youtube channel to learn more.