upcloud
![OpenCredo-Case Study Banner -Upcloud](https://cdn.prod.website-files.com/65f178221acfb3ab01f09d6a/666c6fe5e0f519841be2f3de_upcloud%20(2).png)
![OpenCredo-Icon: Quotation Marks -Bright Coral](https://cdn.prod.website-files.com/65f178221acfb3ab01f09d6a/66438b9b32c661120f08b48b_Coral%20Quotation%20Marks.png)
A growing number of our customers have started to use Infrastructure As Code (IaC) to manage their UpCloud projects and when it comes to IaC tools, Terraform is one of the most exciting ones. Therefore it was important for us to choose a partner with a deep understanding of Terraform and other Hashicorp products. Thanks to OpenCredo we are now listed as a verified Terraform provider.Cooperation with OpenCredo and their team of highly skilled professionals has been a pleasure so far.
Head of Product
The Challenge
UpCloud has seen many of their clients embracing infrastructure-as-code, with a specific move to standardise on Terraform for infrastructure deployment management.
Whilst UpCloud already had a Go Client Library and Terraform Provider available for use, both were out of date and lagging behind the UpCloud RESTful API. Recognising a fully supported and updated Terraform Provider (with verified status, sanctioned by HashiCorp) was essential to compete with other cloud providers, UpCloud engaged OpenCredo to help make this happen.
The Solution & Approach
We began with a three way analysis of the UpCloud RESTful API, the existing Go Client Library and Terraform Provider to understand the current functionality as well as the new and updated functionality provided by the API. Our analysis and proposed options for moving forward ensured both the DevEx (Developer Experience) and future maintenance considerations were taken into account. Where points of clarification or DevEx choices needed to be made, these were discussed and agreed with the UpCloud Team.
We updated the existing UpCloud Go Client Library to align with the latest version of the UpCloud API. This included a migration from XML to JSON, as well as adding additional functionality to reflect new UpCloud features since the last update.
The UpCloud Terraform provider was updated to use the latest UpCloud Go Client Library as well as being refactored to meet latest provider best practices. Additional resources supporting new UpCloud features were added, and unit and acceptance tests were expanded ensuring full and appropriate testing coverage was attained.
Work was done iteratively across the provider and the Go Client Library ensuring both were kept in a fully working and tested state throughout the development process. At all stages of the engagement UpCloud were kept fully informed of progress through transparent stand-ups and regular weekly meetings.
The Terraform Provider Documentation was expanded and improved with many examples helping new users get started with UpCloud services quickly. Finally we worked with UpCloud and HashiCorp to publish the Terraform Provider to the Terraform Registry and to acquire Verified status.
The Outcome
A Trusted & Supported Provider - Terraform Verified status achieved
Improved Developer Experience - Ability to use latest Terraform and UpCloud features, as well as clear documentation with examples for getting up and running quickly
Looking for a hands-on software delivery partner?
Book in a quick 20 minute discovery call with our consultants to discuss your specific project and objectives.
![OpenCredo-Photo-Nicki Watt & Consultants](https://cdn.prod.website-files.com/65f178221acfb3ab01f09d6a/6659cbdc589d6b97b9a66810_Data%20Eng%20CTA%20Software%20del%20partner.jpg)