Avisi

Building “Apps That Fill Gaps” at Speed With Backblaze + Terraform

Use Cases
Industry
Integrations
No items found.
Features
No items found.

Terraform and the Backblaze provider reduced the time I spend on DevOps by 75% to just a couple of hours per app we deploy.

Gert-Jan van de Streek

Co-founder, Avisi

10,000+

Apps Installed

8

Hours Saved/Environment

1

Reusable Module

Situation

Avisi, a Netherlands-based software development company, creates “apps that fill gaps” for the Atlassian and monday.com marketplaces. They long used infrastructure as code to provision storage on Google Cloud Platform, and wanted to stand up another cloud storage provider for data redundancy.

Solution

Avisi implemented Backblaze B2 Cloud Storage to mirror their data. When the Backblaze Terraform provider was published in March 2021, Avisi adopted it immediately to automate a range of functions including storage bucket creation, key provisioning, lifecycle management rules, and data residency considerations. Deployments are synced in real time to a Backblaze B2 bucket.

Result

The ability to automatically provision storage in Backblaze B2 cut development time by 75%. And there are no surprises when moving between staging, test, and production environments because they configure the same module to provision storage for each. The Backblaze Terraform provider does the work for them, and they can trust that storage is configured correctly every time.

Share This Case Study

Download Case Study

Based in Arnhem, the Netherlands, Avisi is a software development company offering customized software solutions for companies that value quality, security, and privacy. They help companies by implementing best-in-class platforms such as GitLab, Atlassian, and monday.com including providing installation and configuration support, integration and customization, and training and plugin development. They also develop apps and plugins for the Atlassian and monday.com marketplaces.

Company bio image
All images provided by Avisi.

Provisioning Storage for “Apps That Fill Gaps”

The team at Avisi likes to think about software development as a sport. And their long-term vision is just as big and audacious as a professional athlete’s—keep pushing to be stronger, sweat the small stuff as well as the big, and ultimately aim to be the best at what they do.

Gert-Jan van de Streek co-founded Avisi in 2000 with two college friends. They built the company by focusing on security, privacy, and quality. That focus served them well when they started taking on projects with public utilities, healthcare providers, and organizations like the Dutch Royal Notarial Professional Organization—entities that demand stable, secure, private production environments.

Today, they specialize in custom project management, process optimization, and ERP software solutions providing implementation, installation and configuration support, integration and customization, and training and plugin development. One sweet spot for the business is the apps they develop and publish on the Atlassian and monday.com marketplaces. Van de Streek leads this business line, where they create “apps that fill gaps,” as he puts it. “We know that a lot of stuff is missing from the Atlassian and monday.com tooling because we use it in our everyday life. Our goal in life is to provide that missing functionality—apps that fill gaps,” he explained.

In line with their athletic approach to software development, and in service of their customer’s needs, van de Streek’s team takes a rigorous DevOps approach to developing these apps. Provisioning infrastructure as code (IaC) took their performance to the next level in their pursuit of more efficiency, accuracy, and speed through the DevOps lifecycle.

Infrastructure as Code Changes the Game

With multiple development environments for each application, managing storage becomes a maintenance problem for sophisticated DevOps teams like Avisi’s. For example, let’s say van de Streek has 10 apps to deploy. Each app has test, staging, and production environments, and it has to be deployed in three different regions—that’s 90 individual storage configurations, 90 opportunities to make a mistake, and 90 times the labor it takes to provision one bucket.

IaC emerged in the late 2000s as a response to the increasing complexity of scaling software developments like the example above. Rather than provisioning infrastructure via a provider’s user interface, developers can design, implement, and deploy infrastructure for applications using the same tools and best practices they use to write software.

Following DevOps best practices means Avisi writes reusable code once, eliminating much of the manual labor and room for error. “It was really important for us to have IaC so we’re not clicking around in user interfaces. We need to have stable test, staging, and production environments where we don’t have any surprises,” van de Streek explained.

Quality-wise and price-wise, Backblaze jumped off the list, and the addition of the European region was really important.

Gert-Jan van de Streek, Co-founder, Avisi

Terraform vs. CloudFormation: An Open-source Victory

