DevOps for Startups
It’s hard to find time for DevOps in a startup when there’s so much else to do.
Having a great idea is cool, you may already carved a plan, maybe even practiced some pitching and basically started working, you should be focusing on developing your product and doing that alone.
While developing your product if you are doing any or following manually:
- Tests Triggering
- Code building
- Container building / publishing
- Recurring dependency installation
- Recurring environment creations and configurations
- Reporting to the team on a new release / build / tests runs
- Application deployment
- Or Any other recurring work
You are wasting your time, Literally!
Ops / DevOps / SRE and Production engineering are all fancy names, these are the developers who defines automation processes for building, testing, delivering, monitoring infrastructure. you don’t need to hire such experts or pay tons of $$.
Take a breath and sit with your team and invest a week for building and setting up tools for automation, delivery pipeline and monitoring. Yes, “Continuous Integration” is not a scary buzzword.
If you want to save expensive time, give a try to Razorops a SAAS service ready to roll so that the solution is managed, deployable in minutes, and takes the pain of operations away.
Got your CI server ready to run? Great, take some time and build your delivery pipeline: plan builds, tests and deployments, so that your application would automatically flow through each of these steps independently with every push or merge request.
Start writing tested code, good testing suite and letting it lead the way, it will save time and energy, but also future frustration and all-nighters of debugging.
Design your application to produce verbose and meaningful logs. Report application activity and behaviour. Separate to different log levels and try to provide a useful structure like a constant JSON scheme.
Log analysis can wait, but make sure you understand what’s at stake before deciding whether you allocate the resources in the scope of this week.
Measure as much relevant metrics as possible to be able to debug, respond and improve quickly and in short cycles.
Set alerts to points where certain thresholds are crossed and notify yourself / your dev team. Knowing exactly when something goes wrong, doesn’t only save you in production.
“DevOps” is all about communication. Reduce emails: Use a communication app like Slack to create different discussion channels, share documents, designs, logos, links and everything related to a certain topic, so that you’re able to come back to and find it easily.
Now with a week of work you can achieve all of the above, and even more with some motivation. Most of the automation tools above would be free of charge to a certain extent, the rest would cover their costs within one or two month of operation.