A Guide to Network Automation with Python and Ansible

A Guide to Network Automation with Python and Ansible

What is Ansible?

Ansible is a universal language, unraveling the mystery of how work gets done. Turn tough tasks into repeatable playbooks. Roll out enterprise-wide protocols with the push of a button.

An Introduction to Network Automation with Ansible

Ansible modules support a wide range of vendors, device types, and actions, so you can manage your entire network with a single automation tool. With Ansible, you can:

  • Automate repetitive tasks to speed routine network changes and free up your time for more strategic work
  • Leverage the same simple, powerful, and agentless automation tool for network tasks that operations and development use
  • Separate the data model (in a playbook or role) from the execution layer (via Ansible modules) to manage heterogeneous network devices
  • Benefit from community and vendor-generated sample playbooks and roles to help accelerate network automation projects
  • Communicate securely with network hardware over SSH or HTTPS

What is Python?

Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built-in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python’s simple, easy-to-learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms and can be freely distributed.

Skills Gained

This course teaches students to blend Python skillsets with Ansible through the lens of automating networks. Automation techniques for the most popular vendors (incl. Cisco, Juniper, Arista) will be subjects of study, however, students may request examples from vendors within their own environments. Topics begin with a focus on automating networks with Python. This skill set is then folded into a broadening understanding of automating with Ansible. By the conclusion of this course, Students will have programmatic experience automating enterprise-class networks, including writing custom Ansible modules with Python.

Who Can Benefit

Class is appropriate for those interested in automation, specifically network automation, and those looking to marry a Python and Ansible skill set.

  • Network Administrators
  • Ansible devs
  • Python devs
  • Administrators interested in Automation
  • Individuals interested in DevOps, specifically for networking

Prerequisites

  • Recommended Prerequisite: Python Basics (5 days)

Follow-on Courses

  • Recommended Follow up: Python for Network Automation (5 days)

Course Details

Day 01

Critical Python Catch Up & Review

Day 02

Python and Network Automation

Day 03

Critical Ansible Catchup & Review

Day 04

Blending Python and Ansible Skillsets

Day 05

Customizing Ansible with Python

To enroll, contact P2L today!

Unlock the Power os Python

Unlock The Power of Python

What is Python?

Opensource explains that Python is a popular general-purpose programming language that can be used for a wide variety of applications. It includes high-level data structures, dynamic typing, dynamic binding, and many more features that make it as useful for complex application development as it is for scripting or “glue code” that connects components together. It can also be extended to make system calls to almost all operating systems and to run code written in C or C++. Due to its ubiquity and ability to run on nearly every system architecture, it is a universal language found in a variety of different applications.

What is the Network Automation with Python course all about?

This intensive four-day hands-on training course is designed to help network engineers unlock the power of Python in combination with the programmability of modern networking systems. The class provides a start to finish the introduction to Python application programming for networking and network equipment. Students will learn about Python data types, program structure, functions, classes, and methods; will work with Git and understand distributed code management techniques; and will learn and use Python networking packages such as paramiko, netmiko pysnmp, and more.

Attendees will leave with a clear understanding of Python networking features and how to code with a wide range of third-party and vendor-specific libraries for controlling networking and network equipment. Students will gain hands-on experience with Python and network systems applications; will work with Cisco IOS, VMware NSX, and Arista EOS; and will learn how to use Ansible to automate network configurations.

Upon completion of the training, attendees will have the skills and information necessary to begin developing purpose-built Python applications to integrate with and control networking systems in an enterprise setting.

Delivery

Available for Instructor-Led (ILT) in-person/onsite training or Virtual Instructor-Led Training (VILT) delivery; Open Enrollment options may be available.

Who should attend?

Network Engineers

What attendees will learn?

This course is designed to help network engineers unlock the power of Python in combination with the programmability of modern networking systems.

  • Overview: functions, classes, I/O, creating programs
  • Python automated tests and continuous integration (CI)
  • Python networking packages
  • Cisco IOS, VMware NSX, and Arista EOS operations
  • Ansible for Networks

Prerequisites

Each attendee will require the ability to run a 64-bit virtual machine (provided with the course). Attendees must also have experience with networks and networking systems, as well as some programming experience.

What is the Comprehensive Data Science with Python course all about?

This programming data science training course teaches engineers, data scientists, statisticians, and other quantitative professionals the skills they need to use the Python programming language to analyze and chart data.

Skills Gained

All students will:

  • Understand the difference between Python basic data types
  • Know when to use different python collections
  • Ability to implement functions
  • Understand control flow constructs in Python
  • Handle errors via exception handling constructs
  • Be able to quantitatively define an answerable, actionable question
  • Import both structured and unstructured data into Python
  • Parse unstructured data into structured formats
  • Understand the differences between NumPy arrays and pandas data frames
  • Overview of where Python fits in the Python/Hadoop/Spark ecosystem
  • Simulate data through random number generation
  • Understand mechanisms for missing data and analytic implications
  • Explore and Clean Data
  • Create compelling graphics to reveal analytic results
  • Reshape and merge data to prepare for advanced analytics
  • Find test for group differences using inferential statistics
  • Implement linear regression from a frequentist perspective
  • Understand non-linear terms, confounding, and interaction in linear regression
  • Extend to logistic regression to model binary outcomes
  • Understand the difference between machine learning and frequentist approaches to statistics
  • Implement classification and regression models using machine learning
  • Score new datasets, evaluate model fit and quantify variable importance

