Increase the Awesome
I’m sitting at my desk right now (9pm Sydney time), waiting for my 3am change window that I need to be onsite at the data centre for. Now I am supposed to be working on a presentation I am giving on Friday entitled “Automation, Orchestration, and SDN”. I’ve been given about 20 minutes to cover these topics, so I’m spending quite a bit of time trying to get the right mix of content without geeking out too far for the intended audience (C-levels, project managers and lead engineers).
While trying to get the mix just right, my mind keeps going back to a comment I made last week on the “APAC Virtualization Roundtable” podcast (Episode 74 “SDN & Virtualisation from a Network Engineers perspective”)…
“Increase the awesome, remove the mundane!”
While initially sounding facetious, this comment is kind of where my brain has been going of late when trying to work out where I should focus my energies. While I’m thinking of ways to apply this idea to many aspects of my life, I would like to present them in the context of the presentation I am about to give (and the same context to which I spoke about in the podcast).
So I present to you my, modified, task prioritisation filter…
Remove the mundane
It’s a simple statement of fact that I get bored easily. It’s part of the reason why I blog so rarely… it’s hard for me to concentrate long enough to string sentences together once my work day is over! Another statement of truth is that I am lazy! I don’t like doing things over and over again. I believe that every network engineer must truly understand how the parts of the network interoperate together – be it Spanning Tree, OSPF, MPLS or firewalling. To do this, we need to get our hands dirty and “string tin together”. I also believe that there are only so many times we should do this by hand. Once you “know” it, automate it! By doing this you are not only speeding up the time it will take you should you need to do this again, but you are also effectively “documenting” the process in such a way that it records what has been done and allows other engineers to benefit immediately.
Now the realities of my day job mean that I cannot just refuse to do certain tasks because they are boring, but I can start to work smarter not harder. I really need to start automating the regular tasks I do in such a way that when I am required to do them, they can be done with a few taps on the keyboard or a few clicks on a website. Once I have automated these functions it then becomes easier to offload that to somebody else (i.e. make it their problem!).
This is why I’ve spent time over the past few months learning to code in Ruby (Ruby just works the way my brain works, I am sure Python is wonderful too!). This is also what tools like Puppet and Chef allow us to do. By moving our repetitive workloads into automated scripts, and starting to adopt aspects of the “Infrastructure as Code” mentality, we can start to make the boring and mundane tasks something we can spend less time doing.
I’m going to work on a series of posts about “Removing the Mundane” over the next couple of months, as I investigate and experiment with how automation and orchestration can improve the daily workflows for both myself and my customers.
I also honestly believe that “SDN” (such a loaded term!), will go a long way to helping us automate traditionally labour intensive tasks. Whether we are talking methods to directly program ASICS, or building overlay networks using protocols such as VXLAN, NVGRE or MPLS, the ability to define a service end to end and apply that as an atomic action across the network can not be underestimated.
Increase the Awesome
So now that we have freed up all of this time for ourselves, what should we do?
I am not sure if I am just old and at that stage of my career, or if I am just falling for industry buzzwords, but over the past 12 months my viewpoint of my role as a network engineer has changed. Despite what we might think, our customers are not buying stretched VLANs, VPNs, or TCP port 80 and 443 opened on the firewall. What they are “buying” from us is an application that provides a service. The skills I bring to the table are ability to deliver that service from where its hosted (whether in the cloud or our own data centres) to where it is consumed by the user, while also maintaining quality of service, privacy and responsiveness to ensure the best user experience.
The definition of this service include:
- All of the database, application, and front-end servers that the app depends
- Any storage requirements for the servers
- Any load balancers, and firewalls along the path that provide for scale
- Any layer 2 and 3 networking requirements required to allow the above components to operate
- … and probably many more I cannot think about right now!
If we can start to define the end to end requirements of the services we need to deliver and have them deployed orchestrated in such a way that they do exactly what they need to do, when they need to do them without our intervention we can begin to focus on actually delivering better applications and services to our end users. This is what I mean by “Increasing the awesome!”.
Once we take our focus away from the repetitive and mundane we can focus on delivering better services. The “server guys” learned this during the virtualisation craze, and put it to the ultimate test with “cloud networking”. Once the mundane task of spinning up servers and deploying “the standard stack” of applications was removed and servers could be deployed in minutes (sometimes seconds!) a whole new world of possibilities were opened up. It was no longer a pipe dream to spin up and down web servers on demand to meet demand (and reduce cost). Another benefit was the ability to focus on horizontal scalability by taking advantage of load balancers, Message Queues and scalable distributed databases because it became easier to deploy additional servers to a task instead of just larger ones!
Do I know what “awesome” is for the networking industry? Well other than beers paid for by vendors… no, but I certainly know that while we’re all focusing on mundane tasks, we are not focusing on delivering the awesome!
Deliver your Space Jam
This last one was not actually a part of my original comment, but its inline with what I have been thinking about. I am not sure if you have seen this “Pep Talk” by Kid President or not, but I urge you all to watch it.
I actually have a weekly reminder in my calendar for 2pm on Wednesday (Hump Day) with that link to “inspire me”. In line with “Increasing the Awesome”, you need to find something you are passionate about and work towards delivering that. Right now, I am working through a couple of things that I believe will make the “world a better place” while still utilising my professionals skills. Satisfaction in life comes from using what you do well to achieve a worthy goal.
What’s your Space Jam?
Now how will you work to deliver it?
Mop and Bucket
Our industry might be changing, even if it is unclear in which direction, but we need to focus on the best way to deal with these changes. We need to stop being road blocks, and start working with other technology teams, as well as the business as a whole, to make each others lives easier so that we can all focus on delivering more awesome.
(And to make sure this isn’t all just airy fairy rubbish… more awesome delivered the right way also means more customers thus more revenue – and happier ones at that!)
Disclaimer: I’m not going to claim these thoughts as anything original by me, I know for a fact I stole the “Increase the awesome” line from somebody who presented at a conference I watched on youtube, but for the life of me I cannot remember who or where. Having said that, this doesn’t change the fact that the message is true!
Update:
I found the original source of the “Increase the awesome” and I feel I must include it here. THANK YOU NASA!