0% found this document useful (0 votes)
153 views32 pages

Himawan Nugroho Bagaimana Network Engineer Jaman Now Melakukan Otomasi Di Masa Pandemi ID

The document discusses how network engineers at companies like Google are automating network operations through software-defined networking and intent-based networking, which use centralized control planes, APIs, and workflows to programmatically configure networks based on high-level business intents rather than manual device-level configurations. It notes that automation has become essential for reliably managing the vast scale of today's internet networks.

Uploaded by

Bang Anime
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
153 views32 pages

Himawan Nugroho Bagaimana Network Engineer Jaman Now Melakukan Otomasi Di Masa Pandemi ID

The document discusses how network engineers at companies like Google are automating network operations through software-defined networking and intent-based networking, which use centralized control planes, APIs, and workflows to programmatically configure networks based on high-level business intents rather than manual device-level configurations. It notes that automation has become essential for reliably managing the vast scale of today's internet networks.

Uploaded by

Bang Anime
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Bagaimana Network Engineer

Jaman Now (Seperti di Google)


Melakukan Otomasi
Di Masa Pandemi

Himawan Nugroho
About The Speaker
Google Global Networking
Product and Program Manager
IoT Automation and Data Insights platform

Google for Startup Accelerator (GfSA)


Google Mentor and Startup Success Manager

Google Cloud
Strategic Program Manager for Africa

Jawdat Teknologi Indonesia


Founder and Chief Product Advisor
Automation Software and Data Analytic Platform
for Telco Operators and Enterprise Customers

Former speaker at Cisco Live global events


War Robots clan leader
Living in Zürich, Switzerland
Disclaimer

This is NOT a Google official presentation


Opinions are my own
Covid-19 Impacts to the Internet

Source: Internet performance during the COVID-19 emergency Source: The Virus Changed the Way We Internet
The Internet Before Covid-19 Was Already Big

4 Billion+ global Internet users


1 Billion Hours of YouTube video watched per day
2 Billion+ monthly active Facebook users
3.5 Billion global smartphone users
20 Billion+ connected devices
Average Internet speed in the US: up from 3 Mbps in 2007 to 20 Mbps in 2017
What Makes The Internet?

Source: Internet service provider

Source: Internet Mapping Project


Source: High Availability Campus Network Design

Source: Submarine Cable Map


We Actually Need Solution Even Before Covid

Add New Device


Build New Site
Increase Link Capacity
Redirect Traffic on WAN Links
Modify Device Configuration
Change Security Policy on Device
Implement Quality of Services
Software Upgrade
Hardware Replacement Source: A technician pulling on a tangled mess of CAT 5 cables

And many other daily tasks


Automation is Inevitable

Source: The Business Impact of Network Automation

“Automation is a matter of survival in the scale-out world, not a luxury.”


- Bikash Koley, VP of Google Global Networking
Source: NANOG Keynote: Bikash Koley
Is Software Defined Networking the Answer?

“SDN happened because we have no other way to manage the network system at scale”
- Bikash Koley, VP of Google Global Networking
Source: NANOG Keynote: Bikash Koley
Software Defined Networking at Google

Source: NANOG Keynote: Amin Vahdat


Reliable Network System Requirements

Software makes the system reliable


The system is
● Built on common software platform
● Abstracted via APIs and well-defined data-models
● Programmable at every layer
● With clear separation between data-plane, control-plane and management plane
i.e. the system is software defined
Source: NANOG Keynote: Bikash Koley
Intent Based Networking, as per Gartner

Translation and Validation – The system takes a higher-level


business policy (what) as input from end users and converts it to the
necessary network configuration (how). The system then generates
and validates the resulting design and configuration for correctness.

Automated Implementation – The system can configure the


appropriate network changes (how) across existing network
infrastructure. This is typically done via network automation and/or
network orchestration.

Awareness of Network State – The system ingests real-time


network status for systems under its administrative control, and is
protocol- and transport-agnostic.

Assurance and Dynamic Optimization/Remediation– The system


continuously validates (in real time) that the original business intent of
Source: Intent-based Networking the system is being met, and can take corrective actions (such as
blocking traffic, modifying network capacity or notifying) when
desired intent is not met.
Intent Based Networking at Google

