Share E-Book
Scan to open this page

Scan with your phone to open this page

AuthorMatt Oswalt, Christian Adell, Scott S. Lowe, Jason Edelman

Network engineers are finding it harder than ever to rely solely on manual processes to get their jobs done. New protocols, technologies, delivery models, and the need for businesses to become more agile and flexible have made network automation essential. The updated second edition of this practical guide shows network engineers how to use a range of technologies and tools, including Linux, Python, APIs, and Git, to automate systems through code. This edition also includes brand new topics such as network development environments, cloud, programming with Go, and a reference network automation architecture. Network Programmability and Automation will help you automate tasks involved in configuring, managing, and operating network equipment, topologies, services, and connectivity. Through the course of the book, you'll learn the basic skills and tools you need to make this critical transition. You'll learn • Python programming basics: data types, conditionals, loops, functions, classes, and modules • Linux fundamentals to provide the foundation you need on your network automation journey • Data formats and models: JSON, XML, YAML, and YANG for networking • Jinja templating and its applicability for creating network device configurations • The role of application programming interfaces (APIs) in network automation • Source control with Git to manage code changes during the automation process • How Ansible, Salt, and StackStorm open source automation tools can be used to automate network devices • Key tools and technologies required for a Continuous Integration (CI) pipeline in network operations Tags

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 This practical guide equips network engineers with the essential skills—Linux, Python, APIs, Git, and automation tools—to transition from manual operations to code-driven network management, making it a must-read for anyone looking to modernize their career and infrastructure. 【Book Arc】 - **Opening (~0%–9%)**: Introduces the necessity of network automation and lays out the book's roadmap, covering everything from basic programming to advanced CI/CD pipelines and a reference architecture. - **Early (~9%–25%)**: Delves into the foundational shift toward software-defined networking (SDN) and disaggregated hardware, explaining concepts like OpenFlow, bare-metal switching, and Linux-based network operating systems (NOS). - **Early (~25%–34%)**: Provides a deep dive into Linux fundamentals, including distributions, file permissions, and core networking commands, establishing the OS as the bedrock for automation tasks. - **Middle (~34%–47%)**: Extends Linux networking knowledge to practical scenarios, covering interface configuration, bridging, and the building blocks for container networking, including namespaces and virtual Ethernet interfaces. - **Middle (~47%–53%)**: Explores containerization and orchestration, focusing on Kubernetes concepts like Pods and their ephemeral network identities, and introduces development environments and Git integration for managing code. - **Late (~53%–End)**: Covers advanced automation topics, including data formats (JSON, XML, YAML, YANG), templating with Jinja, the role of APIs, source control with Git, and the application of tools like Ansible, Salt, and StackStorm. It culminates in building Continuous Integration (CI) pipelines and a comprehensive network automation architecture. 【Key Takeaways】 - **Automation is no longer optional** (Opening): The complexity of modern networks and the demand for business agility make manual processes unsustainable, pushing automation to the forefront of a network engineer's skill set. - **Linux is the foundation of modern networking** (Early): Understanding Linux distributions, file permissions, and basic networking is crucial, as most network operating systems and automation tools are built upon it. - **SDN and disaggregation change the hardware game** (Early): Technologies like OpenFlow and bare-metal switching decouple hardware from software, offering vendor-neutral control and the flexibility to change network designs without swapping physical devices. - **Mastering Linux networking is key to containers** (Middle): Concepts like network namespaces, veth interfaces, and bridges are the building blocks for container networking, making a solid grasp of these fundamentals essential for working with Kubernetes. - **Kubernetes introduces ephemeral network identities** (Middle): Pods share a network namespace but have dynamic IP addresses, meaning architectures must not rely on directly addressing Pods; instead, higher-level mechanisms like Deployments manage their lifecycle. - **Data formats and templating are core automation skills** (Late): Proficiency in JSON, XML, YAML, and YANG, along with Jinja templating, is critical for creating flexible, reusable network device configurations. - **CI/CD pipelines bring software practices to networking** (Late): Implementing Continuous Integration, with peer review, build automation, and deployment validation, is essential for testing and safely deploying network changes at scale. 【Reading Tips】 - **Skim the early history and theory** (Early): The sections on SDN history and OpenFlow provide context but can be skimmed if you're already familiar with the concepts. Focus on the practical implications for modern network design. - **Deep-read the Linux and container chapters** (Early–Middle): These are foundational. Spend time hands-on with the commands and examples, as they directly support the more advanced automation topics later in the book. - **Pay close attention to the data formats and templating sections** (Late): These are practical skills you'll use daily. Work through the examples of JSON, YAML, and Jinja to understand how they apply to generating configurations. - **Treat the CI/CD and architecture chapters as a blueprint** (Late): Don't just read them; use them to design a small-scale automation project for your own environment. This will help you connect the individual tools into a cohesive workflow. 【Coverage Limits】 The excerpts provide a strong overview of the book's structure and key concepts, but they do not cover the detailed code examples, specific tool configurations, or the full content of the later chapters on APIs, Ansible, Salt, and StackStorm.
Excerpt 1
s for the Next-Generation Network Engineer Matt Oswalt, Christian Adell, Scott S. Lowe & Jason Edelman Understanding How Ansible Works ...
View in text
Excerpt 2
ware from one vendor and load software from another, should you choose to do so. In this case, administrators are offered the flexibility to change designs, ...
View in text
Excerpt 3
scuss in more detail in “Running Programs” on page 61). For a directory, though, it means the ability to look into and list the contents of the directory. Th...
View in text
Excerpt 4
d share the same network identity (IP address and hostname). Kubernetes accomplishes this by having multiple containers share the same network namespace—whic...
View in text
Excerpt 5
>>> exists = True >>> exists True >>> exists = true Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'true' i...
View in text
Excerpt 6
than or equal to 5. Example 7-12. Simple loop with counter // Simple loop that prints VLAN IDs in order from 1-5. It // accomplishes this by incrementing a c...
View in text
Excerpt 7
s really a prefix for the packages that the module contains. You’ll notice that a popular convention is to use the location of the Git repository containing ...
View in text
Excerpt 8
. This is a popular misconception about YANG. YANG is not a serialization format like JSON or XML, and you won’t see YANG syntax in a packet capture of an AP...
View in text
Tags
AI categories
Cloud NativeDevOpsBackend
network
ISBN: 1098110838
Publisher: O'Reilly Media
Publish Year: 2023
Language: English
Pages: 828
File Format: PDF
File Size: 9.7 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…