From side project to professional tool: The story behind UpCloud’s Terraform Provider

Posted on 6 November 2024

Dive into the story behind UpCloud’s Terraform Provider with Ville Vesilehto, Lead Product Manager at UpCloud. Grab a coffee and get reading!

As someone who’s been involved with the UpCloud Terraform Provider from its inception to its current state, I want to share the journey of how a weekend project evolved into an essential tool for infrastructure automation. It’s a story that demonstrates the power of open source collaboration and the impact of well-designed SDKs.

The grassroots beginning

In 2017, I was heavily using HashiCorp’s Terraform with other cloud providers in my daily work, enjoying the benefits of infrastructure as code. However, when it came to UpCloud, I couldn’t leverage the same automated workflows I had grown accustomed to. Rather than maintain different processes for different providers, I decided to bridge this gap myself.

AD 4nXdEwlXy1yWAuIkCrhv3oQeRTBYYbWKNjFiYzLvduE YPw0rcgrs47 - From side project to professional tool: The story behind UpCloud's Terraform Provider

With the SDK handling the heavy lifting of API interactions, I could focus on mapping UpCloud’s cloud resources to Terraform resource schemas. I published the provider on my personal GitHub account, hoping it would help others automate their infrastructure deployment on UpCloud.

From community project to official solution

By mid-2018, the project had attracted attention from other developers who started contributing their own improvements. These contributions ranged from bug fixes to new features, showing that the provider was filling a real need in the community.

Seeing this growing adoption, UpCloud reached out about making the provider an official part of their developer tooling ecosystem. The company could provide resources and support while maintaining the open source nature of the project. They kept me involved with maintainer permissions, recognising the importance of continuity and community involvement.

AD 4nXdLusDmwdq5bqIAToUZ7JocgHyh xgaEuGue9S1zldXaz0tktC9M6A q GfEAeGICz4tOlFHeGSAsS8x15aIo4RnHscDg4Np - From side project to professional tool: The story behind UpCloud's Terraform Provider

The team then invested in expanding the ecosystem around the provider. While the original Go SDK had served us well, they developed a new, more comprehensive version that would serve as a foundation not just for the Terraform provider, but for a whole suite of developer tools. This reinforced my initial experience – a powerful SDK is a multiplier for developer productivity and innovation.

Coming full circle

In early 2021, my relationship with the project evolved in an unexpected way when I joined UpCloud as the Product Owner for the Developer Experience team. Now I found myself leading the development of the same tool I had started as a side project, along with other developer-facing tools and SDKs.

This transition gave me a unique perspective on both sides of the developer experience equation. As someone who had built tools using UpCloud’s SDK as an external developer, I understood firsthand the importance of well-designed APIs and comprehensive documentation. This experience continues to inform our approach to developer tooling.

Lessons learned

Looking back, several key insights stand out:

  1. 1. Good SDKs enable innovation: The availability of UpCloud’s initial Go SDK made it possible for me to create the Terraform provider. This has shaped our strategy of investing in robust SDKs to empower developers.
  2. 2. Community collaboration drives growth: The contributions from other developers significantly improved the provider, adding features I hadn’t originally envisioned.
  3. 3. Developer experience matters: Making it easy for developers to build on your platform creates a virtuous cycle of innovation and improvement.

Looking forward

Today, I have the privilege of working with a talented team to continue evolving the UpCloud Terraform Provider and our entire developer tooling ecosystem. We’re building on the foundation of those early days, maintaining the open source approach while ensuring professional support and reliability.

The SDK that made the initial provider possible has evolved into an even more powerful tool, enabling new generations of developers to build innovative solutions on top of UpCloud. We’re seeing history repeat itself as developers use our SDKs to create their own tools and integrations, just as I did back in 2017.

For those interested in contributing to or using the provider, you can find it in the official HashiCorp Terraform Registry and on project repository in GitHub. We continue to welcome community contributions, not only for our Terraform provider, but also Go SDK, UpCloud CLI, Crossplane Provider and many others, staying true to the open source principles that started this journey.

Summer promotion!

Start your free 30-day trial today and discover why thousands of businesses trust UpCloud

  • $500 free credits
  • Risk-free trial
  • Optimized performance
  • Scalable infrastructure
  • Top-tier security
  • Global availability

Sign up

See also

A big thank you to everyone for the success of UpCloud's campaign launch.

UpCloud’s Launch Campaign A Huge Success – Thank You!

We're thrilled to state that our one month, 100 000 euro, the campaign is now over and it has been an awesome success. We have received a lot of interest in our service and are very grateful for everyone who has given us a try.

Janne Ruostemaa

Editor-in-Chief

UpCloud and NorNor Partner to Advance European Sovereignty in Autonomous Cloud Infrastructure

We're excited to announce a new strategic partnership with NorNor, a Swedish deep-tech company and creator of the patented Heim platform. Together, we're...

Artur Wikström

Growth Marketing Specialist

AMD EPYC Turin 9000 series CPU, representing UpCloud's new 5th Gen hardware availability.

Available now, AMD EPYC 5th generation server hardware.

As part of our ongoing improvements to our core products we’re proud to announce we’re one of the first providers rolling out 5th Gen AMD […]

Will Barlow

Senior Product Marketing Manager

Back to top