New! Welcome to a freshly redesigned UpCloud

Superior cloud hosting

Give yourself the unfair advantage, and deploy on cloud infrastructure with unrivaled performance & flexibility.

Case study

Everything you need, batteries included

World's fastest cloud

MaxIOPS block storage

Our scalable MaxIOPS block storage provides higher performance at a lower price, and doesn’t throttle your performance based on price.

Deploy in 45 seconds

All cloud servers are deployed with our MaxIOPS technology, allowing you to create and boot up a cloud servers in just 45 seconds!

100% uptime SLA

With a N+1 philosophy throughout our entire infrastructure, all single points of failure have been eliminated. We trust our redundancy so much, that we will give you a 100% SLA with 50x payback for any downtime of over 5 minutes.

24/7 live support

We believe in providing help when it’s needed, not when it’s too late. With a 1m 55s average median response time and a 95% satisfaction rate, we pride ourselves in providing probably the best support in the industry.

Simple pricing starting at $5/mo

Start out with one of our Simple plans, starting from $5/mo, or roll your own with our Flexible plan. Free trial and 30 day money back guarantee included!

Custom images

Create custom images and make your cloud infrastructure completely your own! This allows for very efficient use of resources and complete automation for your infrastructure.

Our versatile API

Designed for developers

Our easy-to-use control panel and API let you spend more time coding and less time managing your infrastructure. Together with the community, we develop and maintain a large library of open source API-clients and tools.

View documentation

Easily integrate your app with our infrastructure


- hosts: localhost
  connection: local
  serial: 1
  gather_facts: no

  tasks:
    - name: Create upcloud server
      upcloud:
        state: present
        hostname: web1.example.com
        title: web1.example.com
        zone: uk-lon1
        plan: 1xCPU-1GB
        storage_devices:
            - { size: 25, os: Ubuntu 14.04 }
        user: root
        ssh_keys:
            - ssh-rsa AAAAB3NzaC1yc2EAA[...]ptshi44x [email protected]
            - ssh-dss AAAAB3NzaC1kc3MAA[...]VHRzAA== [email protected]
      register: upcloud_server

    - name: Wait for SSH to come up
      wait_for: host={{ upcloud_server.public_ip }} port=22 delay=5 timeout=320 state=started

    - name: tag the created server
      upcloud_tag:
        state: present
        uuid: "{{ upcloud_server.server.uuid }}"
        tags: [ webservers, london ]

resource "upcloud_server" "server1" {
    hostname = "terraform.example.com"
    zone = "nl-ams1"
    plan = "1xCPU-1GB"
    storage_devices = [
        {
            size = 25
            action = "clone"
            storage = "01000000-0000-4000-8000-000030080200"
            tier = "maxiops"
        }
    ]
    login {
        user = "root"
        keys = [
            "ssh-rsa public key xxx"
        ]
    }
}

{
   "variables": {
      "UPCLOUD_USERNAME": "{{ env `UPCLOUD_API_USER` }}",
      "UPCLOUD_PASSWORD": "{{ env `UPCLOUD_API_PASSWORD` }}"
   },
   "builders": [
      {
         "type": "upcloud",
         "username": "{{ user `UPCLOUD_USERNAME` }}",
         "password": "{{ user `UPCLOUD_PASSWORD` }}",
         "zone": "nl-ams1",
         "storage_uuid": "01000000-0000-4000-8000-000030060200"
      }
   ],
   "provisioners": [
      {
         "type": "shell",
         "inline": [
           "apt update",
           "apt upgrade -y",
           "echo '' | tee /root/.ssh/authorized_keys"
         ]
      }
   ]
}

for image in driver.list_images():
    if image.name.startswith('Ubuntu') \
    and image.name.count('16.04') \
    and image.id.endswith('0'):
        break

for size in driver.list_sizes():
    if size.name == '1xCPU-1GB':
        break

for location in driver.list_locations():
    if location.name.startswith('London'):
        break

node = driver.create_node(
    image=image,
    size=size,
    location=location,
    name='Libcloud Example',
    ex_hostname='libcloud.example.com'
    )

pprint(node.state)

Multiple open source API-clients available


