Introducing SelfPortal: The Panel to Launch VMs in a Few Clicks

Altoros open-sources a self-service tool enabling developers to automatically run, modify, or delete virtual machines (VMs), as well as publish web applications.

Seeking automation of infrastructure deployment

To get virtual machines up and running, it’s a common practice in many companies that a developer creates a task for a system engineer. Though the process sounds simple enough, it still takes time from the moment the task is created, picked up, then completed. For developers, it may result in waiting on infrastructure to be ready for an hour on average or more. That’s quite a lot of time lost when considering multiple deployments.

Several years ago, our Infrastructure Department relied on the Eucalyptus platform, which was supposed to offer self-service functionality—automating infrastructure deployment. The project, unfortunately, didn’t have all the automation functionality we needed, so we looked for a different solution.

Opting for OpenStack relieved some of the constraints, but there were still prevalent issues. With developers having different backgrounds in infrastructure deployment, things such as setting a security group or choosing Storage/Lun posed certain difficulties.

Additionally, providing external access to an integrated development environment was a problem. By default, computing resources are secured by a firewall, which made it impossible to test an app remotely unless a system engineer granted access to a developer. System engineers also have to constantly check on computing resources availability as developers can sometimes forget to disable virtual machines that are no longer being used.

In this regard, Altoros decided to develop a solution—the SelfPortal panel—that would enable developers to deploy infrastructure in a few clicks without having to rely on system engineers.

SelfPortal dashboard


Open-sourcing SelfPortal

Today, we are thrilled to announce that Altoros open sources the SelfPortal panel. The delivered solution grants developers an ability to automatically launch virtual machines and publish web applications. Secure control over all the resources was a main idea behind the project. Currently, SelfPortal has the following major features:

  • An ability to create, modify, and delete VMs
  • A web interface with a dashboard, containing a list of users
  • Two access roles: a user and an administrator
  • HTTP website proxy for external access
  • Blacklist for preventing external access to sensitive resources
  • Termination of unused VMs or web apps

At the moment, SelfPortal provides support for OpenStack and vSphere. The project is available under the Apache 2.0 license. The time it takes to create VMs will vary depending on such conditions as an image size and host configuration.

Creating a vSphere VM

So far, the portal’s launch within our organization has helped to reduce developer requests for preparing infrastructure by 30%.

A vSphere VM launched


What’s next?

Now, our Infrastructure Department is working on adding new features, which include:

  • HTTPS website proxy using wildcard certificates
  • WebSocket proxy
  • VM backups
  • Mounting ISO images to vSphere VMs
  • Error notifications

We are open to feedback and suggestions. Anyone interested in improving the project is welcome to contribute to its GitHub repository.


This post was written by Alexey Lekontsev and Arsenii Petrovich
with an assistance from Sophie Turol and Alex Khizhniak.