Solved

Ubuntu MAAS (Metal as a Service) VS Virtualization

Posted on 2014-07-27
11
1,736 Views
Last Modified: 2014-08-16
I have a client that has been sold by someone on the idea of using Ubuntu MAAS (Metal as a Service) as opposed to virtualization. I'm not a MAAS expert but have lots of experience with virtualization.

Upon reviewing MAAS it seems like its use is specifically

1) If you want your OSes to be directly connected with the local hardware, unlike virtualization.
2) You can add additional servers on the fly and somehow your OSes can use those servers.

The MAAS website doesn't very clearly state the specific bullet point advantages so I was wondering if someone with experience with MAAS could elaborate on the following:

1) Can MAAS by used to live migrate OSes while they are running to other servers like virtualization?
2) By having multiple physical servers in the cluster, can any individual OS leverage the CPU/RAM/Networking performance from multiple physical servers at the same time?
3) Does MAAS provide any type of high availability? i.e. If a server goes down, can it automatically restart on another one?
4) Does MAAS support Windows OSes?
5) Are the MAAS Oses hardware independant? meaning if you have a backup of one, you can restore it to another server without having to do some "dissimilar hardware" restore?
6) How is data stored, is it to some virtual hard drive or directly to the local ext3 or ext4 filesystem or whatever MAAS uses?

I guess what I'm trying to find out with the above is: a) When would you use MAAS b) IT Administratively what advantage is it? c) What sort of high availability/redundancy resiliency does it have?

Thanks very much.
0
Comment
Question by:RFVDB
  • 4
  • 4
  • 3
11 Comments
 
LVL 118
ID: 40223008
I have heard this term used in Unix and Solaris circles, when Zoning or Partitioning was used.

I've not heard it for a while, do you understand Solaris Zoning and Partitioning ?

MAAS is also used to define deploying applications, so it does not matter what tin, physical or virtual you use.

See Openstack...

Deploying metal with a specific OS, to many nodes (physical or virtual nodes) is very straightforward, using golden images, TFTboot, isos.

We do a similar thing at present using Big Data with Hadooop, we can scale up and scale down very quickly by scripting and adding compute nodes, which are installed via TFTP, server boots pulls down and image, installs, assigns an IP Address, and is available.

As regards to your questions,

it does not matter, if your application is designed correctly, if a node fails, it's marked as bad, and the application continues....

so, live migration is not an issue, HA is not an issue, physical host is not an issue.....

if we have a compute node fail, Hadoop, marks it as bad, and it's not used  - simple.

So, it can be used in a virtualisation world, or physical world, but it very much depends on your Application Design if you would use it.

e.g. HaDoop, Large Web Farm etc
0
 

Author Comment

by:RFVDB
ID: 40223152
Thanks for the input.

So if I understand you correctly, MAAS in itself can't provide any sort of high availability?

Its the application you develop on your linux OSes that has to properly replicate itself to other Linux OS instances and work in tandem/replication to create high availability of some sort? Right? Such as MySQL clustering, website replication, etc.?

So MAAS would help IT wise in easily adding a physical server to your managed infrastructure to then be able to load another Linux OS on it? That's it right - or is there more to MAAS? Can you run multiple OSes on one physical server?
0
 
LVL 61

Expert Comment

by:gheist
ID: 40223192
Metal in MAAS is a virtual machine.

The "server goes down" is very vague definition. Why you would want to have service that is not resilient and suffers from a reboot in first place?
0
 
LVL 118
ID: 40223217
It's VERY HIGLY AVAILABLE.

It's distributed computing....nodes run specific tasks

Think Applications! not OS or Servers!

The service is designed to fail.....

If you design a service and application spread across 100 nodes, should we care if a node fails?

if the service being received to the end user is the same?

It's resilient and scalable across many nodes, a single node does not cause a service outage,

If a node fails, another node is automatically created to replace the node which has failed, keeping the capacity the same.

if capacity is not required, nodes are destroyed, and shutdown, if you need to ramp up performance and capacity, nodes are created automatically.
It's not about servers, or tin, it's about the application, and service which is delivered.

If you are using and running a 100 compute node Hadoop Cluster, if one of the computer nodes fails, the application is still running, and the processes that were running on that computer node, that have failed, are transferred/restart on other computer nodes.

So we no longer care about the failure of a server, similar to RAID with hard disks arrays, we do not care if a hard disk fails, because we still have a resilient file system. (the hard disk needs to be replaced at some point, e.g. marked as bad, but it does not require immediate attention - designed to fail!).

It's the same model, as Facebook, Google, Twitter and Microsoft are using, spread the service, across many nodes.
0
 
LVL 61

Expert Comment

