A year in review, 2018
Looking back at what we did at Gruntwork in 2018 and what we’ll be working on in 2019

Looking back at what we did at Gruntwork in 2018 and what we’ll be working on in 2019
At Gruntwork, we close down for a couple weeks during the winter to let everyone go home, spend time with family, celebrate holidays, relax, and take some time to think. I find this to be a great time to pause and reflect on the year.
It’s too easy to get lost in the details, to get frustrated by yak shaving, and to become obsessed with what didn’t get done, so you often forget to look around and see just how far you’ve really come. This year, we’re starting a tradition at Gruntwork of writing a year-in-review blog post as a way to stop, take some time to appreciate everything that happened over the last year, and start thinking about next year.
The team in 2018
We started 2018 with just 3 people; we are ending the year with 9 full-time employees and 3-part time. As a 100% bootstrapped company, this is a remarkable rate of growth. Moreover, we’ve taken full advantage of being a 100% distributed company by hiring the most talented people we could find, no matter where they were in the world, including the UK, Germany, Finland, Nigeria, and all over the US (see our About page for all the details). This is what a modern company looks like:
I’m honored and incredibly lucky to be able to work every day with such a group. The team has a huge diversity of experience, from startups to Fortune 500 companies in every industry, including healthcare, travel, telecom, infrastructure management, social networking, FinTech, EdTech, retail, gaming, and much more. Most importantly, they are good, honest, fun people.
We’ve continued our tradition of flying the team out to interesting destinations a few times per year so we can work—and have fun—in person. This year’s trips included:
France (February, 2018)
Iceland (June, 2018)
San Francisco (October, 2018)
The business in 2018
We hit a big milestone in 2018: $1 million in annual recurring revenue (and ~$1.6 million total revenue for the year). We got to this milestone with $0 in fundraising and and $0 in debt, and we’re profitable, paying everyone decent salaries and bonuses, and growing fast.
Our subscriber base grew by nearly 4x this year and we’ve had the privilege of working with some of the biggest brands in the world. And we’ve done all of that with a sales team of just 2 people, Josh and myself, with Josh stepping up to handle the bulk of the sales work.
I’m especially proud of how we do marketing, which consists almost entirely of producing high quality content—especially blog posts, talks, and open source code—that teaches the world about DevOps. Here are a few of the highlights:
- 5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code
- A Comprehensive Guide to Authenticating to AWS on the Command Line
- The Production Readiness Checklist for AWS
- We also released a number of open source projects in 2018, which I’ll talk about in the next section.
What we built in 2018
In 2018, we wrote a lot of code. Here are just a few of the highlights (you can get all the gory details in our monthly newsletter):
- Gruntwork Houston: we launched the first version of Gruntwork Houston! The private beta offers a better way to handle authentication on AWS, allowing you to access your AWS accounts via the web, command line, VPN, and SSH using your existing identity provider (e.g., ADFS, Google, Okta, etc). The private alpha offers a simple web interface that your Dev team can use to deploy and manage infrastructure, while, under the hood, the web interface and how it manages the infrastructure are completely defined and controlled by your Ops team as code.
- Kubernetes: we added a set of modules to our Infrastructure as Code Library to deploy and manage a Kubernetes cluster in AWS using EKS.
- ELK stack: we created a set of modules to run your own Elasticsearch, Logstash, and Kibana (ELK) clusters on AWS.
- InfluxDB Enterprise: we worked with the InfluxData team to build and open source a set of modules to run InfluxDB enterprise on AWS.
- Couchbase: we worked with the Couchbase team to build and open source a set of modules to run Couchbase and Sync Gateway on AWS.
- Lambda + API Gateway: We created a set of modules that let you build serverless web apps using AWS Lambda, API Gateway, and Swagger.
- ECS improvements: we updated our ECS modules to support Fargate, service discovery, daemon services, and deployment checks.
- NLB: we added modules to deploy and manage Amazon’s Network Load Balancer (NLB).
- Terratest: we open sourced Terratest, our swiss army knife for testing infrastructure code, and made lots of improvements to the library, including adding support for Google Cloud, Kubernetes, log parsing, and log file gathering.
- Terragrunt: we made lots of improvements to Terragrunt, our open source Terraform wrapper, including adding support for retries on error, before/after hooks, and lots of improvements to the init command and caching.
- cloud-nuke: we open sourced cloud-nuke, a CLI tool to delete all resources in an AWS account, which we used to dramatically reduce our AWS bill on accounts used for automated testing.
- bash-commons: we open sourced bash-commons, a collection of reusable bash utilities, complete with documentation and automated tests.
- Redis: we refactored our Redis module to use the latest Terraform resources and added support for authentication, encryption, and sharding.
- And much more: we made massive updates to our Consul and Vault modules for AWS and GCP (added support for Consul and Vault Enterprise, Auto Pilot, Auto Unseal, and Auth methods), updated all our modules to work with Terraform 0.11, added the ip-lockdown module to significantly improve security when using IAM Roles, and much, much more.
Looking to 2019
We are incredibly excited for next year. Here’s what’s on our radar:
- Gruntwork Houston: Houston is our highest priority in 2019, and we’ll be ramping up development on it as much as we can, as we believe it offers a fundamentally better DevOps experience. Initially, we’ll continue testing Houston with private beta and alpha customers (if you’re interested, email us at info@gruntwork.io), but as soon as we have the user experience nailed down, we’ll make Houston publicly available to everyone.
- Google Cloud and Azure: In 2019, we will be expanding the Gruntwork Infrastructure as Code Library with first-class support for Google Cloud and Azure! Today, the Library is mostly focused on AWS, but over the next year, we’ll make it possible to get your entire infrastructure defined as code on any (or all!) of the major public clouds in about a day! We’re looking for companies to partner with us on these projects, so if you’re interested, please email us at info@gruntwork.io!
- AWS: We will of course also continue to invest in our AWS offering, including improving the end-to-end experience for building serverless apps with Lambda and API Gateway, major updates to our CloudWatch monitoring, alerting, and log aggregation tools, adding ECS cluster resizing/redeployment tools, updating all modules to support Amazon Linux 2 and systemd, updating our Kafka modules to Kafka 2.x, improved health checks for the ZooKeeper modules, and much more.
- Kubernetes: We will be expanding our Kubernetes code with reusable modules for defining and managing your Kubernetes services as code, first-class (secure!) Helm/Tiller support, and first-class support in the Gruntwork Reference Architecture. Moreover, we will go through our existing Library of VM-based modules and begin adding analogous Docker-based modules that run on Kubernetes. This will allow companies to define and manage most of their infrastructure using Kubernetes, making their infrastructure more consistent, portable between clouds, and easier to test.
- Support and maintenance: A huge part of why companies become Gruntwork customers is that we give them access not only to 300,000+ lines of battle-tested code in the Infrastructure as Code Library, but also ongoing support and maintenance for that library. We’ll continue doing just that in 2019, including updating the entire library to support and take advantage of all the changes coming in Terraform 0.12, adding support for new best practices, and fixing any bugs we find.
- Strategic initiatives: We will be expanding the Gruntwork Partner program to make it easier for our customers to find DevOps consultants and managed service providers to work with who are familiar with Gruntwork’s code and to make it easier for our partners to use and resell the Gruntwork Infrastructure as Code Library as part of their own products. We’ll also be making major changes to the Gruntwork website, including offering a trial period and making subscription and user management fully self-service and automated.
- We’re taking requests! At Gruntwork, we don’t come up with our roadmap in a vacuum and disappear into a cave for 6 months to build it out. Every single thing we’ve built at Gruntwork is something a customer has asked and paid for (see how we bootstrapped the company). If there’s something you’d like us to build in 2019 that isn’t on the list, we offer custom module development, so email us at info@gruntwork.io to tell us what you need!
2018 was a hell of a year. Here’s to a successful 2019!