Skip to main content

I'm interested in hearing about approaches where OPS is outsourced for on-demand tasks where the team/engineer is reliable and can be trusted.

J
Written by Jasmine Sunga
Updated over 5 years ago


What kind of ops work do you have to do?  If it’s infrastructure-related, the general answer is to move to more full-service PaaS/IaaS, e.g. heroku or some AWS offerings.  If it’s bug/outage tracking/prioritization/squashing, that’s a separate and harder problem.

Think about continuous integration, different environments, security, audit, automation, testing, stress testing, all can be done manually, network/VPN setups, different geo, ..etc then add to it, debugging reported issues, troubleshooting, observing logs and be on call when things go wrong,

Iaas solves some of these problems at high level but the more sophisticated your service gets, the more limiting it becomes 

Paas, gives you more control but it lacks deep level knowledge and custom situations

Take for example a VPN setup, Google cloud provides it as a service.

(note this example is very specific you can skip the story to summary)

You start a new pilot with 2 warehouses emitting data to your service. You managed to setup the VPN and data flows in for 3 weeks then suddenly it stops for 1 warehouse but not the other given that you didn't touch any network configuration on your side. The logic says something went wrong on client side, but your client claims that it's on your side, so you re-allocate your top devs to investigate and after 1 week of providing logs and digging deep into different network traffic, IPs, subnets, ...etc the client admits that the issue is on their side, then all works well for 1-2 mos then something breaks.

Summary:

1) Not enough work to keep an ops role busy full-time

2) One-off issues that require specific skills to troubleshoot the problem (I've seen it often, where the CEO or manager asks the front end guy to investigate a network anomaly, justified by: "An engineer should be able to do anything", it's like asking Steph Curry to fill for Draymond Green, or even better asking him to be quarterback because Kappernick fucked us this year and they're all star athletes. ok ok going off topic, I hope you get the point)

3) the issues are sporadic and not predictable. If you know that you a steady stream of issues then you can hire someone part-time or full-time but in many situations it's not the case.

4) Hiring someone every time off upwork or other platforms is not very safe or favorable, because every time they need to investigate, you would need to give them access to source code, PAAS or IAAS services, ...etc we can see the risks with that 

24/7 uptime requirements have even harder ops problems and trying to outsource ops is like a company trying to outsource sales before the product is built.  This is a great example for why not every single engineer at a startup needs to be super-senior.  Get some senior people to build the core product, get some junior people to do maintenance.

Did this answer your question?