Source: SDN in the Management Plane: OpenConfig and Streaming Telemetry


From Intent to Config Change, The Old Way

“Connect Border Router to ISP”


Device State of
Which Which Device
Inventory device to
physical
circuit? change?
Circuit
Inventory How the
topology Is the
looks like? device up?
Network
Topology Plan of
Which port Change
to use? Network Engineer South Bound Protocol e.g. SSH Network Devices
Design
Rules
Which IP Which ACL
address to to enforce?
IP
Database use?
Any config
Retrieve Data template
Config Any routing
/ Information to use?
Template policy to
from Multiple
use?
Data Sources ACL Routing
Policy Policy
From Intent to Config Change, The Old Way (2)

“Connect Border Router to ISP”


Has the State of
Device change
Inventory Device
completed?
Circuit
Inventory

Network
Topology

Design Network Engineer Network Devices


Rules

IP
Database
Update Data
Sources with Config
Information Template
(if there is
ACL Routing
anything new) Policy Policy
Source of Truth

“...is the practice of structuring information models and associated data schema
such that every data element is mastered (or edited) in only one place. Any possible
linkages to this data element (possibly in other areas of the relational schema or even
in distant federated databases) are by reference only.”

Source: https://en.wikipedia.org/wiki/Single_source_of_truth
If Only All Data Sources Are Machine Readable

“Connect Border Router to ISP”


Device State of
Inventory Device

Circuit
Inventory

Network
Topology

Design SB Protocol Network Devices


Rules Network Automation Platform

IP
Database

Retrieve Data Config


/ Information Template
from Multiple
Data Sources ACL Routing
Policy Policy
Workflow Engine to Automate… Workflows

Workflow (noun): the sequence of industrial, - name: Network Getting Started First Playbook Extended
connection: ansible.netcommon.network_cli
administrative, or other processes through which a gather_facts: false
hosts: all
piece of work passes from initiation to completion. tasks:

- name: Get config for VyOS devices


vyos.vyos.vyos_facts:
gather_subset: all

- name: Display the config


debug:
msg: "The hostname is {{ ansible_net_hostname }} and the
OS is {{ ansible_net_version }}"

- name: Update the hostname


:
vyos.vyos.vyos_config
backup: yes
lines:
- set system host-name vyos-changed

- name: Get changed config for VyOS devices


vyos.vyos.vyos_facts:
gather_subset: all

- name: Display the changed config


debug:
msg: "The new hostname is {{ ansible_net_hostname }}
and the OS is {{ ansible_net_version }}"

Source: Red Hat Ansible Network Automation Updates


Machine-Readable Source of Data: IP Address

$ curl --url "http://localhost/gestioip/api/api.cgi" -u gipadmin:xxxxxx


-d"request_type=listHosts&client_name=DEFAULT&filter=hostname::test1"

<?xml version='1.0' encoding='UTF-8'?>


<listHostsResult>
<error>
</error>
<HostList>
<Host>10.0.3.4,test1,Lon1,server,,,</Host>
<Host>10.100.3.4,test1,Lon1,server,,</Host>
<Host>192.168.7.93,test1,Lon2,workstation,,,</Host>
</HostList>
</listHostsResult>

Source: GestióIP IPAM v3.5 API Guide


Machine-Readable Source of Data: Topology
$ ./netgrph.py -p 10.26.72.142 10.34.72.24

┌─[ PATHs L2-L4 ]



├── L2 Path : abc7t1sw1 (Gi2/42) -> abc7t1sw1 (Gi1/38)
├── L3 Path : 10.26.72.0/22 -> 10.34.72.0/22
├── L4 Path : VRF:default -> FwutilFW -> VRF:utility
├── Lx Path : 10.26.72.142 -> 10.34.72.24
├── Traversal Type : All Paths

├─────[ SRC 10.26.72.142 04bd.88cb.xxxx abc7t1sw1(Gi2/42) [vid:260] ]

