Metal as a Service (MaaS) – Is it for you?
Setting up a server can be time consuming. It involves installing an operating system, setting up networking, configuring various services and securing can take up to 2 hours per server. But what if you can deploy servers in a few mins? That’s what you can do with the open source tool called “MAAS”.
MAAS, or Metal as a Service uses server images to quickly deploy servers over the network. When used with a service deployment tool such as Juju, an entire server setup can be completed in a few minutes, over a remote desktop console.
Here’s a list of provisioning challenges faced in 4 businesses, and how MaaS can be used to resolve those.
1. Dedicated server hosting
Challenge – Delay in server provisioning
Dedicated server hosting is a very competitive business. One of the things customers look for when they choose a provider is the speed of server provisioning. The fastest providers in the market now offer an average of 1 hour provisioning time. To remain competitive, dedicated server providers must be able to match that or do better.
Solution – Cut down setup time with Copy-Paste installation
The delay in provisioning is essentially caused by someone having to format a hard disk, create partitions, install OS, change installation media, setup applications, etc. MAAS cuts down on all these by booting up from a boot image fetched using PXE, and then Copy-Pasting the entire root folder structure from a tar archive.
It’s a simple solution, but very efficient, in that it cuts down the installation time of the entire OS to a couple of minutes. Once you get an SSH access to the server, you can quickly run a setup script that configures network, and installs any custom packages the customer requested. This way, you can provision servers in as little as 20 mins.
2. Business websites such as eCommerce stores
Challenge – Delay in releasing new features
For big websites such as eCommerce stores or online communities, it is important to keep releasing new features, themes and UI upgrades to improve user experience. Often these changes require upgrades to the base applications, operating system, etc.
Extensive QA testing needs to be done on the new environment before the changes can be released in live. Configuring these systems manually can significantly delay time to market of new features.
Solution – On-demand quick server setup and automated service configuration
The popular way to deal with these issues is to use a set of systems as QA servers, and keep upgrading or installing applications. Such tinkering with old configurations often result in environment related bugs. It is always best to perform testing on a freshly setup server that matches the development environment.
With MAAS, a server can be deployed within a few minutes, and Juju Charms can be used on top of MAAS to setup all the required services. QAs can abuse the system in any way they want, and start afresh with a new image for the next release. There’s no time wasted in setup, and feature releases will happen on-time.
3. App platform providers using SaaS
Challenge – Delays in scaling up to meet usage spikes
For app platform providers like market analytics companies, ad platform providers, etc. a usage spike can happen any time. It can be due to a marketing campaign, or a featured listing somewhere, or viral user behavior. App hosters should then be able to scale up the compute power on short notice, so that user experience is not affected.
The popular way is to use a cloud system for such applications, but for some industries such as health care, public cloud systems are not deemed to be secure enough. These systems will need the security of physical servers, but the flexibility of a cloud system.
Solution – Quick re-provisioning of servers to meet usage spikes
I’ll explain this with an example. Let’s say there’s an application that runs on 2 Django servers and 3 web servers. A sudden spike in app usage has led to high load on the Web and Application servers.
MAAS can be used to quickly re-provision a couple of your QA servers to meet the increased demand, and then release it back when the spike has ended. A well configured MAAS system can be used just like a cloud system.
4. Specialist hosting
Challenge – Delay in provisioning customized servers
The market now demands specialist hosting solutions such as WordPress hosting, or Magento hosting. Each provider tries to differentiate from their competitors by delivering better performance, more features and better security.
Such fine tuning requires a lot of custom configuration of servers, and this results in long delays in server deployment.
Solution – Quick service setup using MAAS images and Juju Charms templates
Time is lost during provisioning when service settings are manually entered each time a new order comes in.
For eg. let’s say a high performance WordPress hosting service uses a highly tuned combination Nginx + Percona + Varnish to deliver blazing fast page load speeds. Now, to configure this system each time an order comes in, can delay the provisioning by at least 2 hours.
This is where Juju Charms can make a difference. Juju Charms is a way to automate service configuration. Custom scripts can be written to build a custom server configuration just like we want it.
MAAS integrates well with Juju. So, as soon as MAAS finishes install of an OS, a set of Juju Charms can be run to provision a server in a few minutes.
Quick server provisioning has long been a forte of cloud systems. With MAAS, businesses can get the best of both worlds – the flexibility of cloud infrastructure, and the security of physical servers.
However, MAAS in itself does not solve all your operations needs. You might need service orchestration tools such as Juju, or configuration tools such as Ansible to keep everything smooth and tidy.
Bobcares helps business websites of all sizes achieve world-class performance and uptime, using tried and tested server architectures. If you’d like to know how to make your server infrastructure and operations more efficient, we’d be happy to talk to you.