Orientation

XFOS in Brief

XFOS brings the dynamism of cloud computing to the world of physical provisioning, commission and deploy physical servers in record time, re-allocate nodes between services dynamically, and keep them up to date and in due course, retire them from use.

XFOS is a new way of thinking about physical infrastructure. Compute, storage and network are commodities in the virtual world, and for large-scale deployments the same is true of the System. “System as a service” lets you treat farms of servers as a malleable resource for allocation to specific problems, and re-allocation on a dynamic basis.

XFOS will enable you to get the most out of your physical hardware and dynamically deploy complex services with ease and confidence.

Do I Need XFOS?

XFOS certainly isn’t for everyone, but why not ask yourself these questions?

You probably SHOULD use XFOS if any or all of the following statements are true:

  • You are trying to manage many physical servers.
  • You want to deploy services with the minimum fuss.
  • You need to get the most from your resources.
  • You want things to work, repeatably and reliably.

You probably don’t need XFOS if any or all of these statements are true:

  • You don’t need to manage physical hardware
  • You relish time spent in the server room
  • You like trying to set up complicated, critical services without any help

A Typical XFOS setup

XFOS is designed to work with your physical hardware, whether your setup includes thousands of server boxes or only a few. The key components of the XFOS software are:

  • Region controller
  • Cluster controller(s)
  • Nodes

The nodes are the computers you manage using XFOS. These can range from just a handful to many thousands of systems.

For small (in terms of number of nodes) setups, you will probably just install the Region controller and a cluster controller on the same server - it is only worth having multiple region controllers if you need to organise your nodes into different subnets (e.g. if you have a lot of nodes). If you install the XFOS package, it will include both a region controller and a cluster controller, and they will be automatically set up to work together.

_images/orientation_architecture-diagram.png

How XFOS is used

XFOS manages a pool of nodes. After registering a new system with the XFOS and preparing it for service (“commissioning”), the new system joins this pool.

From the moment a node is accepted into the XFOS, any operating system, software, or data that it may have had installed before is meant to be overwritten. A node in the pool is under XFOS’s sole control, and off-limits to users.

Once you have nodes in the pool, users of the XFOS can allocate them for their own use. At that point, the nodes are installed with the selected operating system and set up with the user’s login credentials for remote access. This is referred to as “starting” a node in the browser interface, and as “acquiring” (and, as a separate step, “starting”) a node in the API.

When allocating from the API, you can specify constraints such as how much memory you need, how many CPUs, what networks the node should be connected to, what physical zone they should be in, and so on. API commands can also be issued through the XFOS command-line utility.

An allocated node is not like a virtual instance in a cloud: you get complete control, including hardware drivers and root access. To upgrade a BIOS, for example, an administrator could allocate a node to themselves, and run a vendor-supplied upgrade utility. Needless to say, you also get full hardware performance and tweaking!

Once you are done with a node you have allocated, you can release it back to the pool. Once again any data, software, or operating system will no longer be available.

MAAS logo

XFOS

System As A Service.