FAQ

Frequently Asked Questions.


Gruntwork alternatives

Gruntwork vs the competition, at a glance

Here's a quick comparison of how Gruntwork compares to the two most common alternatives you may consider: doing it yourself and hiring a consultant.

  Do it yourself Consultant Gruntwork
Starting point From scratch From scratch Leverage 2+ years of battle-tested code proven in prod
Time to launch 3 – 12 months
(highly variable)
3 – 12 months
(highly variable)
1 – 5 days
(highly predictable)
Monthly cost $16,000 – $32,000 per month
(2 devs, $100k – $200k / year)
$32,000 – $64,000 per month
(2 devs, $100 – $200 / hour)
$500 – $2,995 per month
Docs, tests None None Thorough documentation and automated tests
Maintenance None None On-going maintenance, updates, security patches
Support None None Commercial support

The math is pretty simple: Gruntwork gets you results that are 10x cheaper, 10x faster, and 10x higher quality.

Gruntwork vs doing it yourself (DIY)

DevOps is a classic case of "death by a thousand cuts." To ship software, there are a thousand little details you have to get just right—how to set up your network topology, how to run a highly available and scalable server cluster, how to set up CI/CD, how to configure monitoring & alerting, how to manage secrets, and so on—and very few companies have the time, resources, or expertise to do this well.

At Gruntwork, we've already created all the infrastructure you need. In fact, if you hired a team of DevOps experts and had them do nothing but work on your infrastructure for several years, you'd most likely end up with code that looks almost exactly like the Infrastructure as Code Library and Reference Architecture. But why waste all that time reinventing the wheel? For a fraction of the cost of a single full-time developer, you can get access to a library of proven, battle-tested code, as well as support, updates, and maintenance. You focus on your product; let us take care of the grunt work.

Gruntwork vs consulting companies

Most consulting companies are focused on one thing: billable hours. They build everything from scratch for every customer, so the code is completely unproven, the timeline is unpredictable, projects stretch on for months, and costs spiral out of control. And when the whole thing is done, you're left with a bunch of code someone else wrote, typically with no documentation and tests, and no way to ask questions without paying even more money.

At Gruntwork, our focus is on creating reusable, high quality infrastructure code, such as the Infrastructure as Code Library and Reference Architecture. Because all the code is already written, we can get you up and running 10-100x faster than a consulting company (typically in just a single day!) on top of code that is thoroughly documented, tested, and has been proven in production at dozens of other customer deployments. We do all of this for a price that's a tiny fraction of what consultants charge, and we provide commercial support, maintenance, and updates for our work over the long term.

Gruntwork vs Platform as a Service (PaaS) and Infrastructure as a Service (IaaS)

A Platform as a Service (PaaS) such as Heroku or Docker Cloud can be a great way to get started, as they hide all the infrastructure details from you, and provide a simple API for deploying your code. Unfortunately, for this very same reason, a PaaS tends to be a big bottleneck as you try to grow: without the ability to see and control the underlying infrastructure details, it becomes difficult to debug, scale, customize your infrastructure, and keep costs under control.

As a result, most software companies eventually migrate to an Infrastructure as a Service provider (IaaS) such as AWS, Google Cloud, or Azure. This gives you full control over your infrastructure, but the downside is a massive increase in complexity. Suddenly, you have to deal with thousands of little infrastructure details—how to set up your network topology, how to run a highly available and scalable server cluster, how to set up CI/CD, how to configure monitoring & alerting, how to manage secrets, and so on—and very few companies have the time, resources, or expertise to do this well.

Our goal at Gruntwork is to allow you to take advantage of the full control and power of an IaaS while still having the ease-of-use of a PaaS. By using the Infrastructure as Code Library, you get a simple API for complicated infrastructure; for example, you can deploy a Kafka cluster or configure CI/CD or even deploy your entire Architecture in just a few lines of code. And since all of this infrastructure is backed by code, you can easily debug, scale, and customize things as much as you want.

Gruntwork vs open source modules (e.g. Ansible Galaxy, Terraform Module Registry, Puppet Forge, etc.)

You can find open source infrastructure code in registries such as Ansible Galaxy, Terraform Module Registry, Puppet Forge, and Chef Marketplace. So why use a paid, commercial product such as the Infrastructure as Code Library instead of this open source code?