Prerequisites

All attendees should have prior programming experience and an understanding of basic statistics.

Software Requirements

  • Anaconda Python 3.5 or later
  • Spyder IDE (Comes with Anaconda)

Data Science with Python Programming Training Outline

  • Base Introduction
  • Defining Actionable, Analytic Questions
  • Bringing Data In
  • NumPy: Matrix Language
  • Data Preparation with Pandas
  • Exploratory Data Analysis with Pandas
  • Exploring Data Graphically
  • Advanced Graphing with Matplotlib, Pandas, and Seaborn
  • Python, Hadoop, and Spark
  • Missing Data
  • Traditional Inferential Statistics
  • Frequentist Approaches to Multivariate Statistics
  • Machine Learning Approaches to Multivariate Statistics
  • Supervised Learning: Regression
  • Supervised Learning: Classification
  • Conclusion

Introduction to Python

This training course is an introductory level course designed for students who are new to the language and need to learn the basics as well as for students who have had some exposure and now want to take their skills to the next level by introducing new topics and reinforcing existing knowledge. After learning all the basics students progress to advanced features of the language and applying them to problem-solving. They access databases, connect to a C program, explore multi-threaded programming, and develop a simple GUI.

Skills Gained

  • Installing Python and writing basic scripts
  • Using built-in data structures
  • Using all flow control features
  • Reading and writing from and to files
  • Using Python’s extensive libraries and functions
  • Accessing databases
  • Connecting to C programs
  • Multi-threading
  • GUI development

Who Can Benefit

This class is designed for students new to Python, or for students who have some exposure and need to expand their understanding.

Prerequisites

Good computer skills and familiarity with basic programming concepts like variables, loops, and functions.

Course Details

Topics

Part 1: Basic Use

Chapter 1: Installation and Setup

Chapter 2: Getting Started

Chapter 3: Variables and Data Types

Chapter 4: Operators

Chapter 5: Control Structures

Chapter 6: Functions

Chapter 7: Exception Handling

Chapter 8: Simple File I/O

Chapter 9: Getting things done with modules and libraries

Part 2: Intermediate use

Chapter 1: Intermediate variables and operators

Chapter 2: Strings

Chapter 3: Functions

Chapter 4: Classes and Object-oriented Programming

Chapter 5: Persistence

Chapter 6: GUIs with Tkinter

Chapter 7: Numerical Processing

Chapter 8: Calling C code

Chapter 9: Threads in Python

To enroll, contact P2L today! 

Enhance Business Operations with Cloudera

Enhance Business Operations with Cloudera

About Cloudera

As per Talend, Cloudera is a software company that, for more than a decade, has provided a structured, flexible, and scalable platform, enabling sophisticated analysis of big data using Apache Hadoop, in any environment.

In 2008, key engineers from Facebook, Google, Oracle, and Yahoo came together to create Cloudera. The idea arose from the need to create a product to help everyone harness the power of Hadoop distribution software.

For years, Hadoop had helped businesses and other organizations store, sort, and analyze large volumes of data. Cloudera was launched to help users deploy and manage Hadoop, bringing order and understanding to the data that serves as the lifeblood of any modern organization.

Cloudera allows for a depth of data processing that goes beyond just data accumulation and storage. Cloudera’s enhanced capabilities provide the power to analyze data rapidly and easily while tracking and securing it across all environments. By using Cloudera’s comprehensive audits and lineage tracing, users can know where data originated and why it matters.

Why do businesses use Cloudera?

Talend explains, amid the new environment, Cloudera helps businesses:

  • Make their data more accessible and secure
  • Understand and respond to their customer’s needs and preferences
  • Save money and time on data storage, management, and retrieval
  • Reduce complexity, enabling a greater focus on research and development

What is the Cloudera University Security Training course about?

This course, which is offered exclusively through OnDemand, introduces experienced system administrators to some of the tools and techniques that Cloudera’s Solution Architects use to protect the clusters that our customers rely on for essential business operations.

Skills Gained

  • Describe security in the context of Hadoop
  • Assess threats to a production Hadoop cluster
  • Plan and deploy defenses against these threats
  • Improve the security of each node in the cluster
  • Set up authentication with Kerberos and Active Directory
  • Use permissions and ACLs to control access to files in HDFS
  • Use Apache Sentry to control data access
  • Perform common key management tasks
  • Use encryption to protect data in motion and at rest
  • Monitor a cluster for suspicious activity
  • Understand additional security considerations, including data governance and disaster recovery

Prerequisites

The course is intended for system administrators and those in similar roles. Prospective students should have a good understanding of Hadoop’s architecture, the ability to perform system administration tasks in the Linux environment, and at least basic exposure to Cloudera Manager. We recommend that students complete the Cloudera Administrator Training for Apache Hadoop course, or have equivalent on-the-job experience, before beginning this course.

No prior training or experience with computer security is required.

Course Details

  • Security Overview
  • Security Architecture
  • Host Security
  • Encrypting Data In Motion
  • Authentication
  • Authorization
  • Encrypting Data at Rest
  • Additional Considerations

To enroll, contact P2L today!