Hybrid Web Cluster Cloud Deployment Demo

Hybrid Web Cluster Cloud Deployment Demo

Hi everyone, my name’s Luke from Hybrid Logic.
I’m going to give you a quick demo of some of the very exciting cloud deployment technologies
we’ve been working on. Basically, the idea is that you can log into this control panel
here with a username and password we give you. Then you can spin up clusters on cloud
infrastructure across multiple data centres and even multiple providers. Your web cluster
will therefore be resilient to failure across entire infrastructure providers. In other
words, a whole cloud can go down, and you can stay up. So I’m just going to click “add
cluster” here and I’ll show you the options for spinning up a new cluster. At the moment
we’ve got infrastructure integration with two companies: ElasticHosts who have three
data centres in the UK and US. And CloudSigma, who have a data centre in Zurich. If you’re
a cloud infrastructure provider running KVM by the way, as many new OpenStack infrastructure
providers are, we’re very interested in talking to you because we’d like to add you to this
list. So here you can specify how many servers you want in each data centre. So as a sample
setup, you might want one server in each of these three data centres in London and the
US and three in Zurich. You can also specify how much storage you want, so that’s 5 gigabytes
at the moment but you could have 50 or 500, or even more, or 5,000 depending on your requirements.
And you can specify how much memory you want. So, here for example this is just one and
a half gig of memory on each machine, which is quite meagre. If you have big websites
to host you can push this all the way up to, say, 8GB and an 8GHz CPU (what that really
means is a quad core machine with four 2GHz CPUs). You can also pick a domain. You’ll
soon be able to buy your primary domain right here, but for now we’re using subdomains of
hybridbeta.com. So let’s call this cluster demo.hybridbeta.com. You can also specify
your admin password here. This is your key to log into the Hybrid Cluster Control Panel
once it’s been started up for you. You want to either pick something memorable or write
down this automatically generated password, because you’re not going to get another chance
to see it. It gets SHA1 encrypted as your default cluster admin login as soon as the
cluster has been spun up, and it’s not stored in plaintext anywhere on our system. We’re
very serious about security. So I’m just going to go and write that password down. And that’s
it, now I’m going to spin up a 3 node cluster in Zurich just by clicking Provision. What
this is doing now is going away and simultaneously talking to potentially many different cloud
infrastructure providers to install servers in the different locations you requested.
It also starts spinning up your nodes across them, and as you’ll see in a moment you’ll
get a comprehensive display of what’s happening with your spin-up across all of these infrastructure
providers. So here we go, what it’s doing here is spinning up three servers simultaneously.
There’s no reason you couldn’t do 10, 20 or even 100 nodes at a time, depending on how
many websites you need to host. The cluster is totally horizontally scalable. First what’s
happening is that it’s creating the system disk. This is just a completely stock FreeBSD
8.1 system disk which we’ve squeezed into a 1GB image to make it fairly quick. The next
step is to actually create the instance on the cloud infrastructure provider. This brings
the system disk and the storage disk together under a single virtual server instance. This
happens pretty quickly, and then as soon as it’s done, which it has done here on all of
these machines, we then begin installing the cluster software. The instance boots, which
as you might have seen normally takes about 70 seconds, and then our deployment technology
proceeds to log in and start configuring each node as identical web-serving cluster nodes.
Each server gets Bind, Apache, MySQL, Python, PHP, Perl, and a whole lot of other software
installed on it so that you can install just about any LAMP website you can throw at it.
Crucially the installer also sets up our proprietary cluster software which joins together the
nodes in a co-operative group, using our cunning distributed algorithms. This means that they
gain the ability to recover from the failure of up to N nodes. So even if you suffer the
failure of an entire data centre or cloud infrastructure provider somewhere in the world,
as long as you’ve spun up your cluster across multiple different infrastructure providers,
the rest of the cluster will be able to take on the work that those nodes were doing, rescuing
your websites in seconds, rather than having hours or days of downtime. Now, I can give
you some insight into how the installation process is actually working here, because
underneath this nice web frontend we have a sophisticated SSH-powered deployment system.
So if I click View Console here, you’ll be able to see the installer doing its job, installing
all the various bits and pieces of software which, when combined together, allow you to
host websites. This is the work which normally takes a developer hours or days to do, but
we do it automoatically for you in minutes. Okay, so now we’re nearing the end of the
isntallation process we should be able to watch this cluster start to come up. Now,
I’ll just go here and grab the unique UUID of this cluster. We’ll put that into our magic
box here and, now you should be able to see that one of the cluster nodes has come up.
And here comes the second one. And it’s starting, and there, there we go. The second cluster
node has appeared. And here we can also see the Control Panel being installed. So we’ve
got the Control Panel at my.demo.hybridbeta.com. And look we’ve also got the MySQL database
for the control panel. So even before the third server has been fully installed and
configured, we’ve already got a working cluster. We might as well wait for the third machine
to come up though so it can join the fun. There we have it, now we have a three node
cluster set up on cloud infrastructure, from nothing, in minutes. So before we can log
into the Control Panel there’s one last we have to. But it’s pretty simple. The first
thing I need to do before we’re going to be able to log into it is create some nameservers
for it. Luckily I can do that quickly with one click. So I click Sync DNS. What this
does is two things. It creates one nameserver for each cluster node. Now the DNS system
has redundancy built into it, so even if only one of the cluster nodes is still alive, your
DNS will still resolve. Then it delegates everything under demo.hybridbeta.com to be
under the control of those nameservers. If you’re doing this for a real domain it would
be exactly the same, except the system would register the nameservers directly with the
registrar, rather than with our own custom DNS setup. The fact that these machines are
showing up as green and therefore online is directly being reported live from the relevent
Infrastructure Providers and being amalgamated into a single view for you here. One thing
we can do to prove that these are real servers is VNC into one of them with this password
for example. So if I click Open VNC here, login, paste my login here, and there we have
it. That’s a real FreeBSD server. But the really interesting bit now is to click Open
Control Panel here. Moment of truth. And here we have it, a brand new web cluster for you
to log into. So I’m going to go and log in with “admin” and the password I set up in
the first place. I click Sign In. And there we go. Here we have your brand new cluster
control panel. I’m going to take a break now but in part 2 of this screencast I’ll show
you what you can do with your shiny new cluster control panel, such as setting up WordPress
blogs, fully replicated MySQL databases, uploading your own PHP via FTP, and then finally we’ll
revisit the master control centre, and show you how you can play with the distributed
algorithms directly in your web browser, changing load on different websites and killing whole
servers in order to convince yourself that this truly is an n-redundant, self-balancing
web cluster.

1 Comment

Leave a Reply

Your email address will not be published.