// Create the server
serverDetails, err := svc.CreateServer(&request.CreateServerRequest{
	Zone:             "fi-hel1",
	Title:            "My new server",
	Hostname:         "server.example.com",
	PasswordDelivery: request.PasswordDeliveryNone,
	StorageDevices: []request.CreateServerStorageDevice{
		{
			Action:  request.CreateStorageDeviceActionClone,
			Storage: "01000000-0000-4000-8000-000030060200",
			Title:   "disk1",
			Size:    30,
			Tier:    upcloud.StorageTierMaxIOPS,
		},
	},
	IPAddresses: []request.CreateServerIPAddress{
		{
			Access: upcloud.IPAddressAccessPrivate,
			Family: upcloud.IPAddressFamilyIPv4,
		},
		{
			Access: upcloud.IPAddressAccessPublic,
			Family: upcloud.IPAddressFamilyIPv4,
		},
		{
			Access: upcloud.IPAddressAccessPublic,
			Family: upcloud.IPAddressFamilyIPv6,
		},
	},
})

import upcloud_api
from upcloud_api import Server, Storage, ZONE, login_user_block

manager = upcloud_api.CloudManager('api_user', 'password')
manager.authenticate()


login_user = login_user_block(
    username='theuser',
    ssh_keys=['ssh-rsa AAAAB3NzaC1yc2EAA[...]ptshi44x [email protected]'],
    create_password=False
)

cluster = {
    'web1': Server(
        core_number=1, # CPU cores
        memory_amount=1024, # RAM in MB
        hostname='web1.example.com',
        zone=ZONE.London, # ZONE.Helsinki and ZONE.Chicago available also
        storage_devices=[
            # OS: Ubuntu 14.04 from template
            # default tier: maxIOPS, the 100k IOPS storage backend
            Storage(os='Ubuntu 14.04', size=10),
            # secondary storage, hdd for reduced cost
            Storage(size=100, tier='hdd')
        ],
        login_user=login_user  # user and ssh-keys
    ),
    'web2': Server(
        core_number=1,
        memory_amount=1024,
        hostname='web2.example.com',
        zone=ZONE.London,
        storage_devices=[
            Storage(os='Ubuntu 14.04', size=10),
            Storage(size=100, tier='hdd'),
        ],
        login_user=login_user
    ),
    'db': Server(
        plan='2xCPU-4GB', # use a preconfigured plan, instead of custom
        hostname='db.example.com',
        zone=ZONE.London,
        storage_devices=[
            Storage(os='Ubuntu 14.04', size=10),
            Storage(size=100),
        ],
        login_user=login_user
    ),
    'lb': Server(
        core_number=2,
        memory_amount=1024,
        hostname='balancer.example.com',
        zone=ZONE.London,
        storage_devices=[
            Storage(os='Ubuntu 14.04', size=10)
        ],
        login_user=login_user
    )
}

for server in cluster:
    manager.create_server(cluster[server]) # automatically populates the Server objects with data from API

var upcloud = require('upcloud');

var defaultClient = upcloud.ApiClient.instance;

// Configure HTTP basic authorization: baseAuth
var baseAuth = defaultClient.authentications['baseAuth'];
baseAuth.username = 'UPCLOUD_USERNAME';
baseAuth.password = 'UPCLOUD_PASSWORD';

var api = new upcloud.AccountApi();
api.getAccount().then(
  function(data) {
    console.log('API called successfully. Returned data: ' + data);
  },
  function(error) {
    console.error(error);
  },
);

require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Upcloud\ApiClient\Upcloud\AccountApi();
$config = $api_instance->getConfig();
$config->setUsername('YOUR UPCLOUD USERNAME');
$config->setPassword('YOUR UPCLOUD PASSWORD');

try {
    $result = $api_instance->getAccount();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AccountApi->getAccount: ', $e->getMessage(), PHP_EOL;
}

HTTP/1.0 200 OK
{
    "servers": {
        "server": [
            {
                "core_number": "1",
                "hostname": "example.upcloud.com",
                "license”: 0,
                "memory_amount": "1024",
                "plan": "1xCPU-1GB",
                "state": "started",
                "tags": {
                    "tag": []
                },
                "title": "Example UpCloud server",
                "uuid": "00e8051f-86af-468b-b932-4fe4ac6c7f08",
                "zone": "fi-hel1"
            }
        ]
    }
}

Let's get inspired, share and learn together

Join the community

Tutorials

Hundreds of tutorials for almost anything, written by UpCloud together with the community.

Explore

Resources

Check out the many open source resources and projects, that helps you take full advantage of your cloud.

