Introducing Aethernal Capsules - Bytesized Hosting
Introducing Aethernal Capsules
TL;DR: A new platform, Aethernal, is in Beta now. It’s made for people who want more freedom to choose, whether that be software or hardware resources. It also includes a new open-source app management system called Aethernal Agent.
Over the last year Pete and I have been working on a sibling product to our Appbox platform that will launch in early 2021. With this new platform, which we called Aethernal internally, we wanted to achieve a couple of things.
Give our members more freedom to use their box as they please. Enable users to custemize their resources and only buy what they need or want. Open-source more of our product so we can work together with our community.
This post will provide some insight into the decisions made during the build process, how you can use it, how it differs from our Appbox platform and whether this new product is something you want to check out.
An introduction to Capsules
The first pillar of this new product was that we wanted more per member isolation for this product. Each user should get it’s own environment where they are free to do whatever they want but we still want to enable some level of automation for our members if they require it. After looking at various virtualisation platforms we decided to choose LXD, it was the perfect combination of container level isolation and ease of use. We call these new boxes “Capsules”. A Capsule is a full linux (Ubuntu 18.04 currently) installation (with root access!) running in isolation from all other processes on the host server. Each Capsule has its own CPU, memory, bandwidth and storage limits that can be changed “on the fly”. Getting dynamic CPU, memory and bandwidth limits was not too hard, however getting flexible disk support was a bit of a challenge. We solved this issue by creating a big cluster of HDD servers managed by Ceph. Ceph enables us to create dynamic disks on the fly of any size. Not only that, it allows us to store your data in various ways, by replicating it or using RAID-like protection. This ensures that even when a whole storage server goes offline your data is unaffected. By unlocking the disks from the servers responsible for CPU and RAM we were able to offer all resources dynamically. In the first iteration of the Capsules all storage will be HDD based with an NVME cache but if our members request it we could add SSD based storage or even NVME ones as well.
A new way to automatically configure software
The second pillar of Aethernal was our new application management system called Aethernal Agent (AA). On every Capsule we deploy we automatically install this new, open-source, application management platform. If you don’t want to configure an app by hand and it’s supported by AA you can just install it like you can an app on the Appbox platform. The code is hosted on Gitlab and completely open-source, it has an easy to use API so that even novice coders can implement support for their favourite apps in AA. Of course AA is completely optional and you can still just install an apt package, build an app from scratch or use your favourite Docker images. The code for AA lives on Gitlab this is also the place to send your application or other feature requests.
The future is IPv6
Being future-proof is the last pillar of Aethernal. As you might or might not know IPv4 IPs have been depleted for some time. We wanted to develop Aethernal with full IPv6 in mind. All users get a free IPv6 /64 range that they can use however they want. We do understand however that not all ISPs everywhere have support for IPv6 yet so we also decided to build-in a compatibility feature. This works on two levels.
The first level is a smart web-proxy we run called the Aethernal Router. It takes a http request and forwards the request to the right capsule based on its domain. In example: if your Capsule is called “tachikoma” you will get a free domain called tachikoma.aethernal.host. Any request with this URL in the name will automatically be proxied to the Apache web-server running in your container. If you use Aethernal Agent it will automatically create reverse proxy configurations for Apache so that you can easily reach your AA apps. tachikoma.aethernal.host/plex will ensure you will get to Plex running in your container. The Aethernal Router also supports custom domains and when you bring your own domain it will automatically support SSL for any URL you feed it. We also support IPv4 tunnels. By opening up a port on the host node and forwarding it to your Capsule you can also still use IPv4 access. Again, if you use AA it will automatically do this for you but you can also manually hole punch if you install any software yourself.
Now the choice of supporting IPv6 first might be a bit controversial but we do feel that if we ever want to get to an IPv6 world we need to lead by example.
Appbox vs Capsules
Now as you can see there is some overlap in functionality between the Appbox and the Aethernal Capsules, let’s see how they differ.
The Appbox is an opinionated product that works and is optimised right out of the box to bring you the best Plex experience. We make decisions for you so you don’t have to. You sacrifice customisation for ease of use so even a complete beginner can use it.
The Capsule is a more advanced product but gives you a lot more freedom. Do you want to run encrypted backups that are three times replicated across our cluster with minimal CPU? You can do that. Want to have a 20 core transcoding Capsule with Rclone connected and no harddisk space. You can do that too. The freedom is there to do what you want.
We have tons of other ideas, snapshot support so you can rollback if you ever fudge up your Capsule, multi-user support where you can give your friends their own accounts on your Capsule and a lot more. We will prioritise these features based on your feedback once we have launched.
As of right now Aethernal is still in Beta and we will let people in in small amounts to work out any kinks we find. You can check here if there are currently any Capsules left.
As always we build our products based on your feedback so let us know what you want to see for this new product!
Please sign-up for an account to join the discussion.