Writing January 7, 2017 · 3 min read

Go Serverless Wherever Possible


Let’s make 2017 the year where we wage war on the Operating System. I’m not going to lie to you; it won’t be easy. We’ve been frenemies for so long now, and OS’ have ingrained themselves so deeply in how we develop solutions for customers removing them is going to be tough. But their time has passed and here are just a few reasons why.

Operating Systems are High Maintenance

Be honest, how much time do you spend managing the operating systems in your infrastructure? I bet its way (way) more than you think. What benefit do we get out of this relationship? None. Operating systems wake us up at all hours demanding that we fix them, we have to regularly keep them up-to-date (which usually results in more late nights)

They cost too much

Operating systems run on servers - most likely virtual, but maybe still physical. Purchasing all the infrastructure to run these OS’ is an expensive and time-consuming process. First, we have to guess at how much capacity we need, after we’re finished throwing darts at the wall, we need to justify the costs associated with all that infrastructure to the folks you manage the budgets. If we’re lucky enough to clear that hurdle, now we play the waiting game, all the while our customers are getting more (and more) frustrated. I could go on and on, but I think you get the point.

They offer no competitive advantage

Trust me on this. No matter how great you are at managing your fleet of OS’ they provide you with zero competitive advantage. Operating Systems have been so commoditized and vendors have spent years building (and selling) tools for us to manage these free loaders that no matter how good we’ve become at managing OS’ are competitors are just as good. Replace as many OS’ as possible, and free up all that time so that you can focus on tasks that differentiate you from your competitors.

Almost all of them aren’t pulling their weight

How many of your cherished OS’ are running at sub 5% utilization? I bet the number is quite high. Think of the cost associated with maintaining an infrastructure that effectively does little most of the time. We wouldn’t keep around our colleagues if they were that under utilized would we? ;)

They aren’t very flexible

Remember way back when you made that guess on how many OS’ you required? I bet you didn’t guess correctly. Now your customer is upset (again), and you have to ask for more money. Have fun with that.

Not a very pretty picture is it?

Here’s what I want you to do

I challenge you to identify the worst offenders in your environment. You know who I’m talking about. The OS who continually fails (hardware or otherwise), their friends who are chronically (severely) under utilized and those OS’ that nobody even remembers why they were deployed in the first place - admit it, you have more than a few of these lying around. Once you’ve created your OS ‘hit-list’, devise a plan to replace them with a serverless solution built on the AWS platform.

I’m not talking about only AWS Lambda here. No doubt it will play a major role in your plan, but don’t neglect all the other serverless options you have. If I were to think of a few of my favourites, I’d have to include:

  • Simple Queueing Service (SQS)
  • Simple Storage Service (S3)
  • Simple Notification Service (SNS)
  • Elastic Load Balancer (ELB)
  • API Gateway
  • ElastiCahce

Now get out there are replace those OS’ - here’s to a server less 2017! You can thank me later.

All writing Start a conversation