News

Back
2019
December
23
2019

Use our Latest Features with Terraform

We are constantly evolving our cloud offering further. We have, for example, recently been able to announce improvements regarding volumes and private networks as well as the opening of our second cloud location. Of course, this also means adapting the tools that interact with our API. We have enhanced our Terraform plug-in in several steps so that you can also make the most of the new possibilities using Terraform.

Terraform offers "infrastructure as code"

Where a configuration management system often assumes existing an infrastructure on which the software has to be configured, Terraform starts one step earlier: you define your required infrastructure in the form of text files, and changes over time can easily be tracked in your usual versioning system. Based on the current state and defined target situation, Terraform derives the necessary actions and creates your systems via our API, thus turning code into infrastructure.

Terraform is open source and can interact with a large number of cloud providers; the respective interface is implemented as a provider plug-in. We are constantly developing the "cloudscale.ch Provider" plug-in further and have enhanced it several times this year so that you can make the best use of the latest features of our cloud.

"Infrastructure as code" with Terraform and the cloudscale.ch provider plug-in

Support for the latest features

For some time now, our servers have been supporting not only one SSD and one bulk volume each, but virtually any number of volumes. As early as spring, support in Terraform followed, which means additional volumes are now defined as separate resources and can be dynamically attached to servers as well as scaled up during live operation. A restart is still required when scaling servers, and to avoid this catching you on the wrong foot, Terraform asks for your explicit permission for the restart with a special config argument.

Another new feature is the management of multiple private networks and thus of "tiered" infrastructures in Terraform. Private networks are also defined as separate resources; all networks to which a server requires a connection are then specified via interfaces. An overview of all available resources and arguments, including examples, can be found in the "cloudscale.ch Provider" documentation.

Designed for reliability

It goes without saying that our Terraform plug-in also supports our new data center location in Lupfig. You can select the desired location for each resource with the zone_slug argument. This allows you to define the complete infrastructure required for your geo-redundant setups "as code".

In addition to redundancy, it is also important to quickly identify any problems. Thanks to a test suite, which is executed daily by Terraform developer HashiCorp against our productive infrastructure, we obtain timely feedback from a user's perspective. This allows us to investigate potential anomalies before sporadic errors become a real problem for our customers.

By the way: the Terraform plug-in is based on our Go SDK, which is also available as open source and makes accessing our infrastructure easier for other tools written in Go.


Terraform enables the automated – and therefore reproducible – provision of infrastructure and thus fits perfectly into the workflow of many of our customers. Use our latest features in Terraform and prepare the ground for your next sophisticated projects!

Happy holidays!
Your cloudscale.ch team

Back to overview