The last three months since we launched our exclusive Club 100 have been a blur! We built the basis of our platform and thought that we could carve out a good size section of the cloud hosting marketplace by listening to our users and providing a developer-to-developer service.

Customers

We chose our first one hundred users based on their social profiles, GitHub content and of course their own biography summaries that they supplied when signing up.

Since then we've had hundreds of conversations with our Club 100 members and almost without exception, they've been a pleasure! Our users have been so friendly and positive about our platform, goals and ethos that it's been overwhelming! Even when we've had problems, they've just accepted them and given support in encouraging us to not worry about it.

Stats

So since we've launched 3 months ago we've now launched over 1,000 instances for customers in an average build time of just 44.03 seconds. They aren't all currently running, but we've got about a couple of hundred instances currently running on the platform. While we're on stats, the top choices of OS versions is:

  1. Ubuntu 16.04 (68.4%)
  2. CentOS 7 (11.4%)
  3. CoreOS (5.2%)

Features

We'd always planned to be building our own features that we think are a good idea, but also to be working on features required by the community. Since we launched to Club 100 users three months ago we've build the following community suggested features:

  • Reverse DNS for instances and DNS serving for your own domains
  • Access to the raw OpenStack APIs for supporting Terraform and the like
  • Moving public IP addresses between instances (for simple HA)
  • Supporting ed25519 SSH keys (that aren't supported by OpenStack's Nova)
  • Billing alerts to email when you hit a preconfigured limit
  • Two factor authentication for enhanced security
  • Default current user to be an option rather than always civo
  • Enabling Emoji support in suggestions ?!

We're planning on building more of your features, but we have two very big internal projects on at the moment:

API Rewrite

Unfortunately when we first wrote the API, we decided that Golang was a better choice than Ruby - because of its support for better concurrency and faster operation. However, what we really overlooked is that we aren't a Golang house. This means that when we have to add new functionality, we can't run as fast as we like because we're using a (within our organisation) relatively unknown language.

So, with us being a Ruby-house, we're currently rewriting it in Rails 5.1. This will mean that we need more instances to support our API performance goals, but as a hosting provider that's just a percentage of our hosting capacity anyway - more customers = more API usage/instances = more platform needed anyway for more customers. So it's an ongoing project we hope to complete in the next few weeks. There should be no/minimal changes to anyone hitting the API, we're aiming for 100% compatibility with the existing API (although with a minor tidy-up on one or two endpoints).

Note: while this is a rare blog post for a company to be going from Golang to Ruby rather than the other way round; it's not a damning opinion of Golang (actually we think it's awesome) just a skills-within-the-team decision.

Platform upgrade

We're currently running OpenStack Mitaka on Ubuntu 14.04 hosts. There are known problems with taking snapshots on this version, which means we've had to disable instance upgrading for the moment and backing up instances can be hit-or-miss. Also, OpenStack really quickly puts releases in end-of-life status, so we're technically on a legacy OpenStack release.

From our experience at the OpenStack Summit last November, most OpenStack shops just stick with the old versions because they just work. However, we don't want to run that way. We always want to be giving our users the latest tech we can, so our plan is to upgrade our staging environment to OpenStack Newton, then to Ubuntu 16.04 hosts over the next couple of weeks and then do the same to production. We're hoping for no/minimal outage, but thought now is a good time before we go to a wider beta to try out a production upgrade.

How can you help?

If you're already a Club 100 member, then please just keep doing what you're doing - launching instances, using instances, suggesting features and reporting bugs. Also, being patient with the upgrade process would be nice ?. You guys are awesome and we love you!

If you're not a Club 100 member, then you can signup to be part of our next beta intake and we'll be in touch as we open more places. We'd love to have you on board, joining us in making the best developer platform in the world!