Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

imho if you're an early stage startup and you don't have an operations or devops person, you're better off either running everything off a single machine or doing devops the old way (as in baking machine images, updating launch configurations and doing service rollouts with via autoscaling groups).

Once you get more revenue, hiring an operations/devops person might be a good idea. A good operations/devops person might make you save his own salary in infrastructure optimization (depending on the scale of course).

another good pattern that i've seen in action is contracting the operations to an external company that's specialized in doing this. the approach would be to let the external company design and build the cluster for you, define responsibility boundaries for your company vs that company, and let such company take care of daily operations and cluster upgrades, possibly with on-call availability. A small support/consulting package (say, 15-20 hours/month) can get you very far.

We've been doing something similar with SigHup (sighup.io) and their Kubernetes Fury distribution, it's been working very well so far.

(disclaimer: i'm not employed by sighup, just pleased to work with them)



Agreed. That's exactly what I have done with a number of startups. In one or two weeks, they get a full CI/CD pipeline that allows them to be productive. All of them are very happy with the result.

It's so important to be deploying early on. Get the kinks out of the system and the code aligned for production.

If you hire a full time devops, they will most likely build too much infrastructure to keep themselves busy. And if you don't do any devops, the transition can be quite painful.


> baking machine images, updating launch configurations and doing service rollouts with via autoscaling groups).

I tried this approach, using Packer with Ansible to build the AMIs. It took 15-20 minutes to build an AMI. Would you suggest a different way of building the AMIs?


That was meant to be an example really, to aim at something less automatic and complex like kubernetes but still automated.

You might also consider using containers without kubernetes. Keep the same AMI, package your app as a docker container, make VMs download and run the latest release from a private docker registry on startup. Publish a new docker image tagged as latest.

Now you can rollout your autoscaling groups without running packer and ansible.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: