As a manager, I’m always on the lookout for better tools to help increase my productivity. I tend to be a visual person, and like to draw diagrams for everything. When I came across Roadmap Planner from Keepsolid, it seemed like a simple tool that would allow be to quickly throw plans together. Here are my first impressions with the tool:
In Part 1 of this series, titled “How I converted my entire company over to Confluence, and lived happily ever after”, I described how I converted my entire company over to using Confluence, and saw huge gains in communication. This was meant to be more of a general how-to article on migrating your company over to a new tool, rather than provide any info on the tool itself.
In this article, I’d like to go into more depth on how we’re actually using Confluence in my company. I’ll also list the plugins that we are currently using.
Note: I am not endorsing or advertising any specific tool in this article. It’s merely meant to share my tips from rolling out a new tool across a company.
I couldn’t believe it.
On my first day on the job I asked “so, where’s the wiki?” The answer was this horribly outdated wiki system which shall remain unnamed. The most recent article in it was a couple months old.
After just coming from a company that was tool happy (see this article for just a small subset of monitoring tools alone), I was shocked that this promising startup was so clueless when it came to their intranet and communication systems. I was used to using tools from Atlassian like Confluence, Jira, and HipChat.
Let’s face it, the entire software industry is moving over to git. Open source has already moved. A fairly old, but still interesting, StackOverflow article shows some data on how the open source community has largely moved over to git. You can view the article HERE. The TLDR is this, you need to understand Git.
If your team isn’t already asking for it, they will be shortly. You need to understand what the implications are to your software project, and determine a migration strategy. Also, you need to understand the basic workflow and terminology that Git introduces.
There are a million tools out there for monitoring cloud applications. The following is a list of the tools my current company has selected to monitor all levels of our stack. Overall we are very happy with this suite. Please post in the comments if you can recommend others!
Nagios – Nagios is used to monitor your IT infrastructure. This tool will generate alerts (via email, text, etc.) when your CPU, threads, disk space, etc. exceeds a given threshold. The great thing about nagios is that it’s completely free!
Papertrail – Papertrail is a log aggregator and search tool. Like most applications, our system runs across a wide variety of EC2 instances on AWS, across many different deployment environments. Papertrail is great because it aggregates all your logs together in one place. No need to figure out which machine your user is on, ssh into it, etc. Just use the web search on papertrail and then easily drill down into your logs. Well worth the money!
Sentry – Sentry is a great tool that will parse your system logs and aggregate exception errors. It will create a nice dashboard of all of your system exceptions, group similar ones together. It allows you to track who is looking into the exceptions, assign them to developers, and even export them to JIRA. Overall it’s just a great way to give visibility to the system exceptions without having to go through your logs manually.
New Relic – New Relic is a beast. They have been rolling out tool after tool. The one we use most is APM (Application Performance Monitoring), which gives you alerting on system errors and performance bottlenecks. It provides a great way to drill down into your most time consuming transactions and help guide refactoring. They provide a host of other tools but we don’t use them that often.
Runscope – Runscope is frekkin awesome! It provides an easy way to create tests that validate REST API’s. We’ve found this tool to be key for all integration points across our organization. If a team provides a service that others can take a dependency on, we ensure that a runscope test is in place. If the API is ever broken, everyone will know immediately. The tests can be run globally, and there is also some performance monitoring included as well.
I know I’m probably missing a bunch of tools, but these are the ones we currently use, and they seem to cover all the bases. Also, check out my other article “When your production system goes down”, for my personal strategy for handling prod issues, when the alarms do start ringing!
Please comment and tell me what tools you like to use?