First, we love open source at Gruntwork, and parts of our Infrastructure as Code Library actually are open source (e.g., look for our Consul, Nomad, and Vault modules in the Terraform Module Registry), so it's not an either-or-choice! Second, if your business depends on this infrastructure code, here are some reasons you should consider a commercial partner like Gruntwork in addition to using open source:

Maintenance Most of the open source modules are not well maintained. Technologies like Terraform, Docker, and AWS are changing constantly, and the creators of those modules rarely have any incentive to invest the large amount of time necessary to keep that code up to date. At Gruntwork, keeping up with these changes is the core of our business, so we regularly update and maintain all the code in the Infrastructure as Code Library.
Testing The open source modules almost never have automated tests. As a result, many of them are buggy or don't work at all. Every module in the Infrastructure as Code Library is thoroughly tested. After every single commit, we kick off a suite of automated tests that deploy the code into a real AWS account and verify that it behaves as expected.
Integration The modules in the Infrastructure as Code Library are all designed to be highly configurable, composable, and to work together. In fact, we even offer a Reference Architecture as a way to put all the modules together into an end-to-end, integrated tech stack in about a day. With open source code, all the integration work is up to you, and you'll find many of the modules are too inflexible to fit your needs or incompatible with other modules.
Support With Gruntwork Support, you get commercial support for all the code in the Infrastructure as Code Library. We're there to help you via email, chat, and phone/video call any time you need a bug fixed, or help with troubleshooting, or a code or design review. With open source code, if something goes wrong, you're typically on your own.

Licensing

What is the Gruntwork Client License?

When you subscribe to the Infrastructure as Code Library, you get one Client License for the code. A Client License gives you access to 100% of the source code, allows you to fork and modify the code as much as you want, and is perpetual, so you can keep using the code even if you cancel your subscription.

A single Client License allows you to use the code up to the following limits (see the Infrastructure as Code Library for a description of each item):

Network Topology 10 VPCs
Monitoring & Alerting Unlimited
Docker Cluster 75 servers
AMI Cluster 75 servers
Lambda 75 functions
Security Unlimited
Continuous Delivery Unlimited
Relational Database 10 databases
Distributed Cache 10 caches
Stateful Server 75 servers
Static Assets 75 static websites
MongoDB 10 clusters
OpenVPN 10 servers
Messaging Unlimited
ZooKeeper 10 clusters
Kafka 10 clusters

A single Client License should be enough to run most small to medium deployments. If you exceed any of these limits, you must purchase another Client License. If your company has a non-standard usage pattern (e.g. you use many VPCs, but few servers), let us know, and we can try to work out a licensing arrangement that better fits your needs. Bulk discounts on Client Licenses are available for enterprises, resellers, and agencies.

What happens to my code if I cancel my subscription?

The Gruntwork Client License gives you perpetual rights to the code, so even if you cancel your subscription, you can keep using the code! You'll have one month to fork all the repos in the Infrastructure as Code Library into your own version control system, after which you'll no longer have access to the updates, additions, and fixes we make to the Infrastructure as Code Library, support from the Gruntwork team, security alerts, etc. However, your infrastructure will continue to work just fine and you'll still have all the code you were using up to that point, so there is no lock-in whatsoever.

What if I want to use the code with my own customers?

The Gruntwork Client License is valid for one company to use to manage its own infrastructure. If you are an agency or reseller that manages infrastructure for other companies, please contact us to discuss licensing options.


Infrastructure as Code Library and Reference Architecture

What do I do if I need infrastructure that isn't in the Infrastructure as Code Library?

If the infrastructure you need is something general-purpose that applies to many companies (i.e., isn't a custom, one-off project completely unique to your company), we'd be happy to build it, add it to the Infrastructure as Code Library, and provide support, maintenance, and updates for it long-term! For example, we're currently looking into adding ElasticSearch, Kubernetes, and DataDog to our Library and are looking for companies willing to fund those projects. We charge an hourly consulting rate for our work and if more than one customer is interested in the same project, we're happy to split the cost amongst all of you to make it cheaper for everyone! Please contact us to let us know what you're looking for!

What do I do if I need infrastructure that isn't in the Reference Architecture?

See What do I do if I need infrastructure that isn't in the Infrastructure as Code Library?.