├───┬─[ L2-PATH abc7t1sw1 -> abcmdf1|abcmdf2 ]
│ │
│ ├─────[ L2-HOP #1 abc7t1sw1(Te5/1) -> abcmdf1(Eth1/8) [pc:1->108] ]
│ │
│ └─────[ L2-HOP #1 abc7t1sw1(Te6/1) -> abcmdf2(Eth1/8) [pc:1->108] ]

├─────[ L3GW 10.26.72.0/22 abcmdf1|abcmdf2 ]

├───┬─[ L3-PATH 10.26.72.0/22 -> 10.25.11.0/24 ]
│ │
│ ├───┬─[ L3-HOP #1 abcmdf1(10.23.74.11) -> core1(10.23.74.10)
[vid:2074] ]
│ │ │
│ │ └─────[ L2-HOP #1 abcmdf1(Eth2/26) -> core1(Eth7/27) ]
│ │
│ ├───┬─[ L3-HOP #1 abcmdf1(10.23.74.21) -> core2(10.23.74.20)
[vid:3074] ]
│ │ │
│ │ └─────[ L2-HOP #1 abcmdf1(Eth3/8) -> core2(Eth4/25) ]
│ │
Source: https://guides.neo4j.com/gcloud-testdrive/network-management.html │ ├───┬─[ L3-HOP #1 abcmdf2(10.23.78.11) -> core1(10.23.78.10)
[vid:2078] ]
Source: https://github.com/yantisj/netgrph │ │ │
│ │ └─────[ L2-HOP #1 abcmdf2(Eth2/26) -> core1(Eth8/25) ]
│ │
│ └───┬─[ L3-HOP #1 abcmdf2(10.23.78.21) -> core2(10.23.78.20)
[vid:3078] ]
│ │
│ └─────[ L2-HOP #1 abcmdf2(Eth3/8) -> core2(Eth8/25) ]

How We Interact With Network Devices

The Dark Ages Current day Intent Driven Target

Platform-specific Some abstraction, tools Common management


tools, processes, skills sharing, simplification API, no proprietary
integrations, native
common interface / support on all vendors
language
JNPR ANET CSCO
tools tools tools
JNPR ANET CSCO common API
driver driver driver
OpenConfig for Config and Operational State
OpenConfig Data Models: YANG

module openconfig-bgp {
container bgp {
leaf as-number { type uint32; }
YANG: Schema definition language
list neighbors { divided into logical modules
key “neighbor-address”;
leaf neighbor-address { type leafref { …. } } Defines a tree structure where
container config { ‘containers’ and ‘lists’ encapsulate data
leaf neighbor-address { type string { … } }
}
items
container state {
config false; Data items (leaves) are typed, and can
leaf session-state { contain data such as default values
type enumeration { enum ESTABLISHED; … }
}
} Used to model both ‘configuration’
} (writeable) and ‘state’ (read-only) data
}
}
Same OpenConfig for Streaming Telemetry

Step 2 -- more complete data Step 3 -- OpenConfig data


Step 1 -- from pull to push
over gRPC channel over gNMI

Proprietary data over Proprietary data over gNMI transport with


proprietary transport, gRPC transport, OpenConfig schema
partial coverage increased coverage
Collectors Collectors Collectors
Translation Proxy Translation Proxy
When We Have a Model As Source of Truth
Google Path to Autonomous and Intent Driven

Source: NANOG Keynote: Bikash Koley


Where are the Network Engineers?

“People manage systems which manage devices”

Source: Senior Network Engineer, Enterprise Networks


Network Automation is Built Over Time

Network Engineers must develop skills to be able to automate task, to Intent Based Networking
How to Become Network Engineer Jaman Now

Networking Skills (Vendor Agnostic)


Linux OS
GIT or mechanism to manage source code
Data Model, Data Structure and Data Format
API, at least REST
Linux scripting, if possible Python
Software development environment & process
Network Virtualization
Cloud Networking
Network as a System
Treat network as cattle not pets
Certifications?

Source: Cisco Certified DevNet Associate


How to Start Network Automation Project

Always start from business problem


Pick one specific use case
It’s all about people (culture), process and tools
Network data sources are the assets
Work with trusted partner

“Bikin software otomasi network itu berat,


biar Jawdat saja” - Dilan 2020
Questions?

You might also like