Van de Streek had already been experimenting with Terraform, the open-source IaC tool developed by HashiCorp, when Avisi decided to move some of their infrastructure from Amazon Web Services (AWS) to Google Cloud Platform (GCP). The Avisi team uses Google apps for business, so the move made configuring access permissions easier.

Of course, AWS and Google don’t always play nicely—CloudFormation, AWS’s proprietary IaC tool, isn’t supported across the platforms. Since Terraform is open-source, it allowed Avisi to implement IaC with GCP and a wide range of third-party integrations like StatusCake, a tool they use for URL monitoring.

Backblaze B2 Enters the Race

Simultaneously, when Avisi moved some of their infrastructure off AWS, they resolved to stand up an additional public cloud provider to duplicate their data. Van de Streek implemented Backblaze B2, citing positive reviews, affordability, and the Backblaze European data center as key decision factors. “Quality-wise and price-wise, Backblaze jumped off the list, and the addition of the European region was really important,” he explained. Many of Avisi’s customers reside in the European Union and are often subject to data residency requirements that stipulate data must remain in specific geographic locations. Backblaze allowed van de Streek to achieve data redundancy for customers where data residency in the EU is top of mind.

No items found.

The Backblaze Terraform Provider Simplifies Storage Management

When Backblaze published a provider to the Terraform registry, Avisi immediately started provisioning Backblaze B2 storage buckets using Terraform. “The Backblaze provider on Terraform is pure gold,” van de Streek said. “It’s about five lines of code that I copy from another project. I configure it, rename a couple variables, and that’s it.”

Van de Streek wrote the cloud function to sync between their public clouds in Clojure, a functional programming language, running on top of Node.js. Clojure compiles to Javascript, so it runs in Java environments as well as Node.js or browser environments, for example. That means the language is available on the server side as well as the client side for Avisi.

The cloud function allowed off-site tiering to be almost instantaneous. Now, every time a file is written, it gets picked up by the cloud function and transferred to Backblaze in real time. “You need to feel comfortable about what you deploy and where you deploy it. Because it is code, the Backblaze Terraform provider does the work for me. I trust that everything is in place,” van de Streek said.

You need to feel comfortable about what you deploy and where you deploy it. Because it is code, the Backblaze Terraform provider does the work for me. I trust that everything is in place.

Gert-Jan van de Streek, Co-founder, Avisi

IaC Helps Avisi Jump Hurdles: Lifecycle Rules
and Code Reviews

In addition to reducing manual labor and increasing accuracy, the Backblaze Terraform provider makes setting lifecycle rules to comply with control frameworks like the General Data Protection Regulations (GDPR) and SOC 2 requirements much simpler. Van de Streek configured one reusable module that meets the regulations and can apply the same configurations to each project. In a SOC 2 audit or when savvy customers want to know how their data is being handled, he can simply provide the code for the Backblaze B2 configuration as proof that Avisi is retaining and adequately encrypting backups rather than sending screenshots of the various tools they use.

Using Backblaze via the Terraform provider also streamlined code reviews. Prior to the Backblaze Terraform provider, van de Streek’s team members had less visibility into the storage set up and struggled with ecosystem naming. “With the Backblaze Terraform provider, my code is fully reviewable, which is a big plus,” he explained.

The Backblaze provider on Terraform is pure gold... I configure it, rename a couple variables, and that’s it.

Gert-Jan van de Streek, Co-founder, Avisi

Backblaze B2 + Terraform: A Winning Team

Embracing IaC practices and using the Backblaze Terraform provider specifically means van de Streek can focus on growing the business rather than setting up hundreds of storage buckets by hand. He saves about eight hours per environment. Based on the example above, that equates to 720 hours saved for every 10 apps they deploy. “Terraform and the Backblaze provider reduced the time I spend on DevOps by 75% to just a couple of hours per app we deploy, so I can take care of the company while I’m at it,” he said.

With a provider that cuts development time by leaps and bounds, Avisi's competitive aspirations are that much closer to reality.

Related Case Studies

A Publicly Traded Company (BLZE)
Backblaze © 2024

Staging secure is temporarily unavailable. Please check for any ongoing deploys. If none are in progress, contact the fullstack team for assistance. Click me to dismiss.