Rapid7 Blog

Getting Started with DevOps

POST STATS:

SHARE

John-Daniel Trask is the Co-founder and CEO of Mindscape, creator of Raygun, an error tracking tool that provides real-time tracking of software bugs and crashes that are happening in your applications.

You’re launching a new application. It’s exciting and you can see the light at the end of the tunnel! Releasing a product sometimes feels like the end of a journey, but it’s actually like considering birth the end of a journey – it’s not, it’s the start of something much bigger.

How can you best manage your new app in production, helping it grow and succeed as best you can? In this article, I wanted to share some insight into helping to cost-effectively give your application the best start in life. I’ve taken products that we’ve used in building Raygun.io (disclosure, it’s one of the apps I recommend too!) that have helped us keep our hair and sanity.

1. Logging

Everything generates logs, and having quick access to them is important. The tool I recommend is Logentries – a great log aggregation service that’s quick and easy to set-up. You set-up a log collector (agent or agentless) to send your various log files, from anywhere, in any format, through to their service. Once there, you can set-up real-time alerts based on specific log entries, as well as aggregate messages and identify patterns.

We’ve found the logging ends up being our go-to when we’re really scratching our head about an issue. We’ve all been there as developers – something that “should just work” but doesn’t. Being able to drill into the logs and find answers is valuable. Even more powerful is being able to search across all the different logs you’re sending up at the same time.

The great thing too is that Logentries scales with you; it’s an inexpensive addition to your tool chain. There are also useful features like being able to archive logs directly to your own S3 bucket to help control the costs of long term storage.

Giving developers the ability to get extra context, set-up alerting and see live log tails without needing to bug the operations team is a great time saver. Being able to move fast and respond to issues quickly is important, especially in the early days of your new application.

Error tracking logs unhandled errors that occur in your software. When you first launch a new product, it’s super important to track the errors that occur — research shows that users who experience only 2 crashes will likely never use your software again! It’s important when trying to validate your new app and gain initial traction that you have your finger on the pulse of any errors that are hurting your users.

We built Raygun.io expressly for this purpose, it’s highly targeted and creates a ‘todo’ list for your development team. You get to understand the impact of crashes, how many users are impacted and exactly where in your code base the error occurred. This helps reduce bug counts, reduce time to resolve bugs and most importantly – have happy users of your software.

Lastly, understanding trends in your infrastructure is valuable. Sometimes giving insight about when you’ll need more servers, or perhaps that performance cratered with a recent release. High-level metrics give wonderful visuals and make a great dashboard in the office too.

When building our service, we selected Librato for metrics tracking. It’s fantastic and very inexpensive, costing us only about $50 per month to track about 100 different metrics (like memory usage, message throughput, API response times, etc.).

With these three products, you will have complete and professional oversight of your newly launched software solution. They each complement each other well, for example:

Raygun reports crashes but you’d like more information, look at the logs in Logentries at that time.

Librato shows an increase in response time from your API, investigate if errors are occurring in Raygun or if you’re seeing unexpected messages in Logentries

Logentries reports increased rates of messages, check Librato to see if any metric has increased that’s of concern. If it’s just more users, then it’s not a problem, but if you’re out of memory on a server, you have a problem!

Together, you get great insight and give your software the best chance of success. All of these products have pricing models that grow with you so you can get started with first class monitoring, insights and reporting for less than $150 per month – a fraction of even a single developer’s monthly salary. The time saved (and decreased stress levels) mean getting started with DevOps will pay for itself in no time.

As the success of your product grows, exploring additional products to increase your oversight will add additional benefits. For example, application performance monitoring (APM) tools, or even more powerful alerting capabilities. Further to this, nearly all tools integrate with modern team chat tools like HipChat & Slack, so your team always has its finger on the pulse of your software.