by:gheist
ID: 40223235
You can have KVM virtual machine running in OpenStack. And KVM supports hardware watchdog emulation. That will force restart when system in VM has hard times - i.e. same chaotic restarts like on vsphere, not better or worse.
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:RFVDB
ID: 40223264
Hi Andrew,

I'm not 100% tracking. You're saying you have to develop applications on top of MAAS that will work across multiple servers so if any node dies, it doesn't matter. This "application" that you are developing, i.e. Facebook, Google, etc. They are the resilient application that will work on multiple servers right. Is this MAAS or does this sit on top of MAAS? Or does MAAS make it possible for you to do this type of application?
0
 

Author Comment

by:RFVDB
ID: 40223274
In a very simple example, lets say you have a file server or you need to share files. You put those files on one of the MAAS nodes, does MAAS then automatically replicate this across all of the nodes or do you need to program/implement some sort of automatic file replication on an application level, separate from MAAS?

I'm sorry if I sound like an idiot on this, I've never dealt with this stuff before.
0
 
LVL 118

Accepted Solution

by:
Andrew Hancock (VMware vExpert / EE MVE) earned 334 total points
ID: 40223293
You develop applications, that use the MAAS architecture.

MAAS makes it possible.

As part of your design, you would ensure that data is also replicated to many nodes, e.g. from what we understand, Facebook, Google and Microsoft, do not use SANs.

They use storage connected to many nodes, e.g. local consumer storage.

with a Hadoop Cluster all nodes have their own working storage, and the output is written to shared storage.

So, it depends what service, application you require to use MAAS.
0
 

Author Comment

by:RFVDB
ID: 40223419
OK cool. I think its getting clearer in my head now. I'm my clients IT consultant when it comes to their IT infrastructure and I wanted to steer him in the right direction. I'm always very concerned about high availability and redundancy.

So really, it all depends on whether your developers can develop applications that are redundant and scalable with MAAS. Hadoop, OpenStack... etc.?

So as an IT administrator (I'm not a developer), I can do the basic setup of the MAAS infrastructure and after that, its out of my control. Whether we can leverage its redundancy, is all up to whether the developer can code the needed languages that work with MAAS - right?

My client has jumped onto this venture on his own and had a very very basic Linux IT guy set up MAAS and has a developer compiling a WordPress Website with MySQL database in a LAMP stack, hoping to get redundancy and high availability from this setup. Does this sound right to you?
0
 
LVL 118

Assisted Solution

by:Andrew Hancock (VMware vExpert / EE MVE)
Andrew Hancock (VMware vExpert / EE MVE) earned 334 total points
ID: 40223522
So as an IT administrator (I'm not a developer), I can do the basic setup of the MAAS infrastructure and after that, its out of my control. Whether we can leverage its redundancy, is all up to whether the developer can code the needed languages that work with MAAS - right?

Correct.

My client has jumped onto this venture on his own and had a very very basic Linux IT guy set up MAAS and has a developer compiling a WordPress Website with MySQL database in a LAMP stack, hoping to get redundancy and high availability from this setup. Does this sound right to you?

It depends what is offered and what hooks are made available. Seems a little overkill just for a Wordpress Website, there are plenty of good hosting companies hosting Wordpress!

I would ask a question, as to what compensation is available if the hosting company "MAAS" went down, what do they get in returns of compensation for loss of service - I would expect the answer to be very little, as all this hosting is done at a consumer level, e.g. if they are lucky they may get 1 months subscription back!
0
 
LVL 61

Assisted Solution

by:gheist
gheist earned 166 total points
ID: 40223536
You dont have to use any particular technology to get using openstack.
Hadoop is just an example of application that can use lots of resources for short time. It could be Windows IIS or SQL server farm as well. You just need to make a template ("charm") that adds IIS (or apache) to Windows system with reasonable configuration.

I think most important challenge for your customer is to get applications split into vertical components and run each of them on at least 2 cluster nodes. Once they can easily be clustered it does not really matter if you have 2 or 2000 database servers in 1 or 10 places.
(ok you might need to do some polishing to make cluster 10x bigger, but in reality your in-house programmers will learn enough doing 90% of work making applications clustered on just 2 nodes)
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

VMware Update Manager(VUM) “error code: 15” during ESXi 6.0 Remediate update in VUM operation
VM backup deduplication is a method of reducing the amount of storage space needed to save VM backups. In most organizations, VMs contain many duplicate copies of data, such as VMs deployed from the same template, VMs with the same OS, or VMs that h…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
In this video tutorial I show you the main steps to install and configure  a VMware ESXi6.0 server. The video has my comments as text on the screen and you can pause anytime when needed. Hope this will be helpful. Verify that your hardware and BIO…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now