Guest EOF

Say Hi to Subutai

Alex Karasulu

Issue #282, October 2017

A new kind of cloud growing in the open-source wild.

I learned about Subutai from Philip Sheldrake of the Digital Life Collective (and much else) and thought it deserved attention here in Linux Journal, so I offered this space for that. Alex Karasulu did most of the writing, but it was a team effort with help from Jon 'maddog' Hall, Philip Sheldrake and Steve Taylor.—Doc Searls

What Is Subutai?

Subutai is an open-source project and platform that lets anyone share, barter or rent computer resources to create clouds from the edge rather than centralized locations (https://subutai.io). Available devices can attach to these clouds hovering on the edge. We started calling it Social Cloud Computing (https://en.wikipedia.org/wiki/Social_cloud_computing), but technically, Subutai is a dynamic p2p multi-cloud made possible thanks to Lightweight Linux Containers (https://en.wikipedia.org/wiki/LXC) and software-defined networking. Think Amazon's Virtual Private Cloud (https://aws.amazon.com/vpc), but running on your computers and the computers of social contacts who share their computer resources with you. Or, think AirBnB on computers for the people's cloud.

Subutai partners with the Digital Life Collective, a member co-operative that researches, develops, funds and supports what we call “tech we trust”—those technologies that put the individual's autonomy, privacy and dignity first, or that support those technologies that do. Our tech, not their tech.

We work together so Subutai can help prevent our privacy from being compromised and our every action from being analyzed. That means not being tied to large cloud providers and giving us the option to use resources we have on hand.

How Does It Work?

You set how much of your computers' resources you're willing to share with others. Rules and quotas are used to share with contacts from your social-media accounts. Once your network of friends, family and colleagues share with you, the stage is set to create clouds across shared computer resources.

When someone creates a cloud, peer computers authorized to share resources with the cloud's owner swarm together (like bees) to form an n-way virtual private network (VPN). A peer is a group of computers with resources that can be shared with others. A peer can be a rack of computers or a single virtual machine running on your laptop.

Peers contribute resources into the VPN as Linux container hosts. Whatever the underlying hardware, operating system or virtualization technology, resources are presented canonically to environments as containers. The VPN provides secure connectivity between these containers across the internet.

Template containers can be fired up based on Docker images to install infrastructure rapidly. Subutai has a blueprint feature for standing up complicated application stacks over several containers. It's a simple JSON-based templating format similar to Amazon's Cloud Formation templates. Use blueprints to fire up application stacks within environments, and/or build environments using your favorite devops tools for automation. Subutai blueprints support Ansible and other tools out of the box.

You basically have your own virtual data center ready to go and how you build it out is up to you. The best thing is, it's free, open source, and your mileage depends on who you know and your social-media network, not your wallet.

What's with the Name, Dude?

We think Subutai is totally bad-assed mind-explosion-inducing madness: that's why we named it after one of the greatest bad asses of all time, General Subutai (aka The Dog of War). The Apache people working on the project really like the meritocratic approach Subutai used where doers rule regardless of their background. Plus, Jon 'maddog' Hall, the project's principal advisor, and CEO of the company that originally authored Subutai, thought the name was befitting.

What's the State of the Project?

Subutai is ready and mature. We've been coding up a storm using every advantage we can gain from the latest emerging technologies to make the jaw-dropping magic happen. We are shocked and get goose bumps every time we see Subutai working (like when a jet flies over real low); we fire up our own clouds across the world on our machines because we just can. It's sick!

Now it's time for us to share its magic with everyone else, especially with our recent 5.0 major release. We're proud to have produced a major Subutai release almost every year for the past five years. But, we never bothered pushing hard to have others use it. Now it's time to go to the next level.

Why Did You Create Subutai?

People are increasingly conscious of compromising their privacy and getting locked in to large cloud providers, while the cost of cloud compute services can become overwhelming for the little guy. Created to address this problem, Subutai allows people to create their own resilient clouds running across computing resources they already own.

Most painful of all, when using AWS or other cloud providers, we kept getting unpleasant end-of-month surprises after forgetting to turn instances off. We wanted something simple, zero cost and independent of the cloud providers for testing and to satisfy our basic OS project infrastructure needs. We did not need premium resources. We just needed a bit more redundancy than running on a single home computer over a residential broadband line.

Beyond sharing and bartering, Subutai allows individuals and commercial entities, big or small, to rent resources in a cloud services sharing economy. By democratizing the cloud, the “race to zero” rapidly accelerates to reduce costs and increase hosting options closer to (or on) the edge. This has the additional advantage of increasing performance and efficiency by locating services and applications closer to where those services and applications are used most.

What Now?

We want to benefit the Open Source community, basically folks like us. In preparation to take on hordes of new participants, we created an open-source rewards program for FOSS projects. Any peer owner can donate computer resources to open-source projects for “goodwill”. The system runs purely on goodwill, and participants create it by being good actors:

  • Registering and inviting friends to register.

  • Setting up peers and keeping them running above some uptime.

  • Upgrading quickly when new releases come out.

  • Notifying tenants of outages in advance (giving tenants time to self-evacuate).

This is the slow path to accumulating goodwill. A quicker approach is to trade peer resources for goodwill or create goodwill by donating peer resources to FOSS projects. We added GitHub integrations that allow GitHub projects to register with the Subutai Hub. These projects create Subutai organizations that map to their GitHub organizations and specify the resources they need. The Subutai Hub advertises their needs to peer owners that can then contribute peer resources to their favorite GitHub open-source projects. Peer owners create and earn goodwill while being recognized for their contributions to their favorite projects. If applicable, FOSS projects contribute blueprints that cloud owners can use to install the project's products. More information about the program is available on our Subutai FOSS Contribution Program page: https://subutai.io/helping-the-good-guys.html.

What's Next?

There's a lot more to Subutai than just software. We've designed a broadband modem that is also a turnkey Subutai Appliance and can be used for IoT applications. We call it the Liquid Router because we made it the Swiss army knife of IoT gateways: it has Raspberry Pi, Arduino and PMod headers. Yeah, we're f'ing crazy, but the cloud router/IoT gateway will soon do something no other broadband router can do: it will effortlessly allow average broadband users to mine for Subutai's cryptocurrency while sharing, bartering or renting computer resources. Hence, it's obviously also a physical cryptocurrency wallet.

Yes indeed, we just did what you think we did! We dropped the cryptocurrency bomb right here on LJ. That brings us to our cryptocurrency aspirations. We're trying to go beyond sharing and bartering to enable renting with Subutai's cryptocurrency token. The system always will operate on goodwill, but eventually will allow direct Subutai coin transactions.

Besides turning cloud computing on the edge into a real sharing economy, we're really excited about the several problems we will solve with blockchain technology. Blockchain smart contracts can be used for service-level agreements and to enforce accountability. We want verified small businesses to leverage Subutai to buy and sell resources to one another using Subutai's cryptocurrency and the blockchain. Before AWS, Amazon was just an e-commerce company. Why can't any verified company sell cloud services regardless of its vertical? We want to start a supernova to birth millions of Amazons that can transact with each other to provide amazing cloud services and applications on and off the edge.

How Can Others Get Involved?

First and foremost, we need users to create peers and environments, then give us feedback: our GitHub issue-trackers are ready. Our intelligent launchers will help you set up a VM on your desktop to share or rent resources. Power users can use scripts with other hypervisors and environments. We need projects on GitHub to register for the OS contribution program and provide blueprints for applications to be made available to all users in the Subutai Bazaar.

Next, we need developers! We need Ethereum blockchain and Solidity-savvy engineers, P2P researchers to help us experiment and optimize DHT and Gossip protocols. We need C/C++, Java, JavaScript and Golang programmers. If you want to get involved as a developer, first give Subutai a try as a user. Then take a look at our list of GitHub projects in the Resources section of this article. Come onto our Slack channel and let us know if you need help diving in. We're here and waiting for you!

Register on the Subutai Hub this month using the Linux Journal code LJOCT17, and we'll give you some goodwill to trade cloud resources with others on the system. Happy sharing!

Alex Karasulu is an entrepreneur with more than 25 years of experience in the software industry and a recognized leader in the Open Source community. He is widely known as the original author of the Apache Directory Server, used by IBM both as the foundation of the Rational Directory Server and also integrated into the Websphere Application Server. Alex co-founded several Apache projects, including MINA, Felix and Karaf, among others, which, along with their communities, thrive independently past his day-to-day involvement in the projects.