Preface
For diagrams, tables, or exact code formatting, .
Microsoft Team Foundation Server (TFS) is a modern source code management system with a built-in reporting engine. Traditionally, TFS has been used for software development and storing application code. From this code software can be built, tested, and released. This book demonstrates how network administrators and operators can now leverage the power of TFS. Moving forward TFS will be the source code repository and is a key part of the branching strategy. Moving all the network configurations into TFS immediately brings the value of source and version control.
Some key features of TFS include:
The ability to track changes to code. Easily identify when and what configurations changed and by which developer. The ability to create new branches to isolate changes in development from live production configurations / code. The CI/CD delivery pipeline. Git https://git-scm.com/ Git is a distributed version control system. Git is very lightweight, portable, and integrates with TFS. Git is referenced often in this book and is a key foundational element of automating a network. Git is very easy to learn yet extremely powerful. By using Git, version control over the network configurations becomes a reality. Git commit history makes it easy to understand exactly what changed, under what branch, and by which developer. Configurations can also be rolled back to a previous point-in-time.
Linux https://www.linux.org/ Any flavor of Linux can be used to run Ansible. This book focuses on Ubuntu, however Ansible support is not limited to this version of Linux. Fully supported releases of Red Hat Enterprise Linux and Red Hat Ansible Engine are available for enterprises. Ansible will be installed on this Linux system and needs to be able to Secure Shell (SSH) to the network devices being automated. Keep this in mind when placing the Linux system onto the network.
Ansible https://www.ansible.com/ Ansible is an open source automation framework that provides agentless connectivity agnostically throughout the enterprise. The focus of this book is the network automation capabilities of Ansible. Windows or Linux server administrators, load-balancer or firewall administrators, and application developers can all use Ansible. Ansible has many more capabilities that exceed the scope of this book. “Automate Your Network” primarily focuses on the Cisco IOS modules used to interface with Cisco Catalyst switches.
One thing worth noting is that Ansible is not a programming language but rather a framework of tools written in Python; not Java or C++ for the network.
