At State Farm®, we take pride in being a good neighbor and in helping others. We often try to find ways to give back to the communities that sustain us and, these days, that would include the online community of open source developers who create and maintain much of the code required to run the modern internet. State Farm® uses thousands of open source programs and is committed to identifying opportunities to contribute back to the community.
So now, in addition to contributing code to existing software, we are publishing some of our own software on the public internet under an open source license, allowing anyone to modify, download or redistribute that code as they see fit. You can check out any of our open source projects on GitHub.
For this article we are going to look at our first open source publication - Amazon QuickSight User Pruning Terraform Module. We’ll discuss the common problems it can solve, why we chose to develop it, and how we hope it proves useful to others.
Amazon QuickSight User Pruning Terraform Module
Amazon QuickSight is a business intelligence service that enables building of dashboards and reports for analytic purposes.
A current limitation of Amazon QuickSight is that, once an author or admin logs in, a QuickSight user is provisioned, and billed monthly indefinitely. Logging in once causes QuickSight to bill between $18 and $34 per month forever. In a small company with a handful of users, this might be acceptable. In a department with one developer, one report maker, and 15 end users, QuickSight would only bill 2 users each month. However, in an enterprise, there could be users who login from an old area and then transfer to a new area. The old area will continue paying for the QuickSight users indefinitely unless they manually deprovision those users.
That’s where our public Terraform module comes into play.
When you install this module, it runs a daily job that will prune inactive users from your QuickSight account, whilst leaving active users alone. Over time, the savings provided by the module will compound, potentially saving you thousands of dollars. Here is a sample of the QuickSight monthly cost before and after implementing this module:
Before implementation, QuickSight costs were steadily increasing each month, because many inactive users were still provisioned. Afterward, QuickSight costs appropriately scaled to the number of active users.
If you use Amazon QuickSight, we hope you’ll give our module a try!