Explore

Stories

Read how our users effectively take advantage of our global cloud infrastructure.

Explore

Events

Check out what events we will participate in and let’s meet, or let’s host a meetup together!

Explore

What our users have to say

Case Studies

How Haltu built intricate customer solutions on simplicity

UpCloud's offering is simple and easy to understand, cloud servers with a little bit of networking, nothing overly fancy and that's exactly what we want.

Read the Case Study

How PointerBP found relief from maintenance in new partnership

Each day our systems ingest large quantities of data and with UpCloud we know that the hardware management is in trustworthy and experienced hands.

Read the Case Study

How Anders built their services on minimum maintenance

Consolidating almost everything hosting related to a single provider has been a huge management relief for our system administrators.

Read the Case Study

How Polystream’s low latency application streaming reached new audiences

We are always looking to broaden our global reach and thanks to UpCloud we are able to deliver great quality streams to regions yet unreachable by traditional 3D streaming methods.

Read the Case Study

How Ruby Studio built trusted design on reliability

With the new solution, we have achieved complete transparency and control. If we experience issues with a server, our server team will always be on top of it even before a client reports the issue.

Read the Case Study

How Critical Force supercharged their game with MaxIOPS

UpCloud has enabled us to run large datasets on individual servers. Due to the extreme IOPS performance, we’ve consolidated our services from tens of hosts to but a few high-powered systems.

Read the Case Study

How Evermade cloudified their company infrastructure

Cloud-based company infrastructure has provided many benefits. For example, working remotely is a breeze since our work is not tied to any office location or even a specific computer.

Read the Case Study

How Fraktio attained rock-solid stability

We have been enjoying the competitive pricing. On top of that, the customer service is always very friendly and responsive thanks to UpCloud being far less corporate than other providers.

Read the Case Study

How Sitesbi raised their SLA way above industry norms

Thanks to your offerings, our SLA is almost as good as yours. Your backups are also, in our experience, the best in the market. It was love at first sight.

Read the Case Study

How Barabra took control of their cloud hosting solution

We're able to adapt to different situations much better thanks to being in full control of our software stack. The ability to activate and deactivate instances on-demand has proven very useful.

Read the Case Study

How SportMonks increased their API performance to new heights

The new servers at UpCloud are so much faster on the disk, CPU, and memory performance. We get way more requests out of the same amount of money that the migration was well worth it.

Read the Case Study

Read our latest

Blog Posts

Exciting developments on the roadmap for year 2019

The holidays came and went, and while we hope you’ve had a great start for the year 2019, it’s only going to get better. A new year is a time of new plans and oh boy do we have much on the...

The year 2018 at UpCloud in retrospect

At the end of the year, it’s great to have a chance to kick back and relax a little. We wanted to take a moment to reflect on the past events and what we’ve accomplished this year. We’ve certainly been...

Never become yet another

UpCloud was founded on the principle of offering developers and businesses around the world superior products, that are designed by an exceptionally talented team and catered through awesome customer service. We’ve come a long way from a small start-up with...

UpCloud crowned best European cloud provider, again!

Cloud Spectator is an industry leading infrastructure-as-a-service marketplace analyst. They perform highly detailed and in-depth comparisons to find the best European cloud provider on the market. This year’s report on the cloud space in Europe saw highly competitive offerings across...

Have a look at our blog page for more stories Go to our blog

What’s new from the

Community

Deploy your cloud servers worldwide

Our datacentres

Helsinki FI-HEL1

+358 9 4272 0661

Helsinki FI-HEL2

+358 9 4272 0661

London

+44 20 358 80000

Chicago

+1 415 830 8474

Frankfurt

+44 20 358 80000

Amsterdam

+44 20 358 80000

Singapore

+65 3163 7151

San José

+1 415 830 8474

New! Welcome to a brand new UpCloud

Sign up now for a free trial

Locations

Helsinki (HQ)

In the capital city of Finland, you will find our headquarters, and our first data centre. This is where we handle most of our development and innovation.

London

London was our second office to open, and a important step in introducing UpCloud to the world. Here our amazing staff can help you with both sales and support, in addition to host tons of interesting meetups.

Seattle

Seattle is our 4th and latest office to be opened, and our way to reach out across the pond to our many users in the Americas.

Singapore

Singapore was our 3rd office to be opened, and enjoys one of most engaged and fastest growing user bases we have ever seen.