So a real world example of abstraction is aeroplanes.
A pilot flying an aeroplane from the UK to the US is not going to fly manually the whole way.
They're going to use autopilot that abstracts them from having to check all the sensors.
Now, in the old days they had to manually fly and then check every single sensor to make sure that
they were flying.
Okay, so check the altitude, make sure that their altitude is right.
They had to check that.
And I'm not a pilot, so I don't know all the values, but that constantly check all the sensors to
make sure that everything was okay.
But with autopilot they can say, okay, we want to set the direction of flight from here to there at
such an altitude.
And then autopilot just takes all that information from all the sensors on the airplane and just adjusts
the aeroplane flight to that altitude.
So an airplane pilot doesn't have to keep flying at this altitude and make sure that the plane is always
at that altitude.
The airplane pilot can concentrate on other tasks, high level tasks like checking with traffic control,
what's happening, checking the weather, making sure that there's no turbulence ahead.
And then if they see that there's a big storm or they're told that there's a big storm ahead, they
can just adjust autopilot to change the direction without having to manually keep control of the airplane
the whole way from London to Atlanta as an example, or to California.
So San Francisco or wherever they fly.
So the idea is that pilots do high level tasks rather than very low level tasks.
It makes flying a lot easier.
Tesla autopilot is a good example of abstraction where rather than us doing low level tasks, we give
a computer the low level tasks and we can take care of high level tasks.
Now, I mean, this has been going on for years.
In the old days we used to drive and we used to have to check our speed the whole time.
So if the speed limit, let's say in the UK is 70 miles an hour and I'm driving on the motorway free
freeway highway, whatever you want to call it, I'm driving on the motorway in the UK.
I've got to make sure that I keep my car at the speed of 70 miles as a maximum so I can drive slower,
but I can't drive over that.
That's a manual task.
I mean, if I drive for 3 hours, I've got to make sure that I am staying below that speed limit the
entire way.
But autopilot and technology has made that a lot easier.
So now on a lot of cars, I can just set the car at that maximum speed and the car will maintain that
speed.
I mean, Tesla's autopilot has taken this to the next level where I can say, okay, I want to go from
London to Birmingham as an example.
Well, if you don't know where that is, let's say London to Scotland.
So I want to drive up through through the to the north of England and then to Scotland, to Edinburgh
as an example, long drive for the UK.
That is not to probably not long for people in the US, but the idea is I can put the destination into
the satnav, as we would call it in the UK, and it will then work out the best path to get there or
the best route to get there.
So I mean that's a really machines doing a lot of the high level or should I say low level work for
me rather than me having a map and trying to work out the best path.
I mean, that's what we do with the clay.
We are manually configuring stuff at a very low level.
Rather than doing that, let's obstruct ourselves from doing low level configuration and do clever stuff
and let a machine do the low level tasks.
So Tesla autopilot will set the speed, we'll set the direction, can change lanes, it can keep me
within the lane.
It can do all the kind of stuff that we as humans used to have to concentrate on doing for 3 hours or
6 hours or 7 hours, however long we're driving.
I mean, think about it.
You're driving long distance.
You've got to constantly be awake.
You've got to constantly judge the distance to the car in front of you.
You've got to constantly judge which where you are in the lanes, make sure that you were in lane.
You've got to constantly make sure that if the road turns that you turn properly within your lane,
judging all the other cars on the motorway or freeway with you.
There's so many little things that you've got to take care of.
But rather than doing that, why not let a machine do all of that?
Then you can relax and be there when something goes wrong.
So the idea with automation and programmability is let's get the machines to do the low level stuff,
and then we get involved when we need to.
Not constantly keeping track of are we in the right lane or are we going the right speed, all that
kind of stuff.
Rather let a machine do low level, boring manual tasks that we have to do over and over again.
So if it's a menial task that can be automated, let's automate that task.
Machines are really good at doing repetitive stuff, so that's the word I was looking for.
If it's a repetitive, basic task, let a machine do that.
Like if we have to configure a VLAN on a thousand switches to use a crazy example, let the machine
do that rather than me telling that to every machine and a switch.
Sorry.
And configuring the VLAN.
Let me create a python script and then just let the machine do that.
But if it's more intelligent stuff like deciding should we have that VLAN or deciding who should talk
to who, we as humans would make that decision.
We would apply the policy and then let the policy apply our intent on the network.
So I intent would be okay.
Finance department and sales department can't talk to each other.
We can't send traffic from this VLAN or group to this group.
We have to stop using the term VLAN because VLANs are not necessarily used in all implementations.
But say this group to this group, they can't talk to each other.
But I'm not going to go into the network and manually type that into all the devices.
I'm going to tell the controller, this is what I want, and that's the intent that's then applied onto
the network as a configuration.
I don't have to manually go into the devices and do the configuration.
My intent is this group can talk to this group.
Now we apply this policy on the controller that then pushes it out to the devices as a configuration.
So we abstracted from manually configuring things.
Just think of where the world is going.
We are doing automation more and more with cars, self-driving cars, airplanes have been doing it for
years, so we've got autopilot on airplanes.
Pilots don't constantly check the gauge to make sure that they're at the right altitude.
They let autopilot put them at the right level to.
So they will set it in autopilot.
This is where we need to fly.
This is the altitude that we need to maintain.
Autopilot will do that for them so that they can concentrate on higher level tasks.
That's where we're going with network automation.
You've got to accept it.
This is the way it's going to go.
You manually configuring stuff is not the future.
If you want to work on your future, then spend time learning the stuff.
Now autopilot won't take care of every situation, just like network automation won't take care of every
situation.
There are times when a human has to get involved.
A pilot, if a plane is coming towards them, shouldn't be trying to configure the aeroplane using autopilot.
You should grab the controls of the plane and move the plane out of the way.
If there's a fire in your network, fire if there's something going wrong in the network, you as an
engineer need to jump in and fix it.
If autopilot on a Tesla is doing something wrong, we need to grab the steering wheel and correct autopilot.
So Tesla's as an example, want you to keep holding the steering wheel to make sure that you're alert
and that you haven't fallen asleep.
So, I mean, you've seen there's all these kinds of crazy YouTube videos where guys are overriding
that and it's obviously not recommended.
The idea is let autopilot do the mundane, repetitive, boring tasks, but you might get an alert where
you have to jump in and fix something or correct something.
Something has changed.
Something's gone wrong.
You have to get involved.
So you still need to understand networking to resolve issues when they do happen.
Networking skills are not going to go away.
We still need networking skills for enterprises, for the data center, for the cloud.
Networking skills are still required.
Just the way we do things are going to be different.
I mean, I'm quite old, so I remember the days where I used to have to drive with a map.
So in the UK we had A to Z maps or A to Z for my American friends.
So we had this map, these books that you would go and buy in the shops and then you would plan your
journey.
And I remember going into London and it was a nightmare.
London is not like South Africa or like the US, where the roads are neat blocks.
So because of history the roads are like windy and they small and it's not easy to navigate as it is,
say, in the US or in South Africa.
So it was a nightmare with an eight to Z trying to look in a book, trying to drive.
I mean, that's illegal.
So someone would have to help me, so they would have to try and give me directions and my wife would
want to kill me because we would drive past the street.
And I'd say We've just gone past the street.
And she would try and find it in the book and it was a nightmare.
So much easier to use.
SatNav So I put in my destination and I'm told where to go, and if I miss a street, it automatically
recalculated and says, Okay, you were supposed to turn right there, but you've missed that in go
another two streets and then turn left or turn right and you'll get back onto track.
So let the machines do that kind of stuff so that we can concentrate on high level tasks.
I mean, the amount of stress trying to drive in London with a book map rather than satnav was crazy.
I mean, pilots in the old days trying to fly, should I say, for hours and hours.
Manually now they don't have to do that.
Today we still drive a lot of us with cars that don't have Tesla autopilot.
But you can imagine where this is going to go in five, ten, 20 years, where more and more cars would
have autopilots so we can rest while we're driving rather than the whole time trying to monitor everything.
I mean, we are today monitoring networks manually in many cases, and then we're having to fix things.
Let the machines do that, let the machines do the mundane, boring, repetitive stuff so that we can
concentrate on the high level stuff.