01 Intro To Network Programming and Automation
01 Intro To Network Programming and Automation
Foreword
• Networks are evolving to be more open, more flexible, and simpler. Huawei's vision is to help
customers build intent-driven networks (IDNs).
Page 1 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
1
10/19/2024
Objectives
Upon completion of this course, you will be able to describe:
▫ Background of network programming and automation.
Page 2 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
Contents
1. Network Programming and Automation
3. Course Overview
Page 3 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
2
10/19/2024
▫ There are various network devices such as routers, switches, firewalls, and intrusion detection system (IDS).
▫ Devices from different or even the same vendors are managed in different ways.
Page 4 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
• Software defined networking (SDN) brings about network architecture transformation. It introduces a network controller to
implement centralized control from a global perspective, achieving objectives such as fast service deployment, traffic
optimization, and network service openness.
NBI
Service
Controller layer
orchestration
SBI
Page 5 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
3
10/19/2024
Network automation
Chef keywords SaltStack
NMS tool
Shell
Page 6 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
Page 7 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
4
10/19/2024
• In the early stage of SDN commercial use and in the future, traditional networks and SDN networks will coexist on a large scale.
Network openness is implemented at two levels: device openness and SDN platform openness.
RESTful API
Page 8 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
Intent
Design Conversion
Verification
Intent engine
Automation Analytics
Management unit Control unit Analysis Decision
Sensing
making
Automation engine
Analytics engine
Page 9 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
5
10/19/2024
Contents
1. Network Programming and Automation
3. Course Overview
Page 10 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
• Network automation engineers for network programming and automation must be all-rounders who
master skills of these positions to some extent. This part introduces capability requirements on
network automation engineers and how to implement network programming and automation.
Page 11 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
6
10/19/2024
Page 12 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
Team Process
Business etiquette
collaboration specification
Service Industrial
Values
management knowledge
Service Presentation Engineering
consciousness capability knowledge In addition to basic network technologies,
Information
Problem solving
Product network automation engineers need to master
search knowledge
Learning ability
Communication Technical development-related technology, product, and
competence knowledge
engineering knowledge.
Basic qualification Professional skills Expertise
Page 13 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
7
10/19/2024
Expertise
• The expertise of network automation engineers must be all-rounders who master skills of network
engineers, system engineers, and development engineers to some extent, including but not limited to
the following capabilities:
Source code management Source code control to help developers manage and store code
Operating system (OS) Understanding the basic principles and mechanism of the OS
Network technology A good command of basic network protocol principles and network engineering technologies
Open network architecture A good command of the data structure and resource structure of open networks
Other professional knowledge Other related professional knowledge, such as database knowledge
Page 14 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
Learning Objectives
• This course focuses on the following capabilities of network automation engineers:
OS N/A
XML/JSON, Huawei NCE northbound RESTful API, and Huawei NCE service openness and
Open network architecture programmability
Page 15 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
8
10/19/2024
Contents
1. Network Programming and Automation
3. Course Overview
Page 16 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
Basic programming knowledge, Network programming and Network automation course module Course module based on the NCE
including: automation course module based on based on the northbound openness service open programming function,
device openness capabilities and capability of Huawei NCE, including: including:
• Python basics
Python practices:
• REST and RESTful • Jinjia2
• Python advanced
• SSH
knowledge • HTTP/HTTPS • Compilation of an NE driver
• SNMP package
• Source code management • RESTful invocation tools
• NETCONF/RESTCONF • Compilation of a service driver
• Scenario-based invocation
package
• Telemetry practice (campus network and
DCN) • Scenario-based service
• Huawei device OPS
provisioning practices and NBI
invoking
Page 17 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
9
10/19/2024
Python Overview
• Python is a fully open-source high-level programming language. It was created by Guido van Rossum.
In addition to language advantages, Python has abundant third-party libraries. Therefore, Python can be used in many
fields, such as AI, data science, apps, and automatic O&M scripts.
Page 18 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
Page 19 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
10
10/19/2024
• The following figure shows the open capabilities of Huawei network devices. This course module focuses on how to use Python
modules.
Python code
#!/usr/bin/env python
...
Page 20 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
• Huawei iMaster NCE includes controllers and provides northbound RESTful APIs. This course module focuses on how to use
tools to invoke NCE NBIs.
RESTful API
Network devices
Page 21 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
11
10/19/2024
YANG
SND) and a service driver package (specific service plugin,
SSP
SSP) to implement the following functions:
Service callback logic Python
▫ Multi-vendor device management
Page 22 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
Summary
• Network programing and automation is to use programming methods to implement
automated networks on the premise of open networks. Network openness is implemented at
two levels: device openness and SDN platform openness.
• This course consists of four modules: programming basics, device openness and
programmability, NCE northbound openness, and NCE service openness and
programmability. Next, let's learn network programmability.
Page 23 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
12
10/19/2024
Thank
谢 谢You
www.huawei.com
Page 24 Copyright © 2020 Huawei Technologies Co., Ltd. All rights reserved.
13